[openstack-dev] [dib][heat] dib-utils/dib-run-parts/dib v2 concern
Ian Wienand
iwienand at redhat.com
Fri Mar 17 06:08:34 UTC 2017
On 03/17/2017 03:46 AM, Steven Hardy wrote:
> (undercloud) [stack at undercloud ~]$ rpm -qf /usr/bin/dib-run-parts
> dib-utils-0.0.11-1.el7.noarch
> (undercloud) [stack at undercloud ~]$ rpm -qf /bin/dib-run-parts
> dib-utils-0.0.11-1.el7.noarch
/bin is a link to /usr/bin? So I think this is the same and this is
the dib-run-parts as pacakged by dib-utils.
> (undercloud) [stack at undercloud ~]$ rpm -qf /usr/lib/python2.7/site-packages/diskimage_builder/lib/dib-run-parts
> diskimage-builder-2.0.1-0.20170314023517.756923c.el7.centos.noarch
This is dib's "private" copy. As I mentioned in the other mail, the
intention was to vendor this so we could re-write for dib-specific
needs if need be (given future requirements such as running in
restricted container environments). I believe having dib exporting
this was an (my) oversight. I have proposed [1] to remove this.
> (undercloud) [stack at undercloud ~]$ rpm -qf /usr/local/bin/dib-run-parts
> file /usr/local/bin/dib-run-parts is not owned by any package
This would come from the image build process. We copy dib-run-parts
into the chroot to run in-target scripts [2] but we never actually
remove it. This seems to me to also be a bug and I've proposed [3] to
run this out of /tmp and clean it up.
> But the exciting thing from a rolling-out-bugfixes perspective is that the
> one actually running via o-r-c isn't either of the packaged versions (doh!)
> so we probably need to track down which element is installing it.
>
> This is a little OT for this thread (sorry), but hopefully provides more
> context around my concerns about creating another fork etc.
I don't want us to get a little too "left-pad" [4] with this 95ish
lines of shell :) I think this stack clears things up.
tl;dr
- dib version should be vendored; not in path & not exported [1]
- unnecessary /usr/local/bin version removed [3]
- dib-utils provides /usr/bin/ version
Cross-ports between the vendored dib version and dib-utils should be
trivial given what it is. If dib wants to rewrite it's vendored
version, or remove it completely, this will not affect anyone
depending on dib-utils.
Thanks,
-i
[1] https://review.openstack.org/446285 (dib: do not provide dib-run-parts)
[2] https://git.openstack.org/cgit/openstack/diskimage-builder/tree/diskimage_builder/elements/dib-run-parts/root.d/90-base-dib-run-parts
[3] https://review.openstack.org/446769 (dib: run chroot dib-run-parts out of /tmp)
[4] http://left-pad.io/
More information about the OpenStack-dev
mailing list