MP2P migration support for LB certificates

Add migration of LB certificates + some more minor fixing

Change-Id: I67dc0dc5f7b09c147a2a4715f6240a8a0556e565
This commit is contained in:
asarfaty 2020-06-28 12:31:58 +02:00
parent 0bad4876dc
commit 1891dbc1dd
1 changed files with 27 additions and 9 deletions

View File

@ -75,6 +75,7 @@ MIGRATE_LIMIT_LB_MONITOR = 1500
MIGRATE_LIMIT_LB_POOL = 1500 MIGRATE_LIMIT_LB_POOL = 1500
MIGRATE_LIMIT_LB_APP_PROFILE = 2000 MIGRATE_LIMIT_LB_APP_PROFILE = 2000
MIGRATE_LIMIT_LB_PER_PROFILE = 2000 MIGRATE_LIMIT_LB_PER_PROFILE = 2000
MIGRATE_LIMIT_CERT = 1500
COMPONENT_STATUS_ALREADY_MIGRATED = 1 COMPONENT_STATUS_ALREADY_MIGRATED = 1
COMPONENT_STATUS_OK = 2 COMPONENT_STATUS_OK = 2
@ -218,6 +219,7 @@ def get_resource_migration_data(nsxlib_resource, neutron_id_tags,
entries = [] entries = []
for resource in resources: for resource in resources:
name_or_id = resource.get('display_name', resource['id']) name_or_id = resource.get('display_name', resource['id'])
name_or_id = name_or_id.encode('utf-8')
policy_id = resource['id'] policy_id = resource['id']
# Go over tags and find the neutron id # Go over tags and find the neutron id
neutron_id = None neutron_id = None
@ -277,13 +279,6 @@ def migrate_objects(nsxlib, data, use_admin=False, verbose=False):
if not ensure_migration_state_ready(nsxlib, verbose=verbose): if not ensure_migration_state_ready(nsxlib, verbose=verbose):
raise Exception("The migration server is not ready") raise Exception("The migration server is not ready")
if verbose:
LOG.info("Migrating %d %s objects: %s", len(data['resource_ids']),
data['type'], data)
else:
LOG.info("Migrating %d %s objects", len(data['resource_ids']),
data['type'])
migration_body = {"migration_data": [data]} migration_body = {"migration_data": [data]}
# Update the principal identity for the policy resources # Update the principal identity for the policy resources
@ -298,6 +293,13 @@ def migrate_objects(nsxlib, data, use_admin=False, verbose=False):
migration_body['setup_details'] = { migration_body['setup_details'] = {
'principal_identity': user} 'principal_identity': user}
if verbose:
LOG.info("Migrating %d %s objects: %s", len(data['resource_ids']),
data['type'], migration_body)
else:
LOG.info("Migrating %d %s objects with principal_identity %s",
len(data['resource_ids']), data['type'], user)
send_migration_request(nsxlib, migration_body) send_migration_request(nsxlib, migration_body)
# send the start action # send the start action
send_migration_plan_action(nsxlib, 'start') send_migration_plan_action(nsxlib, 'start')
@ -958,11 +960,11 @@ def migrate_dhcp_servers(nsxlib, nsxpolicy, verbose=False):
verbose=verbose) verbose=verbose)
migrate_resource(nsxlib, 'DHCP_SERVER', entries, migrate_resource(nsxlib, 'DHCP_SERVER', entries,
MIGRATE_LIMIT_DHCP_SERVER, MIGRATE_LIMIT_DHCP_SERVER,
count_internals=True,
verbose=verbose) verbose=verbose)
def migrate_lb_resources(nsxlib, nsxpolicy, verbose=False): def migrate_lb_resources(nsxlib, nsxpolicy, verbose=False):
migrate_lb_certificates(nsxlib, nsxpolicy, verbose=verbose)
migrate_lb_monitors(nsxlib, nsxpolicy, verbose=verbose) migrate_lb_monitors(nsxlib, nsxpolicy, verbose=verbose)
migrate_lb_pools(nsxlib, nsxpolicy, verbose=verbose) migrate_lb_pools(nsxlib, nsxpolicy, verbose=verbose)
migrate_lb_profiles(nsxlib, nsxpolicy, verbose=verbose) migrate_lb_profiles(nsxlib, nsxpolicy, verbose=verbose)
@ -970,6 +972,18 @@ def migrate_lb_resources(nsxlib, nsxpolicy, verbose=False):
migrate_lb_services(nsxlib, nsxpolicy, verbose=verbose) migrate_lb_services(nsxlib, nsxpolicy, verbose=verbose)
def migrate_lb_certificates(nsxlib, nsxpolicy, verbose=False):
entries = get_resource_migration_data(
nsxlib.trust_management,
[lb_const.LB_LISTENER_TYPE],
'CERTIFICATE',
policy_resource_get=nsxpolicy.certificate.get,
verbose=verbose)
migrate_resource(nsxlib, 'CERTIFICATE', entries,
MIGRATE_LIMIT_CERT,
verbose=verbose)
def _migrate_lb_resource(nsxlib, nsxpolicy, neutron_tag, api_name, def _migrate_lb_resource(nsxlib, nsxpolicy, neutron_tag, api_name,
migration_name, limit, migration_name, limit,
policy_api_name=None, policy_api_name=None,
@ -1174,7 +1188,11 @@ def migrate_t_resources_2_p(nsxlib, nsxpolicy, plugin, verbose=False):
LOG.error("Exception occurred while making the request: %s", e) LOG.error("Exception occurred while making the request: %s", e)
try: try:
LOG.info("Aborting the current request") LOG.info("Aborting the current request")
send_migration_plan_action(nsxlib, 'abort') try:
send_migration_plan_action(nsxlib, 'abort')
except Exception as e:
LOG.error("Abort migration failed: %s", e)
global ROLLBACK_DATA global ROLLBACK_DATA
if ROLLBACK_DATA: if ROLLBACK_DATA:
LOG.info("Rolling migration back %s", ROLLBACK_DATA) LOG.info("Rolling migration back %s", ROLLBACK_DATA)