def register_federated_vm(): urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) network_payload = FederatedLTENetwork( id=NIDS_BY_TYPE[FEG_LTE_NETWORK_TYPE], name='Test Network', description='Test Network', cellular=NetworkCellularConfig( epc=NetworkEPCConfig( lte_auth_amf='gAA=', lte_auth_op='EREREREREREREREREREREQ==', mcc='001', mnc='01', tac=1, relay_enabled=False, ), ran=NetworkRANConfig( bandwidth_mhz=20, tdd_config=NetworkTDDConfig( earfcndl=44590, subframe_assignment=2, special_subframe_pattern=7, ), ), ), dns=types.NetworkDNSConfig(enable_caching=False, local_ttl=60), federation=FederationNetworkConfig(feg_network_id='feg_test'), ) _register_network(FEG_LTE_NETWORK_TYPE, network_payload) _register_agw(FEG_LTE_NETWORK_TYPE)
def register_vm(): network_payload = LTENetwork( id=NIDS_BY_TYPE[LTE_NETWORK_TYPE], name='Test Network', description='Test Network', cellular=NetworkCellularConfig( epc=NetworkEPCConfig( lte_auth_amf='gAA=', lte_auth_op='EREREREREREREREREREREQ==', mcc='001', mnc='01', tac=1, relay_enabled=False, ), ran=NetworkRANConfig( bandwidth_mhz=20, tdd_config=NetworkTDDConfig( earfcndl=44590, subframe_assignment=2, special_subframe_pattern=7, ), ), ), dns=types.NetworkDNSConfig(enable_caching=False, local_ttl=60), ) _register_network(LTE_NETWORK_TYPE, network_payload) _register_agw(LTE_NETWORK_TYPE)
def register_vm(): network_payload = LTENetwork( id=NIDS_BY_TYPE[LTE_NETWORK_TYPE], name='Test Network', description='Test Network', cellular=NetworkCellularConfig( epc=NetworkEPCConfig( lte_auth_amf='gAA=', lte_auth_op='EREREREREREREREREREREQ==', mcc='001', mnc='01', tac=1, gx_gy_relay_enabled=False, hss_relay_enabled=False, network_services=[], mobility=MobilityConfig( ip_allocation_mode='NAT', nat=NatConfig(['192.168.128.0/24']), reserved_addresses=[], ), ), ran=NetworkRANConfig( bandwidth_mhz=20, tdd_config=NetworkTDDConfig( earfcndl=44590, subframe_assignment=2, special_subframe_pattern=7, ), ), feg_network_id="", ), dns=types.NetworkDNSConfig(enable_caching=False, local_ttl=60), ) _register_network(LTE_NETWORK_TYPE, network_payload) _register_agw(LTE_NETWORK_TYPE)
def register_generic_gateway( network_id: str, vm_name: str, admin_cert: types.ClientCert = types.ClientCert( cert='./../../.cache/test_certs/admin_operator.pem', key='./../../.cache/test_certs/admin_operator.key.pem', ), ) -> None: """ Register a generic magmad gateway. Args: network_id: Network to register inside vm_name: Vagrant VM name to pull HWID from admin_cert: Cert for API access """ if not does_network_exist(network_id, admin_cert=admin_cert): network_payload = types.GenericNetwork( id=network_id, name='Test Network', description='Test Network', dns=types.NetworkDNSConfig(enable_caching=True, local_ttl=60) ) cloud_post('networks', network_payload, admin_cert=admin_cert) create_tier_if_not_exists(network_id, 'default') hw_id = get_hardware_id_from_vagrant(vm_name=vm_name) already_registered, registered_as = is_hw_id_registered(network_id, hw_id) if already_registered: print(f'VM is already registered as {registered_as}') return gw_id = get_next_available_gateway_id(network_id) payload = construct_magmad_gateway_payload(gw_id, hw_id) cloud_post(f'networks/{network_id}/gateways', payload) print(f'Gateway {gw_id} successfully provisioned')
def __init__( self, id: str = NETWORK_ID, name: str = 'Testing', description: str = 'Test federation network', federation: FederationNetworkConfigs = FederationNetworkConfigs(), dns: types.NetworkDNSConfig = types.NetworkDNSConfig(), subscriber_config: SubConfig = SubConfig(), ): self.id = id self.name = name self.description = description self.dns = dns self.federation = federation self.subscriber_config = subscriber_config
def register_federated_vm(): urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) network_payload = FederatedLTENetwork( id=NIDS_BY_TYPE[FEG_LTE_NETWORK_TYPE], name='Test Network', description='Test Network', cellular=NetworkCellularConfig( epc=NetworkEPCConfig( lte_auth_amf='gAA=', lte_auth_op='EREREREREREREREREREREQ==', mcc='001', mnc='01', tac=1, gx_gy_relay_enabled=False, hss_relay_enabled=True, network_services=['dpi', 'policy_enforcement'], mobility=MobilityConfig( ip_allocation_mode='NAT', nat=NatConfig(['192.168.128.0/24']), reserved_addresses=[], ), ), ran=NetworkRANConfig( bandwidth_mhz=20, tdd_config=NetworkTDDConfig( earfcndl=44590, subframe_assignment=2, special_subframe_pattern=7, ), ), feg_network_id='feg_test', ), dns=types.NetworkDNSConfig(enable_caching=False, local_ttl=60), federation=FederationNetworkConfig(feg_network_id='feg_test'), ) _register_network(FEG_LTE_NETWORK_TYPE, network_payload) # registering gateway with LTE type. FEG_LTE doesn't have gateway endpoint _register_agw(FEG_LTE_NETWORK_TYPE)
def register_vm(): # Disable warnings about SSL verification since its a local VM urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # Create the network if it doesn't yet exist # TODO: add cellular network configs if the network exists but the cellular # configs don't if not dev_utils.does_network_exist('test'): network_payload = LTENetwork( id='test', name='Test Network', description='Test Network', cellular=NetworkCellularConfig( epc=NetworkEPCConfig( lte_auth_amf='gAA=', lte_auth_op='EREREREREREREREREREREQ==', mcc='001', mnc='01', tac=1, relay_enabled=False, ), ran=NetworkRANConfig( bandwidth_mhz=20, tdd_config=NetworkTDDConfig( earfcndl=44590, subframe_assignment=2, special_subframe_pattern=7, ), ), ), dns=types.NetworkDNSConfig(enable_caching=True, local_ttl=60), ) dev_utils.cloud_post('lte', network_payload) dev_utils.create_tier_if_not_exists('test', 'default') hw_id = dev_utils.get_hardware_id_from_vagrant(vm_name='magma') already_registered, registered_as = dev_utils.is_hw_id_registered( 'test', hw_id) if already_registered: print() print(f'===========================================') print(f'VM is already registered as {registered_as}') print(f'===========================================') return gw_id = dev_utils.get_next_available_gateway_id('test') md_gw = dev_utils.construct_magmad_gateway_payload(gw_id, hw_id) gw_payload = LTEGateway( device=md_gw.device, id=gw_id, name=md_gw.name, description=md_gw.description, magmad=md_gw.magmad, tier=md_gw.tier, cellular=GatewayCellularConfig( epc=GatewayEPCConfig(ip_block='192.168.128.0/24', nat_enabled=True), ran=GatewayRANConfig(pci=260, transmit_enabled=True), ), connected_enodeb_serials=[], ) dev_utils.cloud_post('lte/test/gateways', gw_payload) print() print(f'=========================================') print(f'Gateway {gw_id} successfully provisioned!') print(f'=========================================')