Merge "Always run upgrades/updates as tripleo-admin"
This commit is contained in:
commit
71b80730e8
@ -0,0 +1,12 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
Upgrades and updates are now use tripleo-admin user to connect to
|
||||
the overcloud by default, which makes it work the same in this
|
||||
regard as fresh deployment.
|
||||
deprecations:
|
||||
- |
|
||||
The `--ssh-user` parameter for `overcloud upgrade run` command and
|
||||
similar commands is now deprecated and will be removed. In the
|
||||
future, `tripleo-admin` user will be used always, which will make
|
||||
it work the same as deployment workflow.
|
@ -20,11 +20,9 @@ class DeploymentWorkflowFixture(fixtures.Fixture):
|
||||
|
||||
def _setUp(self):
|
||||
super(DeploymentWorkflowFixture, self)._setUp()
|
||||
self.mock_get_overcloud_hosts = self.useFixture(fixtures.MockPatch(
|
||||
'tripleoclient.workflows.deployment.get_overcloud_hosts')
|
||||
).mock
|
||||
self.mock_enable_ssh_admin = self.useFixture(fixtures.MockPatch(
|
||||
'tripleoclient.workflows.deployment.enable_ssh_admin')
|
||||
self.mock_get_hosts_and_enable_ssh_admin = self.useFixture(
|
||||
fixtures.MockPatch('tripleoclient.workflows.deployment.'
|
||||
'get_hosts_and_enable_ssh_admin')
|
||||
).mock
|
||||
self.mock_config_download = self.useFixture(fixtures.MockPatch(
|
||||
'tripleoclient.workflows.deployment.config_download')
|
||||
|
@ -1479,8 +1479,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertTrue(mock_deploy_tmpdir.called)
|
||||
self.assertTrue(fixture.mock_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_get_overcloud_hosts.called)
|
||||
self.assertTrue(fixture.mock_get_hosts_and_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_config_download.called)
|
||||
self.assertTrue(fixture.mock_set_deployment_status.called)
|
||||
self.assertEqual(
|
||||
@ -1511,8 +1510,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(mock_deploy_tmpdir.called)
|
||||
self.assertTrue(fixture.mock_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_get_overcloud_hosts.called)
|
||||
self.assertTrue(fixture.mock_get_hosts_and_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_config_download.called)
|
||||
self.assertTrue(fixture.mock_set_deployment_status.called)
|
||||
self.assertEqual(
|
||||
@ -1552,8 +1550,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
|
||||
self.cmd.take_action,
|
||||
parsed_args)
|
||||
self.assertFalse(mock_deploy_tmpdir.called)
|
||||
self.assertTrue(fixture.mock_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_get_overcloud_hosts.called)
|
||||
self.assertTrue(fixture.mock_get_hosts_and_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_config_download.called)
|
||||
self.assertTrue(fixture.mock_set_deployment_status.called)
|
||||
self.assertEqual(
|
||||
@ -1584,8 +1581,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertTrue(fixture.mock_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_get_overcloud_hosts.called)
|
||||
self.assertTrue(fixture.mock_get_hosts_and_enable_ssh_admin.called)
|
||||
self.assertTrue(fixture.mock_config_download.called)
|
||||
self.assertEqual('ansible.cfg',
|
||||
fixture.mock_config_download.call_args[0][8])
|
||||
|
@ -38,6 +38,8 @@ class TestFFWDUpgradePrepare(fakes.TestFFWDUpgradePrepare):
|
||||
|
||||
@mock.patch('tripleoclient.v1.overcloud_deploy.DeployOvercloud.'
|
||||
'take_action')
|
||||
@mock.patch('tripleoclient.workflows.deployment.'
|
||||
'get_hosts_and_enable_ssh_admin', autospec=True)
|
||||
@mock.patch('tripleoclient.workflows.deployment.create_overcloudrc',
|
||||
autospec=True)
|
||||
@mock.patch('tripleoclient.utils.write_overcloudrc', autospec=True)
|
||||
@ -67,6 +69,7 @@ class TestFFWDUpgradePrepare(fakes.TestFFWDUpgradePrepare):
|
||||
mock_prepend_env,
|
||||
mock_write_overcloudrc,
|
||||
mock_overcloudrc,
|
||||
mock_enable_ssh_admin,
|
||||
mock_overcloud_deploy):
|
||||
|
||||
mock_stack = mock.Mock()
|
||||
@ -93,6 +96,10 @@ class TestFFWDUpgradePrepare(fakes.TestFFWDUpgradePrepare):
|
||||
container="mystack")
|
||||
mock_write_overcloudrc.assert_called_once_with("mystack",
|
||||
mock.ANY)
|
||||
mock_enable_ssh_admin.assert_called_once_with(
|
||||
self.cmd.log, self.app.client_manager, mock_stack,
|
||||
parsed_args.overcloud_ssh_network,
|
||||
parsed_args.overcloud_ssh_user, parsed_args.overcloud_ssh_key)
|
||||
mock_overcloud_deploy.assert_called_once_with(parsed_args)
|
||||
|
||||
@mock.patch('tripleoclient.v1.overcloud_deploy.DeployOvercloud.'
|
||||
|
@ -36,6 +36,8 @@ class TestOvercloudUpgradePrepare(fakes.TestOvercloudUpgradePrepare):
|
||||
self.mock_uuid4 = uuid4_patcher.start()
|
||||
self.addCleanup(self.mock_uuid4.stop)
|
||||
|
||||
@mock.patch('tripleoclient.workflows.deployment.'
|
||||
'get_hosts_and_enable_ssh_admin', autospec=True)
|
||||
@mock.patch('tripleoclient.workflows.deployment.create_overcloudrc',
|
||||
autospec=True)
|
||||
@mock.patch('tripleoclient.utils.write_overcloudrc', autospec=True)
|
||||
@ -63,7 +65,8 @@ class TestOvercloudUpgradePrepare(fakes.TestOvercloudUpgradePrepare):
|
||||
mock_get_stack,
|
||||
add_env,
|
||||
mock_write_overcloudrc,
|
||||
mock_overcloudrc):
|
||||
mock_overcloudrc,
|
||||
mock_enable_ssh_admin):
|
||||
|
||||
mock_stack = mock.Mock()
|
||||
mock_stack.stack_name = 'overcloud'
|
||||
@ -88,6 +91,10 @@ class TestOvercloudUpgradePrepare(fakes.TestOvercloudUpgradePrepare):
|
||||
container="overcloud")
|
||||
mock_write_overcloudrc.assert_called_once_with("overcloud",
|
||||
mock.ANY)
|
||||
mock_enable_ssh_admin.assert_called_once_with(
|
||||
self.cmd.log, self.app.client_manager, mock_stack,
|
||||
parsed_args.overcloud_ssh_network,
|
||||
parsed_args.overcloud_ssh_user, parsed_args.overcloud_ssh_key)
|
||||
|
||||
@mock.patch('tripleoclient.utils.prepend_environment', autospec=True)
|
||||
@mock.patch('tripleoclient.workflows.package_update.update',
|
||||
@ -189,7 +196,7 @@ class TestOvercloudUpgradeRun(fakes.TestOvercloudUpgradeRun):
|
||||
inventory_file=mock_open().read(),
|
||||
playbook=book,
|
||||
ansible_queue_name=constants.UPGRADE_QUEUE,
|
||||
node_user='heat-admin',
|
||||
node_user='tripleo-admin',
|
||||
tags='',
|
||||
skip_tags='validation'
|
||||
)
|
||||
@ -220,7 +227,7 @@ class TestOvercloudUpgradeRun(fakes.TestOvercloudUpgradeRun):
|
||||
inventory_file=mock_open().read(),
|
||||
playbook='fake-playbook.yaml',
|
||||
ansible_queue_name=constants.UPGRADE_QUEUE,
|
||||
node_user='heat-admin',
|
||||
node_user='tripleo-admin',
|
||||
tags='',
|
||||
skip_tags=''
|
||||
)
|
||||
@ -251,7 +258,7 @@ class TestOvercloudUpgradeRun(fakes.TestOvercloudUpgradeRun):
|
||||
inventory_file=mock_open().read(),
|
||||
playbook=book,
|
||||
ansible_queue_name=constants.UPGRADE_QUEUE,
|
||||
node_user='heat-admin',
|
||||
node_user='tripleo-admin',
|
||||
tags='',
|
||||
skip_tags=''
|
||||
)
|
||||
@ -284,7 +291,7 @@ class TestOvercloudUpgradeRun(fakes.TestOvercloudUpgradeRun):
|
||||
inventory_file=mock_open().read(),
|
||||
playbook=book,
|
||||
ansible_queue_name=constants.UPGRADE_QUEUE,
|
||||
node_user='heat-admin',
|
||||
node_user='tripleo-admin',
|
||||
tags='',
|
||||
skip_tags='pre-upgrade,validation'
|
||||
)
|
||||
|
@ -922,7 +922,7 @@ def load_environment_directories(directories):
|
||||
|
||||
|
||||
def get_tripleo_ansible_inventory(inventory_file='',
|
||||
ssh_user='heat-admin',
|
||||
ssh_user='tripleo-admin',
|
||||
stack='overcloud'):
|
||||
if not inventory_file:
|
||||
inventory_file = '%s/%s' % (os.path.expanduser('~'),
|
||||
|
@ -905,12 +905,9 @@ class DeployOvercloud(command.Command):
|
||||
plan=stack.stack_name)
|
||||
|
||||
try:
|
||||
hosts = deployment.get_overcloud_hosts(
|
||||
stack, parsed_args.overcloud_ssh_network)
|
||||
deployment.enable_ssh_admin(
|
||||
self.log, self.clients,
|
||||
stack.stack_name,
|
||||
hosts,
|
||||
deployment.get_hosts_and_enable_ssh_admin(
|
||||
self.log, self.clients, stack,
|
||||
parsed_args.overcloud_ssh_network,
|
||||
parsed_args.overcloud_ssh_user,
|
||||
parsed_args.overcloud_ssh_key)
|
||||
|
||||
|
@ -54,9 +54,9 @@ class ExternalUpdateRun(command.Command):
|
||||
parser.add_argument("--ssh-user",
|
||||
dest="ssh_user",
|
||||
action="store",
|
||||
default="heat-admin",
|
||||
help=_("The ssh user name for connecting to "
|
||||
"the overcloud nodes.")
|
||||
default="tripleo-admin",
|
||||
help=_("DEPRECATED: Only tripleo-admin should be "
|
||||
"used as ssh user.")
|
||||
)
|
||||
parser.add_argument('--tags',
|
||||
dest='tags',
|
||||
|
@ -54,9 +54,9 @@ class ExternalUpgradeRun(command.Command):
|
||||
parser.add_argument("--ssh-user",
|
||||
dest="ssh_user",
|
||||
action="store",
|
||||
default="heat-admin",
|
||||
help=_("The ssh user name for connecting to "
|
||||
"the overcloud nodes.")
|
||||
default="tripleo-admin",
|
||||
help=_("DEPRECATED: Only tripleo-admin should be "
|
||||
"used as ssh user.")
|
||||
)
|
||||
parser.add_argument('--tags',
|
||||
dest='tags',
|
||||
|
@ -90,6 +90,12 @@ class FFWDUpgradePrepare(DeployOvercloud):
|
||||
clients, container=stack_name)
|
||||
oooutils.write_overcloudrc(stack_name, overcloudrcs)
|
||||
|
||||
# refresh stack info and enable ssh admin for Ansible-via-Mistral
|
||||
stack = oooutils.get_stack(clients.orchestration, parsed_args.stack)
|
||||
deployment.get_hosts_and_enable_ssh_admin(
|
||||
self.log, clients, stack, parsed_args.overcloud_ssh_network,
|
||||
parsed_args.overcloud_ssh_user, parsed_args.overcloud_ssh_key)
|
||||
|
||||
self.log.info("FFWD Upgrade Prepare on stack {0} complete.".format(
|
||||
parsed_args.stack))
|
||||
|
||||
@ -124,9 +130,9 @@ class FFWDUpgradeRun(command.Command):
|
||||
parser.add_argument("--ssh-user",
|
||||
dest="ssh_user",
|
||||
action="store",
|
||||
default="heat-admin",
|
||||
help=_("The ssh user name for connecting to "
|
||||
"the overcloud nodes.")
|
||||
default="tripleo-admin",
|
||||
help=_("DEPRECATED: Only tripleo-admin should be "
|
||||
"used as ssh user.")
|
||||
)
|
||||
parser.add_argument('--stack', dest='stack',
|
||||
help=_('Name or ID of heat stack '
|
||||
|
@ -118,8 +118,8 @@ class UpdateRun(command.Command):
|
||||
dest="ssh_user",
|
||||
action="store",
|
||||
default="tripleo-admin",
|
||||
help=_("The ssh user name for connecting to "
|
||||
"the overcloud nodes.")
|
||||
help=_("DEPRECATED: Only tripleo-admin should be "
|
||||
"used as ssh user.")
|
||||
)
|
||||
parser.add_argument('--static-inventory',
|
||||
dest='static_inventory',
|
||||
|
@ -72,6 +72,12 @@ class UpgradePrepare(DeployOvercloud):
|
||||
clients, container=stack_name)
|
||||
oooutils.write_overcloudrc(stack_name, overcloudrcs)
|
||||
|
||||
# refresh stack info and enable ssh admin for Ansible-via-Mistral
|
||||
stack = oooutils.get_stack(clients.orchestration, parsed_args.stack)
|
||||
deployment.get_hosts_and_enable_ssh_admin(
|
||||
self.log, clients, stack, parsed_args.overcloud_ssh_network,
|
||||
parsed_args.overcloud_ssh_user, parsed_args.overcloud_ssh_key)
|
||||
|
||||
self.log.info("Completed Overcloud Upgrade Prepare for stack "
|
||||
"{0}".format(stack_name))
|
||||
|
||||
@ -145,9 +151,9 @@ class UpgradeRun(command.Command):
|
||||
parser.add_argument("--ssh-user",
|
||||
dest="ssh_user",
|
||||
action="store",
|
||||
default="heat-admin",
|
||||
help=_("The ssh user name for connecting to "
|
||||
"the overcloud nodes.")
|
||||
default="tripleo-admin",
|
||||
help=_("DEPRECATED: Only tripleo-admin should be "
|
||||
"used as ssh user.")
|
||||
)
|
||||
parser.add_argument('--skip-tags',
|
||||
dest='skip_tags',
|
||||
|
@ -173,6 +173,13 @@ def wait_for_ssh_port(host):
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
def get_hosts_and_enable_ssh_admin(log, clients, stack, overcloud_ssh_network,
|
||||
overcloud_ssh_user, overcloud_ssh_key):
|
||||
hosts = get_overcloud_hosts(stack, overcloud_ssh_network)
|
||||
enable_ssh_admin(log, clients, stack.stack_name, hosts,
|
||||
overcloud_ssh_user, overcloud_ssh_key)
|
||||
|
||||
|
||||
def enable_ssh_admin(log, clients, plan_name, hosts, ssh_user, ssh_key):
|
||||
print("Enabling ssh admin (tripleo-admin) for hosts:")
|
||||
print(" ".join(hosts))
|
||||
|
Loading…
x
Reference in New Issue
Block a user