Cannot add member to a project while using db.simple.api

Bug #1620833 reported by Timothy Symanczyk
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glance
Fix Released
Undecided
Timothy Symanczyk

Bug Description

1) Fresh devstack install, all origin master
2) Configure glance-api.conf with "data_api = glance.db.simple.api"
3) Configure glance-api.conf with "workers = 1" to avoid bug 1619508
4) Create new image
5) Attempt to add the devstack-default project "alt_demo" as a member to same image
6) Observe 500 client response

timothy_symanczyk@devstack:~/becomes/DEVSTACK$ openstack project list
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
+----------------------------------+--------------------+
| ID | Name |
+----------------------------------+--------------------+
| 1f4fd1f8372b4eec9c06eae601db2fce | demo |
| 694a9818fe9d4767a4072bd05d0ea14d | invisible_to_admin |
| 81ae90e13f194490885ca952f66ce703 | service |
| 9b6f0b5e9bbb46af979b11b1c1bf1f26 | admin |
| ae4b292ddafb43e0bda12417b43c2d0e | alt_demo |
+----------------------------------+--------------------+
timothy_symanczyk@devstack:~/becomes/DEVSTACK$ openstack image create some_image
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
+------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | None |
| container_format | bare |
| created_at | 2016-09-06T21:17:57Z |
| disk_format | raw |
| file | /v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0/file |
| id | 85154d8c-6c85-4540-bcde-2ee7ff2ca4c0 |
| min_disk | 0 |
| min_ram | 0 |
| name | some_image |
| owner | 9b6f0b5e9bbb46af979b11b1c1bf1f26 |
| protected | False |
| schema | /v2/schemas/image |
| size | None |
| status | queued |
| tags | |
| updated_at | 2016-09-06T21:17:57Z |
| virtual_size | None |
| visibility | private |
+------------------+------------------------------------------------------+
timothy_symanczyk@devstack:~/becomes/DEVSTACK$ openstack --debug image add project some_image alt_demo
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
START with options: [u'--debug', u'image', u'add', u'project', u'some_image', u'alt_demo']
options: Namespace(access_key='', access_secret='***', access_token='***', access_token_endpoint='', access_token_type='', aodh_endpoint='', auth_type='', auth_url='http://devstack:5000/v3', authorization_code='', cacert=None, cert='', client_id='', client_secret='***', cloud='', consumer_key='', consumer_secret='***', debug=True, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', identity_provider_url='', insecure=None, inspector_api_version='1', inspector_url=None, interface='', key='', log_file=None, old_profile=None, openid_scope='', os_alarming_api_version='2', os_application_catalog_api_version='1', os_baremetal_api_version='1.6', os_beta_command=False, os_clustering_api_version='1', os_compute_api_version='', os_data_processing_api_version='1.1', os_data_processing_url='', os_dns_api_version='2', os_identity_api_version='3', os_image_api_version='', os_key_manager_api_version='1', os_network_api_version='', os_object_api_version='', os_orchestration_api_version='1', os_policy_api_version='1', os_project_id=None, os_project_name=None, os_queues_api_version='1.1', os_search_api_version='1', os_translator_api_version='1', os_volume_api_version='', os_workflow_api_version='2', passcode='', password='***', profile=None, project_domain_id='', project_domain_name='default', project_id='', project_name='admin', protocol='', redirect_uri='', region_name='', roles='', timing=False, token='***', trust_id='', url='', user_domain_id='', user_domain_name='default', user_id='', username='admin', verbose_level=3, verify=None)
Auth plugin password selected
auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'compute_api_version': u'2', u'orchestration_api_version': '1', u'database_api_version': u'1.0', 'data_processing_api_version': '1.1', 'inspector_api_version': '1', 'policy_api_version': '1', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], u'image_api_version': u'2', 'clustering_api_version': '1', 'verify': True, 'application_catalog_api_version': '1', 'translator_api_version': '1', 'search_api_version': '1', u'object_store_api_version': u'1', 'username': 'admin', 'verbose_level': 3, 'region_name': '', 'api_timeout': None, u'baremetal_api_version': '1.6', 'queues_api_version': '1.1', 'auth': {'user_domain_name': 'default', 'project_name': 'admin', 'project_domain_name': 'default'}, 'default_domain': 'default', 'debug': True, u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'timing': False, 'password': 'stack', u'dns_api_version': '2', 'cacert': None, u'key_manager_api_version': '1', u'metering_api_version': u'2', 'deferred_help': False, u'identity_api_version': '3', 'workflow_api_version': '2', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', u'status': u'active', 'alarming_api_version': '2', u'container_api_version': u'1', 'auth_url': 'http://devstack:5000/v3', u'interface': None, u'disable_vendor_agent': {}}
defaults: {u'auth_type': 'password', u'status': u'active', u'compute_api_version': u'2', 'key': None, u'database_api_version': u'1.0', 'api_timeout': None, u'baremetal_api_version': u'1', u'image_api_version': u'2', u'metering_api_version': u'2', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', u'orchestration_api_version': u'1', 'cacert': None, u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', u'key_manager_api_version': u'v1', 'verify': True, u'identity_api_version': u'2.0', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', u'container_api_version': u'1', u'dns_api_version': u'2', u'object_store_api_version': u'1', u'interface': None, u'disable_vendor_agent': {}}
cloud cfg: {'auth_type': 'password', 'beta_command': False, u'compute_api_version': u'2', 'key': None, u'database_api_version': u'1.0', 'data_processing_api_version': '1.1', 'inspector_api_version': '1', 'policy_api_version': '1', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], u'image_api_version': u'2', 'clustering_api_version': '1', u'dns_api_version': '2', 'verify': True, u'status': u'active', 'search_api_version': '1', u'object_store_api_version': u'1', 'username': 'admin', 'verbose_level': 3, 'region_name': '', 'api_timeout': None, u'baremetal_api_version': '1.6', 'queues_api_version': '1.1', 'auth': {'username': 'admin', 'project_name': 'admin', 'user_domain_name': 'default', 'auth_url': 'http://devstack:5000/v3', 'password': '***', 'project_domain_name': 'default'}, 'default_domain': 'default', u'container_api_version': u'1', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', u'orchestration_api_version': '1', 'timing': False, 'password': '***', 'application_catalog_api_version': '1', 'cacert': None, u'key_manager_api_version': '1', u'metering_api_version': u'2', 'deferred_help': False, u'identity_api_version': '3', 'workflow_api_version': '2', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', 'translator_api_version': '1', 'alarming_api_version': '2', 'debug': True, 'auth_url': 'http://devstack:5000/v3', u'interface': None, u'disable_vendor_agent': {}}
compute API version 2, cmd group openstack.compute.v2
network API version 2, cmd group openstack.network.v2
image API version 2, cmd group openstack.image.v2
volume API version 2, cmd group openstack.volume.v2
identity API version 3, cmd group openstack.identity.v3
object_store API version 1, cmd group openstack.object_store.v1
search API version 1, cmd group openstack.search.v1
dns API version 2, cmd group openstack.dns.v2
data_processing API version 1.1, cmd group openstack.data_processing.v1
key_manager API version 1, cmd group openstack.key_manager.v1
clustering API version 1, cmd group openstack.clustering.v1
messaging API version 1.1, cmd group openstack.messaging.v1
baremetal_introspection API version 1, cmd group openstack.baremetal_introspection.v1
alarming API version 2, cmd group openstack.alarming.v2
baremetal API version 1.6, cmd group openstack.baremetal.v1
workflow_engine API version 2, cmd group openstack.workflow_engine.v2
application_catalog API version 1, cmd group openstack.application_catalog.v1
orchestration API version 1, cmd group openstack.orchestration.v1
congressclient API version 1, cmd group openstack.congressclient.v1
translator API version 1, cmd group openstack.translator.v1
Auth plugin password selected
auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'compute_api_version': u'2', u'orchestration_api_version': '1', u'database_api_version': u'1.0', 'data_processing_api_version': '1.1', 'inspector_api_version': '1', 'policy_api_version': '1', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], u'image_api_version': u'2', 'clustering_api_version': '1', 'verify': True, 'application_catalog_api_version': '1', 'translator_api_version': '1', 'search_api_version': '1', u'object_store_api_version': u'1', 'username': 'admin', 'verbose_level': 3, 'region_name': '', 'api_timeout': None, u'baremetal_api_version': '1.6', 'queues_api_version': '1.1', 'auth': {'user_domain_name': 'default', 'project_name': 'admin', 'project_domain_name': 'default'}, 'default_domain': 'default', 'debug': True, u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'timing': False, 'password': 'stack', u'dns_api_version': '2', 'cacert': None, u'key_manager_api_version': '1', u'metering_api_version': u'2', 'deferred_help': False, u'identity_api_version': '3', 'workflow_api_version': '2', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', u'status': u'active', 'alarming_api_version': '2', u'container_api_version': u'1', 'auth_url': 'http://devstack:5000/v3', u'interface': None, u'disable_vendor_agent': {}}
command: image add project -> openstackclient.image.v2.image.AddProjectToImage
Using auth plugin: password
Using parameters {'username': 'admin', 'project_name': 'admin', 'user_domain_name': 'default', 'auth_url': 'http://devstack:5000/v3', 'password': '***', 'project_domain_name': 'default'}
Get auth_ref
REQ: curl -g -i -X GET http://devstack:5000/v3 -H "Accept: application/json" -H "User-Agent: osc-lib keystoneauth1/2.12.1 python-requests/2.11.1 CPython/2.7.6"
Starting new HTTP connection (1): devstack
"GET /v3 HTTP/1.1" 200 256
RESP: [200] Date: Tue, 06 Sep 2016 21:19:12 GMT Server: Apache/2.4.7 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-e218f65b-3848-48d3-8bba-403916126c4c Content-Length: 256 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/json
RESP BODY: {"version": {"status": "stable", "updated": "2016-10-06T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.7", "links": [{"href": "http://172.16.14.131/identity/v3/", "rel": "self"}]}}

Making authentication request to http://172.16.14.131/identity/v3/auth/tokens
Starting new HTTP connection (1): 172.16.14.131
"POST /identity/v3/auth/tokens HTTP/1.1" 201 1662
{"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "7a1f91ee86144ea7933975e14a62ed83", "name": "admin"}], "is_admin_project": true, "project": {"domain": {"id": "default", "name": "Default"}, "id": "9b6f0b5e9bbb46af979b11b1c1bf1f26", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://172.16.14.131:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "5346313d127f4042a43737fe35cc7656"}, {"url": "http://172.16.14.131:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "73975ec7d6ad46bdb279c2012258c7a4"}, {"url": "http://172.16.14.131:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "bd9d11f8757847a5bf4d80534be566e8"}], "type": "image", "id": "1663aeb421434dfda8df11f92b3ea56c", "name": "glance"}, {"endpoints": [{"url": "http://172.16.14.131/identity", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "09209ab8427e4d2d9f8bb94f9ba38f6c"}, {"url": "http://172.16.14.131/identity", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "56b1ffc88da04095984a0a16360d4751"}, {"url": "http://172.16.14.131/identity_v2_admin", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ee705e874f86405f9d8d5a5346038ee4"}], "type": "identity", "id": "b042aa6d9c6b49e4b237bbc03b178e90", "name": "keystone"}], "expires_at": "2016-09-06T22:19:12.200889Z", "audit_ids": ["aKCt0RocQ3Gsz8U7AwQjbw"], "issued_at": "2016-09-06T21:19:12.200917Z", "user": {"domain": {"id": "default", "name": "Default"}, "id": "4c05b755cb4c413793b7129ebb870b54", "name": "admin"}}}
run(Namespace(columns=[], formatter='table', image=u'some_image', max_width=0, noindent=False, prefix='', project=u'alt_demo', project_domain=None, variables=[]))
Instantiating image client: <class 'glanceclient.v2.client.Client'>
Making authentication request to http://172.16.14.131/identity/v3/auth/tokens
"POST /identity/v3/auth/tokens HTTP/1.1" 201 1662
{"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "7a1f91ee86144ea7933975e14a62ed83", "name": "admin"}], "is_admin_project": true, "project": {"domain": {"id": "default", "name": "Default"}, "id": "9b6f0b5e9bbb46af979b11b1c1bf1f26", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://172.16.14.131:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "5346313d127f4042a43737fe35cc7656"}, {"url": "http://172.16.14.131:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "73975ec7d6ad46bdb279c2012258c7a4"}, {"url": "http://172.16.14.131:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "bd9d11f8757847a5bf4d80534be566e8"}], "type": "image", "id": "1663aeb421434dfda8df11f92b3ea56c", "name": "glance"}, {"endpoints": [{"url": "http://172.16.14.131/identity", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "09209ab8427e4d2d9f8bb94f9ba38f6c"}, {"url": "http://172.16.14.131/identity", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "56b1ffc88da04095984a0a16360d4751"}, {"url": "http://172.16.14.131/identity_v2_admin", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ee705e874f86405f9d8d5a5346038ee4"}], "type": "identity", "id": "b042aa6d9c6b49e4b237bbc03b178e90", "name": "keystone"}], "expires_at": "2016-09-06T22:19:12.253462Z", "audit_ids": ["9zwX6nOsR_KT9eZ8z7nkyQ"], "issued_at": "2016-09-06T21:19:12.253485Z", "user": {"domain": {"id": "default", "name": "Default"}, "id": "4c05b755cb4c413793b7129ebb870b54", "name": "admin"}}}
Instantiating image api: <class 'openstackclient.api.image_v2.APIv2'>
Instantiating identity client: <class 'keystoneclient.v3.client.Client'>
REQ: curl -g -i -X GET http://172.16.14.131/identity_v2_admin -H "Accept: application/json" -H "User-Agent: osc-lib keystoneauth1/2.12.1 python-requests/2.11.1 CPython/2.7.6"
"GET /identity_v2_admin HTTP/1.1" 300 625
RESP: [300] Date: Tue, 06 Sep 2016 21:19:12 GMT Server: Apache/2.4.7 (Ubuntu) Vary: X-Auth-Token Content-Length: 625 Keep-Alive: timeout=5, max=98 Connection: Keep-Alive Content-Type: application/json
RESP BODY: {"versions": {"values": [{"status": "stable", "updated": "2016-10-06T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.7", "links": [{"href": "http://172.16.14.131/identity_v2_admin/v3/", "rel": "self"}]}, {"status": "deprecated", "updated": "2016-08-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://172.16.14.131/identity_v2_admin/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}]}}

REQ: curl -g -i -X GET http://172.16.14.131/identity_v2_admin/v3/projects/alt_demo -H "User-Agent: python-keystoneclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da"
"GET /identity_v2_admin/v3/projects/alt_demo HTTP/1.1" 404 93
RESP: [404] Date: Tue, 06 Sep 2016 21:19:12 GMT Server: Apache/2.4.7 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-80163e7d-e6d6-4ac5-97f3-10bc123b77de Content-Length: 93 Keep-Alive: timeout=5, max=97 Connection: Keep-Alive Content-Type: application/json
RESP BODY: {"error": {"message": "Could not find project: alt_demo", "code": 404, "title": "Not Found"}}

Request returned failure status: 404
REQ: curl -g -i -X GET http://172.16.14.131/identity_v2_admin/v3/projects/alt_demo -H "User-Agent: python-keystoneclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da"
"GET /identity_v2_admin/v3/projects/alt_demo HTTP/1.1" 404 93
RESP: [404] Date: Tue, 06 Sep 2016 21:19:12 GMT Server: Apache/2.4.7 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-c9766c9c-9ec0-4379-95b7-23d14b492622 Content-Length: 93 Keep-Alive: timeout=5, max=96 Connection: Keep-Alive Content-Type: application/json
RESP BODY: {"error": {"message": "Could not find project: alt_demo", "code": 404, "title": "Not Found"}}

Request returned failure status: 404
REQ: curl -g -i -X GET http://172.16.14.131/identity_v2_admin/v3/projects?name=alt_demo -H "User-Agent: python-keystoneclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da"
"GET /identity_v2_admin/v3/projects?name=alt_demo HTTP/1.1" 200 389
RESP: [200] Date: Tue, 06 Sep 2016 21:19:12 GMT Server: Apache/2.4.7 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-35e79f00-62b5-4598-8a24-874bcf2b6fd9 Content-Length: 389 Keep-Alive: timeout=5, max=95 Connection: Keep-Alive Content-Type: application/json
RESP BODY: {"links": {"self": "http://172.16.14.131/identity/v3/projects?name=alt_demo", "previous": null, "next": null}, "projects": [{"is_domain": false, "description": "", "links": {"self": "http://172.16.14.131/identity/v3/projects/ae4b292ddafb43e0bda12417b43c2d0e"}, "enabled": true, "id": "ae4b292ddafb43e0bda12417b43c2d0e", "parent_id": "default", "domain_id": "default", "name": "alt_demo"}]}

curl -g -i -X GET -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'User-Agent: python-glanceclient' -H 'Connection: keep-alive' -H 'X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da' -H 'Content-Type: application/octet-stream' http://172.16.14.131:9292/v2/images/some_image
Starting new HTTP connection (1): 172.16.14.131
"GET /v2/images/some_image HTTP/1.1" 404 53
GET call to glance-api for http://172.16.14.131:9292/v2/images/some_image used request id req-88fd816c-015b-4a24-9d7e-d0a2d2431a28
Request returned failure status 404.
curl -g -i -X GET -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'User-Agent: python-glanceclient' -H 'Connection: keep-alive' -H 'X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da' -H 'Content-Type: application/octet-stream' http://172.16.14.131:9292/v2/images/some_image
"GET /v2/images/some_image HTTP/1.1" 404 53
GET call to glance-api for http://172.16.14.131:9292/v2/images/some_image used request id req-b9b1bba5-1918-4abe-b77f-b87fa9a48a1f
Request returned failure status 404.
curl -g -i -X GET -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'User-Agent: python-glanceclient' -H 'Connection: keep-alive' -H 'X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da' -H 'Content-Type: application/octet-stream' http://172.16.14.131:9292/v2/images?limit=20
"GET /v2/images?limit=20 HTTP/1.1" 200 631
GET call to glance-api for http://172.16.14.131:9292/v2/images?limit=20 used request id req-f54edc85-f8ae-45c1-b409-8701aaea6e18

HTTP/1.1 200 OK
Content-Length: 631
Content-Type: application/json; charset=UTF-8
X-Openstack-Request-Id: req-f54edc85-f8ae-45c1-b409-8701aaea6e18
Date: Tue, 06 Sep 2016 21:19:12 GMT
Connection: keep-alive

{"images": [{"status": "queued", "name": "some_image", "tags": [], "container_format": "bare", "created_at": "2016-09-06T21:17:57Z", "size": null, "disk_format": "raw", "updated_at": "2016-09-06T21:17:57Z", "visibility": "private", "self": "/v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0", "min_disk": 0, "protected": false, "id": "85154d8c-6c85-4540-bcde-2ee7ff2ca4c0", "file": "/v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0/file", "checksum": null, "owner": "9b6f0b5e9bbb46af979b11b1c1bf1f26", "virtual_size": null, "min_ram": 0, "schema": "/v2/schemas/image"}], "schema": "/v2/schemas/images", "first": "/v2/images?limit=20"}

curl -g -i -X GET -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'User-Agent: python-glanceclient' -H 'Connection: keep-alive' -H 'X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da' -H 'Content-Type: application/octet-stream' http://172.16.14.131:9292/v2/schemas/image
"GET /v2/schemas/image HTTP/1.1" 200 4137
GET call to glance-api for http://172.16.14.131:9292/v2/schemas/image used request id req-2596047f-7301-4643-bcc3-4eb029463afc

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 4137
X-Openstack-Request-Id: req-2596047f-7301-4643-bcc3-4eb029463afc
Date: Tue, 06 Sep 2016 21:19:12 GMT
Connection: keep-alive

{"additionalProperties": {"type": "string"}, "name": "image", "links": [{"href": "{self}", "rel": "self"}, {"href": "{file}", "rel": "enclosure"}, {"href": "{schema}", "rel": "describedby"}], "properties": {"status": {"readOnly": true, "enum": ["queued", "saving", "active", "killed", "deleted", "pending_delete", "deactivated"], "type": "string", "description": "Status of the image"}, "tags": {"items": {"type": "string", "maxLength": 255}, "type": "array", "description": "List of strings related to the image"}, "kernel_id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", "type": ["null", "string"], "description": "ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.", "is_base": false}, "container_format": {"enum": [null, "ami", "ari", "aki", "bare", "ovf", "ova", "docker"], "type": ["null", "string"], "description": "Format of the container"}, "min_ram": {"type": "integer", "description": "Amount of ram (in MB) required to boot image."}, "ramdisk_id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", "type": ["null", "string"], "description": "ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.", "is_base": false}, "locations": {"items": {"required": ["url", "metadata"], "type": "object", "properties": {"url": {"type": "string", "maxLength": 255}, "metadata": {"type": "object"}}}, "type": "array", "description": "A set of URLs to access the image file kept in external store"}, "visibility": {"enum": ["public", "private"], "type": "string", "description": "Scope of image accessibility"}, "updated_at": {"readOnly": true, "type": "string", "description": "Date and time of the last image modification"}, "owner": {"type": ["null", "string"], "description": "Owner of the image", "maxLength": 255}, "file": {"readOnly": true, "type": "string", "description": "An image file url"}, "min_disk": {"type": "integer", "description": "Amount of disk space (in GB) required to boot image."}, "virtual_size": {"readOnly": true, "type": ["null", "integer"], "description": "Virtual size of image in bytes"}, "id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", "type": "string", "description": "An identifier for the image"}, "size": {"readOnly": true, "type": ["null", "integer"], "description": "Size of image file in bytes"}, "instance_uuid": {"type": "string", "description": "Metadata which can be used to record which instance this image is associated with. (Informational only, does not create an instance snapshot.)", "is_base": false}, "os_distro": {"type": "string", "description": "Common name of operating system distribution as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", "is_base": false}, "name": {"type": ["null", "string"], "description": "Descriptive name for the image", "maxLength": 255}, "checksum": {"readOnly": true, "type": ["null", "string"], "description": "md5 hash of image contents.", "maxLength": 32}, "created_at": {"readOnly": true, "type": "string", "description": "Date and time of image registration"}, "disk_format": {"enum": [null, "ami", "ari", "aki", "vhd", "vhdx", "vmdk", "raw", "qcow2", "vdi", "iso"], "type": ["null", "string"], "description": "Format of the disk"}, "os_version": {"type": "string", "description": "Operating system version as specified by the distributor", "is_base": false}, "protected": {"type": "boolean", "description": "If true, image will not be deletable."}, "architecture": {"type": "string", "description": "Operating system architecture as specified in http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html", "is_base": false}, "direct_url": {"readOnly": true, "type": "string", "description": "URL to access the image file kept in external store"}, "self": {"readOnly": true, "type": "string", "description": "An image self url"}, "schema": {"readOnly": true, "type": "string", "description": "An image schema url"}}}

curl -g -i -X POST -H 'Accept-Encoding: gzip, deflate' -H 'Accept: */*' -H 'User-Agent: python-glanceclient' -H 'Connection: keep-alive' -H 'X-Auth-Token: {SHA1}941ec416df4ada262c3b0f992033ed3400ca39da' -H 'Content-Type: application/json' -d '{"member": "ae4b292ddafb43e0bda12417b43c2d0e"}' http://172.16.14.131:9292/v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0/members
"POST /v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0/members HTTP/1.1" 500 114
POST call to glance-api for http://172.16.14.131:9292/v2/images/85154d8c-6c85-4540-bcde-2ee7ff2ca4c0/members used request id req-3253b5df-4bd9-4726-944d-84ae4b4e2fbd
Request returned failure status 500.
500 Internal Server Error
The server has either erred or is incapable of performing the requested operation.
    (HTTP 500)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 387, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 100, in run
    column_names, data = self.take_action(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/openstackclient/image/v2/image.py", line 103, in take_action
    project_id,
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/v2/image_members.py", line 54, in create
    resp, created_member = self.http_client.post(url, data=body)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 290, in post
    return self._request('POST', url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 279, in _request
    resp, body_iter = self._handle_response(resp)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 107, in _handle_response
    raise exc.from_response(resp, resp.content)
HTTPInternalServerError: 500 Internal Server Error
The server has either erred or is incapable of performing the requested operation.
    (HTTP 500)
clean_up AddProjectToImage: 500 Internal Server Error
The server has either erred or is incapable of performing the requested operation.
    (HTTP 500)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/osc_lib/shell.py", line 135, in run
    ret_val = super(OpenStackShell, self).run(argv)
  File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 267, in run
    result = self.run_subcommand(remainder)
  File "/usr/local/lib/python2.7/dist-packages/osc_lib/shell.py", line 180, in run_subcommand
    ret_value = super(OpenStackShell, self).run_subcommand(argv)
  File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 387, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 100, in run
    column_names, data = self.take_action(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/openstackclient/image/v2/image.py", line 103, in take_action
    project_id,
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/v2/image_members.py", line 54, in create
    resp, created_member = self.http_client.post(url, data=body)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 290, in post
    return self._request('POST', url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 279, in _request
    resp, body_iter = self._handle_response(resp)
  File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 107, in _handle_response
    raise exc.from_response(resp, resp.content)
HTTPInternalServerError: 500 Internal Server Error
The server has either erred or is incapable of performing the requested operation.
    (HTTP 500)

END return value: 1
timothy_symanczyk@devstack:~/becomes/DEVSTACK$

Changed in glance:
assignee: nobody → Timothy Symanczyk (timothy-symanczyk)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to glance (master)

Fix proposed to branch: master
Review: https://review.openstack.org/366354

Changed in glance:
status: New → In Progress
tags: added: newton-rc-potential
Revision history for this message
Brian Rosmaita (brian-rosmaita) wrote :

Removed newton-rc-potential. Please fix in master.

tags: removed: newton-rc-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to glance (master)

Reviewed: https://review.opendev.org/c/openstack/glance/+/366354
Committed: https://opendev.org/openstack/glance/commit/fdc83a8ede44c265a6b30185871674cb763a5ae8
Submitter: "Zuul (22348)"
Branch: master

commit fdc83a8ede44c265a6b30185871674cb763a5ae8
Author: Timothy Symanczyk <email address hidden>
Date: Thu Sep 1 12:45:08 2016 -0700

    Allow member creation when using db.simple api

    Within simple/db/api.py, DATA['members'] was being statically
    initialized as a dict.

    Inspection of the code revealed a reset function that initialized the
    same as a list. Further code inspection seemed to confirm that it was
    always intended to be a list.

    Updated static initialization to be a list.

    Change-Id: Ia53890bcd1161b66a1b365bb3bcc7fc9fbcf6e40
    Closes-Bug: #1620833

Changed in glance:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/glance 23.0.0.0b2

This issue was fixed in the openstack/glance 23.0.0.0b2 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.