Exemplo n.º 1
0
def insert_interface_unit(iface_node, unit, service_id_regex):
    """
    Creates or updates logical interface units.
    """
    user = utils.get_user()
    unit_name = u'{}'.format(unit['unit'])
    # Unit names are unique per interface
    result = iface_node.get_unit(unit_name)
    if result.get('Part_of', None):
        unit_node = result.get('Part_of')[0].get('node')
    else:
        node_handle = utils.create_node_handle(unit_name, 'Unit', 'Logical')
        unit_node = node_handle.get_node()
        helpers.set_part_of(user, iface_node, unit_node.handle_id)
        logger.info('Unit {interface}.{unit} created.'.format(
            interface=iface_node.data['name'], unit=unit_node.data['name']))
    helpers.set_noclook_auto_manage(unit_node, True)
    unit['ip_addresses'] = [
        address.lower() for address in unit.get('address', '')
    ]
    property_keys = ['description', 'ip_addresses', 'vlanid']
    helpers.dict_update_node(user, unit_node.handle_id, unit, property_keys)
    # Auto depend service on unit
    auto_depend_services(unit_node.handle_id, unit.get('description', ''),
                         service_id_regex, 'Unit')
Exemplo n.º 2
0
 def add_part_of(self, user, logical_nh, physical_nh):
     physical_node = physical_nh.get_node()
     logical_handle_id = logical_nh.handle_id
     helpers.set_part_of(user, physical_node, logical_handle_id)
Exemplo n.º 3
0
 def link_part_of(cls, user, logical_nh, physical_nh):
     physical_node = physical_nh.get_node()
     logical_handle_id = logical_nh.handle_id
     helpers.set_part_of(user, physical_node, logical_handle_id)
Exemplo n.º 4
0
    def setUp(self):
        super(ServiceL2VPNResourceTest, self).setUp()
        # Set up a user
        self.username = '******'
        self.password = '******'
        self.user = User.objects.create(username=self.username,
                                        password=self.password)
        self.api_key = ApiKey.objects.create(user=self.user, key='testkey')

        # Set up an ID generator
        self.id_generator = UniqueIdGenerator.objects.create(
            name='nordunet_service_id',
            base_id_length=6,
            zfill=True,
            prefix='NU-S',
            creator=self.user)
        # Load the default forms
        global_preferences['general__data_domain'] = 'nordunet'
        global_preferences['id_generators__services'] = 'nordunet_service_id'
        reload(forms)

        # Set up initial data
        router_node_type = NodeType.objects.create(type='Router',
                                                   slug="router")
        port_node_type = NodeType.objects.create(type='Port', slug="port")
        unit_node_type = NodeType.objects.create(type='Unit', slug="unit")
        testing_service_class, created = ServiceClass.objects.get_or_create(
            name='Testing')
        l2vpn_service_type, created = ServiceType.objects.get_or_create(
            name='L2VPN', service_class=testing_service_class)
        if_switch_service_type, created = ServiceType.objects.get_or_create(
            name='Interface Switch', service_class=testing_service_class)
        # Have to create a service type as services can't be created without it.
        service_node_type = NodeType.objects.create(type='Service',
                                                    slug="service")
        self.router1 = NodeHandle.objects.create(
            node_name='Test Router 1',
            node_type=router_node_type,
            node_meta_type='Physical',
            creator=self.user,
            modifier=self.user,
        )
        self.router2 = NodeHandle.objects.create(
            node_name='Test Router 2',
            node_type=router_node_type,
            node_meta_type='Physical',
            creator=self.user,
            modifier=self.user,
        )
        self.port1 = NodeHandle.objects.create(
            node_name='Test Port 1',
            node_type=port_node_type,
            node_meta_type='Physical',
            creator=self.user,
            modifier=self.user,
        )
        self.port2 = NodeHandle.objects.create(
            node_name='Test Port 2',
            node_type=port_node_type,
            node_meta_type='Physical',
            creator=self.user,
            modifier=self.user,
        )
        self.unit1 = NodeHandle.objects.create(
            node_name='Test Unit 1',
            node_type=unit_node_type,
            node_meta_type='Logical',
            creator=self.user,
            modifier=self.user,
        )
        self.unit2 = NodeHandle.objects.create(
            node_name='Test Unit 2',
            node_type=unit_node_type,
            node_meta_type='Logical',
            creator=self.user,
            modifier=self.user,
        )

        self.DEFAULT_HANDLE_IDS = [
            self.router1.handle_id, self.router2.handle_id,
            self.port1.handle_id, self.port2.handle_id, self.unit1.handle_id,
            self.unit2.handle_id
        ]

        helpers.set_has(self.user, self.router1.get_node(),
                        self.port1.handle_id)
        helpers.set_has(self.user, self.router2.get_node(),
                        self.port2.handle_id)
        helpers.set_part_of(self.user, self.port1.get_node(),
                            self.unit1.handle_id)
        helpers.set_part_of(self.user, self.port2.get_node(),
                            self.unit2.handle_id)