← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1315121] [NEW] lack of logging when an invalid store is used leads to confusion

 

Public bug reported:

EDIT: Havana h.2 is what we're using on Ubuntu

When the http method in known_stores is disabled, mistakenly or not, the
failure mode is annoyingly silent. I spent a day trying to track down
why I could not load images from a URL and the logs were completely non-
helpful, even with debug enabled in glance-api. We had enabled the rbd
store only after enabling ceph.

The only useful output came after enabling
default_log_levels=eventlet.wsgi.server=DEBUG. This was the final useful
message:

File "/usr/lib/python2.7/dist-packages/glance/store/location.py", line 73, in get_location_from_uri
raise exception.UnknownScheme(scheme=pieces.scheme)
 UnknownScheme: Unknown scheme 'http' found in URI write /usr/lib/python2.7/dist-packages/glance/common/wsgi.py:98

When a user loads to an invalid store, we should not have to enable
esoteric log levels (which we didn't even know about before asking) to
find out.

root@chrcnc01-control-001:~# glance -v --debug image-create --name coke --min-disk 20 --min-ram 1024 --location http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img --disk-format qcow2 --container-format bare
curl -i -X POST -H 'x-image-meta-container_format: bare' -H 'x-image-meta-location: http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img' -H 'x-image-meta-min_disk: 20' -H 'User-Agent: python-glanceclient' -H 'x-image-meta-is_public: False' -H 'x-image-meta-min_ram: 1024' -H 'X-Auth-Token: 0b0bcc164e0f4d1cbba63d9edc13ac8d' -H 'Content-Type: application/octet-stream' -H 'x-image-meta-disk_format: qcow2' -H 'x-image-meta-name: coke' http://1.2.3.4:9292/v1/images

HTTP/1.1 500 Internal Server Error
date: Thu, 01 May 2014 19:20:53 GMT
content-length: 0
content-type: text/plain
connection: close

Request returned failure status.
HTTPInternalServerError (HTTP 500)

** Affects: glance
     Importance: Undecided
         Status: New

** Description changed:

+ EDIT: Havana h.2 is what we're using on Ubuntu
+ 
  When the http method in known_stores is disabled, mistakenly or not, the
  failure mode is annoyingly silent. I spent a day trying to track down
  why I could not load images from a URL and the logs were completely non-
  helpful, even with debug enabled in glance-api. We had enabled the rbd
  store only after enabling ceph.
  
  The only useful output came after enabling
  default_log_levels=eventlet.wsgi.server=DEBUG. This was the final useful
  message:
  
  File "/usr/lib/python2.7/dist-packages/glance/store/location.py", line 73, in get_location_from_uri
  raise exception.UnknownScheme(scheme=pieces.scheme)
-  UnknownScheme: Unknown scheme 'http' found in URI write /usr/lib/python2.7/dist-packages/glance/common/wsgi.py:98
+  UnknownScheme: Unknown scheme 'http' found in URI write /usr/lib/python2.7/dist-packages/glance/common/wsgi.py:98
  
- 
- When a user loads to an invalid store, we should not have to enable esoteric log levels (which we didn't even know about before asking) to find out.
- 
+ When a user loads to an invalid store, we should not have to enable
+ esoteric log levels (which we didn't even know about before asking) to
+ find out.
  
  root@chrcnc01-control-001:~# glance -v --debug image-create --name coke --min-disk 20 --min-ram 1024 --location http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img --disk-format qcow2
  curl -i -X POST -H 'x-image-meta-location: http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img' -H 'x-image-meta-min_disk: 20' -H 'User-Agent: python-glanceclient' -H 'x-image-meta-is_public: False' -H 'x-image-meta-min_ram: 1024' -H 'X-Auth-Token: 182f569af9e64a4993e58b649f612af6' -H 'Content-Type: application/octet-stream' -H 'x-image-meta-disk_format: qcow2' -H 'x-image-meta-name: coke' http://1.2.3.4:9292/v1/images
  
  HTTP/1.1 500 Internal Server Error
  date: Thu, 01 May 2014 19:06:22 GMT
  content-length: 0
  content-type: text/plain
  connection: close
  
  Request returned failure status.
  HTTPInternalServerError (HTTP 500)

** Description changed:

  EDIT: Havana h.2 is what we're using on Ubuntu
  
  When the http method in known_stores is disabled, mistakenly or not, the
  failure mode is annoyingly silent. I spent a day trying to track down
  why I could not load images from a URL and the logs were completely non-
  helpful, even with debug enabled in glance-api. We had enabled the rbd
  store only after enabling ceph.
  
  The only useful output came after enabling
  default_log_levels=eventlet.wsgi.server=DEBUG. This was the final useful
  message:
  
  File "/usr/lib/python2.7/dist-packages/glance/store/location.py", line 73, in get_location_from_uri
  raise exception.UnknownScheme(scheme=pieces.scheme)
   UnknownScheme: Unknown scheme 'http' found in URI write /usr/lib/python2.7/dist-packages/glance/common/wsgi.py:98
  
  When a user loads to an invalid store, we should not have to enable
  esoteric log levels (which we didn't even know about before asking) to
  find out.
  
- root@chrcnc01-control-001:~# glance -v --debug image-create --name coke --min-disk 20 --min-ram 1024 --location http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img --disk-format qcow2
- curl -i -X POST -H 'x-image-meta-location: http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img' -H 'x-image-meta-min_disk: 20' -H 'User-Agent: python-glanceclient' -H 'x-image-meta-is_public: False' -H 'x-image-meta-min_ram: 1024' -H 'X-Auth-Token: 182f569af9e64a4993e58b649f612af6' -H 'Content-Type: application/octet-stream' -H 'x-image-meta-disk_format: qcow2' -H 'x-image-meta-name: coke' http://1.2.3.4:9292/v1/images
+ root@chrcnc01-control-001:~# glance -v --debug image-create --name coke --min-disk 20 --min-ram 1024 --location http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img --disk-format qcow2 --container-format bare
+ curl -i -X POST -H 'x-image-meta-container_format: bare' -H 'x-image-meta-location: http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img' -H 'x-image-meta-min_disk: 20' -H 'User-Agent: python-glanceclient' -H 'x-image-meta-is_public: False' -H 'x-image-meta-min_ram: 1024' -H 'X-Auth-Token: 0b0bcc164e0f4d1cbba63d9edc13ac8d' -H 'Content-Type: application/octet-stream' -H 'x-image-meta-disk_format: qcow2' -H 'x-image-meta-name: coke' http://1.2.3.4:9292/v1/images
  
  HTTP/1.1 500 Internal Server Error
- date: Thu, 01 May 2014 19:06:22 GMT
+ date: Thu, 01 May 2014 19:20:53 GMT
  content-length: 0
  content-type: text/plain
  connection: close
  
  Request returned failure status.
  HTTPInternalServerError (HTTP 500)

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

Title:
  lack of logging when an invalid store is used leads to confusion

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

Bug description:
  EDIT: Havana h.2 is what we're using on Ubuntu

  When the http method in known_stores is disabled, mistakenly or not,
  the failure mode is annoyingly silent. I spent a day trying to track
  down why I could not load images from a URL and the logs were
  completely non-helpful, even with debug enabled in glance-api. We had
  enabled the rbd store only after enabling ceph.

  The only useful output came after enabling
  default_log_levels=eventlet.wsgi.server=DEBUG. This was the final
  useful message:

  File "/usr/lib/python2.7/dist-packages/glance/store/location.py", line 73, in get_location_from_uri
  raise exception.UnknownScheme(scheme=pieces.scheme)
   UnknownScheme: Unknown scheme 'http' found in URI write /usr/lib/python2.7/dist-packages/glance/common/wsgi.py:98

  When a user loads to an invalid store, we should not have to enable
  esoteric log levels (which we didn't even know about before asking) to
  find out.

  root@chrcnc01-control-001:~# glance -v --debug image-create --name coke --min-disk 20 --min-ram 1024 --location http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img --disk-format qcow2 --container-format bare
  curl -i -X POST -H 'x-image-meta-container_format: bare' -H 'x-image-meta-location: http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img' -H 'x-image-meta-min_disk: 20' -H 'User-Agent: python-glanceclient' -H 'x-image-meta-is_public: False' -H 'x-image-meta-min_ram: 1024' -H 'X-Auth-Token: 0b0bcc164e0f4d1cbba63d9edc13ac8d' -H 'Content-Type: application/octet-stream' -H 'x-image-meta-disk_format: qcow2' -H 'x-image-meta-name: coke' http://1.2.3.4:9292/v1/images

  HTTP/1.1 500 Internal Server Error
  date: Thu, 01 May 2014 19:20:53 GMT
  content-length: 0
  content-type: text/plain
  connection: close

  Request returned failure status.
  HTTPInternalServerError (HTTP 500)

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


Follow ups

References