ceilometer 7.0.1 release

meta:version: 7.0.1
 meta:diff-start: -
 meta:series: newton
 meta:release-type: release
 meta:pypi: no
 meta:first: no
 meta:release:Author: Julien Danjou <julien@danjou.info>
 meta:release:Commit: Julien Danjou <julien@danjou.info>
 meta:release:Change-Id: Ie1d1f7d70e2521b7d431588d315680bb71196451
 meta:release:Code-Review+2: Doug Hellmann <doug@doughellmann.com>
 meta:release:Code-Review+2: Tony Breeds <tony@bakeyournoodle.com>
 meta:release:Workflow+1: Tony Breeds <tony@bakeyournoodle.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJYRM6vAAoJELkGmxM1cAzcP6sH/05Uz/9w6o/Wkbeqb2TWhYOX
 kw4lJqwTmvVAbxaRqf1QILZHuUOE6M/JKSUehPI900R35vSU/bba0MV6MXOpS2OW
 d/45vbwmquXdD/IFiqlxWgI7bWrV69gfZPtaSQYSZdeTRwjn7MUgIsXTLZgaakIJ
 asJ9x70fxrHbeQcwBQSPvY40OfKRY2scQBabfHL2UEUKBgmPolxC5hUa282hz3Jb
 Uk4yGvBdiYQlWLOXTMy7aE0te9zKUwUsrhD0oUKCXcUBespMttZ8gOECF66OHND4
 ilSrncDuWnsV9vHOH9KxxKix6ZfdSUGSQA/Xw/oQK5Np19JfBkRvuIOLluKVuKQ=
 =tQV6
 -----END PGP SIGNATURE-----

Merge tag '7.0.1' into debian/newton

New upstream release

Change-Id: Id3480fd8d23f4077d2fff1d29ec1b0affc5953b5
meta:version: 7.0.1
meta:diff-start: -
meta:series: newton
meta:release-type: release
meta:pypi: no
meta:first: no
meta:release:Author: Julien Danjou <julien@danjou.info>
meta:release:Commit: Julien Danjou <julien@danjou.info>
meta:release:Change-Id: Ie1d1f7d70e2521b7d431588d315680bb71196451
meta:release:Code-Review+2: Doug Hellmann <doug@doughellmann.com>
meta:release:Code-Review+2: Tony Breeds <tony@bakeyournoodle.com>
meta:release:Workflow+1: Tony Breeds <tony@bakeyournoodle.com>
This commit is contained in:
Ondřej Nový 2016-12-11 16:47:03 +01:00
commit b226e6bb0c
38 changed files with 714 additions and 529 deletions

View File

@ -91,7 +91,7 @@ def expirer():
def db_clean_legacy():
cfg.CONF.register_cli_opts([
cfg.strOpt('confirm-drop-alarm-table',
cfg.StrOpt('confirm-drop-alarm-table',
short='n',
help='confirm to drop the legacy alarm tables')])
if not cfg.CONF.confirm_drop_alarm_table:

View File

@ -14,6 +14,7 @@
# under the License.
from itertools import chain
import select
import socket
import cotyledon
@ -111,6 +112,10 @@ class CollectorService(cotyledon.Service):
self.udp_run = True
while self.udp_run:
# NOTE(sileht): return every 10 seconds to allow
# clear shutdown
if not select.select([udp], [], [], 10.0)[0]:
continue
# NOTE(jd) Arbitrary limit of 64K because that ought to be
# enough for anybody.
data, source = udp.recvfrom(64 * units.Ki)

View File

@ -105,7 +105,7 @@ class CPUL3CachePollster(pollsters.BaseComputePollster):
cpu_cache = self.inspector.inspect_cpu_l3_cache(instance)
LOG.debug(_("CPU cache size: %(id)s %(cache_size)d"),
({'id': instance.id,
'l3_cache_usage': cpu_cache.l3_cache_usage}))
'cache_size': cpu_cache.l3_cache_usage}))
yield util.make_sample_from_instance(
instance,
name='cpu_l3_cache',

View File

@ -124,7 +124,10 @@ class LibvirtInspector(virt_inspector.Inspector):
perf = stats[0][1]
usage = perf["perf.cmt"]
return virt_inspector.CPUL3CacheUsageStats(l3_cache_usage=usage)
except AttributeError as e:
except (KeyError, AttributeError) as e:
# NOTE(sileht): KeyError if for libvirt >=2.0.0,<2.3.0, the perf
# subsystem ws existing but not these attributes
# https://github.com/libvirt/libvirt/commit/bae660869de0612bee2a740083fb494c27e3f80c
msg = _('Perf is not supported by current version of libvirt, and '
'failed to inspect l3 cache usage of %(instance_uuid)s, '
'can not get info from libvirt: %(error)s') % {
@ -264,7 +267,10 @@ class LibvirtInspector(virt_inspector.Inspector):
perf = stats[0][1]
return virt_inspector.MemoryBandwidthStats(total=perf["perf.mbmt"],
local=perf["perf.mbml"])
except AttributeError as e:
except (KeyError, AttributeError) as e:
# NOTE(sileht): KeyError if for libvirt >=2.0.0,<2.3.0, the perf
# subsystem ws existing but not these attributes
# https://github.com/libvirt/libvirt/commit/bae660869de0612bee2a740083fb494c27e3f80c
msg = _('Perf is not supported by current version of libvirt, and '
'failed to inspect memory bandwidth of %(instance_uuid)s, '
'can not get info from libvirt: %(error)s') % {
@ -291,7 +297,10 @@ class LibvirtInspector(virt_inspector.Inspector):
instructions=perf["perf.instructions"],
cache_references=perf["perf.cache_references"],
cache_misses=perf["perf.cache_misses"])
except AttributeError as e:
# NOTE(sileht): KeyError if for libvirt >=2.0.0,<2.3.0, the perf
# subsystem ws existing but not these attributes
# https://github.com/libvirt/libvirt/commit/bae660869de0612bee2a740083fb494c27e3f80c
except (AttributeError, KeyError) as e:
msg = _LE('Perf is not supported by current version of libvirt, '
'and failed to inspect perf events of '
'%(instance_uuid)s, can not get info from libvirt: '

View File

@ -25,6 +25,7 @@ from gnocchiclient import utils as gnocchi_utils
from keystoneauth1 import exceptions as ka_exceptions
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import jsonutils
from oslo_utils import fnmatch
from oslo_utils import timeutils
import retrying
@ -95,6 +96,11 @@ class ResourcesDefinition(object):
self._attributes[name] = declarative.Definition(name, attr_cfg,
plugin_manager)
self._event_attributes = {}
for name, attr_cfg in self.cfg.get('event_attributes', {}).items():
self._event_attributes[name] = declarative.Definition(
name, attr_cfg, plugin_manager)
self.metrics = {}
for t in self.cfg['metrics']:
archive_policy = self.cfg.get('archive_policy',
@ -143,7 +149,7 @@ class ResourcesDefinition(object):
return attrs
def event_attributes(self, event):
attrs = {}
attrs = {'type': self.cfg['resource_type']}
traits = dict([(trait[0], trait[2]) for trait in event['traits']])
for attr, field in self.cfg.get('event_attributes', {}).items():
value = traits.get(field)
@ -176,7 +182,8 @@ class LockedDefaultDict(defaultdict):
key_lock.release()
class GnocchiDispatcher(dispatcher.MeterDispatcherBase):
class GnocchiDispatcher(dispatcher.MeterDispatcherBase,
dispatcher.EventDispatcherBase):
"""Dispatcher class for recording metering data into database.
The dispatcher class records each meter into the gnocchi service
@ -192,6 +199,7 @@ class GnocchiDispatcher(dispatcher.MeterDispatcherBase):
[DEFAULT]
meter_dispatchers = gnocchi
event_dispatchers = gnocchi
"""
def __init__(self, conf):
super(GnocchiDispatcher, self).__init__(conf)
@ -374,7 +382,8 @@ class GnocchiDispatcher(dispatcher.MeterDispatcherBase):
try:
self.batch_measures(measures, gnocchi_data, stats)
except gnocchi_exc.ClientException as e:
except (gnocchi_exc.ClientException,
ka_exceptions.ConnectFailure) as e:
LOG.error(six.text_type(e))
except Exception as e:
LOG.error(six.text_type(e), exc_info=True)
@ -505,25 +514,45 @@ class GnocchiDispatcher(dispatcher.MeterDispatcherBase):
continue
rd, operation = rd
resource_type = rd.cfg['resource_type']
resource = rd.event_attributes(event)
if operation == EVENT_DELETE:
ended_at = timeutils.utcnow().isoformat()
resources_to_end = [resource]
extra_resources = cfg['event_associated_resources'].items()
for resource_type, filters in extra_resources:
resources_to_end.extend(self._gnocchi.search_resource(
resource_type, filters['query'] % resource['id']))
for resource in resources_to_end:
try:
self._gnocchi.update_resource(resource_type,
resource['id'],
{'ended_at': ended_at})
except gnocchi_exc.NoSuchResource:
LOG.debug(_("Delete event received on unexiting "
"resource (%s), ignore it.") %
resource['id'])
except Exception:
LOG.error(_LE("Fail to update the resource %s") %
resource, exc_info=True)
self._delete_event(rd, event)
def _delete_event(self, rd, event):
ended_at = timeutils.utcnow().isoformat()
resource = rd.event_attributes(event)
associated_resources = rd.cfg.get('event_associated_resources', {})
if associated_resources:
to_end = itertools.chain([resource], *[
self._search_resource(resource_type, query % resource['id'])
for resource_type, query in associated_resources.items()
])
else:
to_end = [resource]
for resource in to_end:
self._set_ended_at(resource, ended_at)
def _search_resource(self, resource_type, query):
try:
return self._gnocchi.resource.search(
resource_type, jsonutils.loads(query))
except Exception:
LOG.error(_LE("Fail to search resource type %{resource_type}s "
"with '%{query}s'"),
{'resource_type': resource_type, 'query': query},
exc_info=True)
return []
def _set_ended_at(self, resource, ended_at):
try:
self._gnocchi.resource.update(resource['type'], resource['id'],
{'ended_at': ended_at})
except gnocchi_exc.ResourceNotFound:
LOG.debug("Delete event received on unexisting resource (%s), "
"ignore it.", resource['id'])
except Exception:
LOG.error(_LE("Fail to update the resource %s"), resource,
exc_info=True)
LOG.debug('Resource %s ended at %s' % (resource["id"], ended_at))

View File

@ -1,24 +1,41 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
# Monika Wolf <vcomas3@de.ibm.com>, 2016. #zanata
# Robert Simai <robert.simai@suse.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2016-03-03 03:36+0000\n"
"Last-Translator: Monika Wolf <vcomas3@de.ibm.com>\n"
"PO-Revision-Date: 2016-10-14 04:02+0000\n"
"Last-Translator: Robert Simai <robert.simai@suse.com>\n"
"Language-Team: German\n"
"Language: de\n"
"X-Generator: Zanata 3.7.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#, python-format
msgid "Can't publish events to a non-existing dispatcher'%s'"
msgstr ""
"Es können keine Ereignisse an einen nicht-vorhandenen Disponenten '%s' "
"geschickt werden"
#, python-format
msgid "Can't publish samples to a non-existing dispatcher '%s'"
msgstr ""
"Es können keine Messwerte an einen nicht-vorhandenen Disponenten '%s' "
"geschickt werden"
#, python-format
msgid "Cannot load inspector %(name)s: %(err)s"
msgstr "Inspector %(name)s kann nicht geladen werden: %(err)s"
msgid "Coordination join_group Error joining partitioning group"
msgstr ""
"Koordinierungs-join_group Fehler beim Beitreten zur Partitionierungsgruppe"
#, python-format
msgid "Could not get Resident Memory Usage for %(id)s: %(e)s"
msgstr ""
@ -26,9 +43,35 @@ msgstr ""
"werden: %(e)s"
#, python-format
msgid "Dispatcher failed to handle the %s, requeue it."
msgid "Could not get memory bandwidth for %(id)s: %(e)s"
msgstr "Speicherbandbreite für %(id)s kann nicht abgerufen werden: %(e)s"
#, python-format
msgid "Could not get perf events for %(id)s: %(e)s"
msgstr "Perf-Ereignisse für %(id)s können nicht abgerufen werden: %(e)s"
#, python-format
msgid "Data post failed with status code %s"
msgstr "Fehler beim Aufgeben der Daten mit Status-Code: %s"
msgid ""
"Dispatcher event target was not set, no event will be posted. Set "
"event_target in the ceilometer.conf file."
msgstr ""
"Dispatcher konnte %s nicht verarbeiten. Erneut in Warteschlange stellen."
"Disponent-Ereignisziel wurde nicht gesetzt, es wird kein Ereignis "
"abgeschickt. Setzen Sie event_target in der Datei ceilometer.conf."
msgid "Dispatcher failed to handle the notification, re-queuing it."
msgstr ""
"Disponent konnte die Benachrichtigung nicht bearbeiten, sie wird in die "
"Warteschleife gestellt."
msgid ""
"Dispatcher target was not set, no meter will be posted. Set the target in "
"the ceilometer.conf file."
msgstr ""
"Disponenten-Ziel wurde nicht definiert, es werden keine Messgeräte "
"eingesetzt. Setzen Sie das Ziel in der Datei 'ceilometer.conf'."
msgid "Error connecting to coordination backend."
msgstr "Fehler beim Herstellen einer Verbindung zum Koordinierungs-Back-End."
@ -44,6 +87,14 @@ msgstr ""
"Fehler beim Beitreten zur Partitionierungsgruppe %s. Operation wird "
"wiederholt."
#, python-format
msgid "Error loading meter definition: %s"
msgstr "Fehler beim Laden der Messgerätedefinition: %s"
#, python-format
msgid "Error occurred while dropping alarm tables of Hbase, %s"
msgstr "Fehler beim Streichen der Alarmtabellen von Hbase, %s"
#, python-format
msgid "Error processing event and it will be dropped: %s"
msgstr "Fehler beim Verarbeiten des Ereignisses und es wird gelöscht: %s"
@ -58,6 +109,14 @@ msgstr "Eine Benachrichtigung konnte nicht verarbeitet werden."
msgid "Fail to process notification"
msgstr "Benachrichtigung konnte nicht verarbeitet werden."
msgid "Fail to search resource type %{resource_type}s with '%{query}s'"
msgstr ""
"Fehler beim Suchen des Ressourcentyps %{resource_type}s mit '%{query}s'"
#, python-format
msgid "Fail to update the resource %s"
msgstr "Fehler beim Aktualisieren der Ressource: %s"
msgid "Failed to connect to Gnocchi."
msgstr "Fehler beim Herstellen einer Verbindung zu Gnocchi."
@ -65,26 +124,46 @@ msgstr "Fehler beim Herstellen einer Verbindung zu Gnocchi."
msgid "Failed to connect to Kafka service: %s"
msgstr "Fehler beim Herstellen einer Verbindung zum Kafka-Service: %s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s"
msgstr ""
"Fehler beim Herstellen einer Verbindung zur Datenbank. Zweck: %(purpose)s "
"Später erneut versuchen: %(err)s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s retry later: %(err)s"
msgstr ""
"Fehler beim Herstellen einer Verbindung zur Datenbank. Zweck: %(purpose)s "
"Später erneut versuchen: %(err)s"
#, python-format
msgid ""
"Failed to inspect perf events of %(instance_uuid)s, can not get info from "
"libvirt: %(error)s"
msgstr ""
"Fehler beim untersuchen der perf-Ereignisse von %(instance_uuid)s, "
"Informationen können nicht von libvirt abgerufen werden: %(error)s"
#, python-format
msgid "Failed to load resource due to error %s"
msgstr "Fehler beim Laden der Ressource aufgrund des folgenden Fehlers %s"
#, python-format
msgid "Failed to record %(len)s: %(err)s."
msgstr "Fehler bei der Aufzeichnung von %(len)s: %(err)s."
#, python-format
msgid "Failed to record event: %s"
msgstr "Das Ereignis konnte nicht aufgezeichnet werden: %s"
msgid "Failed to retry to send sample data with max_retry times"
msgstr ""
"Fehler bei der Wiederholung, Sample-Daten mit der Anzahl von max_retry zu "
"senden"
#, python-format
msgid ""
"Group ID: %(group_id)s, Members: %(members)s, Me: %(me)s: Current agent is "
"not part of group and cannot take tasks"
msgstr ""
"Gruppen ID: %(group_id)s, Mitglieder: %(members)s, Ich: %(me)s: Der aktuelle "
"Agent ist nicht Teil der Gruppe und kann daher keine Aufgaben "
"übernehmenCurrent agent is not part of group and cannot take tasks"
#, python-format
msgid "Invalid type %s specified"
msgstr "Ungültigen Typ %s angegeben"
@ -98,6 +177,15 @@ msgstr ""
"Das übergebene Ressourcenwörterverzeichnis muss die Schlüssel für "
"resource_id und resource_url enthalten."
#, python-format
msgid ""
"Perf is not supported by current version of libvirt, and failed to inspect "
"perf events of %(instance_uuid)s, can not get info from libvirt: %(error)s"
msgstr ""
"Perf wird von der aktuellen libvirt-Version nicht unterstützt, somit schlägt "
"die Untersuchung der perf-Ereignisse von %(instance_uuid)s fehl, "
"Informationen können nicht von libvirt abgerufen werden: %(error)s"
#, python-format
msgid "Required field %(field)s should be a %(type)s"
msgstr "Erforderliches Feld %(field)s muss %(type)s sein."
@ -114,12 +202,27 @@ msgstr "Erforderliche Felder %s nicht angegeben."
msgid "Skip invalid resource %s"
msgstr "Ungültige Ressource %s überspringen"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Laden der Erweiterungen für %s überspringen"
#, python-format
msgid "Skipping %(name)s, keystone issue: %(exc)s"
msgstr "%(name)s wird übersprungen, Keystone-Problem: %(exc)s"
msgid "Status Code: %{code}s. Failed todispatch event: %{event}s"
msgstr "Statuscode: %{code}s. Fehler beim Versenden des Ereignisses: %{event}s"
#, python-format
msgid "Status Code: %(code)s. Failed to dispatch event: %(event)s"
msgstr ""
"Statuscode: %(code)s. Fehler beim abfertigen des Ereignisses: %(event)s"
#, python-format
msgid "Status Code: %(code)s. Failed to dispatch meter: %(meter)s"
msgstr ""
"Statuscode: %(code)s. Fehler beim abfertigen des Messgerätes: %(meter)s"
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Ressourcen können nicht gefunden werden: %s"
#, python-format
msgid "Unable to load changed event pipeline: %s"

View File

@ -1,15 +1,16 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
# Frank Kloeker <eumel@arcor.de>, 2016. #zanata
# Robert Simai <robert.simai@suse.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2016-06-06 06:20+0000\n"
"Last-Translator: Andreas Jaeger <jaegerandi@gmail.com>\n"
"PO-Revision-Date: 2016-10-14 03:02+0000\n"
"Last-Translator: Robert Simai <robert.simai@suse.com>\n"
"Language-Team: German\n"
"Language: de\n"
"X-Generator: Zanata 3.7.3\n"
@ -23,8 +24,12 @@ msgstr "%d Ereignisse aus Datenbank entfernt"
msgid "%d samples removed from database"
msgstr "%d Beispiele aus Datenbank entfernt"
msgid "Configuration:"
msgstr "Konfiguration:"
#, python-format
msgid "%s table does not exist."
msgstr "%s Tabelle existiert nicht."
msgid "Configuration file has been updated."
msgstr "Die Konfigurationsdatei wurde aktualisiert."
#, python-format
msgid "Connecting to %(db)s on %(nodelist)s"
@ -37,8 +42,8 @@ msgstr "Das Koordinierungs-Back-End wurde erfolgreich gestartet."
msgid "Definitions: %s"
msgstr "Definitionen: %s"
msgid "Detected change in pipeline configuration."
msgstr "Es wurde eine Änderung in der Pipelinekonfiguration festgestellt."
msgid "Detected change in configuration."
msgstr "Änderung der Konfiguration festgestellt."
#, python-format
msgid "Dropping event data with TTL %d"
@ -67,6 +72,18 @@ msgstr "Partitionierungsgruppe %s beigetreten."
msgid "Left partitioning group %s"
msgstr "Partitionierungsgruppe %s verlassen."
#, python-format
msgid "Legacy %s table of Hbase backend has been dropped."
msgstr "Hinterlassene %s Tabelle des Hbase Backends wurde gestrichen."
#, python-format
msgid "Legacy %s table of Mongodb backend has been dropped."
msgstr "Hinterlassene %s Tabelle des Mongodb Backends wurde gestrichen."
#, python-format
msgid "Legacy %s table of SQL backend has been dropped."
msgstr "Hinterlassene %s Tabelle des SQL Backends wurde gestrichen."
#, python-format
msgid "No limit value provided, result set will be limited to %(limit)d."
msgstr ""
@ -91,13 +108,6 @@ msgstr ""
"Pipeline %(pipeline)s: Konfiguration von Transformerinstanz %(name)s mit "
"Parameter %(param)s"
#, python-format
msgid "Pipeline config: %s"
msgstr "Pipelinekonfiguration: %s"
msgid "Pipeline configuration file has been updated."
msgstr "Die Pipelinekonfigurationsdatei wurde aktualisiert."
#, python-format
msgid "Polling pollster %(poll)s in the context of %(src)s"
msgstr "Abfrage von Pollster %(poll)s im Kontext von %(src)s"
@ -119,8 +129,12 @@ msgstr ""
"Zyklus gefunden."
#, python-format
msgid "Starting server in PID %s"
msgstr "Starten von Server in PID %s"
msgid ""
"Starting to drop alarm and alarm history tables in %(purpose)s backend: "
"%(url)s"
msgstr ""
"Beginne damit, die Alarm- und Alarmverlaufstabellen im %(purpose)s Backend "
"zu streichen: %(url)s"
#, python-format
msgid "Swift endpoint not found: %s"
@ -133,13 +147,3 @@ msgstr "entkoppeltes Pipeline-Konfigurationsformat erkannt"
msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s"
msgstr ""
"Messung von Daten %(counter_name)s für %(resource_id)s: %(counter_volume)s"
#, python-format
msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s"
msgstr ""
"Bereitstellung auf 0.0.0.0:%(sport)s, Ansicht unter http://127.0.0.1:"
"%(vport)s"
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr "Bereitstellung auf http://%(host)s:%(port)s"

View File

@ -1,19 +1,35 @@
# Monika Wolf <vcomas3@de.ibm.com>, 2016. #zanata
# Robert Simai <robert.simai@suse.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2016-03-04 10:08+0000\n"
"Last-Translator: Monika Wolf <vcomas3@de.ibm.com>\n"
"PO-Revision-Date: 2016-10-14 03:19+0000\n"
"Last-Translator: Robert Simai <robert.simai@suse.com>\n"
"Language-Team: German\n"
"Language: de\n"
"X-Generator: Zanata 3.7.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
msgid "Can't connect to keystone, assuming Panko is disabled and retry later."
msgstr ""
"Verbindung mit Keystone nicht möglich. Vermutlich is Panko deaktiviert, "
"versuche es später erneut"
msgid "Can't connect to keystone, assuming aodh is disabled and retry later."
msgstr ""
"Verbindung mit Keystone nicht möglich. Vermutlich is aodh deaktiviert, "
"versuche es später erneut"
msgid "Can't connect to keystone, assuming gnocchi is disabled and retry later"
msgstr ""
"Verbindung mit Keystone nicht möglich. Vermutlich is gnocchi deaktiviert, "
"versuche es später erneut"
msgid ""
"Cannot extract tasks because agent failed to join group properly. Rejoining "
"group."
@ -30,6 +46,16 @@ msgstr ""
"Die %(pollster)s-Daten für %(instance_id)s können nicht untersucht werden. "
"Behebbare Ursache: %(exc)s"
#, python-format
msgid "Cannot inspect data of %(pollster)s for %(instance_id)s: %(exc)s"
msgstr ""
"Daten von %(pollster)s für %(instance_id)s können nicht untersucht werden: "
"%(exc)s"
#, python-format
msgid "Cannot resolve host %s, creating AF_INET socket..."
msgstr "Kann Host %s nicht auflösen, erzeuge AF_INET Socket..."
#, python-format
msgid "Dropping out of time order sample: %s"
msgstr ""
@ -39,14 +65,36 @@ msgstr ""
msgid "Dropping sample with no predecessor: %s"
msgstr "Beispiel ohne Vorgänger wird gelöscht: %s"
#, python-format
msgid "Duplicated values: %s found in CLI options, auto de-duplicated"
msgstr ""
"Duplizierte Werte: %s wurden in den CLI-Optionen gefunden und automatisch de-"
"dupliziert"
#, python-format
msgid "Failed to load any dispatchers for %s"
msgstr "Es konnten keine Dispatcher für %s geladen werden."
#, python-format
msgid ""
"Failed to parse date from set fields, both fields %(start)s and %(end)s must "
"be datetime: %(err)s"
msgstr ""
"Fehler beim analysieren der Daten aus den gesetzten Feldern. Beide Felder "
"%(start)s und %(end)s müssen als Inhalt datetime haben: %(err)s"
#, python-format
msgid "Ignore unrecognized field %s"
msgstr "Nicht erkanntes Feld %s ignorieren"
#, python-format
msgid ""
"Inspection disk usage of network disk %(instance_uuid)s unsupported by "
"libvirt"
msgstr ""
"Untersuchung der Plattenverwendung der Netzwerkplatte %(instance_uuid)s wird "
"von libvirt nicht unterstützt"
#, python-format
msgid "Invalid status, skipping IP address %s"
msgstr "Ungültiger Status. IP-Adresse %s wird übersprungen."
@ -77,6 +125,23 @@ msgstr ""
msgid "Skipping duplicate meter definition %s"
msgstr "Doppelte Messdefinition %s wird übersprungen."
msgid ""
"Timedelta plugin is required two timestamp fields to create timedelta value."
msgstr ""
"Das Timedelta Plugin benötigt zwei Zeitstempel um einen Delta-Wert zu "
"erzeugen."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Unbekannte Erkennungserweiterung: %s"
msgid ""
"ceilometer-api started with Panko enabled. Events URLs will be redirected to "
"Panko endpoint."
msgstr ""
"Die ceilometer-api wurde mit aktiviertem Panko gestartet. Ereignis-URLs "
"werden an den Panko-Endpunkt umgeleitet. "
msgid ""
"ceilometer-api started with aodh enabled. Alarms URLs will be redirected to "
"aodh endpoint."
@ -91,9 +156,16 @@ msgstr ""
"Die ceilometer-api wurde mit aktiviertem Gnocchi gestartet. Die URLs für "
"resources/meters/samples sind inaktiviert."
#, python-format
msgid "event signature invalid, discarding event: %s"
msgstr "Ereignissignatur ungültig. Ereignis wird verworfen: %s"
msgid "ceilometer-dbsync is deprecated in favor of ceilometer-upgrade"
msgstr ""
"ceilometer-dbsync ist veraltet und wurde durch ceilometer-upgrade ersetzt"
msgid ""
"gnocchi project not found in keystone, ignoring the filter_service_activity "
"option"
msgstr ""
"Gnocchi-Projekt wurde nicht in Keystone gefunden, die "
"filter_service_activity Option wurde ignoriert"
#, python-format
msgid ""
@ -113,12 +185,25 @@ msgstr ""
"enthält einen Datenträger ohne Zahl (volume: %(counter_volume)s). Die "
"Stichprobe wird gelöscht."
#, python-format
msgid "metric %s is not handled by Gnocchi"
msgstr "Metrik %s wird nicht von Gnocchi gehandhabt"
#, python-format
msgid "notification signature invalid, discarding: %s"
msgstr "Benachrichtigungssignatur ungültig, verwerfe: %s"
#, python-format
msgid "sample signature invalid, discarding: %s"
msgstr "Mustersignatur ungültig, verwerfe: %s"
#, python-format
msgid ""
"pecan_debug cannot be enabled, if workers is > 1, the value is overrided "
"with False"
"split plugin is deprecated, add \".`split(%(sep)s, %(segment)d, "
"%(max_split)d)`\" to your jsonpath instead"
msgstr ""
"pecan_debug kann nicht aktiviert werden, wenn Worker > 1 ist. Der Wert wird "
"mit False überschrieben."
"Das split Plugin ist veraltet. Fügen Sie stattdessen \".`split(%(sep)s, "
"%(segment)d, %(max_split)d)`\" zu Ihrem jsonpath hinzu"
#, python-format
msgid "unable to configure oslo_cache: %s"

View File

@ -8,16 +8,17 @@
# Ettore Atalan <atalanttore@googlemail.com>, 2014
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
# Frank Kloeker <eumel@arcor.de>, 2016. #zanata
# Robert Simai <robert.simai@suse.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2016-06-06 06:19+0000\n"
"Last-Translator: Andreas Jaeger <jaegerandi@gmail.com>\n"
"PO-Revision-Date: 2016-10-14 03:53+0000\n"
"Last-Translator: Robert Simai <robert.simai@suse.com>\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.0\n"
@ -34,6 +35,10 @@ msgstr ""
"Arithmetiktransformer muss mindestens eine Messgröße im Ausdruck '%s' "
"verwenden"
#, python-format
msgid "CPU cache size: %(id)s %(cache_size)d"
msgstr "CPU Cache-Größe: %(id)s %(cache_size)d"
#, python-format
msgid "Cannot create table %(table_name)s it already exists. Ignoring error"
msgstr ""
@ -62,8 +67,12 @@ msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "Abruf von Speicherbelegung nicht möglich für %(id)s: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "CPU-Auslastung für VM %s konnte nicht abgerufen werden"
msgid "Could not get VM %s CPU number"
msgstr "VM %s CPU Nummer kann nicht abgerufen werden"
#, python-format
msgid "Could not get cache usage for %(id)s: %(e)s"
msgstr "Cache-Verwendung für %(id)s kann nicht abgerufen werden: %(e)s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
@ -85,9 +94,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Fehler bei Auswertung der HTTP-Antwort %s"
msgid "Error stopping pollster."
msgstr "Fehler beim Stoppen des Pollster."
msgid "Event"
msgstr "Ereignis"
@ -106,6 +112,22 @@ msgstr ""
"Fehler beim Überprüfen von Daten der Instanz <name=%(name)s, id=%(id)s>, "
"Domänenstatus ist ABGESCHALTET."
#, python-format
msgid ""
"Failed to inspect l3 cache usage of %(instance_uuid)s, can not get info from "
"libvirt: %(error)s"
msgstr ""
"Fehler beim untersuchen der l3-Cache-Verwendung von %(instance_uuid)s, "
"Information können nicht von libvirt abgerufen werden: %(error)s"
#, python-format
msgid ""
"Failed to inspect memory bandwidth of %(instance_uuid)s, can not get info "
"from libvirt: %(error)s"
msgstr ""
"Fehler beim untersuchen der Speicherbandbreite von %(instance_uuid)s, "
"Informationen können nicht von libvirt abgerufen werden: %(error)s"
#, python-format
msgid ""
"Failed to inspect memory usage of %(instance_uuid)s, can not get info from "
@ -217,11 +239,27 @@ msgstr "Opencontrail-API hat Folgendes zurückgegeben: %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
"Operator %(operator)s is not supported. Only `eq' operator is available for "
"field %(field)s"
msgstr ""
"Operator %(operator)s wird nicht unterstützt. Für das Feld %(field)s ist nur "
"der `eq' Operator verfügbar"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only `ge' operator is available for "
"field %(field)s"
msgstr ""
"Operator %(operator)s wird nicht unterstützt. Für das Feld %(field)s ist "
"nur der Gleichheitsoperator verfügbar."
"nur der `ge' Operator verfügbar"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only `le' operator is available for "
"field %(field)s"
msgstr ""
"Operator %(operator)s wird nicht unterstützt. Für das Feld %(field)s ist "
"nur der `le' Operator verfügbar."
#, python-format
msgid ""
@ -241,6 +279,25 @@ msgid ""
msgstr ""
"Analysefehler in JSONPath-Spezifikation '%(jsonpath)s' für %(name)s: %(err)s"
#, python-format
msgid ""
"Perf is not supported by current version of libvirt, and failed to inspect "
"l3 cache usage of %(instance_uuid)s, can not get info from libvirt: %(error)s"
msgstr ""
"Perf wird von der aktuellen libvirt-Version nicht unterstützt, somit schlägt "
"die Untersuchung des l3-Cache-Verwendung von %(instance_uuid)s fehl, "
"Informationen können nicht von libvirt abgerufen werden: %(error)s"
#, python-format
msgid ""
"Perf is not supported by current version of libvirt, and failed to inspect "
"memory bandwidth of %(instance_uuid)s, can not get info from libvirt: "
"%(error)s"
msgstr ""
"Perf wird von der aktuellen libvirt-Version nicht unterstützt, somit schlägt "
"die Untersuchung der Speicherbandbreite von %(instance_uuid)s fehl, "
"Informationen können nicht von libvirt abgerufen werden: %(error)s"
msgid "Period must be positive."
msgstr "Zeitraum muss positiv sein."
@ -321,10 +378,6 @@ msgstr "Beispiel"
msgid "Samples should be included in request body"
msgstr "Beispiele sollten in Anforderungshauptteil enthalten sein"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Laden der Ausnahme für %s überspringen"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "Zeichenfolge %s ist kein gültiger Wert für 'isotime'"
@ -370,10 +423,6 @@ msgstr ""
"Wert %(value)s kann nicht in den erwarteten Datentyp %(type)s umgewandelt "
"werden."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Ressourcen können nicht gefunden werden: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "Auswertung nicht möglich für Ausdruck %(expr)s: %(exc)s"
@ -412,10 +461,6 @@ msgstr ""
"Unerwartete Ausnahme beim Konvertieren von %(value)s in den erwarteten "
"Datentyp %(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Unbekannte Erkennungserweiterung: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "Unbekannter Metadatentyp. Schlüssel (%s) wird nicht abfragbar sein."
@ -486,6 +531,10 @@ msgstr ""
"Alarm-URLs sind nicht verfügbar, wenn Aodh inaktiviert oder nicht verfügbar "
"ist."
#, python-format
msgid "checking cache usage for instance %s"
msgstr "Prüfe Cache-Verwendung für die Instanz %s"
#, python-format
msgid "could not get CPU time for %(id)s: %(e)s"
msgstr "Abruf von CPU-Zeit nicht möglich für %(id)s: %(e)s"

View File

@ -2,9 +2,9 @@
# Eugènia Torrella <tester03@es.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -23,10 +23,6 @@ msgstr "No se ha podido cargar el inspector %(name)s: %(err)s"
msgid "Could not get Resident Memory Usage for %(id)s: %(e)s"
msgstr "No se ha podido obtener el uso de memoria residente para %(id)s: %(e)s"
#, python-format
msgid "Dispatcher failed to handle the %s, requeue it."
msgstr "El asignador no ha podido manejar el %s, vuelva a ponerlo en la cola."
msgid "Error connecting to coordination backend."
msgstr "Error de conexión con el servidor coordinador."
@ -59,12 +55,6 @@ msgstr "No se ha podido conectar con Gnocchi."
msgid "Failed to connect to Kafka service: %s"
msgstr "No se ha podido conectar con el servicio Kafka: %s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s"
msgstr ""
"No se ha podido establecer conexión con la base de datos con el propósito "
"%(purpose)s. Vuelva a intentarlo más tarde: %(err)s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s retry later: %(err)s"
msgstr ""
@ -83,13 +73,6 @@ msgid "Failed to retry to send sample data with max_retry times"
msgstr ""
"No se ha podido volver a intentar enviar datos de ejemplo max_retry veces"
msgid ""
"Group ID: %{group_id}s, Members: %{members}s, Me: %{me}s: Current agent is "
"not part of group and cannot take tasks"
msgstr ""
"ID de grupo: %{group_id}s, Miembros: %{members}s, Yo: %{me}s: El agente "
"actual no forma parte del grupo y no puede coger tareas"
#, python-format
msgid "Invalid type %s specified"
msgstr "Se ha especificado un tipo no válido: %s"
@ -119,10 +102,6 @@ msgstr "No se han especificado los campos obligatorios %s"
msgid "Skip invalid resource %s"
msgstr "Omitir el recurso no válido %s"
msgid "Status Code: %{code}s. Failed todispatch event: %{event}s"
msgstr ""
"Código de estado: %{code}s. No se ha podido asignar el suceso: %{event}s"
#, python-format
msgid "Unrecognized type value %s"
msgstr "Valor de tipo no reconocido %s"

View File

@ -1,9 +1,9 @@
# Eugènia Torrella <tester03@es.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev57\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-04-18 02:09+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -22,9 +22,6 @@ msgstr "Se han eliminado %d sucesos de la base de datos"
msgid "%d samples removed from database"
msgstr "Se han eliminado %d ejemplos de la base de datos"
msgid "Configuration:"
msgstr "Configuración:"
#, python-format
msgid "Connecting to %(db)s on %(nodelist)s"
msgstr "Se está estableciendo conexión con %(db)s en %(nodelist)s"
@ -36,9 +33,6 @@ msgstr "El servidor coordinador se ha iniciado satisfactoriamente."
msgid "Definitions: %s"
msgstr "Definiciones: %s"
msgid "Detected change in pipeline configuration."
msgstr "Se ha detectado un cambio en la configuración de la interconexión."
#, python-format
msgid "Dropping event data with TTL %d"
msgstr "Descartando datos de sucesos con TTL %d"
@ -90,13 +84,6 @@ msgstr ""
"Interconexión %(pipeline)s: Configure la instancia de transformador %(name)s "
"con el parámetro %(param)s"
#, python-format
msgid "Pipeline config: %s"
msgstr "Configuración de interconexión: %s"
msgid "Pipeline configuration file has been updated."
msgstr "Se ha actualizado el archivo de configuración de la interconexión."
#, python-format
msgid "Polling pollster %(poll)s in the context of %(src)s"
msgstr "Sondeando pollster %(poll)s en el contexto de %(src)s"
@ -117,10 +104,6 @@ msgstr ""
"Omitir pollster %(name)s, ningún recurso de %(p_context)s ha encontrado "
"este ciclo"
#, python-format
msgid "Starting server in PID %s"
msgstr "Iniciando servidor en PID %s"
msgid "detected decoupled pipeline config format"
msgstr ""
"se ha detectado un formato de configuración de interconexión desacoplado"
@ -129,11 +112,3 @@ msgstr ""
msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s"
msgstr ""
"datos de medición %(counter_name)s para %(resource_id)s: %(counter_volume)s"
#, python-format
msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s"
msgstr "sirviendo en 0.0.0.0:%(sport)s, vista en http://127.0.0.1:%(vport)s"
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr "sirviendo en http://%(host)s:%(port)s"

View File

@ -7,9 +7,9 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -56,10 +56,6 @@ msgstr "No se ha podido obtener CPU Util para %(id)s: %(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "No se ha podido obtener el uso de memoria para %(id)s: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "No se puede obtener la utilización de CPU de VM %s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "No se ha podido obtener la dirección IP de la instancia %s"
@ -80,9 +76,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Error analizándo respuesta HTTP: %s."
msgid "Error stopping pollster."
msgstr "Error al detener el pollster."
msgid "Event"
msgstr "Suceso"
@ -204,14 +197,6 @@ msgstr "La API OpenDaylitght ha devuelto %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "La API Opencontrail ha devuelto %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"El operador %(operator)s no se admite. Solo hay disponible el operador de "
"igualdad para el campo %(field)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -315,10 +300,6 @@ msgstr "Muestra"
msgid "Samples should be included in request body"
msgstr "Los ejemplos se deben incluir en el cuerpo de la solicitud"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Omitir la extensión de carga para %s"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "La serie %s no es una hora iso válida"
@ -364,10 +345,6 @@ msgstr ""
"No se ha podido convertir el valor %(value)s al tipo de datos esperado "
"%(type)s."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "No se pueden descubrir recursos: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "No se puede evaluar la expresión %(expr)s: %(exc)s"
@ -406,10 +383,6 @@ msgstr ""
"Excepción inesperada al convertir %(value)s al tipo de dato esperado "
"%(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Extensión de descubrimiento desconocida: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "Tipo de metadatos desconocido. La clave (%s) no se podrá consultar."

View File

@ -25,9 +25,9 @@
# Angelique Pillal <pillal@fr.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -76,10 +76,6 @@ msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr ""
"Impossible de récupérer l'utilisation de la mémoire pour %(id)s : %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "Impossible d'obtenir l'utilisation CPU de la VM %s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "Impossible d'obtenir l'adresse IP de l'instance %s"
@ -100,9 +96,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Erreur lors de l'analyse syntaxique de la réponse: %s"
msgid "Error stopping pollster."
msgstr "Erreur lors de l'arrêt du sondeur."
msgid "Event"
msgstr "Événement"
@ -226,14 +219,6 @@ msgstr "L'API OpenDaylight a renvoyé %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "L'API Opencontrail a renvoyé %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"Opérateur %(operator)s non supporté. Seul l'opérateur égalité est disponible "
"pour le champ %(field)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -330,10 +315,6 @@ msgstr "Echantillon"
msgid "Samples should be included in request body"
msgstr "Des exemples doivent être inclus dans le corps de demande"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Passer le chargement de l'extension pour %s"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "La chaine de caractère %s n'est pas valide isotime"
@ -378,10 +359,6 @@ msgstr ""
"Impossible de convertir la valeur %(value)s vers le type de données attendu "
"%(type)s."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Impossible de découvrir les ressources: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "Impossible d'évaluer l'expression %(expr)s : %(exc)s"
@ -420,10 +397,6 @@ msgstr ""
"Exception inattendue lors de la conversion de %(value)s dans le type de "
"donnée attendue %(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Découverte d'une extension inconnue: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "Type de métadonnées inconnu, la clé (%s) n'est pas requêtable"

View File

@ -7,9 +7,9 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -57,10 +57,6 @@ msgstr "Impossibile ricevere CPU Util per %(id)s: %(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "Impossibile ricevere l'Uso della Memoria per %(id)s: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "Impossibile conoscere l'utilizzo CPU della VM %s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "Impossibile ottenere l'indirizzo IP dell'istanza %s"
@ -81,9 +77,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Errore durante l'analisi della risposta HTTP: %s"
msgid "Error stopping pollster."
msgstr "Errore durante l'arresto del sondaggio. "
msgid "Event"
msgstr "Evento"
@ -205,14 +198,6 @@ msgstr "L'API OpenDaylitght ha restituito %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "L'API Opencontrail ha restituito %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"Operatore %(operator)s non è supportato. Solo gli operatori di uguaglianza "
"sono disponibili per il campo %(field)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -312,10 +297,6 @@ msgstr "Esempio"
msgid "Samples should be included in request body"
msgstr "I campioni devono essere inclusi nel corpo della richiesta "
#, python-format
msgid "Skip loading extension for %s"
msgstr "Ignora caricamento dell'estensione per %s"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "La stringa %s non è un orario standard (isotime) valido"
@ -360,10 +341,6 @@ msgstr ""
"Impossibile convertire il valore %(value)s nel tipo di dati previsto "
"%(type)s."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Impossibile rilevare le risorse: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "Impossibile valutare l'espressione %(expr)s: %(exc)s"
@ -402,10 +379,6 @@ msgstr ""
"Eccezione non prevista durante la conversione di %(value)s per il tipo di "
"dati previsto %(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Estensione di rilevamento sconosciuta: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr ""

View File

@ -9,9 +9,9 @@
# 笹原 昌美 <ebb0de1@jp.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.1.1.dev36\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-07-01 05:42+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -63,10 +63,6 @@ msgstr "%(id)s の CPU 使用率を取得できませんでした: %(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "%(id)s のメモリー使用量を取得できませんでした: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "VM %s のCPU 使用率を取得できませんでした"
#, python-format
msgid "Could not get cache usage for %(id)s: %(e)s"
msgstr " %(id)s のキャッシュ使用量を取得できませんでした: %(e)s"
@ -91,9 +87,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "HTTP 応答を解析している際にエラーが発生しました: %s"
msgid "Error stopping pollster."
msgstr "pollster 停止エラー。"
msgid "Event"
msgstr "イベント"
@ -226,14 +219,6 @@ msgstr "OpenDaylitght API から %(status)s %(reason)s が返されました"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "Opencontrail API から %(status)s %(reason)s が返されました"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"演算子 %(operator)s はサポートされていません。フィールド %(field)s で使用でき"
"るのは等価演算子のみです。"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -344,10 +329,6 @@ msgstr "サンプル"
msgid "Samples should be included in request body"
msgstr "サンプルは要求本文に含まれる必要があります"
#, python-format
msgid "Skip loading extension for %s"
msgstr "%s の拡張機能のロードをスキップします"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "文字列 %s は無効な isotime です"
@ -390,10 +371,6 @@ msgid ""
"Unable to convert the value %(value)s to the expected data type %(type)s."
msgstr "値 %(value)s を、想定されるデータ型 %(type)s に変換できません。"
#, python-format
msgid "Unable to discover resources: %s"
msgstr "リソースを検出できません: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "式 %(expr)s を評価できません: %(exc)s"
@ -431,10 +408,6 @@ msgstr ""
"%(value)s を想定されるデータ型 %(type)s に変換する際に、想定しない例外が発生"
"しました。"
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "不明なディスカバリーエクステンション: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "不明なメタデータ種別です。キー (%s) は照会不可になります。"

View File

@ -2,9 +2,9 @@
# Sungjin Kang <gang.sungjin@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -23,10 +23,6 @@ msgstr "%(name)s 검사기를 로드할 수 없음: %(err)s"
msgid "Could not get Resident Memory Usage for %(id)s: %(e)s"
msgstr "%(id)s의 상주 메모리 사용을 가져올 수 없음 : %(e)s"
#, python-format
msgid "Dispatcher failed to handle the %s, requeue it."
msgstr "디스패처에서 %s을(를) 처리하지 못하여 다시 대기열에 둡니다."
msgid "Error connecting to coordination backend."
msgstr "조정 백엔드를 연결하는 중에 오류가 발생했습니다."
@ -58,10 +54,6 @@ msgstr "Gnocchi에 연결하지 못했습니다."
msgid "Failed to connect to Kafka service: %s"
msgstr "Kafka 서비스에 연결하는 데 실패: %s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s"
msgstr "DB에 연결하는 데 실패, %(purpose)s 용도를 나중에 다시 시도: %(err)s"
#, python-format
msgid "Failed to connect to db, purpose %(purpose)s retry later: %(err)s"
msgstr "DB에 연결하는 데 실패, %(purpose)s 용도를 나중에 다시 시도: %(err)s"
@ -77,13 +69,6 @@ msgstr "이벤트를 기록하는 데 실패: %s"
msgid "Failed to retry to send sample data with max_retry times"
msgstr "샘플 데이터를 max_retry 횟수만큼 보내는 데 실패"
msgid ""
"Group ID: %{group_id}s, Members: %{members}s, Me: %{me}s: Current agent is "
"not part of group and cannot take tasks"
msgstr ""
"그룹 ID: %{group_id}s, 멤버: %{members}s, 사용자: %{me}s: 현재 에이전트가 그"
"룹의 일부가 아니므로 작업을 수행할 수 없음"
#, python-format
msgid "Invalid type %s specified"
msgstr "올바르지 않은 유형 %s이(가) 지정됨"
@ -115,9 +100,6 @@ msgstr "올바르지 않은 자원 %s 건너뛰기"
msgid "Skipping %(name)s, keystone issue: %(exc)s"
msgstr "%(name)s 건너뛰기, keystone 문제: %(exc)s"
msgid "Status Code: %{code}s. Failed todispatch event: %{event}s"
msgstr "상태 코드: %{code}s. 이벤트를 디스패치하는 데 실패: %{event}s"
#, python-format
msgid "Unable to load changed event pipeline: %s"
msgstr "변경된 이벤트 파이프라인을 로드할 수 없음: %s"

View File

@ -1,9 +1,9 @@
# Sungjin Kang <gang.sungjin@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev57\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-04-18 02:09+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -22,9 +22,6 @@ msgstr "데이터베이스에서 %d 이벤트가 제거됨"
msgid "%d samples removed from database"
msgstr "데이터베이스에서 %d 샘플이 제거됨"
msgid "Configuration:"
msgstr "구성:"
#, python-format
msgid "Connecting to %(db)s on %(nodelist)s"
msgstr "%(nodelist)s에서 %(db)s에 연결 중 "
@ -36,9 +33,6 @@ msgstr "조정 백엔드가 성공적으로 시작되었습니다."
msgid "Definitions: %s"
msgstr "정의: %s"
msgid "Detected change in pipeline configuration."
msgstr "파이프라인 구성의 변경을 발견했습니다."
#, python-format
msgid "Dropping event data with TTL %d"
msgstr "TTL이 %d인 이벤트 데이터 삭제"
@ -83,13 +77,6 @@ msgid ""
msgstr ""
"파이프라인 %(pipeline)s: %(param)s 매개변수로 변환기 인스턴스 %(name)s 설정 "
#, python-format
msgid "Pipeline config: %s"
msgstr "파이프라인 구성: %s"
msgid "Pipeline configuration file has been updated."
msgstr "파이프라인 구성 파일이 업데이트되었습니다."
#, python-format
msgid "Polling pollster %(poll)s in the context of %(src)s"
msgstr "%(src)s 컨텍스트의 의견조사자 %(poll)s 폴링"
@ -108,21 +95,9 @@ msgstr "알림 에이전트와 리스너를 다시 로드합니다."
msgid "Skip pollster %(name)s, no %(p_context)sresources found this cycle"
msgstr "Pollster %(name)s 건너뛰기, %(p_context)s 자원에서 이 주기를 발견함"
#, python-format
msgid "Starting server in PID %s"
msgstr "PID %s의 서버 시작"
msgid "detected decoupled pipeline config format"
msgstr "비결합 파이프라인 구성 형식 발견"
#, python-format
msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s"
msgstr "%(resource_id)s의 측정 데이터 %(counter_name)s: %(counter_volume)s"
#, python-format
msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s"
msgstr "0.0.0.0:%(sport)s에서 전달 중, http://127.0.0.1:%(vport)s에서 보기"
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr "http://%(host)s:%(port)s에서 전달 중"

View File

@ -1,9 +1,9 @@
# Sungjin Kang <gang.sungjin@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -114,10 +114,6 @@ msgstr ""
"Gnocchi를 사용한 상태로 ceilometer-api가 시작되었습니다. 자원/측정/샘플 URL"
"을 사용하지 않습니다."
#, python-format
msgid "event signature invalid, discarding event: %s"
msgstr "이벤트 서명이 올바르지 않아 이벤트를 삭제함: %s"
#, python-format
msgid ""
"metering data %(counter_name)s for %(resource_id)s @ %(timestamp)s has no "
@ -135,13 +131,6 @@ msgstr ""
"%(resource_id)s @ %(timestamp)s의 측정 데이터 %(counter_name)s에 번호"
"(volume: %(counter_volume)s)가 아닌 볼륨이 있으므로, 샘플이 삭제됩니다."
msgid ""
"pecan_debug cannot be enabled, if workers is > 1, the value is overrided "
"with False"
msgstr ""
"pecan_debug를 사용하도록 설정할 수 없습니다. 작업자가 > 1이면 값이 False로 겹"
"쳐씁니다."
#, python-format
msgid ""
"split plugin is deprecated, add \".`split(%(sep)s, %(segment)d, "

View File

@ -12,9 +12,9 @@
# Sungjin Kang <gang.sungjin@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -58,10 +58,6 @@ msgstr "%(id)s에 대해 CPU Util을 가져올 수 없음: %(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "%(id)s에 대한 메모리 사용을 가져올 수 없음: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "VM %s CPU 이용률을 가져올 수 없음"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "%s 인스턴스의 IP 주소를 얻을 수 없음"
@ -82,9 +78,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "HTTP 응답 구문 분석 중 오류 발생: %s"
msgid "Error stopping pollster."
msgstr "의견조사자를 중지하는 중에 오류가 발생했습니다. "
msgid "Event"
msgstr "이벤트"
@ -204,14 +197,6 @@ msgstr "OpenDaylitght API가 %(status)s 리턴: %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "Opencontrail API가 %(status)s 리턴: %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"연산자 %(operator)s이(가) 지원되지 않습니다. 필드 %(field)s에는 등호 연산자"
"만 사용할 수 있습니다."
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -301,10 +286,6 @@ msgstr "샘플"
msgid "Samples should be included in request body"
msgstr "샘플이 요청 본문에 포함되어야 함"
#, python-format
msgid "Skip loading extension for %s"
msgstr "%s 확장자 로드 건너뛰기"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "문자열 %s이(가) 올바른 등시간이 아님"
@ -345,10 +326,6 @@ msgid ""
"Unable to convert the value %(value)s to the expected data type %(type)s."
msgstr "%(value)s 값을 예상 데이터 유형 %(type)s(으)로 변환할 수 없습니다."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "자원을 검색할 수 없음: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "%(expr)s 표현식을 평가할 수 없음: %(exc)s"
@ -387,10 +364,6 @@ msgstr ""
"%(value)s을(를) 예상된 데이터 유형으로 변환하는 중에 예상치 않은 예외 발생 "
"%(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "알 수 없는 검색 확장자: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "알 수 없는 메타데이터 유형입니다. 키(%s)를 조회할 수 없습니다."

View File

@ -8,9 +8,9 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -56,10 +56,6 @@ msgstr "Não foi possível obter Uso de CPU para %(id)s: %(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "Não foi possível obter de Uso de Memória para %(id)s: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "Não foi possível obter a utilização de CPU da máquina virtual %s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "Não foi possível obter o endereço IP da instância %s"
@ -80,9 +76,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Erro ao analisar a resposta de HTTP: %s"
msgid "Error stopping pollster."
msgstr "Erro ao parar pesquisador. "
msgid "Event"
msgstr "Evento"
@ -203,14 +196,6 @@ msgstr "API OpenDaylitght retornou %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "A API Opencontrail retornou%(status)s%(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"O operador %(operator)s não é suportado. Somente operador de igualdade está "
"disponível para o campo %(field)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -304,10 +289,6 @@ msgstr "Amostra"
msgid "Samples should be included in request body"
msgstr "As amostras devem ser incluídas no corpo da solicitação"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Ignorar a extensão de carregamento para %s"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "Sequência %s não é um isotime válido"
@ -352,10 +333,6 @@ msgstr ""
"Não é possível converter o valor %(value)s para o tipo de dados esperado "
"%(type)s."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Não é possível descobrir recursos: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "Não é possível avaliar expressão %(expr)s:%(exc)s"
@ -394,10 +371,6 @@ msgstr ""
"Exceção inesperada convertendo %(value)s para o tipo de dado esperado "
"%(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Extensão de descoberta desconhecida: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "Tipo de metada desconhecido. Chave (%s) não será consultável."

View File

@ -6,9 +6,9 @@
# Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -60,11 +60,6 @@ msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr ""
"Не удалось получить информацию об использовании памяти для %(id)s: %(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr ""
"Не удалось получить информацию об использовании CPU для виртуальной машины %s"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "Не удалось получить IP-адрес экземпляра %s"
@ -85,9 +80,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "Ошибка анализа ответа HTTP: %s"
msgid "Error stopping pollster."
msgstr "Ошибка остановки опрашивающего объекта."
msgid "Event"
msgstr "Событие"
@ -207,14 +199,6 @@ msgstr "Функция API OpenDaylight вернула %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "API Opencontrail возвратил %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr ""
"Оператор %(operator)s не поддерживается. Для поля %(field)s возможен только "
"оператор равенства"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -309,10 +293,6 @@ msgstr "Образец"
msgid "Samples should be included in request body"
msgstr "Образцы должны включаться в тело запроса"
#, python-format
msgid "Skip loading extension for %s"
msgstr "Пропустить загрузку расширения для %s"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "Строка %s не является допустимым значением isotime"
@ -356,10 +336,6 @@ msgid ""
msgstr ""
"Преобразовать значение %(value)s в ожидаемый тип данных %(type)s невозможно."
#, python-format
msgid "Unable to discover resources: %s"
msgstr "Не удалось найти ресурсы: %s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "Вычислить выражение %(expr)s невозможно: %(exc)s"
@ -398,10 +374,6 @@ msgstr ""
"Возникла непредвиденная исключительная ситуация при преобразовании %(value)s "
"в ожидаемый тип данных %(type)s."
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "Неизвестное расширение поиска: %s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "Неизвестный тип метаданных. Ключ (%s) нельзя будет запрашивать."

View File

@ -16,9 +16,9 @@
# Linda <duleish@cn.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -62,10 +62,6 @@ msgstr "无法为虚拟机%(id)s获取CPU使用率%(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "无法为%(id)s获取内存使用信息%(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "无法获取虚拟机%s的CPU使用率"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "无法为实例%s获取IP地址"
@ -86,9 +82,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "解析HTTP响应失败: %s"
msgid "Error stopping pollster."
msgstr "停止轮询程序时出错。"
msgid "Event"
msgstr "事件"
@ -205,12 +198,6 @@ msgstr "OpenDaylight接口返回状态%(status)s原因%(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "Opencontrail接口返回状态%(status)s原因%(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr "运算符 %(operator)s 不受支持。对于字段 %(field)s只能使用等号运算符"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -297,10 +284,6 @@ msgstr "数据"
msgid "Samples should be included in request body"
msgstr "样本应包括在请求主体中"
#, python-format
msgid "Skip loading extension for %s"
msgstr "跳过为%s加载扩展"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "字符串%s不是个合法的标准时间格式"
@ -339,10 +322,6 @@ msgid ""
"Unable to convert the value %(value)s to the expected data type %(type)s."
msgstr "无法转换%(value)s到预期的数据类型%(type)s。"
#, python-format
msgid "Unable to discover resources: %s"
msgstr "无法发现资源:%s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "无法计算表达式%(expr)s%(exc)s"
@ -376,10 +355,6 @@ msgid ""
"Unexpected exception converting %(value)s to the expected data type %(type)s."
msgstr "在转换%(value)s到预期的数据类型%(type)s时发生了未预料的异常。"
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "未知的发现器插件:%s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "未知的元数据类型。键(%s)将无法进行查询。"

View File

@ -8,9 +8,9 @@
# Jennifer <cristxu@tw.ibm.com>, 2016. #zanata
msgid ""
msgstr ""
"Project-Id-Version: ceilometer 6.0.1.dev170\n"
"Project-Id-Version: ceilometer 7.0.1.dev8\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
"POT-Creation-Date: 2016-06-07 17:37+0000\n"
"POT-Creation-Date: 2016-10-14 15:49+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -54,10 +54,6 @@ msgstr "無法取得 %(id)s 的 CPU 使用率:%(e)s"
msgid "Could not get Memory Usage for %(id)s: %(e)s"
msgstr "無法取得 %(id)s 的記憶體用量:%(e)s"
#, python-format
msgid "Could not get VM %s CPU Utilization"
msgstr "無法取得 VM %s CPU 使用率"
#, python-format
msgid "Couldn't obtain IP address of instance %s"
msgstr "無法取得實例 %s 的 IP 位址"
@ -78,9 +74,6 @@ msgstr ""
msgid "Error parsing HTTP response: %s"
msgstr "剖析 HTTP 回應時發生錯誤:%s"
msgid "Error stopping pollster."
msgstr "停止 pollster 時發生錯誤。"
msgid "Event"
msgstr "事件"
@ -195,12 +188,6 @@ msgstr "OpenDaylight API 傳回了 %(status)s %(reason)s"
msgid "Opencontrail API returned %(status)s %(reason)s"
msgstr "Opencontrail API 傳回了 %(status)s %(reason)s"
#, python-format
msgid ""
"Operator %(operator)s is not supported. Only equality operator is available "
"for field %(field)s"
msgstr "運算子 %(operator)s 不受支援。只有等式運算子才可供欄位 %(field)s 使用"
#, python-format
msgid ""
"Operator %(operator)s is not supported. The supported operators are: "
@ -286,10 +273,6 @@ msgstr "樣本"
msgid "Samples should be included in request body"
msgstr "要求內文中應該包括範例"
#, python-format
msgid "Skip loading extension for %s"
msgstr "跳過載入 %s 的延伸"
#, python-format
msgid "String %s is not a valid isotime"
msgstr "字串 %s 不是有效的 ISO 時間"
@ -328,10 +311,6 @@ msgid ""
"Unable to convert the value %(value)s to the expected data type %(type)s."
msgstr "無法將值 %(value)s 轉換成預期的資料類型 %(type)s。"
#, python-format
msgid "Unable to discover resources: %s"
msgstr "無法探索資源:%s"
#, python-format
msgid "Unable to evaluate expression %(expr)s: %(exc)s"
msgstr "無法對表示式 %(expr)s 進行求值:%(exc)s"
@ -366,10 +345,6 @@ msgid ""
"Unexpected exception converting %(value)s to the expected data type %(type)s."
msgstr "將 %(value)s 轉換為預期的資料類型%(type)s 時發生非預期的異常狀況。"
#, python-format
msgid "Unknown discovery extension: %s"
msgstr "不明的探索延伸:%s"
#, python-format
msgid "Unknown metadata type. Key (%s) will not be queryable."
msgstr "不明的 meta 資料類型。索引鍵 (%s) 將不可查詢。"

View File

@ -91,6 +91,7 @@ class ConfigFixture(fixture.GabbiFixture):
conf.set_override('pecan_debug', True, group='api')
conf.set_override('gnocchi_is_enabled', False, group='api')
conf.set_override('aodh_is_enabled', False, group='api')
conf.set_override('panko_is_enabled', False, group='api')
def stop_fixture(self):
"""Reset the config and remove data."""

View File

@ -14,6 +14,7 @@
import os
import subprocess
import time
from oslo_utils import fileutils
import six
@ -45,13 +46,13 @@ class BinTestCase(base.BaseTestCase):
subp = subprocess.Popen(['ceilometer-expirer',
'-d',
"--config-file=%s" % self.tempfile],
stderr=subprocess.PIPE)
__, err = subp.communicate()
stdout=subprocess.PIPE)
stdout, __ = subp.communicate()
self.assertEqual(0, subp.poll())
self.assertIn(b"Nothing to clean, database metering "
b"time to live is disabled", err)
b"time to live is disabled", stdout)
self.assertIn(b"Nothing to clean, database event "
b"time to live is disabled", err)
b"time to live is disabled", stdout)
def _test_run_expirer_ttl_enabled(self, ttl_name, data_name):
content = ("[database]\n"
@ -65,13 +66,13 @@ class BinTestCase(base.BaseTestCase):
subp = subprocess.Popen(['ceilometer-expirer',
'-d',
"--config-file=%s" % self.tempfile],
stderr=subprocess.PIPE)
__, err = subp.communicate()
stdout=subprocess.PIPE)
stdout, __ = subp.communicate()
self.assertEqual(0, subp.poll())
msg = "Dropping %s data with TTL 1" % data_name
if six.PY3:
msg = msg.encode('utf-8')
self.assertIn(msg, err)
self.assertIn(msg, stdout)
def test_run_expirer_ttl_enabled(self):
self._test_run_expirer_ttl_enabled('metering_time_to_live',
@ -134,9 +135,16 @@ class BinCeilometerPollingServiceTestCase(base.BaseTestCase):
"compute",
"compute"],
stderr=subprocess.PIPE)
out = self.subp.stderr.read(1024)
self.assertIn(b'Duplicated values: [\'compute\', \'compute\'] '
b'found in CLI options, auto de-duplicated', out)
expected = (b'Duplicated values: [\'compute\', \'compute\'] '
b'found in CLI options, auto de-duplicated')
# NOTE(gordc): polling process won't quit so wait for a bit and check
start = time.time()
while time.time() - start < 5:
output = self.subp.stderr.readline()
if expected in output:
break
else:
self.fail('Did not detect expected warning: %s' % expected)
def test_polling_namespaces_invalid_value_in_config(self):
content = ("[DEFAULT]\n"

View File

@ -119,13 +119,15 @@ class TestCollector(tests_base.BaseTestCase):
udp_socket = self._make_fake_socket(self.sample)
with mock.patch('socket.socket') as mock_socket:
mock_socket.return_value = udp_socket
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
mock_socket.assert_called_with(socket.AF_INET, socket.SOCK_DGRAM)
with mock.patch('select.select', return_value=([udp_socket], [], [])):
with mock.patch('socket.socket') as mock_socket:
mock_socket.return_value = udp_socket
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
mock_socket.assert_called_with(socket.AF_INET,
socket.SOCK_DGRAM)
self._verify_udp_socket(udp_socket)
mock_record = self.mock_dispatcher.record_metering_data
@ -136,13 +138,15 @@ class TestCollector(tests_base.BaseTestCase):
self.CONF.set_override('udp_address', '::1', group='collector')
sock = self._make_fake_socket(self.sample)
with mock.patch.object(socket, 'socket') as mock_socket:
mock_socket.return_value = sock
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
mock_socket.assert_called_with(socket.AF_INET6, socket.SOCK_DGRAM)
with mock.patch('select.select', return_value=([sock], [], [])):
with mock.patch.object(socket, 'socket') as mock_socket:
mock_socket.return_value = sock
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
mock_socket.assert_called_with(socket.AF_INET6,
socket.SOCK_DGRAM)
def test_udp_receive_storage_error(self):
self._setup_messaging(False)
@ -150,11 +154,12 @@ class TestCollector(tests_base.BaseTestCase):
mock_record.side_effect = self._raise_error
udp_socket = self._make_fake_socket(self.sample)
with mock.patch('socket.socket', return_value=udp_socket):
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
with mock.patch('select.select', return_value=([udp_socket], [], [])):
with mock.patch('socket.socket', return_value=udp_socket):
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
self._verify_udp_socket(udp_socket)
@ -195,15 +200,16 @@ class TestCollector(tests_base.BaseTestCase):
def test_udp_receive_valid_encoding(self):
self._setup_messaging(False)
self.data_sent = []
with mock.patch('socket.socket',
return_value=self._make_fake_socket(self.utf8_msg)):
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
self.assertTrue(utils.verify_signature(
self.mock_dispatcher.method_calls[0][1][0],
"not-so-secret"))
sock = self._make_fake_socket(self.utf8_msg)
with mock.patch('select.select', return_value=([sock], [], [])):
with mock.patch('socket.socket', return_value=sock):
self.srv.run()
self.addCleanup(self.srv.terminate)
self.srv.udp_thread.join(5)
self.assertFalse(self.srv.udp_thread.is_alive())
self.assertTrue(utils.verify_signature(
self.mock_dispatcher.method_calls[0][1][0],
"not-so-secret"))
def _test_collector_requeue(self, listener, batch_listener=False):

View File

@ -109,8 +109,7 @@ class ImagesClient(rest_client.RestClient):
def _create_with_data(self, headers, data):
resp, body_iter = self.http.raw_request('POST', '/v1/images',
headers=headers, body=data)
self._error_checker('POST', '/v1/images', headers, data, resp,
body_iter)
self._error_checker(resp, body_iter)
body = json.loads(''.join([c for c in body_iter]))
return rest_client.ResponseBody(resp, body)
@ -118,8 +117,7 @@ class ImagesClient(rest_client.RestClient):
url = '/v1/images/%s' % image_id
resp, body_iter = self.http.raw_request('PUT', url, headers=headers,
body=data)
self._error_checker('PUT', url, headers, data,
resp, body_iter)
self._error_checker(resp, body_iter)
body = json.loads(''.join([c for c in body_iter]))
return rest_client.ResponseBody(resp, body)

View File

@ -404,6 +404,20 @@ class TestLibvirtInspection(base.BaseTestCase):
self.assertEqual(74184, pe.cache_references)
self.assertEqual(16737, pe.cache_misses)
def test_inspect_perf_events_libvirt_less_than_2_3_0(self):
fake_stats = [({}, {})]
connection = self.inspector.connection
with mock.patch.object(connection, 'lookupByUUIDString',
return_value=self.domain):
with mock.patch.object(self.domain, 'info',
return_value=(0, 0, 51200,
2, 999999)):
with mock.patch.object(connection, 'domainListGetStats',
return_value=fake_stats):
self.assertRaises(virt_inspector.NoDataException,
self.inspector.inspect_perf_events,
self.instance)
class TestLibvirtInspectionWithError(base.BaseTestCase):

View File

@ -22,6 +22,8 @@ from keystoneauth1 import exceptions as ka_exceptions
import mock
from oslo_config import fixture as config_fixture
from oslo_utils import fileutils
from oslo_utils import fixture as utils_fixture
from oslo_utils import timeutils
from oslotest import mockpatch
import requests
import six
@ -35,6 +37,153 @@ from ceilometer.tests import base
load_tests = testscenarios.load_tests_apply_scenarios
INSTANCE_DELETE_START = {
'event_type': u'compute.instance.delete.start',
'traits': [
[
'state',
1,
u'active'
],
[
'user_id',
1,
u'1e3ce043029547f1a61c1996d1a531a2'
],
[
'service',
1,
u'compute'
],
[
'disk_gb',
2,
0
],
[
'instance_type',
1,
u'm1.tiny'
],
[
'tenant_id',
1,
u'7c150a59fe714e6f9263774af9688f0e'
],
[
'root_gb',
2,
0
],
[
'ephemeral_gb',
2,
0
],
[
'instance_type_id',
2,
2
],
[
'vcpus',
2,
1
],
[
'memory_mb',
2,
512
],
[
'instance_id',
1,
u'9f9d01b9-4a58-4271-9e27-398b21ab20d1'
],
[
'host',
1,
u'vagrant-precise'
],
[
'request_id',
1,
u'req-fb3c4546-a2e5-49b7-9fd2-a63bd658bc39'
],
[
'project_id',
1,
u'7c150a59fe714e6f9263774af9688f0e'
],
[
'launched_at',
4,
'2012-05-08T20:23:47'
]
],
'message_signature':
'831719d54059734f82e7d6498c6d7a8fd637568732e79c1fd375e128f142373a',
'raw': {},
'generated': '2012-05-08T20:24:14.824743',
'message_id': u'a15b94ee-cb8e-4c71-9abe-14aa80055fb4'
}
IMAGE_DELETE_START = {
u'event_type': u'image.delete',
u'traits': [
[
u'status',
1,
u'deleted'
],
[
u'deleted_at',
1,
u'2016-11-04T04:25:56Z'
],
[
u'user_id',
1,
u'e97ef33a20ed4843b520d223f3cc33d4'
],
[
u'name',
1,
u'cirros'
],
[
u'service',
1,
u'image.localhost'
],
[
u'resource_id',
1,
u'dc337359-de70-4044-8e2c-80573ba6e577'
],
[
u'created_at',
1,
u'2016-11-04T04:24:36Z'
],
[
u'project_id',
1,
u'e97ef33a20ed4843b520d223f3cc33d4'
],
[
u'size',
1,
u'13287936'
]
],
u'message_signature':
u'46fb4958e911f45007a3bb5934c5de7610892a6d742a4900695fd5929cd4c9b3',
u'raw': {},
u'generated': u'2016-11-04T04:25:56.493820',
u'message_id': u'7f5280f7-1d10-46a5-ba58-4d5508e49f99'
}
@mock.patch('gnocchiclient.v1.client.Client', mock.Mock())
class DispatcherTest(base.BaseTestCase):
@ -359,6 +508,55 @@ class DispatcherWorkflowTest(base.BaseTestCase,
self.sample['message_signature'] = utils.compute_signature(
self.sample, self.conf.conf.publisher.telemetry_secret)
@mock.patch('gnocchiclient.v1.client.Client')
def test_event_workflow(self, fakeclient_cls):
self.dispatcher = gnocchi.GnocchiDispatcher(self.conf.conf)
fakeclient = fakeclient_cls.return_value
fakeclient.resource.search.side_effect = [
[{"id": "b26268d6-8bb5-11e6-baff-00224d8226cd",
"type": "instance_disk",
"instance_id": "9f9d01b9-4a58-4271-9e27-398b21ab20d1"}],
[{"id": "b1c7544a-8bb5-11e6-850e-00224d8226cd",
"type": "instance_network_interface",
"instance_id": "9f9d01b9-4a58-4271-9e27-398b21ab20d1"}],
]
search_params = {
'=': {'instance_id': '9f9d01b9-4a58-4271-9e27-398b21ab20d1'}
}
now = timeutils.utcnow()
self.useFixture(utils_fixture.TimeFixture(now))
expected_calls = [
mock.call.capabilities.list(),
mock.call.resource.search('instance_disk', search_params),
mock.call.resource.search('instance_network_interface',
search_params),
mock.call.resource.update(
'instance', '9f9d01b9-4a58-4271-9e27-398b21ab20d1',
{'ended_at': now.isoformat()}),
mock.call.resource.update(
'instance_disk',
'b26268d6-8bb5-11e6-baff-00224d8226cd',
{'ended_at': now.isoformat()}),
mock.call.resource.update(
'instance_network_interface',
'b1c7544a-8bb5-11e6-850e-00224d8226cd',
{'ended_at': now.isoformat()}),
mock.call.resource.update(
'image', 'dc337359-de70-4044-8e2c-80573ba6e577',
{'ended_at': now.isoformat()})
]
self.dispatcher.record_events([INSTANCE_DELETE_START,
IMAGE_DELETE_START])
self.assertEqual(7, len(fakeclient.mock_calls))
for call in expected_calls:
self.assertIn(call, fakeclient.mock_calls)
@mock.patch('ceilometer.dispatcher.gnocchi.LOG')
@mock.patch('gnocchiclient.v1.client.Client')
def test_workflow(self, fakeclient_cls, logger):

3
debian/changelog vendored
View File

@ -1,5 +1,6 @@
ceilometer (1:7.0.0-2) UNRELEASED; urgency=medium
ceilometer (1:7.0.1-1) UNRELEASED; urgency=medium
* New upstream release
* d/s/options: extend-diff-ignore of .gitreview
* d/control: Use correct branch in Vcs-* fields
* Bumped debhelper compat version to 10

View File

@ -224,6 +224,7 @@ function cleanup_ceilometer {
# NOTE(cdent): This currently only works for redis. Still working
# out how to express the other backends.
function _ceilometer_configure_cache_backend {
iniset $CEILOMETER_CONF cache enabled True
iniset $CEILOMETER_CONF cache backend $CEILOMETER_CACHE_BACKEND
iniset $CEILOMETER_CONF cache backend_argument url:$CEILOMETER_CACHE_URL
iniadd_literal $CEILOMETER_CONF cache backend_argument distributed_lock:True
@ -410,7 +411,7 @@ function start_ceilometer {
run_process ceilometer-aipmi "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces ipmi --config-file $CEILOMETER_CONF"
if [[ "$CEILOMETER_USE_MOD_WSGI" == "False" ]]; then
run_process ceilometer-api "$CEILOMETER_BIN_DIR/ceilometer-api -d -v --config-file $CEILOMETER_CONF"
run_process ceilometer-api "$CEILOMETER_BIN_DIR/ceilometer-api --port $CEILOMETER_SERVICE_PORT"
elif is_service_enabled ceilometer-api; then
enable_apache_site ceilometer
restart_apache_server

View File

@ -5,7 +5,7 @@
# Remove authtoken from the pipeline if you don't want to use keystone authentication
[pipeline:main]
pipeline = cors request_id authtoken api-server
pipeline = cors http_proxy_to_wsgi request_id authtoken api-server
[app:api-server]
paste.app_factory = ceilometer.api.app:app_factory
@ -19,3 +19,7 @@ paste.filter_factory = oslo_middleware:RequestId.factory
[filter:cors]
paste.filter_factory = oslo_middleware.cors:filter_factory
oslo_config_project = ceilometer
[filter:http_proxy_to_wsgi]
paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory
oslo_config_project = ceilometer

View File

@ -7,6 +7,7 @@ namespace = oslo.db
namespace = oslo.log
namespace = oslo.messaging
namespace = oslo.middleware.cors
namespace = oslo.middleware.http_proxy_to_wsgi
namespace = oslo.policy
namespace = oslo.service.service
namespace = keystonemiddleware.auth_token

View File

@ -68,12 +68,8 @@ resources:
event_attributes:
id: instance_id
event_associated_resources:
instance_network_interface:
query: '{"=": {"instance_id": "%s"}}'
fields: [id]
instance_disk:
query: '{"=": {"instance_id": "%s"}}'
fields: [id]
instance_network_interface: '{"=": {"instance_id": "%s"}}'
instance_disk: '{"=": {"instance_id": "%s"}}'
- resource_type: instance_network_interface
metrics:

View File

@ -1,5 +1,5 @@
Enable Image service meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enable Image service meters for Red Hat Enterprise Linux and CentOS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Telemetry uses notifications to collect Image service meters. Perform
these steps on the controller node.

View File

@ -1,5 +1,5 @@
Enable Image service meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enable Image service meters for Ubuntu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Telemetry uses notifications to collect Image service meters. Perform
these steps on the controller node.

View File

@ -68,7 +68,7 @@ Install and configure components
Configure the Apache HTTP server
--------------------------------
#. Create the ``/etc/apache2/sites-available/wsgi-ceilometer.conf`` file
#. Create the ``/etc/apache2/sites-available/ceilometer.conf`` file
with the following content:
.. code-block:: apache

View File

@ -0,0 +1,13 @@
---
features:
- Ceilometer sets up the HTTPProxyToWSGI middleware in front of Ceilometer. The
purpose of this middleware is to set up the request URL correctly in
case there is a proxy (for instance, a loadbalancer such as HAProxy)
in front of Ceilometer.
So, for instance, when TLS connections are being terminated in the
proxy, and one tries to get the versions from the / resource of
Ceilometer, one will notice that the protocol is incorrect; It will show
'http' instead of 'https'. So this middleware handles such cases.
Thus helping Keystone discovery work correctly.
The HTTPProxyToWSGI is off by default and needs to be enabled via a
configuration value.