Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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')
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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'=========================================')