[openstack-dev] [heat][tripleo] Making diskimage-builder install from forked repo?

Steven Hardy shardy at redhat.com
Wed Jan 14 10:57:31 UTC 2015


On Tue, Jan 13, 2015 at 09:12:59AM +1300, Steve Baker wrote:
> On 09/01/15 07:06, Gregory Haynes wrote:
> >Excerpts from Steven Hardy's message of 2015-01-08 17:37:55 +0000:
> >>Hi all,
> >>
> >>I'm trying to test a fedora-software-config image with some updated
> >>components.  I need:
> >>
> >>- Install latest master os-apply-config (the commit I want isn't released)
> >>- Install os-refresh-config fork from https://review.openstack.org/#/c/145764
> >>
> >>I can't even get the o-a-c from master part working:
> >>
> >>export PATH="${PWD}/dib-utils/bin:$PATH"
> >>export
> >>ELEMENTS_PATH=tripleo-image-elements/elements:heat-templates/hot/software-config/elements
> >>export DIB_INSTALLTYPE_os_apply_config=source
> >>
> >>diskimage-builder/bin/disk-image-create vm fedora selinux-permissive \
> >>   os-collect-config os-refresh-config os-apply-config \
> >>   heat-config-ansible \
> >>   heat-config-cfn-init \
> >>   heat-config-docker \
> >>   heat-config-puppet \
> >>   heat-config-salt \
> >>   heat-config-script \
> >>   ntp \
> >>   -o fedora-software-config.qcow2
> >>
> >>This is what I'm doing, both tools end up as pip installed versions AFAICS,
> >>so I've had to resort to manually hacking the image post-DiB using
> >>virt-copy-in.
> >>
> >>Pretty sure there's a way to make DiB do this, but don't know what, anyone
> >>able to share some clues?  Do I have to hack the elements, or is there a
> >>better way?
> >>
> >>The docs are pretty sparse, so any help would be much appreciated! :)
> >>
> >>Thanks,
> >>
> >>Steve
> >>
> >Hey Steve,
> >
> >source-repositories is your friend here :) (check out
> >dib/elements/source-repositires/README). One potential gotcha is that
> >because source-repositires is an element it really only applies to tools
> >used within images (and os-apply-config is used outside the image). To
> >fix this we have a shim in tripleo-incubator/scripts/pull-tools which
> >emulates the functionality of source-repositories.
> >
> >Example usage:
> >
> >* checkout os-apply-config to the ref you wish to use
> >* export DIB_REPOLOCATION_os_apply_config="/path/to/oac"
> >* export DIB_REPOREF_os_refresh_config="refs/changes/64/145764/1"
> >* start your devtesting
> >
> >
> The good news is that devstack is already set up to do this. When
> HEAT_CREATE_TEST_IMAGE=True devstack will build packages from the currently
> checked-out os-*-config tools, build a pip repo and configure apache to
> serve it.
> 
> Then the elements *should* install from these packages - we're not gating on
> this functionality (yet) so its possible it has regressed but shouldn't be
> too hard to get going again.

Thanks for this - after a small fix, it works great! :)

https://review.openstack.org/147109

It'd be good if we could expose image_elements as a variable, and provide a
little script which enables easy rebuilding of the image without
re-stacking.  I'll probably take a look at both when I get time.

Steve



More information about the OpenStack-dev mailing list