From aab11800fefc42ebae37109cf30076aa88c4d88b Mon Sep 17 00:00:00 2001 From: Sofer Athlan-Guyot Date: Mon, 18 Jun 2018 17:07:13 +0200 Subject: [PATCH] Make sure we start nova-compute after ironic-conductor. We need to ensure that ironic-conductor starts before nova-compute. This is to workaround an issue where nova-compute tries and fails to call plug_vifs, this in turn report a vm_state error which, in this case is a false positive. See lp#1777608 for more. We ensure ordering by forcing puppet to restart nova-compute after ironic-conductor in the case of undercloud upgrade/update. Change-Id: Ifbada53f088258a397777a6fa18dd7c1b37c09d3 Closes-Bug: #1777475 --- elements/puppet-stack-config/puppet-stack-config.pp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/elements/puppet-stack-config/puppet-stack-config.pp b/elements/puppet-stack-config/puppet-stack-config.pp index fc0bae84c..8722f7c53 100644 --- a/elements/puppet-stack-config/puppet-stack-config.pp +++ b/elements/puppet-stack-config/puppet-stack-config.pp @@ -538,6 +538,14 @@ Keystone_endpoint<||> -> Service['ironic-inspector'] Keystone_endpoint <||> -> Service['nova-compute'] Keystone_service <||> -> Service['nova-compute'] +# This is a workaround for a race between nova-compute and ironic +# conductor. When https://bugs.launchpad.net/tripleo/+bug/1777608 is +# fixed this can be removed. Currently we wait 1 minutes for the +# ironic conductor service to be ready. As puppet can order thing its +# own way and be slow (especially in CI env) we can have services +# started at more than one minute appart, hence the need for it. +Service[$::ironic::params::conductor_service] -> Service[$::nova::params::compute_service_name] + if str2bool(hiera('enable_tempest', true)) { # tempest package{'openstack-tempest': }