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

Steve Baker sbaker at redhat.com
Mon Jan 12 20:12:59 UTC 2015


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.





More information about the OpenStack-dev mailing list