Merge "Drop timestamping in pollsters"

This commit is contained in:
Jenkins 2016-06-06 15:24:22 +00:00 committed by Gerrit Code Review
commit 0569b75b10
20 changed files with 46 additions and 121 deletions

View File

@ -13,7 +13,6 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from oslo_utils import timeutils
from ceilometer.compute import util as compute_util from ceilometer.compute import util as compute_util
from ceilometer import sample from ceilometer import sample
@ -88,7 +87,6 @@ def make_sample_from_instance(instance, name, type, unit, volume,
user_id=instance.user_id, user_id=instance.user_id,
project_id=instance.tenant_id, project_id=instance.tenant_id,
resource_id=resource_id or instance.id, resource_id=resource_id or instance.id,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=resource_metadata, resource_metadata=resource_metadata,
) )

View File

@ -12,8 +12,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import datetime
from keystoneauth1 import exceptions from keystoneauth1 import exceptions
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
@ -104,8 +102,6 @@ class EnergyPollster(_Base):
user_id=None, user_id=None,
project_id=None, project_id=None,
resource_id=probe['id'], resource_id=probe['id'],
timestamp=datetime.datetime.fromtimestamp(
probe['timestamp']).isoformat(),
resource_metadata={} resource_metadata={}
) )
@ -124,7 +120,5 @@ class PowerPollster(_Base):
user_id=None, user_id=None,
project_id=None, project_id=None,
resource_id=probe['id'], resource_id=probe['id'],
timestamp=datetime.datetime.fromtimestamp(
probe['timestamp']).isoformat(),
resource_metadata={} resource_metadata={}
) )

View File

@ -20,7 +20,6 @@
import copy import copy
from oslo_utils import timeutils
from six.moves.urllib import parse as urlparse from six.moves.urllib import parse as urlparse
from ceilometer import sample from ceilometer import sample
@ -59,7 +58,6 @@ def make_sample_from_host(host_url, name, sample_type, unit, volume,
user_id=user_id or extra.get('user_id'), user_id=user_id or extra.get('user_id'),
project_id=project_id or extra.get('project_id'), project_id=project_id or extra.get('project_id'),
resource_id=res_id, resource_id=res_id,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=resource_metadata, resource_metadata=resource_metadata,
source='hardware', source='hardware',
) )

View File

@ -19,7 +19,6 @@ from __future__ import absolute_import
import glanceclient import glanceclient
from oslo_config import cfg from oslo_config import cfg
from oslo_utils import timeutils
from ceilometer.agent import plugin_base from ceilometer.agent import plugin_base
from ceilometer import keystone_client from ceilometer import keystone_client
@ -110,7 +109,6 @@ class ImagePollster(_Base):
user_id=None, user_id=None,
project_id=image.owner, project_id=image.owner,
resource_id=image.id, resource_id=image.id,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_image_metadata(image), resource_metadata=self.extract_image_metadata(image),
) )
@ -127,6 +125,5 @@ class ImageSizePollster(_Base):
user_id=None, user_id=None,
project_id=image.owner, project_id=image.owner,
resource_id=image.id, resource_id=image.id,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_image_metadata(image), resource_metadata=self.extract_image_metadata(image),
) )

View File

@ -16,7 +16,6 @@ import abc
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
import six import six
from ceilometer.agent import plugin_base from ceilometer.agent import plugin_base
@ -89,7 +88,6 @@ class _Base(plugin_base.PollsterBase):
user_id=None, user_id=None,
project_id=None, project_id=None,
resource_id=CONF.host, resource_id=CONF.host,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=metadata) resource_metadata=metadata)

View File

@ -14,7 +14,6 @@
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
from ceilometer.agent import plugin_base from ceilometer.agent import plugin_base
from ceilometer.i18n import _ from ceilometer.i18n import _
@ -112,7 +111,6 @@ class SensorPollster(plugin_base.PollsterBase):
user_id=None, user_id=None,
project_id=None, project_id=None,
resource_id=resource_id, resource_id=resource_id,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=metadata) resource_metadata=metadata)

View File

