def create_routed_ovdc_network(cls): """Creates a routed org vdc network. The name of the created org vdc network is specified in the ovdc_network_constant file, skips creating one, if such a network already exists. :raises: Exception: if the class variable _ovdc_href is not populated. """ cls._basic_check() if cls._ovdc_href is None: raise Exception('OrgVDC ' + cls._config['vcd']['default_ovdc_name'] + ' doesn\'t exist.') vdc = VDC(cls._sys_admin_client, href=cls._ovdc_href) expected_net_name = OvdcNetConstants.routed_net_name records_list = vdc.list_orgvdc_network_records() for network_record in records_list: if network_record['name'].lower() == expected_net_name.lower(): cls._logger.debug('Reusing existing direct org-vdc network ' + expected_net_name) return result = vdc.create_routed_vdc_network( network_name=OvdcNetConstants.routed_net_name, gateway_name=GatewayConstants.name, network_cidr=OvdcNetConstants.routed_orgvdc_network_gateway_ip, description='org vdc network description') cls._sys_admin_client.get_task_monitor() \ .wait_for_success(task=result.Tasks.Task[0])
def create_direct_ovdc_network(cls): """Creates a direct org vdc network. The name of the created org vdc network is specified in the configuration file, skips creating one, if such a network already exists. :raises: Exception: if the class variable _ovdc_href is not populated. """ cls._basic_check() if cls._ovdc_href is None: raise Exception('OrgVDC ' + cls._config['vcd']['default_ovdc_name'] + ' doesn\'t exist.') vdc = VDC(cls._sys_admin_client, href=cls._ovdc_href) expected_net_name = cls._config['vcd']['default_direct ovdc_network_name'] records_dict = vdc.list_orgvdc_network_records() for net_name in records_dict.keys(): if net_name.lower() == expected_net_name.lower(): cls._logger.debug('Reusing existing direct org-vdc network ' + expected_net_name) return cls._logger.debug('Creating direct org-vdc network ' + expected_net_name) result = vdc.create_directly_connected_vdc_network( network_name=expected_net_name, parent_network_name=cls._config['external_network']['name'], description='direct org vdc network', is_shared=False) cls._sys_admin_client.get_task_monitor()\ .wait_for_success(task=result.Tasks.Task[0])
def create_ovdc_network(cls): """Creates an isolated org vdc network. The name of the created org vdc network is specified in the configuration file, skips creating one, if such a network already exists. :raises: Exception: if the class variable _ovdc_href is not populated. """ cls._basic_check() if cls._ovdc_href is None: raise Exception('OrgVDC ' + cls._config['vcd']['default_ovdc_name'] + ' doesn\'t exist.') vdc = VDC(cls._sys_admin_client, href=cls._ovdc_href) net_name = cls._config['vcd']['default_ovdc_network_name'] records = vdc.list_orgvdc_network_records() for record in records: if record.get('name').lower() == net_name.lower(): cls._logger.debug('Reusing existing org-vdc network ' + net_name) return cls._logger.debug('Creating org-vdc network ' + net_name) result = vdc.create_isolated_vdc_network( network_name=net_name, gateway_ip=cls._config['vcd']['default_ovdc_network_gateway_ip'], netmask=cls._config['vcd']['default_ovdc_network_gateway_netmask']) cls._sys_admin_client.get_task_monitor()\ .wait_for_success(task=result.Tasks.Task[0])
def list_orgvdc_networks(ctx): try: restore_session(ctx, vdc_required=True) client = ctx.obj['client'] in_use_vdc_href = ctx.obj['profiles'].get('vdc_href') vdc = VDC(client, href=in_use_vdc_href) result = vdc.list_orgvdc_network_records() stdout(result, ctx) except Exception as e: stderr(e, ctx)
def create_direct_ovdc_network(cls): """Creates a direct org vdc network. The name of the created org vdc network is specified in the configuration file, skips creating one, if such a network already exists. :raises: Exception: if the class variable _ovdc_href is not populated. """ cls._basic_check() if cls._ovdc_href is None: raise Exception('OrgVDC ' + cls._config['vcd']['default_ovdc_name'] + ' doesn\'t exist.') vdc = VDC(cls._sys_admin_client, href=cls._ovdc_href) expected_net_name = cls._config['vcd'][ 'default_direct ovdc_network_name'] records_list = vdc.list_orgvdc_network_records() for network_record in records_list: if network_record['name'].lower() == expected_net_name.lower(): cls._logger.debug('Reusing existing direct org-vdc network ' + expected_net_name) return cls._logger.debug('Creating direct org-vdc network ' + expected_net_name) result = vdc.create_directly_connected_vdc_network( network_name=expected_net_name, parent_network_name=cls._config['external_network']['name'], description='direct org vdc network', is_shared=False) cls._sys_admin_client.get_task_monitor()\ .wait_for_success(task=result.Tasks.Task[0])