Containers: config_controller replaces custom nameserver on /etc/resolv.conf

Bug #1812449 reported by Erich Cordoba
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Bart Wensley

Bug Description

Brief Description
-----------------
The config_controller --kubernetes command replaces existing DNS configuration. In some cases, users may want to specify their own DNS server instead of the default 8.8.8.8 used in the configuration stage.

Steps to Reproduce
------------------

Perform a fresh install of StarlingX and then set a DNS configuration. For example

$ cat /etc/resolv.conf
nameserver 10.233.12.12

Then, run config controller as usual:

$ sudo config_controller --kubernetes

The command it will fail in step 06 due not finding the DNS for docker pull commands. Then looking into /etc/resolv.conf the following configuration will be found:

nameserver 192.168.204.2
nameserver 8.8.8.8

Expected Behavior
------------------
The custom configuration should remain in /etc/resolv.conf

Actual Behavior
----------------
The custom configuration is deleted and replaced with:
nameserver 192.168.204.2
nameserver 8.8.8.8

This problem is more evident now that configuration requires internet access to complete.

Reproducibility
---------------
100%

System Configuration
--------------------
Tested on all-in-one configuration.

Branch/Pull Time/Commit
-----------------------
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/20190117T060000Z/outputs/iso/

Revision history for this message
Erich Cordoba (ericho) wrote :

The replacement of the configuration occurs when nameserver 192.168.204.2 is set.
On nameserver 8.8.8.8 the present configuration remains.

Ghada Khalil (gkhalil)
tags: added: stx.containers
summary: - config_controller replaces custom nameserver on /etc/resolv.conf
+ Containers: config_controller replaces custom nameserver on
+ /etc/resolv.conf
Changed in starlingx:
assignee: nobody → Bart Wensley (bartwensley)
Revision history for this message
Ghada Khalil (gkhalil) wrote :

This is under discussion with the containers sub-team; will wait for their readout before deciding whether this is release gating or not.

Revision history for this message
Frank Miller (sensfan22) wrote :

Since some community members require their own DNS server, we will need to provide this ability as part of config_controller at least in the short term. Issue assigned to Bart to implement.

Revision history for this message
Ghada Khalil (gkhalil) wrote :

Marking as release gating based on comment above

tags: added: stx.2019.05
Changed in starlingx:
status: New → Triaged
importance: Undecided → High
importance: High → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-config (master)

Fix proposed to branch: master
Review: https://review.openstack.org/633002

Changed in starlingx:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-config (master)

Reviewed: https://review.openstack.org/633002
Committed: https://git.openstack.org/cgit/openstack/stx-config/commit/?id=d96ce5291c78c371e132813a514a1fb6e0994850
Submitter: Zuul
Branch: master

