Change class name to use camelCase

Fixed some class names that were in snake_case because
it's not right according to PEP8/PyLint. Now they're all camelCase.

Also, did a direct assignment to client_manager attributes.

Test Plan:
PASS: Run tox command.
- pylint success
- pep8 success
- py39 success
PASS: Check if all commands are working properly.

Closes-bug: 2053023

Change-Id: Iba489e23eb27015f27c6b8d5231f5d6002fa6876
Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
This commit is contained in:
Hugo Brito 2024-02-19 16:38:08 -03:00
parent a507c6449d
commit 1614a6ae75
63 changed files with 713 additions and 730 deletions

View File

@ -30,6 +30,7 @@ load-plugins=
# R detect Refactor for a "good practice" metric violation
# W detect Warning for stylistic problems, or minor programming issues
disable=broad-except,
duplicate-code,
invalid-name,
missing-class-docstring,
missing-function-docstring,
@ -44,7 +45,6 @@ disable=broad-except,
too-many-locals,
too-many-public-methods,
too-many-statements,
duplicate-code,
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs

View File

@ -43,6 +43,7 @@ def log_request(func):
class HTTPClient:
def __init__(
self,
base_url,

View File

@ -1,5 +1,5 @@
# Copyright (c) 2017 Ericsson AB.
# Copyright (c) 2017-2021 Wind River Systems, Inc.
# Copyright (c) 2017-2021, 2024 Wind River Systems, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@ -20,10 +20,9 @@ from dcmanagerclient.api.base import get_json
class AlarmSummary(base.Resource):
resource_name = 'alarms'
resource_name = "alarms"
def __init__(self, manager, name, critical, major,
minor, warnings, status):
def __init__(self, manager, name, critical, major, minor, warnings, status):
self.manger = manager
self.name = name
self.critical = critical
@ -33,7 +32,7 @@ class AlarmSummary(base.Resource):
self.status = status
class alarm_manager(base.ResourceManager):
class AlarmManager(base.ResourceManager):
resource_class = AlarmSummary
def alarm_summary_list(self, url):
@ -41,20 +40,22 @@ class alarm_manager(base.ResourceManager):
if resp.status_code != 200:
self._raise_api_exception(resp)
json_response_key = get_json(resp)
json_objects = json_response_key['alarm_summary']
json_objects = json_response_key["alarm_summary"]
resource = []
for json_object in json_objects:
resource.append(
self.resource_class(
self,
name=json_object['region_name'],
critical=json_object['critical_alarms'],
major=json_object['major_alarms'],
minor=json_object['minor_alarms'],
warnings=json_object['warnings'],
status=json_object['cloud_status']))
name=json_object["region_name"],
critical=json_object["critical_alarms"],
major=json_object["major_alarms"],
minor=json_object["minor_alarms"],
warnings=json_object["warnings"],
status=json_object["cloud_status"],
)
)
return resource
def list_alarms(self):
url = '/alarms/'
url = "/alarms/"
return self.alarm_summary_list(url)

View File

