Changing target node hostname to '3-edon' stops dnsmasq on Fuel master and breaks deployment process
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Committed
|
Medium
|
Dmitry Teselkin | ||
Mitaka |
Won't Fix
|
Medium
|
Maksim Malchuk |
Bug Description
Detailed bug description:
If end user changes node hostname (no matter what role it is assigned) to
something that is starting from digit [0-9] or dash [-]. Then dnsmasq fails
to start on Fuel master node with error message:
[root@nailgun log]# pgrep dnsmasq
[root@nailgun log]# dnsmasq -k
dnsmasq: bad DHCP host name at line 50 of /etc/dnsmasq.conf (line
[root@nailgun log]# sed -n '50 p' /etc/dnsmasq.conf
dhcp-host=
Since all target nodes use Fuel master node as name server before l23network
reconfigures their /etc/resolv.conf, all further environment deployements will
fail.
Steps to reproduce:
1. Create env with 1 controller.
2. Change controllers hostname to 1-edon:
press gear button on the Nodes pane
press pencil button and enter 1-edon into text field
hit enter
3. Press 'Deploy changes' on the Dashboard pane
Expected results:
Cluster gets successfully deployed or input text field validates
that hostname cannot start with digit or dash.
Actual result:
dnsmasq process on master node stops. Deployment stops.
root@3-edon:~# fgrep 'err):' /var/log/puppet.log
2016-05-26 09:22:55 +0000 Puppet (err): getaddrinfo: Name or service not known at /etc/puppet/
2016-05-26 09:22:55 +0000 Puppet (err): getaddrinfo: Name or service not known at /etc/puppet/
2016-05-26 09:23:27 +0000 Puppet (err): getaddrinfo: Name or service not known at /etc/puppet/
2016-05-26 09:23:27 +0000 Puppet (err): getaddrinfo: Name or service not known at /etc/puppet/
2016-05-26 09:24:01 +0000 Puppet (err): getaddrinfo: Name or service not known at /etc/puppet/
2016-05-26 09:24:01 +0000 Puppet (err): getadd
Reproducibility:
100%
Workaround:
Change hostname to something that is valid for dnsmasq configuration.
Manually edit (remove entry) from /etc/dnsmasq.conf on master node and
restart dns server.
Impact:
No more environments can be deployed with master node, because nodes need
to resolve dns names with package mirrors.
Description of the environment:
Operation system:
Ubuntu 14.04
Versions of components:
Fuel 9.0 #397
fuel-plugin-
vCenter 5.5
Additional information:
I tried to deploy plugin with vCenter as hypervisor and used Fuel VMware DVS plugin
as network backend for Neutron, but I seriously doubt that issue described above
is plugin specific.
Changed in fuel: | |
importance: | Undecided → High |
Originally the hostname couldn't start with a digit or underscore (RFC 952) but the new specification RFC 1123 allows it.