def publish_exist_events(transformer, admin_context): notifications = transformer() # clear out admin_context.auth_token so it does not get logged admin_context.auth_token = None for notification in notifications: notifier.notify(admin_context, CONF.host, "trove.instance.exists", 'INFO', notification)
def publish_exist_events(transformer, admin_context): notifications = transformer() for notification in notifications: notifier.notify(admin_context, CONF.host, "trove.instance.exists", 'INFO', notification)
def send_usage_event(self, event_type, **kwargs): event_type = 'trove.instance.%s' % event_type publisher_id = CONF.host # Grab the instance size from the kwargs or from the nova client instance_size = kwargs.pop('instance_size', None) flavor = self.nova_client.flavors.get(self.flavor_id) server = kwargs.pop('server', None) if server is None: server = self.nova_client.servers.get(self.server_id) az = getattr(server, 'OS-EXT-AZ:availability_zone', None) # Default payload created_time = timeutils.isotime(self.db_info.created) payload = { 'availability_zone': az, 'created_at': created_time, 'name': self.name, 'instance_id': self.id, 'instance_name': self.name, 'instance_size': instance_size or flavor.ram, 'instance_type': flavor.name, 'instance_type_id': flavor.id, 'launched_at': created_time, 'nova_instance_id': self.server_id, 'region': CONF.region, 'state_description': self.status, 'state': self.status, 'tenant_id': self.tenant_id, 'user_id': self.context.user, } if CONF.trove_volume_support: payload.update({ 'volume_size': self.volume_size, 'nova_volume_id': self.volume_id }) payload['service_id'] = self._get_service_id( self.datastore.manager, CONF.notification_service_id) # Update payload with all other kwargs payload.update(kwargs) LOG.debug( _('Sending event: %(event_type)s, %(payload)s') % { 'event_type': event_type, 'payload': payload }) notifier.notify(self.context, publisher_id, event_type, 'INFO', payload)
def send_usage_event(self, event_type, **kwargs): event_type = 'trove.instance.%s' % event_type publisher_id = CONF.host # Grab the instance size from the kwargs or from the nova client instance_size = kwargs.pop('instance_size', None) flavor = self.nova_client.flavors.get(self.flavor_id) server = kwargs.pop('server', None) if server is None: server = self.nova_client.servers.get(self.server_id) az = getattr(server, 'OS-EXT-AZ:availability_zone', None) # Default payload created_time = timeutils.isotime(self.db_info.created) payload = { 'availability_zone': az, 'created_at': created_time, 'name': self.name, 'instance_id': self.id, 'instance_name': self.name, 'instance_size': instance_size or flavor.ram, 'instance_type': flavor.name, 'instance_type_id': flavor.id, 'launched_at': created_time, 'nova_instance_id': self.server_id, 'region': CONF.region, 'state_description': self.status, 'state': self.status, 'tenant_id': self.tenant_id, 'user_id': self.context.user, } if CONF.trove_volume_support: payload.update({ 'volume_size': self.volume_size, 'nova_volume_id': self.volume_id }) if CONF.notification_service_id: payload.update({ 'service_id': CONF.notification_service_id }) # Update payload with all other kwargs payload.update(kwargs) LOG.debug('Sending event: %s, %s' % (event_type, payload)) notifier.notify(self.context, publisher_id, event_type, 'INFO', payload)
def send_usage_event(self, event_type, **kwargs): event_type = "trove.instance.%s" % event_type publisher_id = CONF.host # Grab the instance size from the kwargs or from the nova client instance_size = kwargs.pop("instance_size", None) flavor = self.nova_client.flavors.get(self.flavor_id) server = kwargs.pop("server", None) if server is None: server = self.nova_client.servers.get(self.server_id) az = getattr(server, "OS-EXT-AZ:availability_zone", None) # Default payload created_time = timeutils.isotime(self.db_info.created) payload = { "availability_zone": az, "created_at": created_time, "name": self.name, "instance_id": self.id, "instance_name": self.name, "instance_size": instance_size or flavor.ram, "instance_type": flavor.name, "instance_type_id": flavor.id, "launched_at": created_time, "nova_instance_id": self.server_id, "region": CONF.region, "state_description": self.status, "state": self.status, "tenant_id": self.tenant_id, "user_id": self.context.user, } if CONF.trove_volume_support: payload.update({"volume_size": self.volume_size, "nova_volume_id": self.volume_id}) if CONF.notification_service_id: payload.update({"service_id": CONF.notification_service_id}) # Update payload with all other kwargs payload.update(kwargs) LOG.debug("Sending event: %s, %s" % (event_type, payload)) notifier.notify(self.context, publisher_id, event_type, "INFO", payload)