Bug 1320376

Summary: Update of DnsServers does not change actual Dns nameserver configuration on stack update
Product: Red Hat OpenStack Reporter: Andreas Karis <akaris>
Component: openstack-tripleoAssignee: James Slagle <jslagle>
Status: CLOSED NOTABUG QA Contact: Shai Revivo <srevivo>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0 (Kilo)CC: dsneddon, jcoufal, mburns, mcornea, rhel-osp-director-maint, srevivo
Target Milestone: ---   
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-14 16:22:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Andreas Karis 2016-03-23 04:42:24 UTC
Description of problem:
When running "openstack overcloud deploy" again on an existing stack, but with modified DnsServers, actual DNS server configuration on overcloud does not get updated

Version-Release number of selected component (if applicable):
7.3

How reproducible:
always

Steps to Reproduce:
1. deploy overcloud with DnsServers: ["8.8.8.8"]
2. redeploy (update) overcloud with DnsServers: ["192.0.2.1"]
3. verify /etc/resolv.conf: nameserver 8.8.8.8

Actual results:
verify /etc/resolv.conf: nameserver 8.8.8.8

Expected results:
verify /etc/resolv.conf: nameserver 192.0.2.1

Additional info:
Encountered this issue in a POC and also regularly run into it in lab environments. Seems to happen all of the time

Comment 2 Mike Burns 2016-04-07 21:36:02 UTC
This bug did not make the OSP 8.0 release.  It is being deferred to OSP 10.

Comment 4 Dan Sneddon 2016-10-14 16:22:00 UTC
By design, the NetworkDeployment Heat resource is only applied on CREATE, not on UPDATE. In order to update the network configuration when an update is made, the following change must be made (temporarily for one update):

In each role in the OpenStack TripleO Heat templates (controller.yaml, compute.yaml, etc. in the root directory of the THT templates), there is a NetworkDeploymentActions parameter. This must be set to "[CREATE,UPDATE]" in the Heat templates, then a stack update may be performed.

Note that this action will cause the interface with the DNS Servers parameter in the NIC config templates to be restarted. This may cause a service interruption, so the customer may wish to do this in a maintenance window.

Alternatively, the Heat templates can be updated so that newly deployed nodes will get the new DNS servers, and manual (or scripted) changes can be made to the ifcfg file(s) in /etc/sysconfig/networking-scripts. The nodes will have to have the interface restarted, or they can be rebooted to make the change permanent.