Migrate keywords for geo redundancy

Description:
- Created migration keywords file
- Verfied subcloud peer group migrate

Change-Id: I90e63ab650f2facd379dbe5058b429237834dc59
Signed-off-by: aabhinav <ayyapasetti.abhinav@windriver.com>
This commit is contained in:
aabhinav
2025-08-01 15:28:47 -04:00
parent ab511ed620
commit a96fb19d5e

View File

@@ -0,0 +1,31 @@
from framework.ssh.ssh_connection import SSHConnection
from keywords.base_keyword import BaseKeyword
from keywords.cloud_platform.command_wrappers import source_openrc
from keywords.cloud_platform.dcmanager.objects.dcmanager_subcloud_peer_group_list_subclouds_output import DcManagerSubcloudPeerGroupListSubcloudsOutput
class DcManagerSubcloudPeerGroupMigrateKeywords(BaseKeyword):
"""Keywords for 'dcmanager subcloud-peer-group migrate' command."""
def __init__(self, ssh_connection: SSHConnection):
"""Initialize keywords class.
Args:
ssh_connection (SSHConnection): SSH connection to the active controller.
"""
self.ssh_connection = ssh_connection
def dcmanager_subcloud_peer_group_migrate(self, identifier: str, password: str) -> DcManagerSubcloudPeerGroupListSubcloudsOutput:
"""Migrate a subcloud peer group using subcloud peer group migrate
Args:
identifier (str): Subcloud peer group identifier (id).
password (str): Password for authentication.
Returns:
DcManagerSubcloudPeerGroupListSubcloudsOutput: Output of subcloud peer group migrated
"""
cmd = f"dcmanager subcloud-peer-group migrate {identifier} --sysadmin-password {password}"
output = self.ssh_connection.send(source_openrc(cmd))
self.validate_success_return_code(self.ssh_connection)
return DcManagerSubcloudPeerGroupListSubcloudsOutput(output)