Red Hat Bugzilla – Bug 1304395
openstack overcloud image upload fails with "Required file "./ironic-python-agent.initramfs" does not exist."
Last modified: 2016-04-18 02:59:30 EDT
Description of problem:
After a successful "openstack overcloud image build --all", this file doesn't get created, which results in an upload failure.
Version-Release number of selected component (if applicable):
Latest production liberty on CentOS
How reproducible: 100%
Steps to Reproduce:
1. openstack overcloud image build --all
2. openstack overcloud image upload
Here's a CentOS CI job that gives this error: https://ci.centos.org/view/rdo/job/rdo_manager-periodic-7-rdo-liberty-production-centos-7.0-templates-virthost-minimal-neutron-ml2-vxlan-smoke/324/consoleFull
Please note that currently a workaround is needed for https://bugzilla.redhat.com/show_bug.cgi?id=1278972 before you can even hit this error on production.
Unfortunately the image building log is not collected from the host yet, but it should be reproducible locally, it just didn't happen yet on my side.
I reproduced the image building step locally, attaching the logs. It seems the kilo repositories are used for the image building instead of the liberty ones.
Maybe we're not setting somewhere the image building source to liberty?
+ source /var/tmp/image.UMeliFth/hooks/root.d/../environment.d/10-rdo-release-name.bash
++ export RDO_RELEASE=kilo
+ for env_file in '$env_files'
+ source /var/tmp/image.UMeliFth/hooks/root.d/../environment.d/14-manifests
++ '[' 0 -gt 0 ']'
++ set -eu
++ set -o pipefail
++ export DIB_MANIFEST_IMAGE_DIR=/etc/dib-manifests
++ export DIB_MANIFEST_SAVE_DIR=ironic-python-agent.d/
Checking for virtual provide or file-provide for openstack-ironic-python-agent
No package openstack-ironic-python-agent available.
Error: Nothing to do
Created attachment 1121456 [details]
output of openstack overcloud image build --all
Looks like this change is missing from the production repo version of python-tripleoclient:
Resulting in using kilo repos for image building.
> Looks like this change is missing from the production repo version of
python-tripleoclient-0.0.11-3.el7 has that patch, which NVR did you get?
actually I think that patch is there, since that is the production repo disgit. We need to `export RDO_RELEASE=liberty` though to use the liberty repos in the image build.
It wouldn't be a bad idea to update the element that does that to default to liberty at this point:
That said, I don't love using DIB elements for repo setup. It seems easier to just virt-customize exactly the repos you want onto the base images that get fed to DIB.
I solved the issue by exporting RDO_RELEASE=liberty during image build as John suggested. Thanks for making sure the defaults are sane, Alan. It works now.