Skip to content

Instantly share code, notes, and snippets.

@denismakogon
Created May 23, 2014 10:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denismakogon/c4a784d364f0af0fc543 to your computer and use it in GitHub Desktop.
Save denismakogon/c4a784d364f0af0fc543 to your computer and use it in GitHub Desktop.
Notification refactoring
def send_stack_usage_even(self, event_type, **kwargs):
az = kwargs.pop('az')
name = kwargs.pop('name')
event_type = 'trove.instance.%s' % event_type
publisher_id = CONF.host
created_time = timeutils.isotime(self.db_info.created)
compute_instance_id = kwargs.pop('compute_instance_id')
payload = {'availability_zone': az,
'created_at': created_time,
'name': name,
'instance_id': self.id,
'instance_name': name,
'flavor_name': self.new_flavor['name'],
'flavor_id': self.new_flavor['id'],
'launched_at': created_time,
'compute_instance_id': compute_instance_id,
'region': CONF.region,
'state_description': self.status.description,
'state': self.status,
'tenant_id': self.tenant_id,
'user_id': self.context.user,
'service_id': self._get_service_id(
self.datastore_version.manager,
CONF.notification_service_id)}
if CONF.trove_volume_support:
payload.update({
'volume_size': self.db_info.volume_size,
'volume_id': self.db_info.volume_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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment