[openstack-dev] [dib][heat] dib-utils/dib-run-parts/dib v2 concern
Gregory Haynes
greg at greghaynes.net
Wed Mar 15 22:01:25 UTC 2017
On Wed, Mar 15, 2017, at 04:22 PM, Ben Nemec wrote:
> While looking through the dib v2 changes after the feature branch was
> merged to master, I noticed this commit[1], which bring dib-run-parts
> back into dib itself. Unfortunately I missed the original proposal to
> do this, but I have some concerns about the impact of this change.
>
> Originally the split was done so that dib-run-parts and one of the
> os-*-config projects (looks like os-refresh-config) that depends on it
> could be included in a stock distro cloud image without pulling in all
> of dib. Note that it is still present in the requirements of orc:
> https://github.com/openstack/os-refresh-config/blob/master/requirements.txt#L5
>
I had forgotten about this, but you're completely correct - the
os-refresh-config phases are run via dib-run-parts. The reason for
moving dib-run-parts back in to dib was to simplify some of the
installation insanity we had going on, I want to say it was one reason
you couldn't run disk-image-create from a virtualenv without sourcing it
first.
> Disk space in a distro cloud image is at a premium, so pulling in a
> project like diskimage-builder to get one script out of it was not
> acceptable, at least from what I was told at the time.
>
> I believe this was done so a distro cloud image could be used with Heat
> out of the box, hence the heat tag on this message. I don't know
> exactly what happened after we split out dib-utils, so I'm hoping
> someone can confirm whether this requirement still exists. I think
> Steve was the one who made the original request. There were a lot of
> Steves working on Heat at the time though, so it's possible I'm wrong.
> ;-)
>
> Anyway, I don't know that anything is broken at the moment since I
> believe dib-run-parts was brought over unchanged, but the retirement of
> dib-utils was proposed in https://review.openstack.org/#/c/445617 and I
> would like to resolve this question before we do anything like that.
>
I think you're right in that nothing should be broken ATM since the API
is consistent. I agree that it doesn't make a lot of sense to retire
something which is depended on by other non-retired projects. The
biggest issue I can see with us leaving dib-utils in its current state
is there's the opportunity for the two implementations to drift and have
slightly different dib-run-parts APIs. Maybe we could prevent this by
deprecating dib-utils (or leaving a big warning of this tool is frozen
in the README) and leaving os-refresh-config as is. Although it isn't
ideal for os-refresh-config to depend on a deprecated tool I am not sure
anyone is making use of os-refresh-config currently so I am hesitant to
suggest we add back the complexity to DIB.
> Thanks.
>
> -Ben
>
> 1:
> https://github.com/openstack/diskimage-builder/commit/d65678678ec0416550d768f323ceace4d0861bca
>
Thanks!
- Greg
More information about the OpenStack-dev
mailing list