Esempio n. 1
0
 def _create_metric(self, metric):
     # TODO(jd) A container per user in their account?
     resp = {}
     self.swift.put_container(self._container_name(metric),
                              response_dict=resp)
     # put_container() should return 201 Created; if it returns 204, that
     # means the metric was already created!
     if resp['status'] == 204:
         raise storage.MetricAlreadyExists(metric)
Esempio n. 2
0
 def _create_metric(self, metric):
     path = self._build_metric_dir(metric)
     try:
         os.mkdir(path, 0o750)
     except OSError as e:
         if e.errno == errno.EEXIST:
             raise storage.MetricAlreadyExists(metric)
         raise
     for agg in metric.archive_policy.aggregation_methods:
         try:
             os.mkdir(self._build_metric_path(metric, agg), 0o750)
         except OSError as e:
             if e.errno != errno.EEXIST:
                 raise
Esempio n. 3
0
 def _create_metric(self, metric):
     name = "gnocchi_%s_container" % metric.id
     if self._object_exists(name):
         raise storage.MetricAlreadyExists(metric)
     else:
         self.ioctx.write_full(name, "metric created")
Esempio n. 4
0
 def _create_metric(self, metric):
     name = self._build_unaggregated_timeserie_path(metric, 3)
     if self._object_exists(name):
         raise storage.MetricAlreadyExists(metric)
     else:
         self.ioctx.write_full(name, b"")
Esempio n. 5
0
 def _create_metric(self, metric):
     key = self._metric_key(metric)
     if self._client.exists(key):
         raise storage.MetricAlreadyExists(metric)
     self._client.hset(key, self._unaggregated_field(), '')