You have been subscribed to a public bug: 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? ** Affects: glance Importance: Undecided Status: New -- diskimage-builder: Software Deployments Broken In Xenial https://bugs.launchpad.net/bugs/1687554 You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to Glance. -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

