Merge "Fix delete metric on resource create/update"

This commit is contained in:
Jenkins 2015-12-16 21:03:53 +00:00 committed by Gerrit Code Review
commit 6cb17c7b3a
2 changed files with 11 additions and 4 deletions

View File

@ -36,7 +36,6 @@ class ResourceClientTest(base.ClientTestBase):
result = self.gnocchi(
u'resource', params=u"create %s --type generic" %
self.RESOURCE_ID)
resource = self.details_multiple(result)
resource = self.details_multiple(result)[0]
self.assertEqual(self.RESOURCE_ID, resource["id"])
self.assertEqual('None', resource["project_id"])
@ -102,6 +101,14 @@ class ResourceClientTest(base.ClientTestBase):
self.assertEqual(self.PROJECT_ID, resource_list["project_id"])
self.assertEqual(resource["started_at"], resource_list["started_at"])
# UPDATE with Delete metric
result = self.gnocchi(
'resource', params=("update -t generic %s -a project_id:%s "
"-d temperature" %
(self.RESOURCE_ID, self.PROJECT_ID)))
resource_updated = self.details_multiple(result)[0]
self.assertNotIn("temperature", resource_updated["metrics"])
# CREATE 2
result = self.gnocchi(
'resource', params=("create %s -t generic "

View File

@ -140,7 +140,7 @@ class CliResourceCreate(show.ShowOne):
default=[],
help="name:id of a metric to add"),
parser.add_argument(
"-n", "--create-metric", action='append',
"-n", "--create-metric", action='append', default=[],
help="name:archive_policy_name of a metric to create"),
parser.add_argument("-d", "--delete-metric", action='append',
default=[],
@ -168,8 +168,8 @@ class CliResourceCreate(show.ShowOne):
for metric in parsed_args.add_metric:
name, _, value = metric.partition(":")
resource['metrics'][name] = value
for metric in parsed_args.delete_metric:
resource['metrics'].pop(name, None)
for metric_name in parsed_args.delete_metric:
resource['metrics'].pop(metric_name, None)
for metric in parsed_args.create_metric:
name, _, value = metric.partition(":")
if value is "":