THT/environments/services/ironic.yaml and THT/environments/services-docker/ironic.yaml have a different content. Environment: python-ironicclient-1.17.0-1.el7ost.noarch openstack-ironic-common-9.1.2-3.el7ost.noarch python-ironic-inspector-client-2.1.0-1.el7ost.noarch instack-undercloud-7.4.3-5.el7ost.noarch openstack-ironic-api-9.1.2-3.el7ost.noarch openstack-ironic-conductor-9.1.2-3.el7ost.noarch openstack-ironic-inspector-6.0.0-3.el7ost.noarch puppet-ironic-11.3.0-2.el7ost.noarch python-ironic-lib-2.10.0-1.el7ost.noarch We're not supposed to change the environment files when we do major upgrades and the following files differ: [stack@undercloud-0 ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/services-docker/ironic.yaml resource_registry: OS::TripleO::Services::IronicApi: ../../docker/services/ironic-api.yaml OS::TripleO::Services::IronicConductor: ../../docker/services/ironic-conductor.yaml OS::TripleO::Services::IronicPxe: ../../docker/services/ironic-pxe.yaml OS::TripleO::Services::NovaIronic: ../../docker/services/nova-ironic.yaml parameter_defaults: NovaSchedulerDiscoverHostsInCellsInterval: 15 [stack@undercloud-0 ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml resource_registry: OS::TripleO::Services::IronicApi: ../../docker/services/ironic-api.yaml OS::TripleO::Services::IronicConductor: ../../docker/services/ironic-conductor.yaml OS::TripleO::Services::NovaIronic: ../../docker/services/nova-ironic.yaml parameter_defaults: NovaSchedulerDiscoverHostsInCellsInterval: 15 The above suggests there will be issues on an upgraded setup OSP11->OSP12 (going from non-containerized to containerized ironic).
The docs for OSP-12 - https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/12/html-single/bare_metal_provisioning/#sect-deploy still reference using the one in services (not services-docker) usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml which will cause a problem because of the missing ironic-pxe.yaml.
I think there are issues with other services as well. For example Octavia: OctaviaDeploymentConfig service is missing? OctaviaGenerateCerts parameter set in docker-services but not in services cat environments/services/octavia.yaml resource_registry: OS::TripleO::Services::OctaviaApi: ../../docker/services/octavia-api.yaml OS::TripleO::Services::OctaviaHealthManager: ../../docker/services/octavia-health-manager.yaml OS::TripleO::Services::OctaviaHousekeeping: ../../docker/services/octavia-housekeeping.yaml OS::TripleO::Services::OctaviaWorker: ../../docker/services/octavia-worker.yaml parameter_defaults: NeutronServicePlugins: "qos,router,trunk" NeutronEnableForceMetadata: true cat environments/services-docker/octavia.yaml resource_registry: OS::TripleO::Services::OctaviaApi: ../../docker/services/octavia-api.yaml OS::TripleO::Services::OctaviaHousekeeping: ../../docker/services/octavia-housekeeping.yaml OS::TripleO::Services::OctaviaHealthManager: ../../docker/services/octavia-health-manager.yaml OS::TripleO::Services::OctaviaWorker: ../../docker/services/octavia-worker.yaml OS::TripleO::Services::OctaviaDeploymentConfig: ../../docker/services/octavia/octavia-deployment-config.yaml parameter_defaults: NeutronServicePlugins: "qos,router,trunk" NeutronEnableForceMetadata: true # This flag enables internal generation of certificates for communication # with amphorae. Use OctaviaCaCert, OctaviaCaKey, OctaviaCaKeyPassphrase # and OctaviaClient cert to configure secure production environments. OctaviaGenerateCerts: true
Adding more context on this issue - initially this should have been addressed by bug 1470016 which was filed so the user should not be required to switch the environment files during upgrade and make the existing ones backward compatible.
This BZ looks like BZ#1540263 reported by Rafal last month.
*** Bug 1540263 has been marked as a duplicate of this bug. ***
Discussed on IRC with Bogdan Dobrelya and Martin André. The downstream patch introduced in OSP-12 does not correctly change the services to containers by default. Files environments/*.yaml is updated to reference files in ../docker/, but they also should have been updated to match what is in corresponding environments/docer-services/*.yaml files. Current plan: Revert Downstream patch: OSP-13: https://code.engineering.redhat.com/gerrit/#/c/128066 OSP-12: https://code.engineering.redhat.com/gerrit/#/c/116463 Clean up to resolve the source of truth for desynced files Make containers default upstream: https://review.openstack.org/#/c/546181/ Backport ^^ downstream
Changing DFG as potential docker fixes (https://review.openstack.org/#/c/546181/) are outside realm of HardProv (setting it to DF assuming Containers DFG is no longer active).
*** Bug 1551075 has been marked as a duplicate of this bug. ***
I fail to see how: https://review.openstack.org/548554 fixes the issue for services like octavi and ironic which in overcloud-resource-registry-puppet.j2.yaml is OS::Heat::None.
@Harald, right https://review.openstack.org/#/c/548554/ as is would not fix that. The discussion is to make it promising a follow-up patch that addresses the remaining work for environment/services/* updates
Shouldn't this BZ be set back to ON_DEV since there's work pending and the Ironic service won't be fixed with this update?
@Harald, I hope the missing changes in overcloud-resource-registry-puppet.j2.yaml could be picked up from the initial (abandoned) patch https://review.openstack.org/#/c/546181/5/overcloud-resource-registry-puppet.j2.yaml
I needed ironic-pxe so I filed this upstream: https://review.openstack.org/#/c/553796/ It will probably need some grooming
Heads up, after https://review.openstack.org/#/c/556794/ we could proceed with the downstream part of the required changes
There is also related https://bugzilla.redhat.com/show_bug.cgi?id=1565975
VERIFIED openstack-tripleo-heat-templates-8.0.4-10.el7ost.noarch.rpm [ahre@KH329 openstack-tripleo-heat-templates]$ cat environments/services/ironic.yaml environments/services-docker/ironic.yaml resource_registry: OS::TripleO::Services::IronicApi: ../../docker/services/ironic-api.yaml OS::TripleO::Services::IronicConductor: ../../docker/services/ironic-conductor.yaml OS::TripleO::Services::IronicPxe: ../../docker/services/ironic-pxe.yaml OS::TripleO::Services::NovaIronic: ../../docker/services/nova-ironic.yaml resource_registry: OS::TripleO::Services::IronicApi: ../../docker/services/ironic-api.yaml OS::TripleO::Services::IronicConductor: ../../docker/services/ironic-conductor.yaml OS::TripleO::Services::IronicPxe: ../../docker/services/ironic-pxe.yaml OS::TripleO::Services::NovaIronic: ../../docker/services/nova-ironic.yaml [ahre@KH329 openstack-tripleo-heat-templates]$ diff environments/services/ironic.yaml environments/services-docker/ironic.yaml [ahre@KH329 openstack-tripleo-heat-templates]$ echo $? 0
This bug is marked for inclusion in the errata but does not currently contain draft documentation text. To ensure the timely release of this advisory please provide draft documentation text for this bug as soon as possible. If you do not think this bug requires errata documentation, set the requires_doc_text flag to "-". To add draft documentation text: * Select the documentation type from the "Doc Type" drop down field. * A template will be provided in the "Doc Text" field based on the "Doc Type" value selected. Enter draft text in the "Doc Text" field.
*** Bug 1562585 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:2574