Description of problem: Upgrading a CentOS 7.2 machine from liberty (deployed with tripleo-quickstart) to mitaka, there is a yum update, which pulls in a new openstack-tripleo-image-elements rpm. The post-install script of that rpm does an rsync of the new os-refresh-config configure.d scripts into the directory of old scripts, but it uses --delete, presumably to clean up no-longer-required scripts. Unfortunately, this deletes any scripts which were supplied outside the o-t-i-e package. In the specific case of the upgrade, it takes out the 55-heat-config script, causing subsequent stages of the upgrade process to never be applied, and the overall upgrade to stall indefinitely. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Specifically, this is affecting the overcloud-controller nodes.
This should be resolved by https://review.gerrithub.io/#/c/280655/
Seems that after we remove this package in our upgrade scripts. It gets pulled in by the following packages when we do a yum update: ============================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================== Removing: openstack-tripleo-image-elements noarch 5.0.0-0.20160613170807.5feb901.el7.centos @delorean 645 k Removing for dependencies: instack-undercloud noarch 4.0.1-0.20160615124324.ddac9f3.el7.centos @delorean 212 k openstack-tripleo-common noarch 2.0.1-0.20160615184247.d87771a.el7.centos @delorean 183 k Transaction Summary ==============================================================================================================================================================================================
So, comment #2 may have been a slightly shallow hope. While it does in theory cause o-t-i-e to not be installed in the overcloud images, we're finding that it's quite easily pulled back in by other packages. I think we may be able to definitively solve this by adding the openstack-heat-templates elements folder to the ELEMENTS_PATH list in o-t-i-e's post-install script. Given that heat-config is listed in /etc/dib-manifests/dib-element-manifest, this should cause the post-install to preserve its o-r-c .d scripts (and indeed any others that are being affected by the rsync --delete).
(In reply to Chris Jones from comment #4) > So, comment #2 may have been a slightly shallow hope. While it does in > theory cause o-t-i-e to not be installed in the overcloud images, we're > finding that it's quite easily pulled back in by other packages. > > I think we may be able to definitively solve this by adding the > openstack-heat-templates elements folder to the ELEMENTS_PATH list in > o-t-i-e's post-install script. > > Given that heat-config is listed in /etc/dib-manifests/dib-element-manifest, > this should cause the post-install to preserve its o-r-c .d scripts (and > indeed any others that are being affected by the rsync --delete). yea, that would likely work. i do think we could still solve this by getting t-i-e off the overcloud image once and for all. we don't need instack-undercloud and openstack-tripleo-common on there either. this issue seems contained only to the RDO images afaik. so the upstream tripleo images and the downstream osp-d images seem to be going fine without openstack-tripleo-image-elements installed.
(In reply to James Slagle from comment #5) > (In reply to Chris Jones from comment #4) > > So, comment #2 may have been a slightly shallow hope. While it does in > > theory cause o-t-i-e to not be installed in the overcloud images, we're > > finding that it's quite easily pulled back in by other packages. > > > > I think we may be able to definitively solve this by adding the > > openstack-heat-templates elements folder to the ELEMENTS_PATH list in > > o-t-i-e's post-install script. > > > > Given that heat-config is listed in /etc/dib-manifests/dib-element-manifest, > > this should cause the post-install to preserve its o-r-c .d scripts (and > > indeed any others that are being affected by the rsync --delete). > > yea, that would likely work. > > i do think we could still solve this by getting t-i-e off the overcloud > image once and for all. we don't need instack-undercloud and > openstack-tripleo-common on there either. > > this issue seems contained only to the RDO images afaik. so the upstream > tripleo images and the downstream osp-d images seem to be going fine without > openstack-tripleo-image-elements installed. I fully agree that t-i-e should not be on the overcloud and some patches went into tripleo-quickstart for this! But think of the poor soul (me, really :) that by accident one day installs python-tripleoclient on any other node of the overcloud. Later on said poor soul (still me) will realize that his upgrades broke completely and basically impossible to recover from. I think if we can avoid this scenario without introducing all too much complexity we should really strive for that. I don't think that a yum install <wrongpackage> should give an unknowing user that punishment ;)
@James: what about if we specifically blacklist openstack-tripleo-image-elements on overcloud machines at the yum/dnf level?
I think at this point in time we can just close this one out. Scream if you disagree.