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:
commit
b226e6bb0c
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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: '
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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) は照会不可になります。"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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에서 전달 중"
|
||||
|
|
|
@ -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, "
|
||||
|
|
|
@ -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)를 조회할 수 없습니다."
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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) нельзя будет запрашивать."
|
||||
|
|
|
@ -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)将无法进行查询。"
|
||||
|
|
|
@ -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) 將不可查詢。"
|
||||
|
|
|
@ -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."""
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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):
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue