← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1265719] [NEW] Create image with api v2 return 500 error

 

Public bug reported:

I try to use the glance api v2 to create image as two steps:
1. create image metadata and get image id
curl -i -X POST  -H "X-Auth-Token: $token" -H "content-type: application/json" -d '{"name": "image-8", "type": "kernel", "foo": "bar", "disk_format": "aki", "container_format": "aki", "protected": false, "tags": ["test","image"], "visibility": "public", "min_ram":1, "min_disk":1}' \
http://192.168.0.100:9292/v2/images

glance image-show image-8

+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| Property 'foo'   | bar                                  |
| Property 'type'  | kernel                               |
| container_format | aki                                  |
| created_at       | 2014-01-03T06:21:37                  |
| deleted          | False                                |
| disk_format      | aki                                  |
| id               | a97139a5-1942-45ac-91e9-37e1febf7627 |
| is_public        | True                                 |
| min_disk         | 1                                    |
| min_ram          | 1                                    |
| name             | image-8                              |
| owner            | 25adaa8f93ee4199b6a362c45745231d     |
| protected        | False                                |
| status           | queued                               |
| updated_at       | 2014-01-03T06:21:37                  |
+------------------+--------------------------------------+

image status is queued and waiting for image data

2. with patch method update the locations of image-8.

curl -i -X PATCH -H "X-Auth-Token: $1" -H "content-type:application/openstack-images-v2.1-json-patch" \
-d '[{"op":"add", "path":"/locations/1", "value":{"url":"file:///var/lib/glance/images/cirros-0.3.1-x86_64-uec", "metadata":{}}}]' \
http://192.168.0.100:9292/v2/images/a97139a5-1942-45ac-91e9-37e1febf7627

respond:

HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Content-Length: 0
Date: Fri, 03 Jan 2014 06:22:01 GMT
Connection: close


expected respond

HTTP/1.1 200 OK
Content-Length: 496
Content-Type: application/json; charset=UTF-8
X-Openstack-Request-Id: req-755954a9-e375-4e43-a77e-1db2d430619e
Date: Fri, 03 Jan 2014 06:35:43 GMT

{"status": "active", "name": "image-8", "tags": ["test", "image"],
"container_format": "aki", "created_at": "2014-01-03T06:21:37Z",
"disk_format": "aki", "updated_at": "2014-01-03T06:35:43Z",
"visibility": "public", "self": "/v2/images/a97139a5-1942-45ac-
91e9-37e1febf7627", "protected": false, "id": "a97139a5-1942-45ac-
91e9-37e1febf7627", "file": "/v2/images/a97139a5-1942-45ac-
91e9-37e1febf7627/file", "min_disk": 1, "foo": "bar", "type": "kernel",
"min_ram": 1, "schema": "/v2/schemas/image"}


I debug the code of glance. I think the wrong is from glance/quota/__init__.py: _check_quota() function.
After image create without size which is none type, however _check_quota() will count the image space with image meta size.

** Affects: glance
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1265719

Title:
  Create image with api v2 return 500 error

Status in OpenStack Image Registry and Delivery Service (Glance):
  New

Bug description:
  I try to use the glance api v2 to create image as two steps:
  1. create image metadata and get image id
  curl -i -X POST  -H "X-Auth-Token: $token" -H "content-type: application/json" -d '{"name": "image-8", "type": "kernel", "foo": "bar", "disk_format": "aki", "container_format": "aki", "protected": false, "tags": ["test","image"], "visibility": "public", "min_ram":1, "min_disk":1}' \
  http://192.168.0.100:9292/v2/images

  glance image-show image-8

  +------------------+--------------------------------------+
  | Property         | Value                                |
  +------------------+--------------------------------------+
  | Property 'foo'   | bar                                  |
  | Property 'type'  | kernel                               |
  | container_format | aki                                  |
  | created_at       | 2014-01-03T06:21:37                  |
  | deleted          | False                                |
  | disk_format      | aki                                  |
  | id               | a97139a5-1942-45ac-91e9-37e1febf7627 |
  | is_public        | True                                 |
  | min_disk         | 1                                    |
  | min_ram          | 1                                    |
  | name             | image-8                              |
  | owner            | 25adaa8f93ee4199b6a362c45745231d     |
  | protected        | False                                |
  | status           | queued                               |
  | updated_at       | 2014-01-03T06:21:37                  |
  +------------------+--------------------------------------+

  image status is queued and waiting for image data

  2. with patch method update the locations of image-8.

  curl -i -X PATCH -H "X-Auth-Token: $1" -H "content-type:application/openstack-images-v2.1-json-patch" \
  -d '[{"op":"add", "path":"/locations/1", "value":{"url":"file:///var/lib/glance/images/cirros-0.3.1-x86_64-uec", "metadata":{}}}]' \
  http://192.168.0.100:9292/v2/images/a97139a5-1942-45ac-91e9-37e1febf7627

  respond:

  HTTP/1.1 500 Internal Server Error
  Content-Type: text/plain
  Content-Length: 0
  Date: Fri, 03 Jan 2014 06:22:01 GMT
  Connection: close

  
  expected respond

  HTTP/1.1 200 OK
  Content-Length: 496
  Content-Type: application/json; charset=UTF-8
  X-Openstack-Request-Id: req-755954a9-e375-4e43-a77e-1db2d430619e
  Date: Fri, 03 Jan 2014 06:35:43 GMT

  {"status": "active", "name": "image-8", "tags": ["test", "image"],
  "container_format": "aki", "created_at": "2014-01-03T06:21:37Z",
  "disk_format": "aki", "updated_at": "2014-01-03T06:35:43Z",
  "visibility": "public", "self": "/v2/images/a97139a5-1942-45ac-
  91e9-37e1febf7627", "protected": false, "id": "a97139a5-1942-45ac-
  91e9-37e1febf7627", "file": "/v2/images/a97139a5-1942-45ac-
  91e9-37e1febf7627/file", "min_disk": 1, "foo": "bar", "type":
  "kernel", "min_ram": 1, "schema": "/v2/schemas/image"}

  
  I debug the code of glance. I think the wrong is from glance/quota/__init__.py: _check_quota() function.
  After image create without size which is none type, however _check_quota() will count the image space with image meta size.

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1265719/+subscriptions


Follow ups

References