Public bug reported: When support for multiple remote_ids was added (https://review.openstack.org/#/c/152156/), a prolem was introduced where Keystone will return a 400 response when an identity provider is created without a remote_id. The remote_id is supposed to be optional. Here is what the problem looks like using python-openstackclient:
[root@rdo ~]# openstack --os-auth-url http://rdo.rdodom.test:5000/v3 --os-user-domain-name default \ --os-username admin --os-password password --os-project-domain-name default --os-project-name admin \ --os-identity-api-version 3 identity provider create --enable test ERROR: openstack 'NoneType' object is not iterable (HTTP 400) (Request-ID: req-172efcf5-6e1b-4059-99f1-44acb069067a) The problem is that the dict that is passed into IdentityProviderModel.from_dict() looks like this: {u'enabled': True, u'description': None, u'remote_ids': None} We pop the 'remote_ids' item from the dict to create remote_ids_list, but this results in the list being None. We then try to iterate the list, which triggers an exception that leads to the 400 error. We need to fix the way we initialize the list. ** Affects: keystone Importance: Undecided Assignee: Nathan Kinder (nkinder) Status: In Progress ** Changed in: keystone Assignee: (unassigned) => Nathan Kinder (nkinder) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to Keystone. https://bugs.launchpad.net/bugs/1440185 Title: Identity provider create fails if remote_id is not set Status in OpenStack Identity (Keystone): In Progress Bug description: When support for multiple remote_ids was added (https://review.openstack.org/#/c/152156/), a prolem was introduced where Keystone will return a 400 response when an identity provider is created without a remote_id. The remote_id is supposed to be optional. Here is what the problem looks like using python- openstackclient: [root@rdo ~]# openstack --os-auth-url http://rdo.rdodom.test:5000/v3 --os-user-domain-name default \ --os-username admin --os-password password --os-project-domain-name default --os-project-name admin \ --os-identity-api-version 3 identity provider create --enable test ERROR: openstack 'NoneType' object is not iterable (HTTP 400) (Request-ID: req-172efcf5-6e1b-4059-99f1-44acb069067a) The problem is that the dict that is passed into IdentityProviderModel.from_dict() looks like this: {u'enabled': True, u'description': None, u'remote_ids': None} We pop the 'remote_ids' item from the dict to create remote_ids_list, but this results in the list being None. We then try to iterate the list, which triggers an exception that leads to the 400 error. We need to fix the way we initialize the list. To manage notifications about this bug go to: https://bugs.launchpad.net/keystone/+bug/1440185/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp