yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #63727
[Bug 1687554] Re: diskimage-builder: Software Deployments Broken In Xenial
** Project changed: fuel-plugin-contrail => glance
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1687554
Title:
diskimage-builder: Software Deployments Broken In Xenial
Status in Glance:
New
Bug description:
I am trying to build an image for ubuntu trusty and xenial that works
with OS::Heat::SoftwareDeployment using diskimage-builder. I installed
diskimage-builde with
pip install diskimage-builder
an run the following scripts to build the images:
export DISTRIBUTION="ubuntu"
export DIB_RELEASE="trusty"
git clone https://git.openstack.org/openstack/tripleo-image-elements.git
git clone https://git.openstack.org/openstack/heat-agents.git
export ELEMENTS_PATH=tripleo-image-elements/elements:heat-agents/
export BASE_ELEMENTS="$DISTRIBUTION selinux-permissive"
export AGENT_ELEMENTS="os-collect-config os-refresh-config os-apply-config"
export DEPLOYMENT_BASE_ELEMENTS="heat-config heat-config-script heat-config-ansible"
export DEPLOYMENT_TOOL=""
TIMESTAMP=$(date +%Y%m%d%H%M%S)
export IMAGE_NAME="$DISTRIBUTION-$DIB_RELEASE_$TIMESTAMP"
disk-image-create vm $BASE_ELEMENTS $AGENT_ELEMENTS \
$DEPLOYMENT_BASE_ELEMENTS $DEPLOYMENT_TOOL -t raw -o $IMAGE_NAME.raw
openstack image create --disk-format raw --container-format bare \
$IMAGE_NAME < $IMAGE_NAME.raw
To build xenial I just set DIB_RELEASE to "xenial". The build process runs fine and the images a uploaded. Then I deploy instances from both images and check the os-collect-config service. On trusty the service is running and executing os-collect-config manually results in a successful run as expected.
On xenial though, this is what I see:
root@test:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
root@test:~# os-collect-config --debug --force
Source [heat_local] Unavailable.
Traceback (most recent call last):
File "/usr/local/bin/os-collect-config", line 11, in <module>
sys.exit(__main__())
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/collect.py", line 262, in __main__
collector_kwargs_map=collector_kwargs_map)
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/collect.py", line 166, in collect_all
content = module.Collector(**collector_kwargs).collect()
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/ec2.py", line 75, in collect
md = config_drive.get_metadata()
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/config_drive.py", line 173, in get_metadata
bd = config_drive()
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/config_drive.py", line 166, in config_drive
for bd in all_block_devices():
File "/opt/stack/venvs/os-collect-config/lib/python3.5/site-packages/os_collect_config/config_drive.py", line 155, in all_block_devices
for device in out.split('\n\n'):
TypeError: a bytes-like object is required, not 'str'
root@test:~#
I have no idea what this means or where it might come from. Any help
is very much appreciated.
Got the hint that it might be an os-collect-config bug where it seems
it is not python3 compatible because xenial only ships with python3 by
default. Therfore, I exported DIB_PYTHON_VERSION=2 before running the
diskimage-create command, but the image is still broken. Here is the
output:
https://gist.github.com/anonymous/f413b6f76194f6ef3391495670250655
Any ideas?
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1687554/+subscriptions