Merge "Obtain overcloud ssh username based on RHOSP release"
This commit is contained in:
commit
71eda42d8e
@ -206,7 +206,7 @@ def run_command_on_amphora(command: str,
|
|||||||
start_agent_cmd = f'eval {ssh_agent_output} {ssh_add_command}; '
|
start_agent_cmd = f'eval {ssh_agent_output} {ssh_add_command}; '
|
||||||
|
|
||||||
# Example: ssh -A -t heat-admin@192.168.24.13
|
# Example: ssh -A -t heat-admin@192.168.24.13
|
||||||
controller_user = CONF.tobiko.tripleo.overcloud_ssh_username
|
controller_user = tripleo.get_overcloud_ssh_username()
|
||||||
controller_ssh_command = f'ssh -A -t {controller_user}@{controller_ip}'
|
controller_ssh_command = f'ssh -A -t {controller_user}@{controller_ip}'
|
||||||
|
|
||||||
amphora_user = CONF.tobiko.octavia.amphora_user
|
amphora_user = CONF.tobiko.octavia.amphora_user
|
||||||
|
@ -97,7 +97,7 @@ class OvercloudMetalsmithApiTest(testtools.TestCase):
|
|||||||
netaddr.IPAddress(host_config.hostname)
|
netaddr.IPAddress(host_config.hostname)
|
||||||
self.assertEqual(CONF.tobiko.tripleo.overcloud_ssh_port,
|
self.assertEqual(CONF.tobiko.tripleo.overcloud_ssh_port,
|
||||||
host_config.port)
|
host_config.port)
|
||||||
self.assertEqual(CONF.tobiko.tripleo.overcloud_ssh_username,
|
self.assertEqual(tripleo.get_overcloud_ssh_username(),
|
||||||
host_config.username)
|
host_config.username)
|
||||||
key_filename = tobiko.tobiko_config_path(
|
key_filename = tobiko.tobiko_config_path(
|
||||||
CONF.tobiko.tripleo.overcloud_ssh_key_filename)
|
CONF.tobiko.tripleo.overcloud_ssh_key_filename)
|
||||||
|
@ -61,7 +61,9 @@ class OvercloudConfigTest(unit.TobikoUnitTest):
|
|||||||
self.assertLess(value, 2 ** 16)
|
self.assertLess(value, 2 ** 16)
|
||||||
|
|
||||||
def test_overcloud_ssh_username(self):
|
def test_overcloud_ssh_username(self):
|
||||||
self.assertIsInstance(TRIPLEO_CONF.overcloud_ssh_username, str)
|
value = TRIPLEO_CONF.overcloud_ssh_username
|
||||||
|
if value is not None:
|
||||||
|
self.assertIsInstance(value, str)
|
||||||
|
|
||||||
def test_overcloud_rcfile(self):
|
def test_overcloud_rcfile(self):
|
||||||
for rcfile in TRIPLEO_CONF.overcloud_rcfile:
|
for rcfile in TRIPLEO_CONF.overcloud_rcfile:
|
||||||
|
@ -51,6 +51,7 @@ overcloud_ssh_client = overcloud.overcloud_ssh_client
|
|||||||
overcloud_version = overcloud.overcloud_version
|
overcloud_version = overcloud.overcloud_version
|
||||||
skip_if_missing_overcloud = overcloud.skip_if_missing_overcloud
|
skip_if_missing_overcloud = overcloud.skip_if_missing_overcloud
|
||||||
skip_unless_has_overcloud = overcloud.skip_unless_has_overcloud
|
skip_unless_has_overcloud = overcloud.skip_unless_has_overcloud
|
||||||
|
get_overcloud_ssh_username = overcloud.get_overcloud_ssh_username
|
||||||
skip_if_ceph_rgw = containers.skip_if_ceph_rgw
|
skip_if_ceph_rgw = containers.skip_if_ceph_rgw
|
||||||
|
|
||||||
get_rhosp_release = _rhosp.get_rhosp_release
|
get_rhosp_release = _rhosp.get_rhosp_release
|
||||||
|
@ -26,6 +26,7 @@ import tobiko
|
|||||||
from tobiko.shell import ansible
|
from tobiko.shell import ansible
|
||||||
from tobiko.shell import sh
|
from tobiko.shell import sh
|
||||||
from tobiko.shell import ssh
|
from tobiko.shell import ssh
|
||||||
|
from tobiko.tripleo import _overcloud
|
||||||
from tobiko.tripleo import _undercloud
|
from tobiko.tripleo import _undercloud
|
||||||
from tobiko.tripleo import _config
|
from tobiko.tripleo import _config
|
||||||
|
|
||||||
@ -129,7 +130,7 @@ def read_tripleo_ansible_inventory():
|
|||||||
ssh_client = _undercloud.undercloud_ssh_client()
|
ssh_client = _undercloud.undercloud_ssh_client()
|
||||||
script = READ_TRIPLEO_ANSIBLE_INVENTORY_SCRIPT.format(
|
script = READ_TRIPLEO_ANSIBLE_INVENTORY_SCRIPT.format(
|
||||||
undercloud_rcfile=tripleo.undercloud_rcfile[0],
|
undercloud_rcfile=tripleo.undercloud_rcfile[0],
|
||||||
overcloud_ssh_username=tripleo.overcloud_ssh_username)
|
overcloud_ssh_username=_overcloud.get_overcloud_ssh_username())
|
||||||
return sh.execute('/bin/bash', stdin=script, ssh_client=ssh_client).stdout
|
return sh.execute('/bin/bash', stdin=script, ssh_client=ssh_client).stdout
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ class OvercloudHostConfig(tobiko.SharedFixture):
|
|||||||
if self.port is None:
|
if self.port is None:
|
||||||
self.port = CONF.tobiko.tripleo.overcloud_ssh_port
|
self.port = CONF.tobiko.tripleo.overcloud_ssh_port
|
||||||
if self.username is None:
|
if self.username is None:
|
||||||
self.username = CONF.tobiko.tripleo.overcloud_ssh_username
|
self.username = get_overcloud_ssh_username()
|
||||||
if self.key_filename is None:
|
if self.key_filename is None:
|
||||||
self.key_filename = self.key_file.key_filename
|
self.key_filename = self.key_file.key_filename
|
||||||
|
|
||||||
@ -378,6 +378,18 @@ def check_overcloud(min_version: str = None,
|
|||||||
mismatch_error=OvercloudVersionMismatch)
|
mismatch_error=OvercloudVersionMismatch)
|
||||||
|
|
||||||
|
|
||||||
|
@functools.lru_cache()
|
||||||
|
def get_overcloud_ssh_username():
|
||||||
|
if CONF.tobiko.tripleo.overcloud_ssh_username is not None:
|
||||||
|
return CONF.tobiko.tripleo.overcloud_ssh_username
|
||||||
|
|
||||||
|
if tobiko.check_version(_undercloud.undercloud_version(),
|
||||||
|
min_version='17.0'):
|
||||||
|
return "tripleo-admin"
|
||||||
|
else:
|
||||||
|
return "heat-admin"
|
||||||
|
|
||||||
|
|
||||||
class OvercloudNotFound(tobiko.ObjectNotFound):
|
class OvercloudNotFound(tobiko.ObjectNotFound):
|
||||||
message = 'overcloud not found: {cause}'
|
message = 'overcloud not found: {cause}'
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ OPTIONS = [
|
|||||||
default=None,
|
default=None,
|
||||||
help="TCP port of SSH server on overcloud hosts"),
|
help="TCP port of SSH server on overcloud hosts"),
|
||||||
cfg.StrOpt('overcloud_ssh_username',
|
cfg.StrOpt('overcloud_ssh_username',
|
||||||
default='heat-admin',
|
default=None,
|
||||||
help="Default username used to connect to overcloud nodes"),
|
help="Default username used to connect to overcloud nodes"),
|
||||||
cfg.StrOpt('overcloud_ssh_key_filename',
|
cfg.StrOpt('overcloud_ssh_key_filename',
|
||||||
default='~/.ssh/id_overcloud',
|
default='~/.ssh/id_overcloud',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user