Containers failing to properly set interface IP addresses during juju deploy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
During a customer deploy. Some containers (different ones for different services on each deploy) will not get their ip addresses. The interfaces for the containers are being configured, but no IP address assigned to any of the multiple interfaces.
Doing a juju remove-unit and then add-unit to the same lxd host works fine and the interfaces and machine come up as expected. Random issue.
This is at a secure facility so pulling logs is hard, but this is from cloud-init.log on the container failing. the only error message I could find.
2017-07-14 17:45:58,707 - util.py[DEBUG]: Read 3033 bytes from /etc/cloud/
2017-07-14 17:45:58,707 - util.py[DEBUG]: Attempting to load yaml from string of length 3033 with allowed root types (<class 'dict'>,)
2017-07-14 17:45:58,722 - util.py[DEBUG]: Reading from /etc/cloud/
2017-07-14 17:45:58,722 - util.py[DEBUG]: Read 220 bytes from /etc/cloud/
2017-07-14 17:45:58,722 - util.py[DEBUG]: Attempting to load yaml from string of length 220 with allowed root types (<class 'dict'>,)
2017-07-14 17:45:58,724 - util.py[DEBUG]: Reading from /etc/cloud/
2017-07-14 17:45:58,724 - util.py[DEBUG]: Read 2057 bytes from /etc/cloud/
2017-07-14 17:45:58,724 - util.py[DEBUG]: Attempting to load yaml from string of length 2057 with allowed root types (<class 'dict'>,)
2017-07-14 17:45:58,728 - util.py[DEBUG]: Reading from /run/cloud-
2017-07-14 17:45:58,728 - util.py[DEBUG]: Read 48 bytes from /run/cloud-
2017-07-14 17:45:58,728 - util.py[DEBUG]: Attempting to load yaml from string of length 48 with allowed root types (<class 'dict'>,)
2017-07-14 17:45:58,729 - util.py[DEBUG]: Attempting to load yaml from string of length 0 with allowed root types (<class 'dict'>,)
2017-07-14 17:45:58,729 - util.py[DEBUG]: load_yaml given empty string, returning default
2017-07-14 17:45:58,730 - stages.py[DEBUG]: applying net config names for {'network': {'config': 'disabled'}}
2017-07-14 17:45:58,731 - stages.py[DEBUG]: Using distro class <class 'cloudinit.
2017-07-14 17:45:58,731 - __init__.py[DEBUG]: no interfaces to rename
2017-07-14 17:45:58,731 - stages.py[INFO]: Applying network configuration from ds bringup=True: {'network': {'config': 'disabled'}}
2017-07-14 17:45:58,731 - __init__.py[DEBUG]: Selected renderer 'eni' from priority list: None
2017-07-14 17:45:58,731 - util.py[WARNING]: failed stage init
2017-07-14 17:45:58,731 - util.py[DEBUG]: failed stage init
Traceback (most recent call last):
File "/usr/lib/
ret = functor(name, args)
File "/usr/lib/
init.
File "/usr/lib/
return self.distro.
File "/usr/lib/
dev_names = self._write_
File "/usr/lib/
return self._supported
File "/usr/lib/
renderer.
File "/usr/lib/
network_
File "/usr/lib/
util.
File "/usr/lib/
for iface in network_
AttributeError: 'NoneType' object has no attribute 'iter_interfaces'
2017-07-14 17:45:58,733 - util.py[DEBUG]: Reading from /proc/uptime (quiet=False)
2017-07-14 17:45:58,735 - util.py[DEBUG]: Read 8 bytes from /proc/uptime
2017-07-14 17:45:58,735 - util.py[DEBUG]: cloud-init mode 'init' took 0.153 seconds (0.00)
2017-07-14 17:45:58,735 - handlers.py[DEBUG]: finish: init-network: SUCCESS: searching for network datasources
cloud-init version 0.7.9-113 on xenial
maas 2.2.0 and juju 2.2.1
Hi Jeff,
Thanks for filing this bug! Is this still an issue you are seeing in more recent versions of cloud-init? If it is, please do give us steps to reproduce and set this bug back to New.
Thanks!
Dan