Activity log for bug #1521844

Date Who What changed Old value New value Message
2015-12-02 04:13:57 Steve Martinelli bug added bug
2015-12-02 04:14:02 Steve Martinelli keystone: importance Undecided Critical
2015-12-02 04:14:05 Steve Martinelli keystone: status New Triaged
2015-12-02 04:14:17 Steve Martinelli bug task added pycadf
2015-12-02 04:15:32 Steve Martinelli description With the latest pycadf release (2.0.0), there is a more strict validation on the ID fields of various CADF resources, in this case, the initiator is failing to validate some keystone user IDs. This only happens when multi-domains are configured. An ID for a user in a multi-domain setup is in fact two IDs concatenated together. The code to check for a valid ID / UUID is: def is_valid(value): """Validation to ensure Identifier is correct. """ if value in ['target', 'initiator', 'observer']: return True try: uuid.UUID(value) except ValueError: return False else: return True A typical userID in a multi domain setup is: c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf When this is validated in pycadf, it fails: >>> import uuid >>> uuid.UUID("c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/uuid.py", line 134, in __init__ raise ValueError('badly formed hexadecimal UUID string') ValueError: badly formed hexadecimal UUID string Options: we can revert the change to pycadf and loosen the validation of IDs, or make keystone use a different value. With the latest pycadf release (2.0.0), there is a more strict validation on the ID fields of various CADF resources, in this case, the initiator is failing to validate some keystone user IDs. This only happens when multi-domains are configured. An ID for a user in a multi-domain setup is in fact two IDs concatenated together. The code to check for a valid ID / UUID is: https://github.com/openstack/pycadf/blob/master/pycadf/identifier.py#L50-L60 def is_valid(value):     """Validation to ensure Identifier is correct.     """     if value in ['target', 'initiator', 'observer']:         return True     try:         uuid.UUID(value)     except ValueError:         return False     else:         return True A typical userID in a multi domain setup is: c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf When this is validated in pycadf, it fails: >>> import uuid >>> uuid.UUID("c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf") Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/lib/python2.7/uuid.py", line 134, in __init__     raise ValueError('badly formed hexadecimal UUID string') ValueError: badly formed hexadecimal UUID string Options: we can revert the change to pycadf and loosen the validation of IDs, or make keystone use a different value.
2015-12-02 04:16:36 Steve Martinelli description With the latest pycadf release (2.0.0), there is a more strict validation on the ID fields of various CADF resources, in this case, the initiator is failing to validate some keystone user IDs. This only happens when multi-domains are configured. An ID for a user in a multi-domain setup is in fact two IDs concatenated together. The code to check for a valid ID / UUID is: https://github.com/openstack/pycadf/blob/master/pycadf/identifier.py#L50-L60 def is_valid(value):     """Validation to ensure Identifier is correct.     """     if value in ['target', 'initiator', 'observer']:         return True     try:         uuid.UUID(value)     except ValueError:         return False     else:         return True A typical userID in a multi domain setup is: c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf When this is validated in pycadf, it fails: >>> import uuid >>> uuid.UUID("c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf") Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/lib/python2.7/uuid.py", line 134, in __init__     raise ValueError('badly formed hexadecimal UUID string') ValueError: badly formed hexadecimal UUID string Options: we can revert the change to pycadf and loosen the validation of IDs, or make keystone use a different value. With the latest pycadf release (2.0.0), there is a more strict validation on the ID fields of various CADF resources, in this case, the initiator is failing to validate some keystone user IDs. This only happens when multi-domains are configured. An ID for a user in a multi-domain setup is in fact two IDs concatenated together. The code to check for a valid ID / UUID is: https://github.com/openstack/pycadf/blob/master/pycadf/identifier.py#L50-L60 def is_valid(value):     """Validation to ensure Identifier is correct.     """     if value in ['target', 'initiator', 'observer']:         return True     try:         uuid.UUID(value)     except ValueError:         return False     else:         return True A typical userID in a multi domain setup is: c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf When this is validated in pycadf, it fails: >>> import uuid >>> uuid.UUID("c79a927caef36ade4ed36679cd084fa45df4563f94af6a956fafa936889b4faf") Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/lib/python2.7/uuid.py", line 134, in __init__     raise ValueError('badly formed hexadecimal UUID string') ValueError: badly formed hexadecimal UUID string Options: we can revert the change to pycadf and loosen the validation of IDs, or make keystone use a different value. This is the part of keystone that fails: https://github.com/openstack/keystone/blob/master/keystone/notifications.py#L504-L505
2015-12-02 04:46:08 OpenStack Infra keystone: status Triaged In Progress
2015-12-02 04:46:08 OpenStack Infra keystone: assignee Steve Martinelli (stevemar)
2015-12-02 06:04:33 Steve Martinelli pycadf: status New In Progress
2015-12-02 06:04:44 Steve Martinelli pycadf: assignee gordon chung (chungg)
2015-12-02 06:04:49 Steve Martinelli pycadf: importance Undecided High
2015-12-02 06:04:55 Steve Martinelli keystone: milestone mitaka-1
2015-12-02 16:36:44 Steve Martinelli keystone: milestone mitaka-1 mitaka-2
2015-12-02 16:36:48 Steve Martinelli keystone: importance Critical High
2015-12-02 17:04:56 OpenStack Infra pycadf: status In Progress Fix Committed
2015-12-04 15:00:40 Lance Bragstad keystone: status In Progress Invalid
2015-12-04 15:01:15 Lance Bragstad keystone: status Invalid In Progress
2015-12-22 08:22:14 Steve Martinelli pycadf: status Fix Committed Fix Released
2016-01-19 03:09:28 Steve Martinelli keystone: milestone mitaka-2 mitaka-3
2016-01-19 03:09:34 Steve Martinelli keystone: assignee Steve Martinelli (stevemar)
2016-01-19 03:10:18 Steve Martinelli keystone: status In Progress Confirmed
2016-01-20 15:24:45 Ajaya Agrawal keystone: assignee Ajaya Agrawal (ajayaa)
2016-01-20 17:09:36 OpenStack Infra keystone: status Confirmed In Progress
2016-01-22 21:03:11 OpenStack Infra keystone: assignee Ajaya Agrawal (ajayaa) Lance Bragstad (lbragstad)
2016-01-22 21:12:19 Steve Martinelli keystone: assignee Lance Bragstad (lbragstad) Ajaya Agrawal (ajayaa)
2016-01-26 00:43:04 OpenStack Infra keystone: status In Progress Fix Released