@ -18,7 +18,6 @@
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
from ceilometer.i18n import _LW from ceilometer.i18n import _LW
from ceilometer.network.services import base from ceilometer.network.services import base
@ -59,6 +58,5 @@ class FloatingIPPollster(base.BaseServicesPollster):
user_id=fip.get('user_id'), user_id=fip.get('user_id'),
project_id=fip['tenant_id'], project_id=fip['tenant_id'],
resource_id=fip['id'], resource_id=fip['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(fip) resource_metadata=self.extract_metadata(fip)
) )

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
from ceilometer.i18n import _ from ceilometer.i18n import _
from ceilometer.network.services import base from ceilometer.network.services import base
@ -58,7 +57,6 @@ class FirewallPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=fw['tenant_id'], project_id=fw['tenant_id'],
resource_id=fw['id'], resource_id=fw['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(fw) resource_metadata=self.extract_metadata(fw)
) )
@ -92,6 +90,5 @@ class FirewallPolicyPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=fw['tenant_id'], project_id=fw['tenant_id'],
resource_id=fw['id'], resource_id=fw['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(fw) resource_metadata=self.extract_metadata(fw)
) )

View File

@ -18,7 +18,6 @@ import collections
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
import six import six
from ceilometer.i18n import _ from ceilometer.i18n import _
@ -98,7 +97,6 @@ class LBPoolPollster(BaseLBPollster):
user_id=None, user_id=None,
project_id=pool['tenant_id'], project_id=pool['tenant_id'],
resource_id=pool['id'], resource_id=pool['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(pool) resource_metadata=self.extract_metadata(pool)
) )
@ -146,7 +144,6 @@ class LBVipPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=vip['tenant_id'], project_id=vip['tenant_id'],
resource_id=vip['id'], resource_id=vip['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(vip) resource_metadata=self.extract_metadata(vip)
) )
@ -186,7 +183,6 @@ class LBMemberPollster(BaseLBPollster):
user_id=None, user_id=None,
project_id=member['tenant_id'], project_id=member['tenant_id'],
resource_id=member['id'], resource_id=member['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(member) resource_metadata=self.extract_metadata(member)
) )
@ -217,7 +213,6 @@ class LBHealthMonitorPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=probe['tenant_id'], project_id=probe['tenant_id'],
resource_id=probe['id'], resource_id=probe['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(probe) resource_metadata=self.extract_metadata(probe)
) )
@ -248,7 +243,6 @@ class _LBStatsPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=pool['tenant_id'], project_id=pool['tenant_id'],
resource_id=pool['id'], resource_id=pool['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=resource_metadata, resource_metadata=resource_metadata,
) )
@ -377,7 +371,6 @@ def make_sample_from_pool(pool, name, type, unit, volume,
user_id=None, user_id=None,
project_id=pool['tenant_id'], project_id=pool['tenant_id'],
resource_id=pool['id'], resource_id=pool['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=resource_metadata, resource_metadata=resource_metadata,
) )
@ -423,7 +416,6 @@ class LBListenerPollster(BaseLBPollster):
user_id=None, user_id=None,
project_id=listener['tenant_id'], project_id=listener['tenant_id'],
resource_id=listener['id'], resource_id=listener['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(listener) resource_metadata=self.extract_metadata(listener)
) )
@ -468,6 +460,5 @@ class LBLoadBalancerPollster(BaseLBPollster):
user_id=None, user_id=None,
project_id=loadbalancer['tenant_id'], project_id=loadbalancer['tenant_id'],
resource_id=loadbalancer['id'], resource_id=loadbalancer['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(loadbalancer) resource_metadata=self.extract_metadata(loadbalancer)
) )

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
from ceilometer.i18n import _ from ceilometer.i18n import _
from ceilometer.network.services import base from ceilometer.network.services import base
@ -59,7 +58,6 @@ class VPNServicesPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=vpn['tenant_id'], project_id=vpn['tenant_id'],
resource_id=vpn['id'], resource_id=vpn['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(vpn) resource_metadata=self.extract_metadata(vpn)
) )
@ -102,6 +100,5 @@ class IPSecConnectionsPollster(base.BaseServicesPollster):
user_id=None, user_id=None,
project_id=conn['tenant_id'], project_id=conn['tenant_id'],
resource_id=conn['id'], resource_id=conn['id'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=self.extract_metadata(conn) resource_metadata=self.extract_metadata(conn)
) )

View File

@ -86,7 +86,7 @@ class _Base(plugin_base.PollsterBase):
if not isinstance(data, list): if not isinstance(data, list):
data = [data] data = [data]
for (volume, resource_id, for (volume, resource_id,
resource_metadata, timestamp) in data: resource_metadata) in data:
yield sample.Sample( yield sample.Sample(
name=self.meter_name, name=self.meter_name,
@ -96,6 +96,5 @@ class _Base(plugin_base.PollsterBase):
user_id=None, user_id=None,
project_id=None, project_id=None,
resource_id=resource_id, resource_id=resource_id,
timestamp=timestamp,
resource_metadata=resource_metadata resource_metadata=resource_metadata
) )

View File

@ -14,7 +14,6 @@
import re import re
from oslo_utils import timeutils
from six.moves.urllib import parse as urlparse from six.moves.urllib import parse as urlparse
from ceilometer.network.statistics import driver from ceilometer.network.statistics import driver
@ -104,7 +103,6 @@ class OpencontrailDriver(driver.Driver):
fqdn_uuid = params.get('fqdn_uuid', ['*'])[0] fqdn_uuid = params.get('fqdn_uuid', ['*'])[0]
virtual_network = params.get('virtual_network', [None])[0] virtual_network = params.get('virtual_network', [None])[0]
timestamp = timeutils.utcnow().isoformat()
statistics = data['o_client'].networks.get_vm_statistics(fqdn_uuid) statistics = data['o_client'].networks.get_vm_statistics(fqdn_uuid)
if not statistics: if not statistics:
return return
@ -113,7 +111,7 @@ class OpencontrailDriver(driver.Driver):
for sample in iter(extractor, value, ports_map, for sample in iter(extractor, value, ports_map,
resource, virtual_network): resource, virtual_network):
if sample is not None: if sample is not None:
yield sample + (timestamp, ) yield sample
def _get_iter(self, meter_name): def _get_iter(self, meter_name):
if meter_name.startswith('switch.port'): if meter_name.startswith('switch.port'):

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
import six import six
from six import moves from six import moves
from six.moves.urllib import parse as urlparse from six.moves.urllib import parse as urlparse
@ -161,9 +160,6 @@ class OpenDayLightDriver(driver.Driver):
cs.host_tracker.get_active_hosts(container_name)) cs.host_tracker.get_active_hosts(container_name))
container_data['inactive_hosts'] = ( container_data['inactive_hosts'] = (
cs.host_tracker.get_inactive_hosts(container_name)) cs.host_tracker.get_inactive_hosts(container_name))
container_data['timestamp'] = timeutils.utcnow().isoformat()
data[container_name] = container_data data[container_name] = container_data
except Exception: except Exception:
LOG.exception(_('Request failed to connect to OpenDaylight' LOG.exception(_('Request failed to connect to OpenDaylight'
@ -199,7 +195,6 @@ class OpenDayLightDriver(driver.Driver):
samples = [] samples = []
for name, value in six.iteritems(data): for name, value in six.iteritems(data):
timestamp = value['timestamp']
for sample in iter(extractor, value): for sample in iter(extractor, value):
if sample is not None: if sample is not None:
# set controller name and container name # set controller name and container name
@ -207,7 +202,7 @@ class OpenDayLightDriver(driver.Driver):
sample[2]['controller'] = 'OpenDaylight' sample[2]['controller'] = 'OpenDaylight'
sample[2]['container'] = name sample[2]['container'] = name
samples.append(sample + (timestamp, )) samples.append(sample)
return samples return samples

View File

@ -18,7 +18,6 @@
from keystoneauth1 import exceptions from keystoneauth1 import exceptions
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse import six.moves.urllib.parse as urlparse
from ceilometer.agent import plugin_base from ceilometer.agent import plugin_base
@ -117,7 +116,6 @@ class ContainersObjectsPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant + '/' + it.name, resource_id=tenant + '/' + it.name,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -137,7 +135,6 @@ class ContainersSizePollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant + '/' + it.name, resource_id=tenant + '/' + it.name,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -156,7 +153,6 @@ class ObjectsSizePollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -175,7 +171,6 @@ class ObjectsPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -192,7 +187,6 @@ class ObjectsContainersPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -212,6 +206,5 @@ class UsagePollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )

View File

@ -20,7 +20,6 @@ from __future__ import absolute_import
from keystoneauth1 import exceptions from keystoneauth1 import exceptions
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log from oslo_log import log
from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse import six.moves.urllib.parse as urlparse
from swiftclient import client as swift from swiftclient import client as swift
@ -117,7 +116,6 @@ class ObjectsPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -136,7 +134,6 @@ class ObjectsSizePollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -155,7 +152,6 @@ class ObjectsContainersPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant, resource_id=tenant,
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -179,7 +175,6 @@ class ContainersObjectsPollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant + '/' + container['name'], resource_id=tenant + '/' + container['name'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )
@ -203,6 +198,5 @@ class ContainersSizePollster(_Base):
user_id=None, user_id=None,
project_id=tenant, project_id=tenant,
resource_id=tenant + '/' + container['name'], resource_id=tenant + '/' + container['name'],
timestamp=timeutils.utcnow().isoformat(),
resource_metadata=None, resource_metadata=None,
) )

View File

@ -12,8 +12,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import datetime
from keystoneauth1 import exceptions from keystoneauth1 import exceptions
import mock import mock
from oslotest import base from oslotest import base
@ -107,10 +105,6 @@ class TestEnergyPollster(_BaseTestCase):
samples_by_name = dict((s.resource_id, s) for s in samples) samples_by_name = dict((s.resource_id, s) for s in samples)
for name, probe in PROBE_DICT['probes'].items(): for name, probe in PROBE_DICT['probes'].items():
sample = samples_by_name[name] sample = samples_by_name[name]
expected = datetime.datetime.fromtimestamp(
probe['timestamp']
).isoformat()
self.assertEqual(expected, sample.timestamp)
self.assertEqual(probe[self.unit], sample.volume) self.assertEqual(probe[self.unit], sample.volume)

View File

@ -135,8 +135,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},),
mock.ANY),
(13, (13,
'96d49cc3-4e01-40ce-9cac-c0e32642a442', '96d49cc3-4e01-40ce-9cac-c0e32642a442',
{'device_owner_id': {'device_owner_id':
@ -145,8 +144,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.receive.packets', expected, self._test_meter('switch.port.receive.packets', expected,
self.fake_port_stats_with_node()) self.fake_port_stats_with_node())
@ -159,8 +157,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.receive.packets', expected) self._test_meter('switch.port.receive.packets', expected)
def test_switch_port_transmit_packets(self): def test_switch_port_transmit_packets(self):
@ -172,8 +169,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.transmit.packets', expected) self._test_meter('switch.port.transmit.packets', expected)
def test_switch_port_receive_bytes(self): def test_switch_port_receive_bytes(self):
@ -185,8 +181,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.receive.bytes', expected) self._test_meter('switch.port.receive.bytes', expected)
def test_switch_port_transmit_bytes(self): def test_switch_port_transmit_bytes(self):
@ -198,8 +193,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'}, 'resource': 'if_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.transmit.bytes', expected) self._test_meter('switch.port.transmit.bytes', expected)
def test_switch_port_receive_packets_fip(self): def test_switch_port_receive_packets_fip(self):
@ -212,8 +206,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'}, 'resource': 'fip_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.receive.packets', expected) self._test_meter('switch.port.receive.packets', expected)
def test_switch_port_transmit_packets_fip(self): def test_switch_port_transmit_packets_fip(self):
@ -226,8 +219,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'}, 'resource': 'fip_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.transmit.packets', expected) self._test_meter('switch.port.transmit.packets', expected)
def test_switch_port_receive_bytes_fip(self): def test_switch_port_receive_bytes_fip(self):
@ -240,8 +232,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'}, 'resource': 'fip_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.receive.bytes', expected) self._test_meter('switch.port.receive.bytes', expected)
def test_switch_port_transmit_bytes_fip(self): def test_switch_port_transmit_bytes_fip(self):
@ -254,8 +245,7 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'}, 'resource': 'fip_stats_list'},)]
mock.ANY)]
self._test_meter('switch.port.transmit.bytes', expected) self._test_meter('switch.port.transmit.bytes', expected)
def test_switch_port_transmit_bytes_non_existing_network(self): def test_switch_port_transmit_bytes_non_existing_network(self):

