Re: [openstack-dev] [TripleO] dhclient spawned by dhcp-all-interfaces doesn't exit when os-net-config runs

2016-11-10 Thread Bob Fournier


- Original Message -
> From: "Dan Sneddon" <dsned...@redhat.com>
> To: openstack-dev@lists.openstack.org
> Sent: Wednesday, November 9, 2016 4:28:55 PM
> Subject: [openstack-dev] [TripleO] dhclient spawned by dhcp-all-interfaces 
> doesn't exit when os-net-config runs
> 
> I just opened a bug [1] for behavior which has recently been observed
> when deploying nodes with TripleO. The problem is that the dhclient
> processes that are being started by the dhcp-all-interfaces element in
> disk-image-builder are not stopping after os-net-config runs.
> 
> Step 1) Image deploys with udev rule to create
> dhcp-interface@.service, which configures each interface via DHCP.
> 
> Step 2) The deployment scripts run, including os-net-config, which
> configures and restarts the interfaces. The udev rule is removed.
> 
> At this point, the dhclient which was created by the udev rule is no
> longer needed, except it is still running and configuring IP and routes
> on the interface, possibly in conflict with the desired configuration.
> For instance, the same IP appearing on a bridge and on an interface, or
> a rogue default route and IP that hijack the default route.
> 
> I believe this behavior is new in RHEL 7.3, but I don't know if any
> versions of CentOS are affected yet (testing is in progress).
> 
> Running 'systemctl restart network' after os-net-config runs will kill
> the dhclient processes, so inserting that into the scripts after
> os-net-config is run is one possible workaround, although the brief
> interruption in networking might cause unknown issues in
> high-availability environments.
> 
> Does anyone have a suggestion for a kinder, gentler, less hacky
> approach than either restarting the network service or running kill on
> the dhclient processes? Also, does anyone have any idea why running
> "ifdown " followed by "ifup " doesn't stop the dhclient
> process started by the udev rule? Or why this behavior appears to be
> new to RHEL 7.3?

Dan,

Fix proposed here[2] to stop dhclient instances in os-net-config using
'-r' argument if the interface is not configured for DHCP. 

Bob 

[2]https://review.openstack.org/#/c/396446/

> 
> [1] - https://bugs.launchpad.net/tripleo/+bug/1640598
> 
> --
> Dan Sneddon |  Senior Principal OpenStack Engineer
> dsned...@redhat.com |  redhat.com/openstack
> dsneddon:irc|  @dxs:twitter
> 
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [TripleO] dhclient spawned by dhcp-all-interfaces doesn't exit when os-net-config runs

2016-11-09 Thread Dan Sneddon
I just opened a bug [1] for behavior which has recently been observed
when deploying nodes with TripleO. The problem is that the dhclient
processes that are being started by the dhcp-all-interfaces element in
disk-image-builder are not stopping after os-net-config runs.

Step 1) Image deploys with udev rule to create
dhcp-interface@.service, which configures each interface via DHCP.

Step 2) The deployment scripts run, including os-net-config, which
configures and restarts the interfaces. The udev rule is removed.

At this point, the dhclient which was created by the udev rule is no
longer needed, except it is still running and configuring IP and routes
on the interface, possibly in conflict with the desired configuration.
For instance, the same IP appearing on a bridge and on an interface, or
a rogue default route and IP that hijack the default route.

I believe this behavior is new in RHEL 7.3, but I don't know if any
versions of CentOS are affected yet (testing is in progress).

Running 'systemctl restart network' after os-net-config runs will kill
the dhclient processes, so inserting that into the scripts after
os-net-config is run is one possible workaround, although the brief
interruption in networking might cause unknown issues in
high-availability environments.

Does anyone have a suggestion for a kinder, gentler, less hacky
approach than either restarting the network service or running kill on
the dhclient processes? Also, does anyone have any idea why running
"ifdown " followed by "ifup " doesn't stop the dhclient
process started by the udev rule? Or why this behavior appears to be
new to RHEL 7.3?

[1] - https://bugs.launchpad.net/tripleo/+bug/1640598

-- 
Dan Sneddon |  Senior Principal OpenStack Engineer
dsned...@redhat.com |  redhat.com/openstack
dsneddon:irc|  @dxs:twitter

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev