diff --git a/gnocchi/indexer/sqlalchemy.py b/gnocchi/indexer/sqlalchemy.py index 1e805ecd3..964081d5f 100644 --- a/gnocchi/indexer/sqlalchemy.py +++ b/gnocchi/indexer/sqlalchemy.py @@ -1186,8 +1186,7 @@ class QueryTransformer(object): if isinstance(attr.type, base.TimestampUTC): converter = utils.to_datetime - elif (isinstance(attr.type, sqlalchemy_utils.UUIDType) - and not isinstance(value, uuid.UUID)): + elif isinstance(attr.type, sqlalchemy_utils.UUIDType): converter = utils.ResourceUUID elif isinstance(attr.type, types.String): converter = six.text_type diff --git a/gnocchi/utils.py b/gnocchi/utils.py index 7adc8db91..cddbe0b4c 100644 --- a/gnocchi/utils.py +++ b/gnocchi/utils.py @@ -40,6 +40,8 @@ RESOURCE_ID_NAMESPACE = uuid.UUID('0a7a15ff-aa13-4ac2-897c-9bdf30ce175b') def ResourceUUID(value): + if isinstance(value, uuid.UUID): + return value if '/' in value: raise ValueError("'/' is not supported in resource id") try: