def test_add_or_update_network(self):
        networks = {'network-id1': 'network-name1'}
        self._create_networks(networks)
        new_network_name = 'network-name-updated'
        infoblox_db.add_or_update_network(self.ctx.session,
                                          'network-id1', new_network_name)
        network = infoblox_db.get_network(self.ctx.session, 'network-id1')
        self.assertEqual(new_network_name, network.network_name)

        infoblox_db.add_or_update_network(self.ctx.session,
                                          'network-id2', 'network-name2')
        network = infoblox_db.get_network(self.ctx.session, 'network-id2')
        self.assertEqual('network-name2', network.network_name)
Пример #2
0
    def test_add_or_update_network(self):
        networks = {'network-id1': 'network-name1'}
        self._create_networks(networks)
        new_network_name = 'network-name-updated'
        infoblox_db.add_or_update_network(self.ctx.session, 'network-id1',
                                          new_network_name)
        network = infoblox_db.get_network(self.ctx.session, 'network-id1')
        self.assertEqual(new_network_name, network.network_name)

        infoblox_db.add_or_update_network(self.ctx.session, 'network-id2',
                                          'network-name2')
        network = infoblox_db.get_network(self.ctx.session, 'network-id2')
        self.assertEqual('network-name2', network.network_name)
Пример #3
0
    def create_network_sync(self, payload):
        """Notifies that new networks have been created."""
        if 'networks' in payload:
            networks = payload.get('networks')
        else:
            networks = [payload.get('network')]

        for network in networks:
            if self.traceable:
                LOG.info("Created network: %s", network)
            dbi.add_or_update_network(self.context.session, network.get('id'),
                                      network.get('name'))

        if self.grid_config.tenant_name_persistence:
            keystone_manager.update_tenant_mapping(self.context, networks,
                                                   self.ctxt['tenant_id'],
                                                   self.ctxt['tenant_name'])
    def create_network_sync(self, payload):
        """Notifies that new networks have been created."""
        if 'networks' in payload:
            networks = payload.get('networks')
        else:
            networks = [payload.get('network')]

        for network in networks:
            if self.traceable:
                LOG.info("Created network: %s", network)
            dbi.add_or_update_network(self.context.session,
                                      network.get('id'), network.get('name'))

        if self.grid_config.tenant_name_persistence:
            keystone_manager.update_tenant_mapping(self.context,
                                                   networks,
                                                   self.ctxt['tenant_id'],
                                                   self.ctxt['tenant_name'],
                                                   self.ctxt['auth_token'])
Пример #5
0
    def update_network_sync(self, payload):
        """Notifies that the network property has been updated."""
        network = payload.get('network')

        if self.traceable:
            LOG.info("Updated network: %s", network)

        ib_context = context.InfobloxContext(self.context, self.user_id,
                                             network, None, self.grid_config,
                                             self.plugin)
        ipam_controller = ipam.IpamAsyncController(ib_context)
        network_id = network.get('id')
        new_name = network.get('name')
        old_network = dbi.get_network(self.context.session, network_id)
        need_new_zones = False
        if new_name is not None and (old_network is None
                                     or new_name != old_network.network_name):
            dbi.add_or_update_network(self.context.session, network_id,
                                      new_name)
            pattern = self.grid_config.default_domain_name_pattern
            if '{network_name}' in pattern:
                need_new_zones = True
        ipam_controller.update_network_sync(need_new_zones)
    def update_network_sync(self, payload):
        """Notifies that the network property has been updated."""
        network = payload.get('network')

        if self.traceable:
            LOG.info("Updated network: %s", network)

        ib_context = context.InfobloxContext(self.context, self.user_id,
                                             network, None, self.grid_config,
                                             self.plugin)
        ipam_controller = ipam.IpamAsyncController(ib_context)
        network_id = network.get('id')
        new_name = network.get('name')
        old_network = dbi.get_network(self.context.session, network_id)
        need_new_zones = False
        if new_name is not None and (
                old_network is None or new_name != old_network.network_name):
            dbi.add_or_update_network(self.context.session,
                                      network_id, new_name)
            pattern = self.grid_config.default_domain_name_pattern
            if '{network_name}' in pattern:
                need_new_zones = True
        ipam_controller.update_network_sync(need_new_zones)