From 3b22cb06924a60b8fa3c9d6817bd9cd1d3b642c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Sim=C3=B3n?= Date: Fri, 2 Aug 2019 11:06:36 +0200 Subject: [PATCH] ncm-openstack: temp workaround for ceilometer-upgrade --- .../src/main/perl/OpenStack/Service.pm | 5 ++- ncm-openstack/src/test/perl/cmddata.pm | 40 +++++++++---------- ncm-openstack/src/test/perl/openstack.t | 40 +++++++++---------- 3 files changed, 43 insertions(+), 42 deletions(-) diff --git a/ncm-openstack/src/main/perl/OpenStack/Service.pm b/ncm-openstack/src/main/perl/OpenStack/Service.pm index 780c75ec49..966627a607 100644 --- a/ncm-openstack/src/main/perl/OpenStack/Service.pm +++ b/ncm-openstack/src/main/perl/OpenStack/Service.pm @@ -1,5 +1,6 @@ #${PMpre} NCM::Component::OpenStack::Service${PMpost} + use CAF::Object qw(SUCCESS); use CAF::Process 17.8.1; use CAF::Service; @@ -544,7 +545,7 @@ sub populate_service_database $self->pre_populate_service_database(); # db_version is slow when not initialised # (lots of retries before it gives up; can take up to 90s) - if ($self->_do([$self->{manage}, @{$self->{db_version}}], 'determine database version', test => 1)) { + if ($self->_do(['/bin/bash', '-c', join(' ', $self->{manage}, @{$self->{db_version}})], 'determine database version', test => 1)) { $self->verbose("Found existing db_version"); return 1 if ($self->{flavour} eq "rabbitmq"); } else { @@ -552,7 +553,7 @@ sub populate_service_database }; # Always populate/sync the databases - if ($self->_do([$self->{manage}, @{$self->{db_sync}}], 'populate database')) { + if ($self->_do(['/bin/bash', '-c', join(' ', $self->{manage}, @{$self->{db_sync}})], 'populate database')) { return $self->post_populate_service_database(); } else { # Failure diff --git a/ncm-openstack/src/test/perl/cmddata.pm b/ncm-openstack/src/test/perl/cmddata.pm index 285307ec94..aee00bd3e2 100644 --- a/ncm-openstack/src/test/perl/cmddata.pm +++ b/ncm-openstack/src/test/perl/cmddata.pm @@ -19,34 +19,34 @@ use warnings; our %cmds; our %files; -$cmds{keystone_db_version_missing}{cmd} = "/usr/bin/keystone-manage db_version"; +$cmds{keystone_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/keystone-manage db_version"; $cmds{keystone_db_version_missing}{ec} = 1; -$cmds{keystone_db_version}{cmd} = "/usr/bin/keystone-manage db_version"; +$cmds{keystone_db_version}{cmd} = "/bin/bash -c /usr/bin/keystone-manage db_version"; $cmds{keystone_db_version}{out} = 123; -$cmds{glance_db_version_missing}{cmd} = "/usr/bin/glance-manage db_version"; +$cmds{glance_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/glance-manage db_version"; $cmds{glance_db_version_missing}{ec} = 1; -$cmds{glance_db_version}{cmd} = "/usr/bin/glance-manage db_version"; +$cmds{glance_db_version}{cmd} = "/bin/bash -c /usr/bin/glance-manage db_version"; $cmds{glance_db_version}{out} = "ocata01"; -$cmds{nova_db_version_missing}{cmd} = "/usr/bin/nova-manage db version"; +$cmds{nova_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/nova-manage db version"; $cmds{nova_db_version_missing}{ec} = 1; -$cmds{nova_db_version}{cmd} = "/usr/bin/nova-manage db version"; +$cmds{nova_db_version}{cmd} = "/bin/bash -c /usr/bin/nova-manage db version"; $cmds{nova_db_version}{out} = 347; -$cmds{neutron_db_version_missing}{cmd} = "/usr/bin/neutron-db-manage current"; +$cmds{neutron_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/neutron-db-manage current"; $cmds{neutron_db_version_missing}{ec} = 1; -$cmds{neutron_db_version}{cmd} = "/usr/bin/neutron-db-manage current"; +$cmds{neutron_db_version}{cmd} = "/bin/bash -c /usr/bin/neutron-db-manage current"; $cmds{neutron_db_version}{out} = "OK"; -$cmds{rabbitmq_db_version_missing}{cmd} = "/usr/sbin/rabbitmqctl list_user_permissions openstack"; +$cmds{rabbitmq_db_version_missing}{cmd} = "/bin/bash -c /usr/sbin/rabbitmqctl list_user_permissions openstack"; $cmds{rabbitmq_db_version_missing}{ec} = 1; -$cmds{rabbitmq_db_version}{cmd} = "/usr/sbin/rabbitmqctl list_user_permissions openstack"; +$cmds{rabbitmq_db_version}{cmd} = "/bin/bash -c /usr/sbin/rabbitmqctl list_user_permissions openstack"; $cmds{rabbitmq_db_version}{ec} = "/ .* .* .*"; $cmds{nova_set_secret}{cmd} = "/usr/bin/virsh secret-define --file /var/lib/nova/tmp/secret_ceph.xml"; @@ -70,34 +70,34 @@ $files{novacephkey}{txt} = "key=abc"; $files{cindercephkey}{path} = "/etc/ceph/ceph.client.volumes.keyring"; $files{cindercephkey}{txt} = "key=defgh"; -$cmds{cinder_db_version}{cmd} = "/usr/bin/cinder-manage db version"; +$cmds{cinder_db_version}{cmd} = "/bin/bash -c /usr/bin/cinder-manage db version"; $cmds{cinder_db_version}{out} = 1; -$cmds{cinder_db_version_missing}{cmd} = "/usr/bin/cinder-manage db version"; +$cmds{cinder_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/cinder-manage db version"; $cmds{cinder_db_version_missing}{ec} = 1; -$cmds{manila_db_version}{cmd} = "/usr/bin/manila-manage db version"; +$cmds{manila_db_version}{cmd} = "/bin/bash -c /usr/bin/manila-manage db version"; $cmds{manila_db_version}{out} = 1; -$cmds{manila_db_version_missing}{cmd} = "/usr/bin/manila-manage db version"; +$cmds{manila_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/manila-manage db version"; $cmds{manila_db_version_missing}{ec} = 1; -$cmds{heat_db_version}{cmd} = "/usr/bin/heat-manage db_version"; +$cmds{heat_db_version}{cmd} = "/bin/bash -c /usr/bin/heat-manage db_version"; $cmds{heat_db_version}{out} = 1; -$cmds{heat_db_version_missing}{cmd} = "/usr/bin/heat-manage db_version"; +$cmds{heat_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/heat-manage db_version"; $cmds{heat_db_version_missing}{ec} = 1; -$cmds{ceilometer_db_version}{cmd} = "/usr/bin/ceilometer-upgrade --version"; +$cmds{ceilometer_db_version}{cmd} = "/bin/bash -c /usr/bin/ceilometer-upgrade --version"; $cmds{ceilometer_db_version}{out} = "11.0.1"; -$cmds{ceilometer_db_version_missing}{cmd} = "/usr/bin/ceilometer-upgrade --version"; +$cmds{ceilometer_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/ceilometer-upgrade --version"; $cmds{ceilometer_db_version_missing}{ec} = 1; -$cmds{murano_db_version}{cmd} = "/usr/bin/murano-db-manage version"; +$cmds{murano_db_version}{cmd} = "/bin/bash -c /usr/bin/murano-db-manage version"; $cmds{murano_db_version}{out} = 1; -$cmds{murano_db_version_missing}{cmd} = "/usr/bin/murano-db-manage version"; +$cmds{murano_db_version_missing}{cmd} = "/bin/bash -c /usr/bin/murano-db-manage version"; $cmds{murano_db_version_missing}{ec} = 1; 1; diff --git a/ncm-openstack/src/test/perl/openstack.t b/ncm-openstack/src/test/perl/openstack.t index eb5ebaef3b..2c00fa4451 100644 --- a/ncm-openstack/src/test/perl/openstack.t +++ b/ncm-openstack/src/test/perl/openstack.t @@ -122,26 +122,26 @@ diag "all servers history commands ", explain \@Test::Quattor::command_history; ok(command_history_ok([ 'service httpd restart', - '/usr/sbin/rabbitmqctl list_user_permissions openstack', - '/usr/sbin/rabbitmqctl add_user openstack rabbit_pass', + '/bin/bash -c /usr/sbin/rabbitmqctl list_user_permissions openstack', + '/bin/bash -c /usr/sbin/rabbitmqctl add_user openstack rabbit_pass', '/usr/sbin/rabbitmqctl set_permissions openstack .* .* .*', - '/usr/bin/keystone-manage db_version', - '/usr/bin/keystone-manage db_sync', + '/bin/bash -c /usr/bin/keystone-manage db_version', + '/bin/bash -c /usr/bin/keystone-manage db_sync', '/usr/bin/keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone', '/usr/bin/keystone-manage credential_setup --keystone-user keystone --keystone-group keystone', '/usr/bin/keystone-manage bootstrap --bootstrap-password admingoodpass', 'service httpd restart', - '/usr/bin/glance-manage db_version', - '/usr/bin/glance-manage db_sync', + '/bin/bash -c /usr/bin/glance-manage db_version', + '/bin/bash -c /usr/bin/glance-manage db_sync', 'service openstack-glance-registry restart', 'service openstack-glance-api restart', - '/usr/bin/cinder-manage db version', - '/usr/bin/cinder-manage db sync', + '/bin/bash -c /usr/bin/cinder-manage db version', + '/bin/bash -c /usr/bin/cinder-manage db sync', 'service openstack-cinder-api restart', 'service openstack-cinder-scheduler restart', 'service openstack-cinder-volume restart', - '/usr/bin/manila-manage db version', - '/usr/bin/manila-manage db sync', + '/bin/bash -c /usr/bin/manila-manage db version', + '/bin/bash -c /usr/bin/manila-manage db sync', 'service openstack-manila-api restart', 'service openstack-manila-scheduler restart', 'service openstack-manila-share restart', @@ -149,32 +149,32 @@ ok(command_history_ok([ '/usr/bin/nova-manage cell_v2 map_cell0', '/usr/bin/nova-manage cell_v2 create_cell --name=cell1 --verbose', '/usr/bin/nova-manage cell_v2 discover_hosts --verbose', - '/usr/bin/nova-manage db version', - '/usr/bin/nova-manage db sync', + '/bin/bash -c /usr/bin/nova-manage db version', + '/bin/bash -c /usr/bin/nova-manage db sync', 'service openstack-nova-api restart', 'service openstack-nova-consoleauth restart', 'service openstack-nova-scheduler restart', 'service openstack-nova-conductor restart', 'service openstack-nova-novncproxy restart', - '/usr/bin/neutron-db-manage current', - '/usr/bin/neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head', + '/bin/bash -c /usr/bin/neutron-db-manage current', + '/bin/bash -c /usr/bin/neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head', 'service neutron-dhcp-agent restart', 'service neutron-l3-agent restart', 'service neutron-linuxbridge-agent restart', 'service neutron-metadata-agent restart', 'service neutron-server restart', - '/usr/bin/heat-manage db_version', - '/usr/bin/heat-manage db_sync', + '/bin/bash -c /usr/bin/heat-manage db_version', + '/bin/bash -c /usr/bin/heat-manage db_sync', 'service openstack-heat-api restart', 'service openstack-heat-api-cfn restart', 'service openstack-heat-engine restart', - '/usr/bin/murano-db-manage version', - '/usr/bin/murano-db-manage upgrade', + '/bin/bash -c /usr/bin/murano-db-manage version', + '/bin/bash -c /usr/bin/murano-db-manage upgrade', 'service murano-api restart', 'service murano-engine restart', '/usr/bin/gnocchi-upgrade', - '/usr/bin/ceilometer-upgrade --version', - '/usr/bin/ceilometer-upgrade --debug', + '/bin/bash -c /usr/bin/ceilometer-upgrade --version', + '/bin/bash -c /usr/bin/ceilometer-upgrade --debug', 'service openstack-gnocchi-metricd restart', 'service httpd restart', 'service openstack-ceilometer-notification restart',