commit d96ce5291c78c371e132813a514a1fb6e0994850
Author: Bart Wensley <email address hidden>
Date: Thu Jan 24 07:22:05 2019 -0600

    Allow DNS server configuration for kubernetes

    In kubernetes deployments, a DNS server is required to locate
    the registry servers used to download the kubernetes images.
    Currently, when config_controller is run, the 8.8.8.8
    nameserver is used, with no way to change it. Some users
    need to specify their own name server to be used during
    the execution of config_controller.

    This change allows the user to specify up to three DNS
    servers when running config_controller interactively or with
    a config file. If using a config file, add the following
    section to the config file (only one nameserver is required,
    but up to three are allowed):

    [DNS]
    NAMESERVER_1=8.8.8.8
    NAMESERVER_2=8.8.4.4
    NAMESERVER_3=9.9.9.9

    Change-Id: I59556138a11c6f627f45886a2da6b8a1ad9d89e1
    Closes-bug: 1812449
    Signed-off-by: Bart Wensley <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to stx-config (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/633587

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to stx-config (master)

Reviewed: https://review.openstack.org/633587
Committed: https://git.openstack.org/cgit/openstack/stx-config/commit/?id=c4f63232dc88bd8eae5698b104011cbc7d7f98ea
Submitter: Zuul
Branch: master

commit c4f63232dc88bd8eae5698b104011cbc7d7f98ea
Author: Bart Wensley <email address hidden>
Date: Mon Jan 28 13:17:00 2019 -0600

    Ensure puppet dns config done after networking config

    In some labs, the puppet manifest application during
    config_controller results in the ::platform::network class
    being applied after the ::platform::dns class. This causes the
    /etc/resolv.conf file to be wiped (when the
    apply_network_config.sh is run by the ::platform::network
    class).

    The fix is to introduce a dependency to ensure that the
    networking config is completed before the dns config is done.

    Change-Id: Ie4a8b67e5eb3594f5c21e22f8014d2b8162a0758
    Related-bug: 1812449
    Signed-off-by: Bart Wensley <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to stx-config (f/stein)

Related fix proposed to branch: f/stein
Review: https://review.openstack.org/633788

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to stx-config (f/stein)
Download full text (7.9 KiB)

Reviewed: https://review.openstack.org/633788
Committed: https://git.openstack.org/cgit/openstack/stx-config/commit/?id=23f303132c9e69a16f2e0b1b63483c49fcfd11a1
Submitter: Zuul
Branch: f/stein

commit 3cc2f5e1fb70159473eefe4e5141db4eab8c92b0
Author: Al Bailey <email address hidden>
Date: Mon Jan 28 09:50:25 2019 -0600

    Change version of python-ldap to work with new setuptools

    setuptools 40.7.0 does not work with python-ldap 2.5.2

    Added unit tests to verify the code calling the python-ldap
    functions.

    Closes-Bug: 1813668
    Change-Id: I1e5c0bb7ec603d4d2e03032282e268cb2189775d
    Signed-off-by: Al Bailey <email address hidden>

commit c4f63232dc88bd8eae5698b104011cbc7d7f98ea
Author: Bart Wensley <email address hidden>
Date: Mon Jan 28 13:17:00 2019 -0600

    Ensure puppet dns config done after networking config

    In some labs, the puppet manifest application during
    config_controller results in the ::platform::network class
    being applied after the ::platform::dns class. This causes the
    /etc/resolv.conf file to be wiped (when the
    apply_network_config.sh is run by the ::platform::network
    class).

    The fix is to introduce a dependency to ensure that the
    networking config is completed before the dns config is done.

    Change-Id: Ie4a8b67e5eb3594f5c21e22f8014d2b8162a0758
    Related-bug: 1812449
    Signed-off-by: Bart Wensley <email address hidden>

commit de474bc41c2691ba86b60bb6e1088ddc382deaa3
Author: Bart Wensley <email address hidden>
Date: Thu Jan 24 16:33:41 2019 +0000

    Revert "Add docker proxy configuration for kubernetes".

    This change broke the installation of kubernetes system (config_controller --kubernetes) when no docker proxy was specified.

    This reverts commit e4086a073b7f661d4014061f25525120c27ea679.

    Change-Id: I8343741a50fa0857fde9dfe0ee8f81de80a0ff13

commit d96ce5291c78c371e132813a514a1fb6e0994850
Author: Bart Wensley <email address hidden>
Date: Thu Jan 24 07:22:05 2019 -0600

    Allow DNS server configuration for kubernetes

    In kubernetes deployments, a DNS server is required to locate
    the registry servers used to download the kubernetes images.
    Currently, when config_controller is run, the 8.8.8.8
    nameserver is used, with no way to change it. Some users
    need to specify their own name server to be used during
    the execution of config_controller.

    This change allows the user to specify up to three DNS
    servers when running config_controller interactively or with
    a config file. If using a config file, add the following
    section to the config file (only one nameserver is required,
    but up to three are allowed):

    [DNS]
    NAMESERVER_1=8.8.8.8
    NAMESERVER_2=8.8.4.4
    NAMESERVER_3=9.9.9.9

    Change-Id: I59556138a11c6f627f45886a2da6b8a1ad9d89e1
    Closes-bug: 1812449
    Signed-off-by: Bart Wensley <email address hidden>

commit f0b393f30952aa226976c33b9ff9241283fab207
Author: Kevin Smith <email address hidden>
Date: Thu Jan 17 07:09:35 2019 -0500

    Kubernetes Neutron VIM Host Management Ref...

Read more...

tags: added: in-f-stein
Ken Young (kenyis)
tags: added: stx.2.0
removed: stx.2019.05
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.