diff --git a/tripleoclient/tests/v1/overcloud_ffwd_upgrade/test_overcloud_ffwd_upgrade.py b/tripleoclient/tests/v1/overcloud_ffwd_upgrade/test_overcloud_ffwd_upgrade.py index e6476b408..87eae1ec8 100644 --- a/tripleoclient/tests/v1/overcloud_ffwd_upgrade/test_overcloud_ffwd_upgrade.py +++ b/tripleoclient/tests/v1/overcloud_ffwd_upgrade/test_overcloud_ffwd_upgrade.py @@ -149,8 +149,8 @@ class TestFFWDUpgradeRun(fakes.TestFFWDUpgradeRun): def test_ffwd_upgrade_playbook( self, mock_open, mock_execute, mock_expanduser, upgrade_ansible): mock_expanduser.return_value = '/home/fake/' - argslist = ['--yes'] - verifylist = [('yes', True), ] + argslist = ['--ssh-user', 'heat-admin', '--yes'] + verifylist = [('ssh_user', 'heat-admin'), ('yes', True), ] parsed_args = self.check_parser(self.cmd, argslist, verifylist) with mock.patch('os.path.exists') as mock_exists: @@ -166,6 +166,31 @@ class TestFFWDUpgradeRun(fakes.TestFFWDUpgradeRun): skip_tags='' ) + @mock.patch('tripleoclient.workflows.package_update.update_ansible', + autospec=True) + @mock.patch('os.path.expanduser') + @mock.patch('oslo_concurrency.processutils.execute') + @mock.patch('six.moves.builtins.open') + def test_ffwd_upgrade_playbook_non_default_user( + self, mock_open, mock_execute, mock_expanduser, upgrade_ansible): + mock_expanduser.return_value = '/home/fake/' + argslist = ['--ssh-user', 'my-user', '--yes'] + verifylist = [('ssh_user', 'my-user'), ('yes', True), ] + + parsed_args = self.check_parser(self.cmd, argslist, verifylist) + with mock.patch('os.path.exists') as mock_exists: + mock_exists.return_value = True + self.cmd.take_action(parsed_args) + upgrade_ansible.assert_called_once_with( + self.app.client_manager, + inventory_file=mock_open().read(), + ansible_queue_name=constants.FFWD_UPGRADE_QUEUE, + nodes='', + playbook=constants.FFWD_UPGRADE_PLAYBOOK, + node_user='my-user', + skip_tags='' + ) + @mock.patch('tripleoclient.workflows.package_update.update_ansible', autospec=True) @mock.patch('os.path.expanduser') diff --git a/tripleoclient/v1/overcloud_ffwd_upgrade.py b/tripleoclient/v1/overcloud_ffwd_upgrade.py index bd388c80b..ae7a8963b 100644 --- a/tripleoclient/v1/overcloud_ffwd_upgrade.py +++ b/tripleoclient/v1/overcloud_ffwd_upgrade.py @@ -147,11 +147,11 @@ class FFWDUpgradeRun(command.Command): oooutils.ffwd_upgrade_operator_confirm(parsed_args.yes, self.log) clients = self.app.client_manager - stack = parsed_args.stack - ssh_user = parsed_args.ssh_user + # Run ansible: inventory = oooutils.get_tripleo_ansible_inventory( - parsed_args.static_inventory, ssh_user, stack) + inventory_file=parsed_args.static_inventory, + ssh_user=parsed_args.ssh_user, stack=parsed_args.stack) # Don't expost limit_hosts. We need this on the whole overcloud. limit_hosts = '' oooutils.run_update_ansible_action(