def create_instance_sync(self, payload): """Notifies that an instance has been created.""" instance_id = payload.get('instance_id') instance_name = payload.get('hostname') if self.traceable: LOG.info("Created instance: %s, host: %s", instance_id, instance_name) dbi.add_or_update_instance(self.context.session, instance_id, instance_name) ips = payload.get('fixed_ips') if not ips: return macs = [ip.get('vif_mac') for ip in ips if ip.get('vif_mac')] ip_addresses = [ip['address'] for ip in ips] port_filter = { 'mac_address': macs, 'fixed_ips': { 'ip_address': ip_addresses } } ports = self.plugin.get_ports(self.context, filters=port_filter) for port in ports: self._process_port(port, 'Instance creation', instance_name)
def test_add_or_update_instance(self): instances = {'instance-id1': 'instance-name1'} self._create_instances(instances) new_instance_name = 'instance-name-updated' infoblox_db.add_or_update_instance(self.ctx.session, 'instance-id1', new_instance_name) instance = infoblox_db.get_instance(self.ctx.session, 'instance-id1') self.assertEqual(new_instance_name, instance.instance_name) infoblox_db.add_or_update_instance(self.ctx.session, 'instance-id2', 'instance-name2') instance = infoblox_db.get_instance(self.ctx.session, 'instance-id2') self.assertEqual('instance-name2', instance.instance_name)
def test_add_or_update_instance(self): instances = {'instance-id1': 'instance-name1'} self._create_instances(instances) new_instance_name = 'instance-name-updated' infoblox_db.add_or_update_instance(self.ctx.session, 'instance-id1', new_instance_name) instance = infoblox_db.get_instance(self.ctx.session, 'instance-id1') self.assertEqual(new_instance_name, instance.instance_name) infoblox_db.add_or_update_instance(self.ctx.session, 'instance-id2', 'instance-name2') instance = infoblox_db.get_instance(self.ctx.session, 'instance-id2') self.assertEqual('instance-name2', instance.instance_name)
def create_instance_sync(self, payload): """Notifies that an instance has been created.""" instance_id = payload.get('instance_id') instance_name = payload.get('hostname') dbi.add_or_update_instance(self.context.session, instance_id, instance_name) if self.traceable: LOG.info("Created instance: %s, host: %s", instance_id, instance_name) ips = payload.get('fixed_ips') if not ips: return macs = [ip.get('vif_mac') for ip in ips if ip.get('vif_mac')] ip_addresses = [ip['address'] for ip in ips] port_filter = {'mac_address': macs, 'fixed_ips': {'ip_address': ip_addresses}} ports = self.plugin.get_ports(self.context, filters=port_filter) for port in ports: self._process_port(port, 'Instance creation', instance_name)