~ubuntu-branches/ubuntu/trusty/ceilometer/trusty-proposed

« back to all changes in this revision

Viewing changes to ceilometer/network/notifications.py

  • Committer: Package Import Robot
  • Author(s): Corey Bryant
  • Date: 2014-06-09 14:49:20 UTC
  • mfrom: (1.1.17)
  • Revision ID: package-import@ubuntu.com-20140609144920-6rbe4hw1k7lvj0u6
Tags: 2014.1.1-0ubuntu1
* Resynchronize with stable/icehouse (a1ec218) (LP: #1328134):
  - [84635e6] Fix testing gate due to new keystoneclient release
  - [c52904d] Fix network notifications of neutron bulk creation
  - [06eb8bc] Sync kombu_reconnect_delay from Oslo
  - [d247af3] Updated from global requirements
  - [82eed26] Disable specifying alarm itself in combination rule
  - [94c12fd] Adapt failing tests for latest wsme version
  - [a1ec218] Use known protocol scheme in keystone tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
   events.
20
20
 
21
21
"""
 
22
import copy
22
23
 
23
24
from oslo.config import cfg
24
25
 
77
78
 
78
79
    def process_notification(self, message):
79
80
        LOG.info(_('network notification %r') % message)
80
 
        message['payload'] = message['payload'][self.resource_name]
81
81
        counter_name = getattr(self, 'counter_name', self.resource_name)
82
82
        unit_value = getattr(self, 'unit', self.resource_name)
83
83
 
84
 
        yield sample.Sample.from_notification(
85
 
            name=counter_name,
86
 
            type=sample.TYPE_GAUGE,
87
 
            unit=unit_value,
88
 
            volume=1,
89
 
            user_id=message['_context_user_id'],
90
 
            project_id=message['_context_tenant_id'],
91
 
            resource_id=message['payload']['id'],
92
 
            message=message)
93
 
 
94
 
        event_type_split = message['event_type'].split('.')
95
 
        if len(event_type_split) > 2:
 
84
        payload = message['payload'].get(self.resource_name)
 
85
        payloads = message['payload'].get(self.resource_name + 's')
 
86
        payload_list = copy.copy([payload] if payload else payloads)
 
87
        for p in payload_list:
 
88
            message['payload'] = p
96
89
            yield sample.Sample.from_notification(
97
 
                name=counter_name
98
 
                + "." + event_type_split[1],
99
 
                type=sample.TYPE_DELTA,
 
90
                name=counter_name,
 
91
                type=sample.TYPE_GAUGE,
100
92
                unit=unit_value,
101
93
                volume=1,
102
94
                user_id=message['_context_user_id'],
103
95
                project_id=message['_context_tenant_id'],
104
96
                resource_id=message['payload']['id'],
105
97
                message=message)
 
98
            event_type_split = message['event_type'].split('.')
 
99
            if len(event_type_split) > 2:
 
100
                yield sample.Sample.from_notification(
 
101
                    name=counter_name
 
102
                    + "." + event_type_split[1],
 
103
                    type=sample.TYPE_DELTA,
 
104
                    unit=unit_value,
 
105
                    volume=1,
 
106
                    user_id=message['_context_user_id'],
 
107
                    project_id=message['_context_tenant_id'],
 
108
                    resource_id=message['payload']['id'],
 
109
                    message=message)
106
110
 
107
111
 
108
112
class Network(NetworkNotificationBase):