diff --git a/ansible/roles/octavia/tasks/hm-interface.yml b/ansible/roles/octavia/tasks/hm-interface.yml index 2ce5170fa8..9cbc8f188f 100644 --- a/ansible/roles/octavia/tasks/hm-interface.yml +++ b/ansible/roles/octavia/tasks/hm-interface.yml @@ -67,11 +67,12 @@ dest: /etc/systemd/system/octavia-interface.service register: octavia_interface -- name: Reload octavia-interface.service if required +- name: Restart octavia-interface.service if required become: True systemd: name: octavia-interface daemon_reload: yes + state: restarted when: octavia_interface.changed - name: Enable and start octavia-interface.service diff --git a/ansible/roles/octavia/templates/octavia-interface.service.j2 b/ansible/roles/octavia/templates/octavia-interface.service.j2 index 8a38091838..7f04d9fb42 100644 --- a/ansible/roles/octavia/templates/octavia-interface.service.j2 +++ b/ansible/roles/octavia/templates/octavia-interface.service.j2 @@ -5,10 +5,12 @@ After=docker.service [Service] Type=oneshot +User=root +Group=root RemainAfterExit=true -ExecStartPre=/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }} -ExecStart=/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf -ExecStop=/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }} +ExecStartPre=/sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }} +ExecStart=/sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf +ExecStop=/sbin/dhclient -r {{ octavia_network_interface }} [Install] WantedBy=multi-user.target