View File

@ -122,7 +122,6 @@ class _Base(base.BaseTestCase):
self.assertEqual(expected[0], sample[0]) # check volume self.assertEqual(expected[0], sample[0]) # check volume
self.assertEqual(expected[1], sample[1]) # check resource id self.assertEqual(expected[1], sample[1]) # check resource id
self.assertEqual(expected[2], sample[2]) # check resource metadata self.assertEqual(expected[2], sample[2]) # check resource metadata
self.assertIsNotNone(sample[3]) # timestamp
class TestOpenDayLightDriverSpecial(_Base): class TestOpenDayLightDriverSpecial(_Base):

View File

@ -105,8 +105,7 @@ class TestBaseGetSamples(base.BaseTestCase):
return [v for v in self.pollster.get_samples(self, {}, resources)] return [v for v in self.pollster.get_samples(self, {}, resources)]
def _assert_sample(self, s, volume, resource_id, resource_metadata, def _assert_sample(self, s, volume, resource_id, resource_metadata):
timestamp):
self.assertEqual('foo', s.name) self.assertEqual('foo', s.name)
self.assertEqual(sample.TYPE_CUMULATIVE, s.type) self.assertEqual(sample.TYPE_CUMULATIVE, s.type)
self.assertEqual('bar', s.unit) self.assertEqual('bar', s.unit)
@ -114,66 +113,57 @@ class TestBaseGetSamples(base.BaseTestCase):
self.assertIsNone(s.user_id) self.assertIsNone(s.user_id)
self.assertIsNone(s.project_id) self.assertIsNone(s.project_id)
self.assertEqual(resource_id, s.resource_id) self.assertEqual(resource_id, s.resource_id)
self.assertEqual(timestamp, s.timestamp)
self.assertEqual(resource_metadata, s.resource_metadata) self.assertEqual(resource_metadata, s.resource_metadata)
def test_get_samples_one_driver_one_resource(self): def test_get_samples_one_driver_one_resource(self):
times = self._make_timestamps(2) fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'}, (2, 'b', None))
times[0]),
(2, 'b', None, times[1]))
self._setup_ext_mgr(http=fake_driver()) self._setup_ext_mgr(http=fake_driver())
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(1, len(samples)) self.assertEqual(1, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, times[0]) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
def test_get_samples_one_driver_two_resource(self): def test_get_samples_one_driver_two_resource(self):
times = self._make_timestamps(3) fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'}, (2, 'b', None),
times[0]), (3, 'c', None))
(2, 'b', None, times[1]),
(3, 'c', None, times[2]))
self._setup_ext_mgr(http=fake_driver()) self._setup_ext_mgr(http=fake_driver())
samples = self._get_samples('http://foo', 'http://bar') samples = self._get_samples('http://foo', 'http://bar')
self.assertEqual(2, len(samples)) self.assertEqual(2, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, times[0]) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
self._assert_sample(samples[1], 2, 'b', {}, times[1]) self._assert_sample(samples[1], 2, 'b', {})
def test_get_samples_two_driver_one_resource(self): def test_get_samples_two_driver_one_resource(self):
times = self._make_timestamps(4) fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'}, (2, 'b', None))
times[0]),
(2, 'b', None), times[1])
fake_driver2 = self._make_fake_driver((11, 'A', None, times[2]), fake_driver2 = self._make_fake_driver((11, 'A', None),
(12, 'B', None, times[3])) (12, 'B', None))
self._setup_ext_mgr(http=fake_driver1(), https=fake_driver2()) self._setup_ext_mgr(http=fake_driver1(), https=fake_driver2())
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(1, len(samples)) self.assertEqual(1, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, times[0]) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
def test_get_samples_multi_samples(self): def test_get_samples_multi_samples(self):
times = self._make_timestamps(2) fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'},),
fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'}, (2, 'b', None)])
times[0]),
(2, 'b', None, times[1])])
self._setup_ext_mgr(http=fake_driver()) self._setup_ext_mgr(http=fake_driver())
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(2, len(samples)) self.assertEqual(2, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, times[0]) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
self._assert_sample(samples[1], 2, 'b', {}, times[1]) self._assert_sample(samples[1], 2, 'b', {})
def test_get_samples_return_none(self): def test_get_samples_return_none(self):
fake_driver = self._make_fake_driver(None) fake_driver = self._make_fake_driver(None)

View File

@ -0,0 +1,7 @@
---
fixes:
- >
[`bug 1491509 <https://bugs.launchpad.net/ceilometer/+bug/1491509>`_]
Patch to unify timestamp in samples polled by pollsters. Set the time
point polling starts as timestamp of samples, and drop timetamping in
pollsters.