@ -22,25 +22,28 @@ import six
from keystoneauth1 import session as ks_session
from dcmanagerclient.api import httpclient
from dcmanagerclient.api.v1 import alarm_manager as am
from dcmanagerclient.api.v1 import fw_update_manager as fum
from dcmanagerclient.api.v1 import kube_rootca_update_manager as krum
from dcmanagerclient.api.v1 import kube_upgrade_manager as kupm
from dcmanagerclient.api.v1 import peer_group_association_manager as pgam
from dcmanagerclient.api.v1 import phased_subcloud_deploy_manager as psdm
from dcmanagerclient.api.v1 import strategy_step_manager as ssm
from dcmanagerclient.api.v1 import subcloud_backup_manager as sbm
from dcmanagerclient.api.v1 import subcloud_deploy_manager as sdm
from dcmanagerclient.api.v1 import subcloud_group_manager as gm
from dcmanagerclient.api.v1 import subcloud_manager as sm
from dcmanagerclient.api.v1 import subcloud_peer_group_manager as pm
from dcmanagerclient.api.v1 import sw_deploy_manager as swdm
from dcmanagerclient.api.v1 import sw_patch_manager as spm
from dcmanagerclient.api.v1 import sw_prestage_manager as spr
from dcmanagerclient.api.v1 import sw_strategy_manager as sstm
from dcmanagerclient.api.v1 import sw_update_options_manager as suom
from dcmanagerclient.api.v1 import sw_upgrade_manager as supm
from dcmanagerclient.api.v1 import system_peer_manager as sp
from dcmanagerclient.api.v1.alarm_manager import AlarmManager
from dcmanagerclient.api.v1.fw_update_manager import FwUpdateManager
from dcmanagerclient.api.v1.kube_rootca_update_manager import KubeRootcaUpdateManager
from dcmanagerclient.api.v1.kube_upgrade_manager import KubeUpgradeManager
from dcmanagerclient.api.v1.peer_group_association_manager import \
PeerGroupAssociationManager
from dcmanagerclient.api.v1.phased_subcloud_deploy_manager import \
PhasedSubcloudDeployManager
from dcmanagerclient.api.v1.strategy_step_manager import StrategyStepManager
from dcmanagerclient.api.v1.subcloud_backup_manager import SubcloudBackupManager
from dcmanagerclient.api.v1.subcloud_deploy_manager import SubcloudDeployManager
from dcmanagerclient.api.v1.subcloud_group_manager import SubcloudGroupManager
from dcmanagerclient.api.v1.subcloud_manager import SubcloudManager
from dcmanagerclient.api.v1.subcloud_peer_group_manager import \
SubcloudPeerGroupManager
from dcmanagerclient.api.v1.sw_deploy_manager import SwDeployManager
from dcmanagerclient.api.v1.sw_patch_manager import SwPatchManager
from dcmanagerclient.api.v1.sw_prestage_manager import SwPrestageManager
from dcmanagerclient.api.v1.sw_strategy_manager import SwStrategyManager
from dcmanagerclient.api.v1.sw_update_options_manager import SwUpdateOptionsManager
from dcmanagerclient.api.v1.sw_upgrade_manager import SwUpgradeManager
from dcmanagerclient.api.v1.system_peer_manager import SystemPeerManager
_DEFAULT_DCMANAGER_URL = "http://localhost:8119/v1.0"
@ -113,37 +116,33 @@ class Client:
)
# Create all managers
self.subcloud_manager = sm.subcloud_manager(self.http_client)
self.subcloud_group_manager = gm.subcloud_group_manager(
self.subcloud_manager = SubcloudManager(self.http_client)
self.subcloud_group_manager = SubcloudGroupManager(
self.http_client, self.subcloud_manager
)
self.subcloud_peer_group_manager = pm.subcloud_peer_group_manager(
self.subcloud_peer_group_manager = SubcloudPeerGroupManager(
self.http_client, self.subcloud_manager
)
self.peer_group_association_manager = pgam.peer_group_association_manager(
self.peer_group_association_manager = PeerGroupAssociationManager(
self.http_client
)
self.subcloud_backup_manager = sbm.subcloud_backup_manager(self.http_client)
self.subcloud_deploy_manager = sdm.subcloud_deploy_manager(self.http_client)
self.system_peer_manager = sp.system_peer_manager(
self.subcloud_backup_manager = SubcloudBackupManager(self.http_client)
self.subcloud_deploy_manager = SubcloudDeployManager(self.http_client)
self.system_peer_manager = SystemPeerManager(
self.http_client, self.subcloud_peer_group_manager
)
self.alarm_manager = am.alarm_manager(self.http_client)
self.fw_update_manager = fum.fw_update_manager(self.http_client)
self.kube_rootca_update_manager = krum.kube_rootca_update_manager(
self.http_client
)
self.kube_upgrade_manager = kupm.kube_upgrade_manager(self.http_client)
self.sw_deploy_manager = swdm.SwDeployManager(self.http_client)
self.sw_patch_manager = spm.sw_patch_manager(self.http_client)
self.sw_prestage_manager = spr.sw_prestage_manager(self.http_client)
self.sw_update_options_manager = suom.sw_update_options_manager(
self.http_client
)
self.sw_upgrade_manager = supm.sw_upgrade_manager(self.http_client)
self.strategy_step_manager = ssm.strategy_step_manager(self.http_client)
self.sw_strategy_manager = sstm.sw_strategy_manager(self.http_client)
self.phased_subcloud_deploy_manager = psdm.phased_subcloud_deploy_manager(
self.alarm_manager = AlarmManager(self.http_client)
self.fw_update_manager = FwUpdateManager(self.http_client)
self.kube_rootca_update_manager = KubeRootcaUpdateManager(self.http_client)
self.kube_upgrade_manager = KubeUpgradeManager(self.http_client)
self.sw_deploy_manager = SwDeployManager(self.http_client)
self.sw_patch_manager = SwPatchManager(self.http_client)
self.sw_prestage_manager = SwPrestageManager(self.http_client)
self.sw_update_options_manager = SwUpdateOptionsManager(self.http_client)
self.sw_upgrade_manager = SwUpgradeManager(self.http_client)
self.strategy_step_manager = StrategyStepManager(self.http_client)
self.sw_strategy_manager = SwStrategyManager(self.http_client)
self.phased_subcloud_deploy_manager = PhasedSubcloudDeployManager(
self.http_client
)

View File

@ -14,12 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_FIRMWARE = "firmware"
class fw_update_manager(sw_update_manager):
class FwUpdateManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(http_client, update_type=SW_UPDATE_TYPE_FIRMWARE)

View File

@ -3,12 +3,12 @@
#
# SPDX-License-Identifier: Apache-2.0
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_KUBE_ROOTCA_UPDATE = "kube-rootca-update"
class kube_rootca_update_manager(sw_update_manager):
class KubeRootcaUpdateManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(http_client, update_type=SW_UPDATE_TYPE_KUBE_ROOTCA_UPDATE)

View File

@ -14,12 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_KUBERNETES = "kubernetes"
class kube_upgrade_manager(sw_update_manager):
class KubeUpgradeManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(http_client, update_type=SW_UPDATE_TYPE_KUBERNETES)

View File

@ -42,7 +42,7 @@ class PeerGroupAssociation(base.Resource):
self.updated_at = updated_at
class peer_group_association_manager(base.ResourceManager):
class PeerGroupAssociationManager(base.ResourceManager):
resource_class = PeerGroupAssociation
def _json_to_resource(self, json_object):

View File

@ -12,7 +12,7 @@ from dcmanagerclient.api.base import get_json
BASE_URL = "/phased-subcloud-deploy/"
class phased_subcloud_deploy_manager(base.ResourceManager):
class PhasedSubcloudDeployManager(base.ResourceManager):
resource_class = base.Subcloud
def json_to_resource(self, json_object):

View File

@ -44,7 +44,7 @@ class StrategyStep(base.Resource):
self.updated_at = updated_at
class strategy_step_manager(base.ResourceManager):
class StrategyStepManager(base.ResourceManager):
def __init__(self, http_client):
super().__init__(http_client)

View File

@ -12,7 +12,7 @@ from dcmanagerclient.api import base
from dcmanagerclient.api.base import get_json
class subcloud_backup_manager(base.ResourceManager):
class SubcloudBackupManager(base.ResourceManager):
resource_class = base.Subcloud

View File

@ -38,7 +38,7 @@ class SubcloudDeploy(base.Resource):
self.software_version = software_version
class subcloud_deploy_manager(base.ResourceManager):
class SubcloudDeployManager(base.ResourceManager):
resource_class = SubcloudDeploy
def _process_json_response(self, json_object):

View File

@ -45,7 +45,7 @@ class SubcloudGroup(base.Resource):
self.updated_at = updated_at
class subcloud_group_manager(base.ResourceManager):
class SubcloudGroupManager(base.ResourceManager):
resource_class = SubcloudGroup
def __init__(self, http_client, subcloud_manager):

View File

@ -23,7 +23,7 @@ from dcmanagerclient.api import base
from dcmanagerclient.api.base import get_json
class subcloud_manager(base.ResourceManager):
class SubcloudManager(base.ResourceManager):
resource_class = base.Subcloud
def json_to_resource(self, json_object):

View File

@ -40,7 +40,7 @@ class SubcloudPeerGroup(base.Resource):
self.updated_at = updated_at
class subcloud_peer_group_manager(base.ResourceManager):
class SubcloudPeerGroupManager(base.ResourceManager):
resource_class = SubcloudPeerGroup
def __init__(self, http_client, subcloud_manager):

View File

@ -4,12 +4,12 @@
# SPDX-License-Identifier: Apache-2.0
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_USM = "software"
class SwDeployManager(sw_update_manager):
class SwDeployManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(
http_client, update_type=SW_UPDATE_TYPE_USM, extra_args=["release"]

View File

@ -14,12 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_PATCH = "patch"
class sw_patch_manager(sw_update_manager):
class SwPatchManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(
http_client, update_type=SW_UPDATE_TYPE_PATCH, extra_args=["upload-only"]

View File

@ -13,12 +13,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_PRESTAGE = "prestage"
class sw_prestage_manager(sw_update_manager):
class SwPrestageManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(

View File

@ -14,10 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
class sw_strategy_manager(sw_update_manager):
class SwStrategyManager(SwUpdateManager):
def __init__(self, http_client, url="sw-update-strategy"):
super().__init__(http_client, update_type=None)

View File

@ -47,8 +47,8 @@ class SwUpdateStrategy(base.Resource):
self.extra_args = extra_args
class sw_update_manager(base.ResourceManager):
"""sw_update_manager
class SwUpdateManager(base.ResourceManager):
"""SwUpdateManager
sw_update_manager is an abstract class that is used by subclasses to
manage API actions for specific update strategy types such as software

View File

@ -49,7 +49,7 @@ class SwUpdateOptions(base.Resource):
self.updated_at = updated_at
class sw_update_options_manager(base.ResourceManager):
class SwUpdateOptionsManager(base.ResourceManager):
resource_class = SwUpdateOptions
def sw_update_options_update(self, subcloud_ref, **kwargs):

View File

@ -14,12 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
from dcmanagerclient.api.v1.sw_update_manager import sw_update_manager
from dcmanagerclient.api.v1.sw_update_manager import SwUpdateManager
SW_UPDATE_TYPE_UPGRADE = "upgrade"
class sw_upgrade_manager(sw_update_manager):
class SwUpgradeManager(SwUpdateManager):
def __init__(self, http_client):
super().__init__(http_client, update_type=SW_UPDATE_TYPE_UPGRADE)

View File

@ -50,7 +50,7 @@ class SystemPeer(base.Resource):
self.updated_at = updated_at
class system_peer_manager(base.ResourceManager):
class SystemPeerManager(base.ResourceManager):
resource_class = SystemPeer
def __init__(self, http_client, subcloud_peer_group_manager):

View File

@ -54,5 +54,5 @@ class ListAlarmSummary(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.alarm_manager
return dcmanager_client.alarm_manager.list_alarms()
alarm_manager = self.app.client_manager.alarm_manager
return alarm_manager.list_alarms()

View File

@ -20,8 +20,8 @@ class FwUpdateManagerMixin:
"""This Mixin provides the update manager used for firmware updates."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.fw_update_manager
return dcmanager_client.fw_update_manager
fw_update_manager = self.app.client_manager.fw_update_manager
return fw_update_manager
class CreateFwUpdateStrategy(

View File

@ -12,8 +12,7 @@ class KubeRootcaUpdateManagerMixin:
"""This Mixin provides the update manager used for kube rootca updates."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.kube_rootca_update_manager
return dcmanager_client.kube_rootca_update_manager
return self.app.client_manager.kube_rootca_update_manager
class CreateKubeRootcaUpdateStrategy(

View File

@ -20,8 +20,8 @@ class KubeUpgradeManagerMixin:
"""This Mixin provides the update manager used for kubernetes upgrades."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.kube_upgrade_manager
return dcmanager_client.kube_upgrade_manager
kube_upgrade_manager = self.app.client_manager.kube_upgrade_manager
return kube_upgrade_manager
class CreateKubeUpgradeStrategy(

View File

@ -95,14 +95,16 @@ class AddPeerGroupAssociation(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.peer_group_association_manager
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
kwargs = {
"peer_group_id": parsed_args.peer_group_id,
"system_peer_id": parsed_args.system_peer_id,
"peer_group_priority": parsed_args.peer_group_priority,
}
return dcmanager_client.peer_group_association_manager.\
add_peer_group_association(**kwargs)
return peer_group_association_manager.add_peer_group_association(**kwargs)
class ListPeerGroupAssociation(base.DCManagerLister):
@ -116,9 +118,10 @@ class ListPeerGroupAssociation(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.peer_group_association_manager
return dcmanager_client.peer_group_association_manager.\
list_peer_group_associations()
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
return peer_group_association_manager.list_peer_group_associations()
class ShowPeerGroupAssociation(base.DCManagerShowOne):
@ -138,9 +141,12 @@ class ShowPeerGroupAssociation(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
association_ref = parsed_args.id
dcmanager_client = self.app.client_manager.peer_group_association_manager
return dcmanager_client.peer_group_association_manager.\
peer_group_association_detail(association_ref)
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
return peer_group_association_manager.peer_group_association_detail(
association_ref
)
class SyncPeerGroupAssociation(base.DCManagerShowOne):
@ -158,9 +164,12 @@ class SyncPeerGroupAssociation(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
association_ref = parsed_args.id
dcmanager_client = self.app.client_manager.peer_group_association_manager
return dcmanager_client.peer_group_association_manager.\
sync_peer_group_association(association_ref)
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
return peer_group_association_manager.sync_peer_group_association(
association_ref
)
class DeletePeerGroupAssociation(command.Command):
@ -173,12 +182,15 @@ class DeletePeerGroupAssociation(command.Command):
return parser
def take_action(self, parsed_args):
dcmanager_client = self.app.client_manager.peer_group_association_manager
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
try:
dcmanager_client.peer_group_association_manager.\
delete_peer_group_association(parsed_args.id)
except Exception as e:
print(e)
peer_group_association_manager.delete_peer_group_association(
parsed_args.id
)
except Exception as exc:
print(exc)
msg = f"Unable to delete peer group association {parsed_args.id}"
raise exceptions.DCManagerClientException(msg)
@ -203,13 +215,16 @@ class UpdatePeerGroupAssociation(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.peer_group_association_manager
peer_group_association_manager = (
self.app.client_manager.peer_group_association_manager
)
kwargs = {"peer_group_priority": parsed_args.peer_group_priority}
try:
return dcmanager_client.peer_group_association_manager.\
update_peer_group_association(parsed_args.id, **kwargs)
except Exception as e:
print(e)
return peer_group_association_manager.update_peer_group_association(
parsed_args.id, **kwargs
)
except Exception as exc:
print(exc)
msg = f"Unable to update peer group association {parsed_args.id}"
raise exceptions.DCManagerClientException(msg)

View File

@ -29,13 +29,16 @@ class AbortPhasedSubcloudDeploy(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.\
phased_subcloud_deploy_manager.phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
try:
return dcmanager_client.subcloud_deploy_abort(subcloud_ref=subcloud_ref)
except Exception as e:
print(e)
return phased_subcloud_deploy_manager.subcloud_deploy_abort(
subcloud_ref=subcloud_ref
)
except Exception as exc:
print(exc)
error_msg = f"Unable to abort subcloud deploy {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -106,8 +109,9 @@ class PhasedSubcloudDeployResume(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
files = {}
data = {}
@ -163,7 +167,7 @@ class PhasedSubcloudDeployResume(base.DCManagerShowOne):
if parsed_args.release:
data["release"] = parsed_args.release
return dcmanager_client.subcloud_deploy_resume(
return phased_subcloud_deploy_manager.subcloud_deploy_resume(
subcloud_ref=subcloud_ref, files=files, data=data
)
@ -226,8 +230,9 @@ class CreatePhasedSubcloudDeploy(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
files = {}
data = {}
@ -273,7 +278,9 @@ class CreatePhasedSubcloudDeploy(base.DCManagerShowOne):
if parsed_args.release:
data["release"] = parsed_args.release
return dcmanager_client.subcloud_deploy_create(files=files, data=data)
return phased_subcloud_deploy_manager.subcloud_deploy_create(
files=files, data=data
)
class InstallPhasedSubcloudDeploy(base.DCManagerShowOne):
@ -322,8 +329,9 @@ class InstallPhasedSubcloudDeploy(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
files = {}
data = {}
@ -355,11 +363,11 @@ class InstallPhasedSubcloudDeploy(base.DCManagerShowOne):
data["release"] = parsed_args.release
try:
return dcmanager_client.subcloud_deploy_install(
return phased_subcloud_deploy_manager.subcloud_deploy_install(
subcloud_ref=subcloud_ref, files=files, data=data
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to install subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -400,8 +408,9 @@ class BootstrapPhasedSubcloudDeploy(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
files = {}
data = {}
@ -429,7 +438,7 @@ class BootstrapPhasedSubcloudDeploy(base.DCManagerShowOne):
subcloud_ref = parsed_args.subcloud
return dcmanager_client.subcloud_deploy_bootstrap(
return phased_subcloud_deploy_manager.subcloud_deploy_bootstrap(
subcloud_ref, files=files, data=data
)
@ -463,8 +472,9 @@ class ConfigPhasedSubcloudDeploy(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
files = {}
data = {}
@ -487,11 +497,11 @@ class ConfigPhasedSubcloudDeploy(base.DCManagerShowOne):
data["sysadmin_password"] = base64.b64encode(password.encode("utf-8"))
try:
return dcmanager_client.subcloud_deploy_config(
return phased_subcloud_deploy_manager.subcloud_deploy_config(
subcloud_ref=subcloud_ref, files=files, data=data
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to configure subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -513,13 +523,16 @@ class CompletePhasedSubcloudDeploy(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
phased_subcloud_deploy_manager = (
self.app.client_manager.phased_subcloud_deploy_manager
)
try:
return dcmanager_client.subcloud_deploy_complete(subcloud_ref)
except Exception as e:
print(e)
return phased_subcloud_deploy_manager.subcloud_deploy_complete(
subcloud_ref
)
except Exception as exc:
print(exc)
error_msg = (
f"Unable to complete the deployment of subcloud {subcloud_ref}"
)

View File

@ -9,7 +9,8 @@ import os
from osc_lib.command import command
from dcmanagerclient import exceptions, utils
from dcmanagerclient import exceptions
from dcmanagerclient import utils
from dcmanagerclient.commands.v1 import base
@ -131,7 +132,7 @@ class CreateSubcloudBackup(base.DCManagerShow):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_backup_manager
subcloud_backup_manager = self.app.client_manager.subcloud_backup_manager
data = {}
files = {}
@ -191,12 +192,12 @@ class CreateSubcloudBackup(base.DCManagerShow):
files["backup_values"] = parsed_args.backup_values
try:
return dcmanager_client.subcloud_backup_manager.backup_subcloud_create(
return subcloud_backup_manager.backup_subcloud_create(
data=data, files=files
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = "Unable to create subcloud backup"
raise exceptions.DCManagerClientException(error_msg)
@ -245,7 +246,7 @@ class DeleteSubcloudBackup(command.Command):
return parser
def take_action(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_backup_manager
subcloud_backup_manager = self.app.client_manager.subcloud_backup_manager
release_version = parsed_args.release
subcloud_ref = parsed_args.subcloud
data = {}
@ -285,12 +286,12 @@ class DeleteSubcloudBackup(command.Command):
).decode("utf-8")
try:
return dcmanager_client.subcloud_backup_manager.backup_subcloud_delete(
return subcloud_backup_manager.backup_subcloud_delete(
subcloud_ref=subcloud_ref, release_version=release_version, data=data
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = "Unable to delete backup"
raise exceptions.DCManagerClientException(error_msg)
@ -372,7 +373,7 @@ class RestoreSubcloudBackup(base.DCManagerShow):
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_backup_manager
subcloud_backup_manager = self.app.client_manager.subcloud_backup_manager
data = {}
files = {}
@ -444,11 +445,11 @@ class RestoreSubcloudBackup(base.DCManagerShow):
files["restore_values"] = parsed_args.restore_values
try:
return dcmanager_client.subcloud_backup_manager.backup_subcloud_restore(
return subcloud_backup_manager.backup_subcloud_restore(
data=data, files=files
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = "Unable to restore subcloud backup"
raise exceptions.DCManagerClientException(error_msg)

View File

@ -109,7 +109,7 @@ class SubcloudDeployUpload(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_deploy_manager
subcloud_deploy_manager = self.app.client_manager.subcloud_deploy_manager
data = {}
files = {}
@ -131,11 +131,11 @@ class SubcloudDeployUpload(base.DCManagerShowOne):
data["release"] = parsed_args.release
try:
return dcmanager_client.subcloud_deploy_manager.subcloud_deploy_upload(
return subcloud_deploy_manager.subcloud_deploy_upload(
files=files, data=data
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = "Unable to upload subcloud deploy files"
raise exceptions.DCManagerClientException(error_msg)
@ -159,10 +159,8 @@ class SubcloudDeployShow(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_deploy_manager
return dcmanager_client.subcloud_deploy_manager.subcloud_deploy_show(
parsed_args.release
)
subcloud_deploy_manager = self.app.client_manager.subcloud_deploy_manager
return subcloud_deploy_manager.subcloud_deploy_show(parsed_args.release)
class DeprecatedSubcloudDeployShow(SubcloudDeployShow):
@ -214,7 +212,7 @@ class SubcloudDeployDelete(command.Command):
return parser
def take_action(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_deploy_manager
subcloud_deploy_manager = self.app.client_manager.subcloud_deploy_manager
release = parsed_args.release
data = {}
if parsed_args.prestage_images is not None:
@ -223,10 +221,8 @@ class SubcloudDeployDelete(command.Command):
data["deployment_files"] = str(parsed_args.deployment_files)
try:
dcmanager_client.subcloud_deploy_manager.subcloud_deploy_delete(
release, data=data
)
except Exception as e:
print(e)
subcloud_deploy_manager.subcloud_deploy_delete(release, data=data)
except Exception as exc:
print(exc)
error_msg = "Unable to delete subcloud deploy files"
raise exceptions.DCManagerClientException(error_msg)

View File

@ -109,7 +109,7 @@ class AddSubcloudGroup(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_group_manager
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
kwargs = {}
if parsed_args.name is not None:
@ -123,7 +123,7 @@ class AddSubcloudGroup(base.DCManagerShowOne):
if parsed_args.max_parallel_subclouds is not None:
kwargs["max_parallel_subclouds"] = parsed_args.max_parallel_subclouds
return dcmanager_client.subcloud_group_manager.add_subcloud_group(**kwargs)
return subcloud_group_manager.add_subcloud_group(**kwargs)
class ListSubcloudGroup(base.DCManagerLister):
@ -137,8 +137,8 @@ class ListSubcloudGroup(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_group_manager
return dcmanager_client.subcloud_group_manager.list_subcloud_groups()
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
return subcloud_group_manager.list_subcloud_groups()
class ListSubcloudGroupSubclouds(base.DCManagerLister):
@ -157,11 +157,9 @@ class ListSubcloudGroupSubclouds(base.DCManagerLister):
def _get_resources(self, parsed_args):
subcloud_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_group_manager
result = (
dcmanager_client.subcloud_group_manager.subcloud_group_list_subclouds(
subcloud_group_ref
)
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
result = subcloud_group_manager.subcloud_group_list_subclouds(
subcloud_group_ref
)
update_fields_values(result)
return result
@ -184,10 +182,8 @@ class ShowSubcloudGroup(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_group_manager
return dcmanager_client.subcloud_group_manager.subcloud_group_detail(
subcloud_group_ref
)
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
return subcloud_group_manager.subcloud_group_detail(subcloud_group_ref)
class DeleteSubcloudGroup(command.Command):
@ -203,13 +199,11 @@ class DeleteSubcloudGroup(command.Command):
def take_action(self, parsed_args):
subcloud_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_group_manager
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
try:
dcmanager_client.subcloud_group_manager.delete_subcloud_group(
subcloud_group_ref
)
except Exception as e:
print(e)
subcloud_group_manager.delete_subcloud_group(subcloud_group_ref)
except Exception as exc:
print(exc)
msg = f"Unable to delete subcloud group {subcloud_group_ref}"
raise exceptions.DCManagerClientException(msg)
@ -250,7 +244,7 @@ class UpdateSubcloudGroup(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_group_manager
subcloud_group_manager = self.app.client_manager.subcloud_group_manager
kwargs = {}
if parsed_args.name:
kwargs["name"] = parsed_args.name
@ -265,10 +259,10 @@ class UpdateSubcloudGroup(base.DCManagerShowOne):
raise exceptions.DCManagerClientException(error_msg)
try:
return dcmanager_client.subcloud_group_manager.update_subcloud_group(
return subcloud_group_manager.update_subcloud_group(
subcloud_group_ref, **kwargs
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
msg = f"Unable to update subcloud group {subcloud_group_ref}"
raise exceptions.DCManagerClientException(msg)

View File

@ -17,10 +17,11 @@
import base64
import os
import six
from osc_lib.command import command
import six
from dcmanagerclient import exceptions, utils
from dcmanagerclient import exceptions
from dcmanagerclient import utils
from dcmanagerclient.commands.v1 import base
SET_FIELD_VALUE_DICT = {"region_name": None}
@ -263,7 +264,7 @@ class AddSubcloud(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
files = {}
data = {}
data["bootstrap-address"] = parsed_args.bootstrap_address
@ -334,9 +335,7 @@ class AddSubcloud(base.DCManagerShowOne):
--migrate option."
raise exceptions.DCManagerClientException(error_msg)
result = dcmanager_client.subcloud_manager.add_subcloud(
files=files, data=data
)
result = subcloud_manager.add_subcloud(files=files, data=data)
update_fields_values(result)
return result
@ -374,8 +373,8 @@ class ListSubcloud(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_manager
subclouds = dcmanager_client.subcloud_manager.list_subclouds()
subcloud_manager = self.app.client_manager.subcloud_manager
subclouds = subcloud_manager.list_subclouds()
# for '--all' parameter, show all subclouds.
# for no parameter, hidden all 'secondary/secondary-failed'
@ -414,12 +413,10 @@ class ShowSubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
if parsed_args.detail:
return dcmanager_client.subcloud_manager.subcloud_additional_details(
subcloud_ref
)
return dcmanager_client.subcloud_manager.subcloud_detail(subcloud_ref)
return subcloud_manager.subcloud_additional_details(subcloud_ref)
return subcloud_manager.subcloud_detail(subcloud_ref)
class ShowSubcloudError(command.Command):
@ -435,8 +432,8 @@ class ShowSubcloudError(command.Command):
def take_action(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
ret = dcmanager_client.subcloud_manager.subcloud_detail(subcloud_ref)
subcloud_manager = self.app.client_manager.subcloud_manager
ret = subcloud_manager.subcloud_detail(subcloud_ref)
data = ret[0].error_description
print("".join(data))
@ -452,11 +449,11 @@ class DeleteSubcloud(command.Command):
def take_action(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
try:
dcmanager_client.subcloud_manager.delete_subcloud(subcloud_ref)
except Exception as e:
print(e)
subcloud_manager.delete_subcloud(subcloud_ref)
except Exception as exc:
print(exc)
error_msg = f"Unable to delete subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -485,7 +482,7 @@ class UnmanageSubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
kwargs = {}
kwargs["management-state"] = "unmanaged"
@ -493,13 +490,13 @@ class UnmanageSubcloud(base.DCManagerShowOne):
kwargs["migrate"] = "true"
try:
result = dcmanager_client.subcloud_manager.update_subcloud(
result = subcloud_manager.update_subcloud(
subcloud_ref, files=None, data=kwargs
)
update_fields_values(result)
return result
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to unmanage subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -526,20 +523,20 @@ class ManageSubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
kwargs = {}
kwargs["management-state"] = "managed"
if parsed_args.force:
kwargs["force"] = "true"
try:
result = dcmanager_client.subcloud_manager.update_subcloud(
result = subcloud_manager.update_subcloud(
subcloud_ref, files=None, data=kwargs
)
update_fields_values(result)
return result
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to manage subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -631,7 +628,7 @@ class UpdateSubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
files = {}
data = {}
@ -724,13 +721,13 @@ class UpdateSubcloud(base.DCManagerShowOne):
raise exceptions.DCManagerClientException(error_msg)
try:
result = dcmanager_client.subcloud_manager.update_subcloud(
result = subcloud_manager.update_subcloud(
subcloud_ref, files=files, data=data
)
update_fields_values(result)
return result
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to update subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -823,7 +820,7 @@ class RedeploySubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
files = {}
data = {}
@ -886,11 +883,11 @@ class RedeploySubcloud(base.DCManagerShowOne):
)
if confirm == "redeploy":
try:
return dcmanager_client.subcloud_manager.redeploy_subcloud(
return subcloud_manager.redeploy_subcloud(
subcloud_ref=subcloud_ref, files=files, data=data
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to redeploy subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
else:
@ -980,7 +977,7 @@ class PrestageSubcloud(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.subcloud_manager
subcloud_manager = self.app.client_manager.subcloud_manager
data = {}
if parsed_args.force:
@ -1000,13 +997,13 @@ class PrestageSubcloud(base.DCManagerShowOne):
data["release"] = parsed_args.release
try:
result = dcmanager_client.subcloud_manager.prestage_subcloud(
result = subcloud_manager.prestage_subcloud(
subcloud_ref=subcloud_ref, data=data
)
update_fields_values(result)
return result
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to prestage subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)

View File

@ -6,7 +6,8 @@ import base64
from osc_lib.command import command
from dcmanagerclient import exceptions, utils
from dcmanagerclient import exceptions
from dcmanagerclient import utils
from dcmanagerclient.commands.v1 import base
@ -65,7 +66,9 @@ class MigrateSubcloudPeerGroup(base.DCManagerLister):
def _get_resources(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
kwargs = {}
if parsed_args.sysadmin_password is not None:
@ -79,10 +82,11 @@ class MigrateSubcloudPeerGroup(base.DCManagerLister):
).decode("utf-8")
try:
return dcmanager_client.subcloud_peer_group_manager.\
migrate_subcloud_peer_group(subcloud_peer_group_ref, **kwargs)
except Exception as e:
print(e)
return subcloud_peer_group_manager.migrate_subcloud_peer_group(
subcloud_peer_group_ref, **kwargs
)
except Exception as exc:
print(exc)
msg = f"Unable to migrate subcloud peer group {subcloud_peer_group_ref}"
raise exceptions.DCManagerClientException(msg)
@ -120,7 +124,9 @@ class AddSubcloudPeerGroup(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
kwargs = {}
kwargs["peer-group-name"] = parsed_args.peer_group_name
@ -131,9 +137,7 @@ class AddSubcloudPeerGroup(base.DCManagerShowOne):
if parsed_args.max_subcloud_rehoming is not None:
kwargs["max-subcloud-rehoming"] = parsed_args.max_subcloud_rehoming
return dcmanager_client.subcloud_peer_group_manager.add_subcloud_peer_group(
**kwargs
)
return subcloud_peer_group_manager.add_subcloud_peer_group(**kwargs)
class DeleteSubcloudPeerGroup(command.Command):
@ -149,13 +153,15 @@ class DeleteSubcloudPeerGroup(command.Command):
def take_action(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
try:
dcmanager_client.subcloud_peer_group_manager.delete_subcloud_peer_group(
subcloud_peer_group_manager.delete_subcloud_peer_group(
subcloud_peer_group_ref
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
msg = f"Unable to delete subcloud peer group {subcloud_peer_group_ref}"
raise exceptions.DCManagerClientException(msg)
@ -177,11 +183,11 @@ class ShowSubcloudPeerGroup(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
return (
dcmanager_client.subcloud_peer_group_manager.subcloud_peer_group_detail(
subcloud_peer_group_ref
)
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
return subcloud_peer_group_manager.subcloud_peer_group_detail(
subcloud_peer_group_ref
)
@ -196,10 +202,10 @@ class ListSubcloudPeerGroup(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
return (
dcmanager_client.subcloud_peer_group_manager.list_subcloud_peer_groups()
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
return subcloud_peer_group_manager.list_subcloud_peer_groups()
class ListSubcloudPeerGroupSubclouds(base.DCManagerLister):
@ -219,10 +225,12 @@ class ListSubcloudPeerGroupSubclouds(base.DCManagerLister):
def _get_resources(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
client_manager = self.app.client_manager
dcmanager_client = client_manager.subcloud_peer_group_manager
return dcmanager_client.subcloud_peer_group_manager.\
subcloud_peer_group_list_subclouds(subcloud_peer_group_ref)
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
return subcloud_peer_group_manager.subcloud_peer_group_list_subclouds(
subcloud_peer_group_ref
)
class UpdateSubcloudPeerGroup(base.DCManagerShowOne):
@ -261,7 +269,9 @@ class UpdateSubcloudPeerGroup(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
kwargs = {}
if parsed_args.peer_group_name is not None:
@ -278,10 +288,11 @@ class UpdateSubcloudPeerGroup(base.DCManagerShowOne):
raise exceptions.DCManagerClientException(error_msg)
try:
return dcmanager_client.subcloud_peer_group_manager.\
update_subcloud_peer_group(subcloud_peer_group_ref, **kwargs)
except Exception as e:
print(e)
return subcloud_peer_group_manager.update_subcloud_peer_group(
subcloud_peer_group_ref, **kwargs
)
except Exception as exc:
print(exc)
msg = f"Unable to update subcloud peer group {subcloud_peer_group_ref}"
raise exceptions.DCManagerClientException(msg)
@ -334,9 +345,9 @@ class StatusSubcloudPeerGroup(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_peer_group_ref = parsed_args.group
dcmanager_client = self.app.client_manager.subcloud_peer_group_manager
return (
dcmanager_client.subcloud_peer_group_manager.subcloud_peer_group_status(
subcloud_peer_group_ref
)
subcloud_peer_group_manager = (
self.app.client_manager.subcloud_peer_group_manager
)
return subcloud_peer_group_manager.subcloud_peer_group_status(
subcloud_peer_group_ref
)

View File

@ -11,8 +11,8 @@ class SwDeployManagerMixin:
"""This Mixin provides the manager used for software deploy releases."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.sw_deploy_manager
return dcmanager_client.sw_deploy_manager
sw_deploy_manager = self.app.client_manager.sw_deploy_manager
return sw_deploy_manager
def custom_format_function(self, sw_update_strategy=None):
original_fmt_func = super()._get_format_function()
@ -26,14 +26,14 @@ class SwDeployManagerMixin:
# Insert the 'release_id' field after the 'stop on failure',
columns = (
columns[:failure_status_index + 1]
columns[: failure_status_index + 1]
+ ("release_id",)
+ columns[failure_status_index + 1:]
+ columns[failure_status_index + 1 :]
)
data = (
data[:failure_status_index + 1]
data[: failure_status_index + 1]
+ (release_id,)
+ data[failure_status_index + 1:]
+ data[failure_status_index + 1 :]
)
return columns, data

View File

@ -20,8 +20,8 @@ class SwPatchManagerMixin:
"""This Mixin provides the update manager used for sw patch."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.sw_patch_manager
return dcmanager_client.sw_patch_manager
sw_patch_manager = self.app.client_manager.sw_patch_manager
return sw_patch_manager
def custom_format_function(self, sw_update_strategy=None):
original_fmt_func = super()._get_format_function()

View File

@ -23,8 +23,8 @@ class SwPrestageManagerMixin:
"""This Mixin provides the update manager used for sw prestage."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.sw_prestage_manager
return dcmanager_client.sw_prestage_manager
sw_prestage_manager = self.app.client_manager.sw_prestage_manager
return sw_prestage_manager
def custom_format_function(self, sw_update_strategy=None):
original_fmt_func = super()._get_format_function()

View File

@ -284,8 +284,8 @@ class ListSwUpdateStrategyStep(base.DCManagerLister):
"""List strategy steps."""
def get_strategy_step_manager(self):
dcmanager_client = self.app.client_manager.strategy_step_manager
return dcmanager_client.strategy_step_manager
strategy_step_manager = self.app.client_manager.strategy_step_manager
return strategy_step_manager
def _get_format_function(self):
return strategy_step_format
@ -298,8 +298,8 @@ class ShowSwUpdateStrategyStep(base.DCManagerShowOne):
"""Show the details of a strategy step."""
def get_strategy_step_manager(self):
dcmanager_client = self.app.client_manager.strategy_step_manager
return dcmanager_client.strategy_step_manager
strategy_step_manager = self.app.client_manager.strategy_step_manager
return strategy_step_manager
def _get_format_function(self):
return detail_strategy_step_format

View File

@ -134,7 +134,7 @@ class UpdateSwUpdateOptions(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.sw_update_options_manager
sw_update_options_manager = self.app.client_manager.sw_update_options_manager
kwargs = {}
kwargs["storage-apply-type"] = parsed_args.storage_apply_type
kwargs["worker-apply-type"] = parsed_args.worker_apply_type
@ -143,13 +143,11 @@ class UpdateSwUpdateOptions(base.DCManagerShowOne):
kwargs["default-instance-action"] = parsed_args.default_instance_action
try:
return (
dcmanager_client.sw_update_options_manager.sw_update_options_update(
subcloud_ref, **kwargs
)
return sw_update_options_manager.sw_update_options_update(
subcloud_ref, **kwargs
)
except Exception as e:
print(e)
except Exception as exc:
print(exc)
error_msg = f"Unable to update patch options for subcloud {subcloud_ref}"
raise exceptions.DCManagerClientException(error_msg)
@ -165,8 +163,8 @@ class ListSwUpdateOptions(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.sw_update_options_manager
return dcmanager_client.sw_update_options_manager.sw_update_options_list()
sw_update_options_manager = self.app.client_manager.sw_update_options_manager
return sw_update_options_manager.sw_update_options_list()
class ShowSwUpdateOptions(base.DCManagerShowOne):
@ -189,10 +187,8 @@ class ShowSwUpdateOptions(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.sw_update_options_manager
return dcmanager_client.sw_update_options_manager.sw_update_options_detail(
subcloud_ref
)
sw_update_options_manager = self.app.client_manager.sw_update_options_manager
return sw_update_options_manager.sw_update_options_detail(subcloud_ref)
class DeleteSwUpdateOptions(command.Command):
@ -207,14 +203,10 @@ class DeleteSwUpdateOptions(command.Command):
def take_action(self, parsed_args):
subcloud_ref = parsed_args.subcloud
dcmanager_client = self.app.client_manager.sw_update_options_manager
sw_update_options_manager = self.app.client_manager.sw_update_options_manager
try:
return (
dcmanager_client.sw_update_options_manager.sw_update_options_delete(
subcloud_ref
)
)
except Exception as e:
print(e)
return sw_update_options_manager.sw_update_options_delete(subcloud_ref)
except Exception as exc:
print(exc)
error_msg = "Unable to delete patch options"
raise exceptions.DCManagerClientException(error_msg)

View File

@ -20,8 +20,8 @@ class SwUpgradeManagerMixin:
"""This Mixin provides the update manager used for software upgrades."""
def get_sw_update_manager(self):
dcmanager_client = self.app.client_manager.sw_upgrade_manager
return dcmanager_client.sw_upgrade_manager
sw_upgrade_manager = self.app.client_manager.sw_upgrade_manager
return sw_upgrade_manager
class CreateSwUpgradeStrategy(

View File

@ -8,7 +8,8 @@ import base64
from osc_lib.command import command
from dcmanagerclient import exceptions, utils
from dcmanagerclient import exceptions
from dcmanagerclient import utils
from dcmanagerclient.commands.v1 import base
@ -191,7 +192,7 @@ class AddSystemPeer(base.DCManagerShowOne):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.system_peer_manager
system_peer_manager = self.app.client_manager.system_peer_manager
kwargs = {}
if parsed_args.peer_uuid is not None:
@ -242,7 +243,7 @@ class AddSystemPeer(base.DCManagerShowOne):
kwargs["heartbeat_maintenance_timeout"] = (
parsed_args.heartbeat_maintenance_timeout
)
return dcmanager_client.system_peer_manager.add_system_peer(**kwargs)
return system_peer_manager.add_system_peer(**kwargs)
class ListSystemPeer(base.DCManagerLister):
@ -256,8 +257,8 @@ class ListSystemPeer(base.DCManagerLister):
return parser
def _get_resources(self, parsed_args):
dcmanager_client = self.app.client_manager.system_peer_manager
return dcmanager_client.system_peer_manager.list_system_peers()
system_peer_manager = self.app.client_manager.system_peer_manager
return system_peer_manager.list_system_peers()
class ListSystemPeerSubcloudPeerGroups(base.DCManagerLister):
@ -279,10 +280,8 @@ class ListSystemPeerSubcloudPeerGroups(base.DCManagerLister):
def _get_resources(self, parsed_args):
system_peer_ref = parsed_args.peer
dcmanager_client = self.app.client_manager.system_peer_manager
return dcmanager_client.system_peer_manager.system_peer_list_peer_groups(
system_peer_ref
)
system_peer_manager = self.app.client_manager.system_peer_manager
return system_peer_manager.system_peer_list_peer_groups(system_peer_ref)
class ShowSystemPeer(base.DCManagerShowOne):
@ -302,10 +301,8 @@ class ShowSystemPeer(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
system_peer_ref = parsed_args.peer
dcmanager_client = self.app.client_manager.system_peer_manager
return dcmanager_client.system_peer_manager.system_peer_detail(
system_peer_ref
)
system_peer_manager = self.app.client_manager.system_peer_manager
return system_peer_manager.system_peer_detail(system_peer_ref)
class DeleteSystemPeer(command.Command):
@ -319,11 +316,11 @@ class DeleteSystemPeer(command.Command):
def take_action(self, parsed_args):
system_peer_ref = parsed_args.peer
dcmanager_client = self.app.client_manager.system_peer_manager
system_peer_manager = self.app.client_manager.system_peer_manager
try:
dcmanager_client.system_peer_manager.delete_system_peer(system_peer_ref)
except Exception as e:
print(e)
system_peer_manager.delete_system_peer(system_peer_ref)
except Exception as exc:
print(exc)
msg = f"Unable to delete system peer {system_peer_ref}"
raise exceptions.DCManagerClientException(msg)
@ -415,7 +412,7 @@ class UpdateSystemPeer(base.DCManagerShowOne):
def _get_resources(self, parsed_args):
system_peer_ref = parsed_args.peer
dcmanager_client = self.app.client_manager.system_peer_manager
system_peer_manager = self.app.client_manager.system_peer_manager
kwargs = {}
if parsed_args.peer_uuid:
kwargs["peer_uuid"] = parsed_args.peer_uuid
@ -460,10 +457,8 @@ class UpdateSystemPeer(base.DCManagerShowOne):
raise exceptions.DCManagerClientException(error_msg)
try:
return dcmanager_client.system_peer_manager.update_system_peer(
system_peer_ref, **kwargs
)
except Exception as e:
print(e)
return system_peer_manager.update_system_peer(system_peer_ref, **kwargs)
except Exception as exc:
print(exc)
msg = f"Unable to update system peer {system_peer_ref}"
raise exceptions.DCManagerClientException(msg)

View File

@ -113,8 +113,8 @@ class HelpAction(argparse.Action):
parser.print_help(main_app.stdout)
main_app.stdout.write("\nCommands for API v1 :\n")
for name, ep in sorted(main_app.command_manager):
factory = ep.load()
for name, app_cmd in sorted(main_app.command_manager):
factory = app_cmd.load()
cmd = factory(self, None)
one_liner = cmd.get_description().split("\n")[0]
outputs.append((name, one_liner))
@ -135,17 +135,18 @@ class BashCompletionCommand(command.Command):
for (
option,
_action,
_,
) in self.app.parser._option_string_actions.items():
options.add(option)
for command_name, _cmd in self.app.command_manager:
for command_name, _ in self.app.command_manager:
commands.add(command_name)
print(" ".join(commands | options))
class DCManagerShell(app.App):
def __init__(self):
super().__init__(
description=__doc__.strip(),
@ -487,53 +488,60 @@ class DCManagerShell(app.App):
)
)
phased_subcloud_deploy_manager = self.client.phased_subcloud_deploy_manager
peer_group_association_manager = self.client.peer_group_association_manager
client_keys = {
"alarm_manager": self.client.alarm_manager,
"fw_update_manager": self.client.fw_update_manager,
"kube_rootca_update_manager": self.client.kube_rootca_update_manager,
"kube_upgrade_manager": self.client.kube_upgrade_manager,
"peer_group_association_manager": peer_group_association_manager,
"phased_subcloud_deploy_manager": phased_subcloud_deploy_manager,
"strategy_step_manager": self.client.strategy_step_manager,
"subcloud_backup_manager": self.client.subcloud_backup_manager,
"subcloud_deploy_manager": self.client.subcloud_deploy_manager,
"subcloud_group_manager": self.client.subcloud_group_manager,
"subcloud_peer_group_manager": self.client.subcloud_peer_group_manager,
"subcloud_manager": self.client.subcloud_manager,
"sw_deploy_manager": self.client.sw_deploy_manager,
"sw_patch_manager": self.client.sw_patch_manager,
"sw_prestage_manager": self.client.sw_prestage_manager,
"sw_update_options_manager": self.client.sw_update_options_manager,
"sw_upgrade_manager": self.client.sw_upgrade_manager,
"system_peer_manager": self.client.system_peer_manager,
}
# Adding client_manager variable to make dcmanager client work with
# unified OpenStack client.
ClientManager = type(
"ClientManager",
(object,),
{
"subcloud_manager": self.client,
"subcloud_backup_manager": self.client,
"subcloud_group_manager": self.client,
"subcloud_deploy_manager": self.client,
"system_peer_manager": self.client,
"alarm_manager": self.client,
"fw_update_manager": self.client,
"sw_patch_manager": self.client,
"strategy_step_manager": self.client,
"sw_update_options_manager": self.client,
"sw_upgrade_manager": self.client,
"kube_upgrade_manager": self.client,
"kube_rootca_update_manager": self.client,
"sw_prestage_manager": self.client,
"phased_subcloud_deploy_manager": self.client,
"subcloud_peer_group_manager": self.client,
"peer_group_association_manager": self.client,
},
client_keys,
)
self.client_manager = ClientManager()
def _set_shell_commands(self, cmds_dict):
for k, v in cmds_dict.items():
self.command_manager.add_command(k, v)
for cmd, cmd_class in cmds_dict.items():
self.command_manager.add_command(cmd, cmd_class)
def _clear_shell_commands(self):
exclude_cmds = ["help", "complete"]
cmds = self.command_manager.commands.copy()
for k, _v in cmds.items():
for k, _ in cmds.items():
if k not in exclude_cmds:
self.command_manager.commands.pop(k)
def _get_commands(self, version):
if version == 1:
return self._get_commands_v1()
return {}
@staticmethod
def _get_commands_v1():
list_system_peer_groups = sp.ListSystemPeerSubcloudPeerGroups
create_kube_root_update = krum.CreateKubeRootcaUpdateStrategy
delete_kube_root_update = krum.DeleteKubeRootcaUpdateStrategy
return {
"alarm summary": am.ListAlarmSummary,
"bash-completion": BashCompletionCommand,
@ -544,10 +552,8 @@ class DCManagerShell(app.App):
"fw-update-strategy show": fum.ShowFwUpdateStrategy,
"kube-rootca-update-strategy abort": krum.AbortKubeRootcaUpdateStrategy,
"kube-rootca-update-strategy apply": krum.ApplyKubeRootcaUpdateStrategy,
"kube-rootca-update-strategy create":
krum.CreateKubeRootcaUpdateStrategy,
"kube-rootca-update-strategy delete":
krum.DeleteKubeRootcaUpdateStrategy,
"kube-rootca-update-strategy create": create_kube_root_update,
"kube-rootca-update-strategy delete": delete_kube_root_update,
"kube-rootca-update-strategy show": krum.ShowKubeRootcaUpdateStrategy,
"kube-upgrade-strategy abort": kupm.AbortKubeUpgradeStrategy,
"kube-upgrade-strategy apply": kupm.ApplyKubeUpgradeStrategy,
@ -630,8 +636,7 @@ class DCManagerShell(app.App):
"system-peer add": sp.AddSystemPeer,
"system-peer delete": sp.DeleteSystemPeer,
"system-peer list": sp.ListSystemPeer,
"system-peer list-subcloud-peer-groups":
sp.ListSystemPeerSubcloudPeerGroups,
"system-peer list-subcloud-peer-groups": list_system_peer_groups,
"system-peer show": sp.ShowSystemPeer,
"system-peer update": sp.UpdateSystemPeer,
"upgrade-strategy abort": supm.AbortSwUpgradeStrategy,

View File

@ -318,7 +318,7 @@ class BaseCommandTest(testtools.TestCase):
def setUp(self):
super().setUp()
self.app = mock.Mock()
self.client = self.app.client_manager.subcloud_manager
self.client = self.app.client_manager
self.parsed_args = None
def call(self, command, app_args=None, prog_name=""):

View File

@ -35,7 +35,7 @@ class TestCLIAlarmSummaryV1(base.BaseCommandTest):
self.client = self.app.client_manager.alarm_manager
def test_list_alarm_summary(self):
self.client.alarm_manager.list_alarms.return_value = [ALARM_SUMMARY]
self.client.list_alarms.return_value = [ALARM_SUMMARY]
actual_call = self.call(alarm_cmd.ListAlarmSummary)
self.assertEqual(
[

View File

@ -13,9 +13,7 @@ class TestFwUpdateStrategy(UpdateStrategyMixin, base.BaseCommandTest):
def setUp(self):
super().setUp()
self.sw_update_manager = (
self.app.client_manager.fw_update_manager.fw_update_manager
)
self.sw_update_manager = self.app.client_manager.fw_update_manager
self.create_command = cli_cmd.CreateFwUpdateStrategy
self.show_command = cli_cmd.ShowFwUpdateStrategy
self.delete_command = cli_cmd.DeleteFwUpdateStrategy

View File

@ -13,8 +13,7 @@ class TestKubeRootcaUpdateStrategy(UpdateStrategyMixin, base.BaseCommandTest):
def setUp(self):
super().setUp()
self.sw_update_manager = self.app.client_manager.kube_rootca_update_manager.\
kube_rootca_update_manager
self.sw_update_manager = self.app.client_manager.kube_rootca_update_manager
self.create_command = cli_cmd.CreateKubeRootcaUpdateStrategy
self.show_command = cli_cmd.ShowKubeRootcaUpdateStrategy
self.delete_command = cli_cmd.DeleteKubeRootcaUpdateStrategy

View File

@ -13,9 +13,7 @@ class TestKubeUpgradeStrategy(UpdateStrategyMixin, base.BaseCommandTest):
def setUp(self):
super().setUp()
self.sw_update_manager = (
self.app.client_manager.kube_upgrade_manager.kube_upgrade_manager
)
self.sw_update_manager = self.app.client_manager.kube_upgrade_manager
self.create_command = cli_cmd.CreateKubeUpgradeStrategy
self.show_command = cli_cmd.ShowKubeUpgradeStrategy
self.delete_command = cli_cmd.DeleteKubeUpgradeStrategy

View File

@ -18,9 +18,7 @@ class TestPatchUpdateStrategy(UpdateStrategyMixin, base.BaseCommandTest):
# Increase results_length due to the 'upload only' field
self.results_length += 1
self.sw_update_manager = (
self.app.client_manager.sw_patch_manager.sw_patch_manager
)
self.sw_update_manager = self.app.client_manager.sw_patch_manager
self.create_command = cli_cmd.CreatePatchUpdateStrategy
self.show_command = cli_cmd.ShowPatchUpdateStrategy
self.delete_command = cli_cmd.DeletePatchUpdateStrategy

View File

@ -77,14 +77,14 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
self.client = self.app.client_manager.peer_group_association_manager
def test_list_peer_group_association(self):
self.client.peer_group_association_manager.list_peer_group_associations.\
return_value = [PEER_GROUP_ASSOCIATION]
self.client.list_peer_group_associations.return_value = [
PEER_GROUP_ASSOCIATION
]
actual_call = self.call(peer_group_association_cmd.ListPeerGroupAssociation)
self.assertEqual([PEER_GROUP_ASSOCIATION_TUPLE], actual_call[1])
def test_list_peer_group_association_empty(self):
self.client.peer_group_association_manager.list_peer_group_associations.\
return_value = ([])
self.client.list_peer_group_associations.return_value = []
actual_call = self.call(peer_group_association_cmd.ListPeerGroupAssociation)
self.assertEqual(
(tuple("<none>" for _ in range(len(PEER_GROUP_ASSOCIATION_TUPLE))),),
@ -92,8 +92,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
)
def test_add_peer_group_association(self):
self.client.peer_group_association_manager.add_peer_group_association.\
return_value = [PEER_GROUP_ASSOCIATION]
self.client.add_peer_group_association.return_value = [
PEER_GROUP_ASSOCIATION
]
actual_call = self.call(
peer_group_association_cmd.AddPeerGroupAssociation,
app_args=[
@ -108,8 +109,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
self.assertEqual(PEER_GROUP_ASSOCIATION_DETAIL_TUPLE, actual_call[1])
def test_show_peer_group_association(self):
self.client.peer_group_association_manager.peer_group_association_detail.\
return_value = [PEER_GROUP_ASSOCIATION]
self.client.peer_group_association_detail.return_value = [
PEER_GROUP_ASSOCIATION
]
actual_call = self.call(
peer_group_association_cmd.ShowPeerGroupAssociation,
app_args=[PEER_GROUP_ASSOCIATION_ID],
@ -130,8 +132,7 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
)
def test_show_peer_group_association_without_id(self):
self.client.peer_group_association_manager.peer_group_association_detail.\
return_value = ([])
self.client.peer_group_association_detail.return_value = []
self.assertRaises(
SystemExit,
self.call,
@ -144,8 +145,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
peer_group_association_cmd.DeletePeerGroupAssociation,
app_args=[PEER_GROUP_ASSOCIATION_ID],
)
self.client.peer_group_association_manager.delete_peer_group_association.\
assert_called_once_with(PEER_GROUP_ASSOCIATION_ID)
self.client.delete_peer_group_association.assert_called_once_with(
PEER_GROUP_ASSOCIATION_ID
)
def test_delete_peer_group_association_without_id(self):
self.assertRaises(
@ -160,8 +162,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
updated_peed_group_association.peer_group_priority = (
PG_GROUP_PRIORITY_UPDATED
)
self.client.peer_group_association_manager.update_peer_group_association.\
return_value = [updated_peed_group_association]
self.client.update_peer_group_association.return_value = [
updated_peed_group_association
]
actual_call = self.call(
peer_group_association_cmd.UpdatePeerGroupAssociation,
app_args=[
@ -173,8 +176,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
self.assertEqual((PEER_GROUP_ASSOCIATION_TUPLE_UPDATED), actual_call[1])
def test_update_peer_group_association_without_priority(self):
self.client.peer_group_association_manager.update_peer_group_association.\
return_value = [PEER_GROUP_ASSOCIATION]
self.client.update_peer_group_association.return_value = [
PEER_GROUP_ASSOCIATION
]
self.assertRaises(
SystemExit,
self.call,
@ -183,8 +187,9 @@ class TestCLIPeerGroupAssociationV1(base.BaseCommandTest):
)
def test_sync_peer_group_association(self):
self.client.peer_group_association_manager.sync_peer_group_association.\
return_value = [PEER_GROUP_ASSOCIATION]
self.client.sync_peer_group_association.return_value = [
PEER_GROUP_ASSOCIATION
]
actual_call = self.call(
peer_group_association_cmd.SyncPeerGroupAssociation,
app_args=[PEER_GROUP_ASSOCIATION_ID],

View File

@ -15,247 +15,259 @@ from dcmanagerclient.exceptions import DCManagerClientException
from dcmanagerclient.tests import base
@mock.patch('getpass.getpass', new=mock.Mock(return_value='testpassword'))
@mock.patch("getpass.getpass", new=mock.Mock(return_value="testpassword"))
class TestCLIPhasedSubcloudDeployManagerV1(base.BaseCommandTest):
def setUp(self):
super().setUp()
# The client is the subcloud_deploy_manager
self.client = self.app.client_manager.phased_subcloud_deploy_manager.\
phased_subcloud_deploy_manager
self.client = self.app.client_manager.phased_subcloud_deploy_manager
def test_subcloud_deploy_create(self):
self.client.subcloud_deploy_create.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_create.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as bootstrap_file, \
tempfile.NamedTemporaryFile(mode='w') as config_file, \
tempfile.NamedTemporaryFile(mode='w') as install_file:
with tempfile.NamedTemporaryFile(
mode="w"
) as bootstrap_file, tempfile.NamedTemporaryFile(
mode="w"
) as config_file, tempfile.NamedTemporaryFile(
mode="w"
) as install_file:
bootstrap_file_path = os.path.abspath(bootstrap_file.name)
config_file_path = os.path.abspath(config_file.name)
install_file_path = os.path.abspath(install_file.name)
actual_call = self.call(
cmd.CreatePhasedSubcloudDeploy, app_args=[
'--bootstrap-address', base.BOOTSTRAP_ADDRESS,
'--install-values', install_file_path,
'--bootstrap-values', bootstrap_file_path,
'--deploy-config', config_file_path,
'--release', base.SOFTWARE_VERSION,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
cmd.CreatePhasedSubcloudDeploy,
app_args=[
"--bootstrap-address",
base.BOOTSTRAP_ADDRESS,
"--install-values",
install_file_path,
"--bootstrap-values",
bootstrap_file_path,
"--deploy-config",
config_file_path,
"--release",
base.SOFTWARE_VERSION,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_subcloud_deploy_bootstrap(self):
self.client.subcloud_deploy_bootstrap.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_bootstrap.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as bootstrap_file:
with tempfile.NamedTemporaryFile(mode="w") as bootstrap_file:
bootstrap_file_path = os.path.abspath(bootstrap_file.name)
actual_call = self.call(
cmd.BootstrapPhasedSubcloudDeploy, app_args=[
cmd.BootstrapPhasedSubcloudDeploy,
app_args=[
base.ID,
'--bootstrap-address', base.BOOTSTRAP_ADDRESS,
'--bootstrap-values', bootstrap_file_path,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
"--bootstrap-address",
base.BOOTSTRAP_ADDRESS,
"--bootstrap-values",
bootstrap_file_path,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_install_subcloud(self):
self.client.subcloud_deploy_install.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_install.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as f:
with tempfile.NamedTemporaryFile(mode="w") as f:
yaml.dump(base.FAKE_INSTALL_VALUES, f)
file_path = os.path.abspath(f.name)
actual_call = self.call(
cmd.InstallPhasedSubcloudDeploy, app_args=[
base.NAME, '--install-values', file_path,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
cmd.InstallPhasedSubcloudDeploy,
app_args=[
base.NAME,
"--install-values",
file_path,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_install_subcloud_with_release(self):
self.client.subcloud_deploy_install.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_install.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as f:
with tempfile.NamedTemporaryFile(mode="w") as f:
yaml.dump(base.FAKE_INSTALL_VALUES, f)
file_path = os.path.abspath(f.name)
actual_call = self.call(
cmd.InstallPhasedSubcloudDeploy, app_args=[
cmd.InstallPhasedSubcloudDeploy,
app_args=[
base.NAME,
'--install-values', file_path,
'--release', base.SOFTWARE_VERSION,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
"--install-values",
file_path,
"--release",
base.SOFTWARE_VERSION,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_install_subcloud_without_install_values(self):
self.client.subcloud_deploy_install.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_install.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(
cmd.InstallPhasedSubcloudDeploy, app_args=[base.NAME])
cmd.InstallPhasedSubcloudDeploy, app_args=[base.NAME]
)
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_install_file_does_not_exist(self):
self.client.subcloud_deploy_install.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_install.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile() as f:
file_path = os.path.abspath(f.name)
e = self.assertRaises(DCManagerClientException,
self.call,
cmd.InstallPhasedSubcloudDeploy,
app_args=[base.NAME,
'--install-values', file_path]
)
self.assertTrue('install-values does not exist'
in str(e))
e = self.assertRaises(
DCManagerClientException,
self.call,
cmd.InstallPhasedSubcloudDeploy,
app_args=[base.NAME, "--install-values", file_path],
)
self.assertTrue("install-values does not exist" in str(e))
def test_configure_subcloud(self):
self.client.subcloud_deploy_config.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_config.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile() as f:
file_path = os.path.abspath(f.name)
actual_call = self.call(
cmd.ConfigPhasedSubcloudDeploy,
app_args=[base.NAME, '--deploy-config', file_path])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
app_args=[base.NAME, "--deploy-config", file_path],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_configure_file_does_not_exist(self):
self.client.subcloud_deploy_config.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_config.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile() as f:
file_path = os.path.abspath(f.name)
e = self.assertRaises(DCManagerClientException,
self.call,
cmd.ConfigPhasedSubcloudDeploy,
app_args=[base.NAME,
'--deploy-config', file_path])
self.assertTrue('deploy-config file does not exist' in str(e))
e = self.assertRaises(
DCManagerClientException,
self.call,
cmd.ConfigPhasedSubcloudDeploy,
app_args=[base.NAME, "--deploy-config", file_path],
)
self.assertTrue("deploy-config file does not exist" in str(e))
def test_complete_subcloud_deployment(self):
self.client.subcloud_deploy_complete.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_complete.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(
cmd.CompletePhasedSubcloudDeploy,
app_args=[base.NAME])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
cmd.CompletePhasedSubcloudDeploy, app_args=[base.NAME]
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_abort_subcloud(self):
self.client.subcloud_deploy_abort.return_value = [
base.SUBCLOUD_RESOURCE]
actual_call = self.call(
cmd.AbortPhasedSubcloudDeploy,
app_args=[base.NAME])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
self.client.subcloud_deploy_abort.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(cmd.AbortPhasedSubcloudDeploy, app_args=[base.NAME])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_subcloud_deploy_resume_all_parameters(self):
self.client.subcloud_deploy_resume.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_resume.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as bootstrap_file, \
tempfile.NamedTemporaryFile(mode='w') as config_file, \
tempfile.NamedTemporaryFile(mode='w') as install_file:
with tempfile.NamedTemporaryFile(
mode="w"
) as bootstrap_file, tempfile.NamedTemporaryFile(
mode="w"
) as config_file, tempfile.NamedTemporaryFile(
mode="w"
) as install_file:
bootstrap_file_path = os.path.abspath(bootstrap_file.name)
config_file_path = os.path.abspath(config_file.name)
install_file_path = os.path.abspath(install_file.name)
actual_call = self.call(
cmd.PhasedSubcloudDeployResume, app_args=[
cmd.PhasedSubcloudDeployResume,
app_args=[
base.NAME,
'--bootstrap-address', base.BOOTSTRAP_ADDRESS,
'--bootstrap-values', bootstrap_file_path,
'--install-values', install_file_path,
'--deploy-config', config_file_path,
'--release', base.SOFTWARE_VERSION,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
"--bootstrap-address",
base.BOOTSTRAP_ADDRESS,
"--bootstrap-values",
bootstrap_file_path,
"--install-values",
install_file_path,
"--deploy-config",
config_file_path,
"--release",
base.SOFTWARE_VERSION,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_subcloud_deploy_resume_missing_files(self):
self.client.subcloud_deploy_resume.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_resume.return_value = [base.SUBCLOUD_RESOURCE]
with tempfile.NamedTemporaryFile(mode='w') as bootstrap_file, \
tempfile.NamedTemporaryFile(mode='w') as config_file, \
tempfile.NamedTemporaryFile(mode='w') as install_file:
with tempfile.NamedTemporaryFile(
mode="w"
) as bootstrap_file, tempfile.NamedTemporaryFile(
mode="w"
) as config_file, tempfile.NamedTemporaryFile(
mode="w"
) as install_file:
bootstrap_file_path = os.path.abspath(bootstrap_file.name)
config_file_path = os.path.abspath(config_file.name)
install_file_path = os.path.abspath(install_file.name)
# Missing bootstrap values
app_args_bootstrap = [base.NAME,
'--bootstrap-address', base.BOOTSTRAP_ADDRESS,
'--bootstrap-values', bootstrap_file_path]
error_msg_bootstrap = 'bootstrap-values does not exist'
call_bootstrap = self.assertRaises(DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_bootstrap)
app_args_bootstrap = [
base.NAME,
"--bootstrap-address",
base.BOOTSTRAP_ADDRESS,
"--bootstrap-values",
bootstrap_file_path,
]
error_msg_bootstrap = "bootstrap-values does not exist"
call_bootstrap = self.assertRaises(
DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_bootstrap,
)
self.assertTrue(error_msg_bootstrap in str(call_bootstrap))
# Missing install values
app_args_install = [base.NAME, '--install-values', install_file_path]
error_msg_install = 'install-values does not exist'
call_install = self.assertRaises(DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_install)
app_args_install = [base.NAME, "--install-values", install_file_path]
error_msg_install = "install-values does not exist"
call_install = self.assertRaises(
DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_install,
)
self.assertTrue(error_msg_install in str(call_install))
# Missing deploy config values
app_args_config = [base.NAME, '--deploy-config', config_file_path]
error_msg_config = 'deploy-config does not exist'
call_config = self.assertRaises(DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_config)
app_args_config = [base.NAME, "--deploy-config", config_file_path]
error_msg_config = "deploy-config does not exist"
call_config = self.assertRaises(
DCManagerClientException,
self.call,
cmd.PhasedSubcloudDeployResume,
app_args=app_args_config,
)
self.assertTrue(error_msg_config in str(call_config))
def test_subcloud_deploy_resume_no_parameters(self):
self.client.subcloud_deploy_resume.return_value = [
base.SUBCLOUD_RESOURCE]
self.client.subcloud_deploy_resume.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(cmd.PhasedSubcloudDeployResume, app_args=[base.NAME])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_subcloud_deploy_resume_no_files_only_release(self):
self.client.subcloud_deploy_resume.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(
cmd.PhasedSubcloudDeployResume,
app_args=[base.NAME])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
def test_subcloud_deploy_resume_no_files_only_release(self):
self.client.subcloud_deploy_resume.return_value = [
base.SUBCLOUD_RESOURCE]
actual_call = self.call(
cmd.PhasedSubcloudDeployResume, app_args=[
app_args=[
base.NAME,
'--release', base.SOFTWARE_VERSION,
])
self.assertEqual(
base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID,
actual_call[1])
"--release",
base.SOFTWARE_VERSION,
],
)
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])

View File

@ -48,9 +48,7 @@ class TestCLI(base.BaseCommandTest):
)
results = []
results.append(sample_step)
step_manager = (
self.app.client_manager.strategy_step_manager.strategy_step_manager
)
step_manager = self.app.client_manager.strategy_step_manager
step_manager.list_strategy_steps.return_value = results
actual_call = self.call(cli_cmd.ListSwUpdateStrategyStep)

View File

@ -30,9 +30,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
def test_backup_create_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_create.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -55,9 +53,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
def test_backup_create_group(self):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_create.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -77,7 +73,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.assertEqual([base.SUBCLOUD_FIELD_RESULT_LIST], actual_call[1])
def test_backup_create_group_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = []
self.client.backup_subcloud_create.return_value = []
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -108,7 +104,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_create_no_group_no_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = []
self.client.backup_subcloud_create.return_value = []
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -133,7 +129,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_create_backup_value_not_a_file(self):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = []
self.client.backup_subcloud_create.return_value = []
e = self.assertRaises(
DCManagerClientException,
@ -155,9 +151,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
@mock.patch("getpass.getpass", return_value="testpassword")
def test_backup_create_prompt_ask_for_password(self, _mock_getpass):
self.client.subcloud_backup_manager.backup_subcloud_create.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_create.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -203,7 +197,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_delete_no_group_no_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_delete.return_value = []
self.client.backup_subcloud_delete.return_value = []
e = self.assertRaises(
DCManagerClientException,
@ -223,7 +217,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_delete_group_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_delete.return_value = []
self.client.backup_subcloud_delete.return_value = []
e = self.assertRaises(
DCManagerClientException,
@ -274,8 +268,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.call(subcloud_backup_cmd.DeleteSubcloudBackup, app_args=app_args)
subcloud_delete = self.client.subcloud_backup_manager.backup_subcloud_delete
subcloud_delete.assert_called_once_with(
self.client.backup_subcloud_delete.assert_called_once_with(
data=payload, release_version=release_version, subcloud_ref=None
)
@ -304,8 +297,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.call(subcloud_backup_cmd.DeleteSubcloudBackup, app_args=app_args)
subcloud_delete = self.client.subcloud_backup_manager.backup_subcloud_delete
subcloud_delete.assert_called_once_with(
self.client.backup_subcloud_delete.assert_called_once_with(
data=payload, release_version=release_version, subcloud_ref=subcloud_name
)
@ -333,8 +325,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.call(subcloud_backup_cmd.DeleteSubcloudBackup, app_args=app_args)
subcloud_delete = self.client.subcloud_backup_manager.backup_subcloud_delete
subcloud_delete.assert_called_once_with(
self.client.backup_subcloud_delete.assert_called_once_with(
data=payload, release_version=release_version, subcloud_ref=None
)
@ -357,8 +348,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.call(subcloud_backup_cmd.DeleteSubcloudBackup, app_args=app_args)
subcloud_delete = self.client.subcloud_backup_manager.backup_subcloud_delete
subcloud_delete.assert_called_once_with(
self.client.backup_subcloud_delete.assert_called_once_with(
data=payload, release_version=release_version, subcloud_ref=None
)
@ -384,9 +374,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
def test_backup_restore(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -410,9 +398,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
def test_backup_restore_no_restore_values(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
actual_call = self.call(
subcloud_backup_cmd.RestoreSubcloudBackup,
@ -429,9 +415,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
def test_backup_restore_with_group(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -452,7 +436,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.assertEqual([base.SUBCLOUD_FIELD_RESULT_LIST], actual_call[1])
def test_backup_restore_group_and_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = []
self.client.backup_subcloud_restore.return_value = []
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
@ -484,7 +468,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_restore_no_group_and_no_subcloud(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = []
self.client.backup_subcloud_restore.return_value = []
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
@ -510,7 +494,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_restore_backup_value_not_a_file(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = []
self.client.backup_subcloud_restore.return_value = []
e = self.assertRaises(
DCManagerClientException,
@ -532,9 +516,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
@mock.patch("getpass.getpass", return_value="testpassword")
def test_backup_restore_prompt_ask_for_password(self, _mock_getpass):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
@ -579,9 +561,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
)
def test_backup_restore_with_install_no_release(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -605,9 +585,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST, actual_call[1])
def test_backup_restore_with_install_with_release(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:
@ -633,9 +611,7 @@ class TestCLISubcloudBackUpManagerV1(base.BaseCommandTest):
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST, actual_call[1])
def test_backup_restore_no_install_with_release(self):
self.client.subcloud_backup_manager.backup_subcloud_restore.return_value = [
base.SUBCLOUD_RESOURCE
]
self.client.backup_subcloud_restore.return_value = [base.SUBCLOUD_RESOURCE]
backup_path = os.path.normpath(os.path.join(os.getcwd(), "test.yaml"))
with open(backup_path, mode="w", encoding="UTF-8") as f:

View File

@ -83,9 +83,7 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
self.client = self.app.client_manager.subcloud_deploy_manager
def test_subcloud_deploy_show(self):
self.client.subcloud_deploy_manager.subcloud_deploy_show.return_value = [
SUBCLOUD_DEPLOY_ALL
]
self.client.subcloud_deploy_show.return_value = [SUBCLOUD_DEPLOY_ALL]
# Without "--release" parameter
actual_call1 = self.call(subcloud_deploy_manager.SubcloudDeployShow)
@ -119,14 +117,14 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
)
def test_subcloud_deploy_upload_all(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_ALL
]
self.client.subcloud_deploy_upload.return_value = [SUBCLOUD_DEPLOY_ALL]
with tempfile.NamedTemporaryFile() as f1, \
tempfile.NamedTemporaryFile() as f2, \
tempfile.NamedTemporaryFile() as f3, \
tempfile.NamedTemporaryFile() as f4:
f1 = tempfile.NamedTemporaryFile()
f2 = tempfile.NamedTemporaryFile()
f3 = tempfile.NamedTemporaryFile()
f4 = tempfile.NamedTemporaryFile()
with f1, f2, f3, f4:
file_path_1 = os.path.abspath(f1.name)
file_path_2 = os.path.abspath(f2.name)
file_path_3 = os.path.abspath(f3.name)
@ -157,13 +155,15 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
)
def test_subcloud_deploy_upload_no_prestage(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
self.client.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_NO_PRESTAGE
]
with tempfile.NamedTemporaryFile() as f1, \
tempfile.NamedTemporaryFile() as f2, \
tempfile.NamedTemporaryFile() as f3:
f1 = tempfile.NamedTemporaryFile()
f2 = tempfile.NamedTemporaryFile()
f3 = tempfile.NamedTemporaryFile()
with f1, f2, f3:
file_path_1 = os.path.abspath(f1.name)
file_path_2 = os.path.abspath(f2.name)
file_path_3 = os.path.abspath(f3.name)
@ -191,9 +191,7 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
)
def test_subcloud_deploy_upload_prestage(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_PRESTAGE
]
self.client.subcloud_deploy_upload.return_value = [SUBCLOUD_DEPLOY_PRESTAGE]
with tempfile.NamedTemporaryFile() as f1:
file_path_1 = os.path.abspath(f1.name)
@ -207,13 +205,15 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
)
def test_subcloud_deploy_upload_no_playbook(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
self.client.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_NO_PLAYBOOK
]
with tempfile.NamedTemporaryFile() as f1, \
tempfile.NamedTemporaryFile() as f2, \
tempfile.NamedTemporaryFile() as f3:
f1 = tempfile.NamedTemporaryFile()
f2 = tempfile.NamedTemporaryFile()
f3 = tempfile.NamedTemporaryFile()
with f1, f2, f3:
file_path_1 = os.path.abspath(f1.name)
file_path_2 = os.path.abspath(f2.name)
file_path_3 = os.path.abspath(f3.name)
@ -240,12 +240,14 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
)
def test_subcloud_deploy_upload_no_playbook_overrides(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
self.client.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_NO_PLAYBOOK_OVERRIDES
]
with tempfile.NamedTemporaryFile() as f1, \
tempfile.NamedTemporaryFile() as f2:
f1 = tempfile.NamedTemporaryFile()
f2 = tempfile.NamedTemporaryFile()
with f1, f2:
file_path_1 = os.path.abspath(f1.name)
file_path_2 = os.path.abspath(f2.name)
actual_call = self.call(
@ -257,20 +259,26 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
file_path_2,
],
)
self.assertEqual((
None, None,
DEPLOY_CHART,
DEPLOY_PRESTAGE_IMAGES,
base.SOFTWARE_VERSION
), actual_call[1],)
self.assertEqual(
(
None,
None,
DEPLOY_CHART,
DEPLOY_PRESTAGE_IMAGES,
base.SOFTWARE_VERSION,
),
actual_call[1],
)
def test_subcloud_deploy_upload_no_overrides_chart(self):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
self.client.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_NO_OVERRIDES_CHART
]
with tempfile.NamedTemporaryFile() as f1, \
tempfile.NamedTemporaryFile() as f2:
f1 = tempfile.NamedTemporaryFile()
f2 = tempfile.NamedTemporaryFile()
with f1, f2:
file_path_1 = os.path.abspath(f1.name)
file_path_2 = os.path.abspath(f2.name)
actual_call = self.call(
@ -297,13 +305,16 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
@mock.patch("builtins.print")
def test_subcloud_deploy_upload_invalid_path(self, mock_print):
self.client.subcloud_deploy_manager.subcloud_deploy_upload.return_value = [
self.client.subcloud_deploy_upload.return_value = [
SUBCLOUD_DEPLOY_NO_PRESTAGE
]
mock_print.return_value = mock.ANY
file_path_1 = "not_a_valid_path"
with tempfile.NamedTemporaryFile() as f2, \
tempfile.NamedTemporaryFile() as f3:
f2 = tempfile.NamedTemporaryFile()
f3 = tempfile.NamedTemporaryFile()
with f2, f3:
file_path_2 = os.path.abspath(f2.name)
file_path_3 = os.path.abspath(f3.name)
@ -333,12 +344,12 @@ class TestCLISubcloudDeployManagerV1(base.BaseCommandTest):
self.call(subcloud_deploy_manager.SubcloudDeployDelete, app_args=app_args)
self.client.subcloud_deploy_manager.subcloud_deploy_delete.\
assert_called_once_with(release_version, data=data)
self.client.subcloud_deploy_delete.assert_called_once_with(
release_version, data=data
)
def test_subcloud_deploy_delete_without_release(self):
self.call(subcloud_deploy_manager.SubcloudDeployDelete)
data = {"prestage_images": "False", "deployment_files": "False"}
self.client.subcloud_deploy_manager.subcloud_deploy_delete.\
assert_called_once_with(None, data=data)
self.client.subcloud_deploy_delete.assert_called_once_with(None, data=data)

View File

@ -61,33 +61,30 @@ class TestCLISubcloudGroupManagerV1(base.BaseCommandTest):
self.client = self.app.client_manager.subcloud_group_manager
def test_list_subcloud_groups(self):
self.client.subcloud_group_manager.list_subcloud_groups.return_value = [
SUBCLOUD_GROUP
]
self.client.list_subcloud_groups.return_value = [SUBCLOUD_GROUP]
actual_call = self.call(subcloud_group_cmd.ListSubcloudGroup)
self.assertEqual([(ID, NAME, DESCRIPTION)], actual_call[1])
def test_list_subcloud_groups_empty(self):
self.client.subcloud_group_manager.list_subcloud_groups.return_value = []
self.client.list_subcloud_groups.return_value = []
actual_call = self.call(subcloud_group_cmd.ListSubcloudGroup)
self.assertEqual((("<none>", "<none>", "<none>"),), actual_call[1])
def test_list_subcloud_group_subclouds(self):
self.client.subcloud_group_manager.\
subcloud_group_list_subclouds.return_value = [base.SUBCLOUD_RESOURCE]
self.client.subcloud_group_list_subclouds.return_value = [
base.SUBCLOUD_RESOURCE
]
actual_call = self.call(
subcloud_group_cmd.ListSubcloudGroupSubclouds, app_args=[ID]
)
self.client.subcloud_group_manager.subcloud_group_list_subclouds.\
assert_called_once_with(ID)
self.client.subcloud_group_list_subclouds.assert_called_once_with(ID)
self.assertEqual(
[base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID], actual_call[1]
)
def test_delete_subcloud_group_by_id(self):
self.call(subcloud_group_cmd.DeleteSubcloudGroup, app_args=[ID])
self.client.subcloud_group_manager.delete_subcloud_group.\
assert_called_once_with(ID)
self.client.delete_subcloud_group.assert_called_once_with(ID)
def test_delete_subcloud_group_without_id(self):
self.assertRaises(
@ -98,9 +95,7 @@ class TestCLISubcloudGroupManagerV1(base.BaseCommandTest):
)
def test_show_subcloud_group_with_id(self):
self.client.subcloud_group_manager.subcloud_group_detail.return_value = [
SUBCLOUD_GROUP
]
self.client.subcloud_group_detail.return_value = [SUBCLOUD_GROUP]
actual_call = self.call(subcloud_group_cmd.ShowSubcloudGroup, app_args=[ID])
self.assertEqual(
(
@ -116,7 +111,7 @@ class TestCLISubcloudGroupManagerV1(base.BaseCommandTest):
)
def test_show_subcloud_group_without_id(self):
self.client.subcloud_group_manager.subcloud_group_detail.return_value = []
self.client.subcloud_group_detail.return_value = []
actual_call = self.call(subcloud_group_cmd.ShowSubcloudGroup, app_args=[ID])
self.assertEqual(
(
@ -134,9 +129,7 @@ class TestCLISubcloudGroupManagerV1(base.BaseCommandTest):
)
def test_add_subcloud_group(self):
self.client.subcloud_group_manager.add_subcloud_group.return_value = [
SUBCLOUD_GROUP
]
self.client.add_subcloud_group.return_value = [SUBCLOUD_GROUP]
actual_call = self.call(
subcloud_group_cmd.AddSubcloudGroup,
@ -158,9 +151,7 @@ class TestCLISubcloudGroupManagerV1(base.BaseCommandTest):
def test_update_subcloud_group(self):
updated_subloud = copy.copy(SUBCLOUD_GROUP)
updated_subloud.description = NEW_DESCRIPTION
self.client.subcloud_group_manager.update_subcloud_group.return_value = [
updated_subloud
]
self.client.update_subcloud_group.return_value = [updated_subloud]
actual_call = self.call(
subcloud_group_cmd.UpdateSubcloudGroup,
app_args=[SUBCLOUD_GROUP.group_id, "--description", NEW_DESCRIPTION],

View File

@ -28,9 +28,13 @@ from dcmanagerclient.tests import base
class TestCLISubcloudManagerV1(base.BaseCommandTest):
def setUp(self):
super().setUp()
self.subcloud_resource = copy.copy(base.SUBCLOUD_RESOURCE)
def test_list_subclouds(self):
self.client.subcloud_manager.list_subclouds.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(subcloud_cmd.ListSubcloud)
self.assertEqual([base.SUBCLOUD_LIST_RESULT], actual_call[1])
@ -83,7 +87,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
def test_show_subcloud_with_subcloud_id(self):
self.client.subcloud_manager.subcloud_detail.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(subcloud_cmd.ShowSubcloud, app_args=[base.ID])
@ -93,7 +97,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
)
def test_show_subcloud_with_additional_detail(self):
subcloud_with_additional_detail = copy.copy(base.SUBCLOUD_RESOURCE)
subcloud_with_additional_detail = self.subcloud_resource
subcloud_with_additional_detail.oam_floating_ip = (
base.EXTERNAL_OAM_FLOATING_ADDRESS
)
@ -127,7 +131,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
@mock.patch("getpass.getpass", return_value="testpassword")
def test_add_subcloud(self, _mock_getpass):
self.client.subcloud_manager.add_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(mode="w") as f:
@ -165,7 +169,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
@mock.patch("getpass.getpass", return_value="testpassword")
def test_add_migrate_subcloud(self, _mock_getpass):
self.client.subcloud_manager.add_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(mode="w") as f:
@ -186,7 +190,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
@mock.patch("getpass.getpass", return_value="testpassword")
def test_add_migrate_subcloud_with_deploy_config(self, _mock_getpass):
self.client.subcloud_manager.add_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(mode="w") as f_bootstrap:
@ -264,10 +268,10 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
self.assertEqual(tuple(results_by_name), actual_call2[1])
def test_update_fields_values(self):
subcloud_with_region_detail = copy.copy(base.SUBCLOUD_RESOURCE)
subcloud_with_region_detail = copy.copy(self.subcloud_resource)
subcloud_with_region_detail.region_name = base.REGION_NAME
subcloud_with_region_none = copy.copy(base.SUBCLOUD_RESOURCE)
subcloud_with_region_none = copy.copy(self.subcloud_resource)
subcloud_with_region_none.region_name = None
subcloud_cmd.update_fields_values([subcloud_with_region_detail])
@ -279,14 +283,14 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
def test_unmanage_subcloud(self):
self.client.subcloud_manager.update_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(subcloud_cmd.UnmanageSubcloud, app_args=[base.ID])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
def test_unmanage_subcloud_with_migrate(self):
self.client.subcloud_manager.update_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(
subcloud_cmd.UnmanageSubcloud, app_args=[base.ID, "--migrate"]
@ -300,7 +304,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
def test_manage_subcloud(self):
self.client.subcloud_manager.update_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(subcloud_cmd.ManageSubcloud, app_args=[base.ID])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
@ -312,7 +316,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
def test_update_subcloud(self):
self.client.subcloud_manager.update_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(mode="w") as f_bootstrap:
bootstrap_file_path = os.path.abspath(f_bootstrap.name)
@ -348,7 +352,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
@mock.patch("six.moves.input", return_value="redeploy")
def test_redeploy_subcloud(self, _mock_input, _mock_getpass):
self.client.subcloud_manager.redeploy_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(
@ -383,7 +387,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
@mock.patch("six.moves.input", return_value="redeploy")
def test_redeploy_subcloud_no_parameters(self, _mock_input, _mock_getpass):
self.client.subcloud_manager.redeploy_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call = self.call(subcloud_cmd.RedeploySubcloud, app_args=[base.ID])
self.assertEqual(base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID, actual_call[1])
@ -394,7 +398,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
self, _mock_input, _mock_getpass
):
self.client.subcloud_manager.redeploy_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
with tempfile.NamedTemporaryFile(
mode="w"
@ -445,7 +449,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
def test_prestage_with_subcloud_id(self):
self.client.subcloud_manager.prestage_subcloud.return_value = [
base.SUBCLOUD_RESOURCE
self.subcloud_resource
]
actual_call_without_release = self.call(
subcloud_cmd.PrestageSubcloud,
@ -462,7 +466,7 @@ class TestCLISubcloudManagerV1(base.BaseCommandTest):
)
def test_prestage_with_release(self):
subcloud_with_additional_detail = copy.copy(base.SUBCLOUD_RESOURCE)
subcloud_with_additional_detail = self.subcloud_resource
subcloud_with_additional_detail.prestage_software_version = (
base.SOFTWARE_VERSION
)

View File

@ -58,22 +58,21 @@ class TestCLISubcloudPeerGroupManager(base.BaseCommandTest):
self.client = self.app.client_manager.subcloud_peer_group_manager
def test_list_subcloud_peer_groups(self):
self.client.subcloud_peer_group_manager.\
list_subcloud_peer_groups.return_value = [SubcloudPeerGroup]
self.client.list_subcloud_peer_groups.return_value = [SubcloudPeerGroup]
actual_call = self.call(subcloud_peer_group_cmd.ListSubcloudPeerGroup)
self.assertEqual([PG_TUPLE_WITH_DATE], actual_call[1])
def test_show_subcloud_peer_group(self):
self.client.subcloud_peer_group_manager.\
subcloud_peer_group_detail.return_value = [SubcloudPeerGroup]
self.client.subcloud_peer_group_detail.return_value = [SubcloudPeerGroup]
actual_call = self.call(
subcloud_peer_group_cmd.ShowSubcloudPeerGroup, app_args=[PG_ID]
)
self.assertEqual(PG_TUPLE_WITH_DATE, actual_call[1])
def test_list_subcloud_peer_group_subclouds(self):
self.client.subcloud_peer_group_manager.subcloud_peer_group_list_subclouds.\
return_value = [base.SUBCLOUD_RESOURCE_WITH_PEERID]
self.client.subcloud_peer_group_list_subclouds.return_value = [
base.SUBCLOUD_RESOURCE_WITH_PEERID
]
actual_call = self.call(
subcloud_peer_group_cmd.ListSubcloudPeerGroupSubclouds,
app_args=[base.ID],
@ -83,8 +82,7 @@ class TestCLISubcloudPeerGroupManager(base.BaseCommandTest):
)
def test_add_subcloud_peer_group(self):
self.client.subcloud_peer_group_manager.add_subcloud_peer_group.\
return_value = [SubcloudPeerGroup]
self.client.add_subcloud_peer_group.return_value = [SubcloudPeerGroup]
actual_call1 = self.call(
subcloud_peer_group_cmd.AddSubcloudPeerGroup,
app_args=["--peer-group-name", PG_NAME],
@ -106,12 +104,10 @@ class TestCLISubcloudPeerGroupManager(base.BaseCommandTest):
def test_delete_subcloud_peer_group(self):
self.call(subcloud_peer_group_cmd.DeleteSubcloudPeerGroup, app_args=[PG_ID])
self.client.subcloud_peer_group_manager.delete_subcloud_peer_group.\
assert_called_once_with(PG_ID)
self.client.delete_subcloud_peer_group.assert_called_once_with(PG_ID)
def test_update_subcloud_peer_group(self):
self.client.subcloud_peer_group_manager.update_subcloud_peer_group.\
return_value = [SubcloudPeerGroup]
self.client.update_subcloud_peer_group.return_value = [SubcloudPeerGroup]
actual_call = self.call(
subcloud_peer_group_cmd.UpdateSubcloudPeerGroup,
app_args=[

View File

@ -18,9 +18,7 @@ class TestSwDeployStrategy(UpdateStrategyMixin, base.BaseCommandTest):
# Increase results_length due to the 'upload only' field
self.results_length += 1
self.sw_update_manager = (
self.app.client_manager.sw_deploy_manager.sw_deploy_manager
)
self.sw_update_manager = self.app.client_manager.sw_deploy_manager
self.create_command = cli_cmd.CreateSwDeployStrategy
self.show_command = cli_cmd.ShowSwDeployStrategy
self.delete_command = cli_cmd.DeleteSwDeployStrategy

View File

@ -20,9 +20,7 @@ class TestSwPrestageStrategy(UpdateStrategyMixin, base.BaseCommandTest):
def setUp(self):
super().setUp()
self.sw_update_manager = (
self.app.client_manager.sw_prestage_manager.sw_prestage_manager
)
self.sw_update_manager = self.app.client_manager.sw_prestage_manager
p = mock.patch.object(getpass, "getpass")
self.mock_prompt = p.start()

View File

@ -39,7 +39,7 @@ class TestCLISWUpdateManagerV1(base.BaseCommandTest):
def test_show_sw_update_strategy_step(self):
results = []
results.append(STRATEGY_STEP)
self.client.strategy_step_manager.strategy_step_detail.return_value = results
self.client.strategy_step_detail.return_value = results
actual_call = self.call(
sw_update_cmd.ShowSwUpdateStrategyStep, app_args=[FAKE_CLOUD]
)

View File

@ -54,9 +54,7 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
self.client = self.app.client_manager.sw_update_options_manager
def test_list_sw_update_options(self):
self.client.sw_update_options_manager.sw_update_options_list.return_value = [
SW_UPDATE_OPTION
]
self.client.sw_update_options_list.return_value = [SW_UPDATE_OPTION]
actual_call = self.call(sw_update_options_cmd.ListSwUpdateOptions)
self.assertEqual(
[
@ -73,9 +71,7 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
)
def test_list_sw_update_options_empty(self):
self.client.sw_update_options_manager.sw_update_options_list.return_value = (
[]
)
self.client.sw_update_options_list.return_value = []
actual_call = self.call(sw_update_options_cmd.ListSwUpdateOptions)
self.assertEqual(
(("<none>", "<none>", "<none>", "<none>", "<none>", "<none>"),),
@ -83,8 +79,7 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
)
def test_show_sw_update_options_default(self):
self.client.sw_update_options_manager.sw_update_options_detail.\
return_value = [SW_UPDATE_OPTION]
self.client.sw_update_options_detail.return_value = [SW_UPDATE_OPTION]
actual_call = self.call(sw_update_options_cmd.ShowSwUpdateOptions)
self.assertEqual(
(
@ -101,8 +96,7 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
)
def test_show_sw_update_options_by_ref(self):
self.client.sw_update_options_manager.sw_update_options_detail.\
return_value = [SW_UPDATE_OPTION]
self.client.sw_update_options_detail.return_value = [SW_UPDATE_OPTION]
actual_call = self.call(
sw_update_options_cmd.ShowSwUpdateOptions, app_args=[FAKE_CLOUD]
)
@ -121,8 +115,9 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
)
def test_update_sw_update_options(self):
self.client.sw_update_options_manager.sw_update_options_update.\
return_value = [UPDATED_SW_UPDATE_OPTION]
self.client.sw_update_options_update.return_value = [
UPDATED_SW_UPDATE_OPTION
]
actual_call = self.call(
sw_update_options_cmd.UpdateSwUpdateOptions,
app_args=[
@ -149,8 +144,7 @@ class TestCLISWUpdateOptionsManagerV1(base.BaseCommandTest):
def test_delete_sw_update_options_by_ref(self):
self.call(sw_update_options_cmd.DeleteSwUpdateOptions, app_args=[FAKE_CLOUD])
self.client.sw_update_options_manager.sw_update_options_delete.\
assert_called_once_with(FAKE_CLOUD)
self.client.sw_update_options_delete.assert_called_once_with(FAKE_CLOUD)
def test_delete_sw_update_options_without_ref(self):
self.assertRaises(

View File

@ -13,9 +13,7 @@ class TestSwUpgradeStrategy(UpdateStrategyMixin, base.BaseCommandTest):
def setUp(self):
super().setUp()
self.sw_update_manager = (
self.app.client_manager.sw_upgrade_manager.sw_upgrade_manager
)
self.sw_update_manager = self.app.client_manager.sw_upgrade_manager
self.create_command = cli_cmd.CreateSwUpgradeStrategy
self.show_command = cli_cmd.ShowSwUpgradeStrategy
self.delete_command = cli_cmd.DeleteSwUpgradeStrategy

View File

@ -112,9 +112,7 @@ class TestCLISystemPeerManagerV1(base.BaseCommandTest):
self.client = self.app.client_manager.system_peer_manager
def test_list_system_peers(self):
self.client.system_peer_manager.list_system_peers.return_value = [
SYSTEM_PEER
]
self.client.list_system_peers.return_value = [SYSTEM_PEER]
actual_call = self.call(system_peer_cmd.ListSystemPeer)
self.assertEqual(
[
@ -130,15 +128,13 @@ class TestCLISystemPeerManagerV1(base.BaseCommandTest):
)
def test_list_system_peers_empty(self):
self.client.system_peer_manager.list_system_peers.return_value = []
self.client.list_system_peers.return_value = []
actual_call = self.call(system_peer_cmd.ListSystemPeer)
self.assertEqual((tuple("<none>" for _ in range(5)),), actual_call[1])
def test_delete_system_peer_by_id(self):
self.call(system_peer_cmd.DeleteSystemPeer, app_args=[ID])
self.client.system_peer_manager.delete_system_peer.assert_called_once_with(
ID
)
self.client.delete_system_peer.assert_called_once_with(ID)
def test_delete_system_peer_without_id(self):
self.assertRaises(
@ -146,9 +142,7 @@ class TestCLISystemPeerManagerV1(base.BaseCommandTest):
)
def test_show_system_peer_with_id(self):
self.client.system_peer_manager.system_peer_detail.return_value = [
SYSTEM_PEER
]
self.client.system_peer_detail.return_value = [SYSTEM_PEER]
actual_call = self.call(system_peer_cmd.ShowSystemPeer, app_args=[ID])
self.assertEqual(
(
@ -171,21 +165,19 @@ class TestCLISystemPeerManagerV1(base.BaseCommandTest):
)
def test_show_system_peer_without_id(self):
self.client.system_peer_manager.system_peer_detail.return_value = []
self.client.system_peer_detail.return_value = []
actual_call = self.call(system_peer_cmd.ShowSystemPeer, app_args=[ID])
self.assertEqual((tuple("<none>" for _ in range(14)),), actual_call[1])
def test_list_system_peer_subcloud_peer_groups(self):
self.client.system_peer_manager.system_peer_list_peer_groups.return_value = [
PEER_GROUP
]
self.client.system_peer_list_peer_groups.return_value = [PEER_GROUP]
actual_call = self.call(
system_peer_cmd.ListSystemPeerSubcloudPeerGroups, app_args=[ID]
)
self.assertEqual([PG_TUPLE], actual_call[1])
def test_add_system_peer(self):
self.client.system_peer_manager.add_system_peer.return_value = [SYSTEM_PEER]
self.client.add_system_peer.return_value = [SYSTEM_PEER]
actual_call = self.call(
system_peer_cmd.AddSystemPeer,
@ -235,13 +227,11 @@ class TestCLISystemPeerManagerV1(base.BaseCommandTest):
)
def test_update_system_peer(self):
UPDATED_SYSTEM_PEER = copy.copy(SYSTEM_PEER)
UPDATED_SYSTEM_PEER.peer_controller_gateway_ip = (
updated_system_peer = copy.copy(SYSTEM_PEER)
updated_system_peer.peer_controller_gateway_ip = (
NEW_PEER_CONTROLLER_GATEWAY_IP
)
self.client.system_peer_manager.update_system_peer.return_value = [
UPDATED_SYSTEM_PEER
]
self.client.update_system_peer.return_value = [updated_system_peer]
actual_call = self.call(
system_peer_cmd.UpdateSystemPeer,
app_args=[

View File

@ -34,9 +34,9 @@ def do_action_on_many(action, resources, success_msg, error_msg):
try:
action(resource)
print(success_msg % resource)
except Exception as e:
except Exception as exc:
failure_flag = True
print(e)
print(exc)
if failure_flag:
raise exceptions.DCManagerClientException(error_msg)
@ -73,9 +73,9 @@ def get_contents_if_file(contents_or_file_name):
path = os.path.abspath(contents_or_file_name)
definition_url = parse.urljoin("file:", request.pathname2url(path))
return request.urlopen(definition_url).read().decode("utf8")
except Exception as e:
except Exception as exc:
raise exceptions.DCManagerClientException(
f"Error: Could not open file {contents_or_file_name}: {e}"
f"Error: Could not open file {contents_or_file_name}: {exc}"
)
@ -96,10 +96,10 @@ def prompt_for_password(password_type="sysadmin", item_type="subcloud"):
print("Passwords did not match")
continue
break
except KeyboardInterrupt as e:
except KeyboardInterrupt as exc:
raise exceptions.DCManagerClientException(
"\nPassword prompt interrupted."
) from e
) from exc
return password