Public bug reported:

My environment is :
Nova api --https--> haproxy(SSL proxy)----http----> Glance api1
                                       |--http----> Glance api2

I use centos + rdo rpm package(havana), my haproxy is 1.5_dev21.

It can work well if I config in nova.conf as following:
glance_api_servers=glanceapi1_ip:9292,glanceapi2_ip:9292

But when I want nova api talk with glance api in https, it can't work. My 
config is as following:
glance_api_servers=https://Glanceapi_VIP:443 in nova.conf,

When I boot VM, I will get the error as below:
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 1220, in create
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     legacy_bdm=legacy_bdm)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 840, in 
_create_instance
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image_id, boot_meta = 
self._get_image(context, image_href)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 620, in _get_image
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
image_service.show(context, image_id)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 292, in show
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
_reraise_translated_image_exception(image_id)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 290, in show
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
self._client.call(context, 1, 'get', image_id)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 214, in call
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
getattr(client.images, method)(*args, **kwargs)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/v1/images.py", line 114, in get
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     % 
urllib.quote(str(image_id)))
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 293, in 
raw_request
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
self._http_request(url, method, **kwargs)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 244, in 
_http_request
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     body_str = 
''.join([chunk for chunk in body_iter])
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 499, in 
__iter__
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = self.next()
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 515, in 
next
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = 
self._resp.read(CHUNKSIZE)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 518, in read
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.close()
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 499, in close
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.fp.close()
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/socket.py", line 278, in close
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self._sock.close()
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 145, in __getattr__
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     attr = 
getattr(self.fd, name)
2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack AttributeError: 
'GreenSocket' object has no attribute 'close'

** Affects: nova
     Importance: Undecided
         Status: New

** Description changed:

  My environment is :
- Nova api -----https----> haproxy(1.5_dev21 work as ssl proxy) ----http----> 
Glance api1
-                                                                               
                             |--http----> Glance api2
+ Nova api --https--> haproxy(SSL proxy)----http----> Glance api1
+                                        |--http----> Glance api2
+ 
+ I use centos + rdo rpm package(havana), my haproxy is 1.5_dev21.
  
  It can work well if I config in nova.conf as following:
  glance_api_servers=glanceapi1_ip:9292,glanceapi2_ip:9292
  
- 
  But when I want nova api talk with glance api in https, it can't work. My 
config is as following:
- glance_api_servers=https://Glanceapi_VIP:443 in nova.conf, 
- 
+ glance_api_servers=https://Glanceapi_VIP:443 in nova.conf,
  
  When I boot VM, I will get the error as below:
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 1220, in create
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
legacy_bdm=legacy_bdm)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 840, in 
_create_instance
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image_id, boot_meta 
= self._get_image(context, image_href)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 620, in _get_image
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
image_service.show(context, image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 292, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
_reraise_translated_image_exception(image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 290, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
self._client.call(context, 1, 'get', image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 214, in call
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
getattr(client.images, method)(*args, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/v1/images.py", line 114, in get
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     % 
urllib.quote(str(image_id)))
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 293, in 
raw_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
self._http_request(url, method, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 244, in 
_http_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     body_str = 
''.join([chunk for chunk in body_iter])
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 499, in 
__iter__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = self.next()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 515, in 
next
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = 
self._resp.read(CHUNKSIZE)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 518, in read
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 499, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.fp.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/socket.py", line 278, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self._sock.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 145, in __getattr__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     attr = 
getattr(self.fd, name)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack AttributeError: 
'GreenSocket' object has no attribute 'close'

** Description changed:

  My environment is :
  Nova api --https--> haproxy(SSL proxy)----http----> Glance api1
-                                        |--http----> Glance api2
+                                        |--http----> Glance api2
  
  I use centos + rdo rpm package(havana), my haproxy is 1.5_dev21.
  
  It can work well if I config in nova.conf as following:
  glance_api_servers=glanceapi1_ip:9292,glanceapi2_ip:9292
  
  But when I want nova api talk with glance api in https, it can't work. My 
config is as following:
  glance_api_servers=https://Glanceapi_VIP:443 in nova.conf,
  
  When I boot VM, I will get the error as below:
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 1220, in create
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
legacy_bdm=legacy_bdm)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 840, in 
_create_instance
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image_id, boot_meta 
= self._get_image(context, image_href)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 620, in _get_image
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
image_service.show(context, image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 292, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
_reraise_translated_image_exception(image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 290, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
self._client.call(context, 1, 'get', image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 214, in call
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
getattr(client.images, method)(*args, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/v1/images.py", line 114, in get
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     % 
urllib.quote(str(image_id)))
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 293, in 
raw_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
self._http_request(url, method, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 244, in 
_http_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     body_str = 
''.join([chunk for chunk in body_iter])
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 499, in 
__iter__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = self.next()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 515, in 
next
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = 
self._resp.read(CHUNKSIZE)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 518, in read
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 499, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.fp.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/socket.py", line 278, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self._sock.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 145, in __getattr__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     attr = 
getattr(self.fd, name)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack AttributeError: 
'GreenSocket' object has no attribute 'close'

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1266974

Title:
  nova work with glance SSL

Status in OpenStack Compute (Nova):
  New

Bug description:
  My environment is :
  Nova api --https--> haproxy(SSL proxy)----http----> Glance api1
                                         |--http----> Glance api2

  I use centos + rdo rpm package(havana), my haproxy is 1.5_dev21.

  It can work well if I config in nova.conf as following:
  glance_api_servers=glanceapi1_ip:9292,glanceapi2_ip:9292

  But when I want nova api talk with glance api in https, it can't work. My 
config is as following:
  glance_api_servers=https://Glanceapi_VIP:443 in nova.conf,

  When I boot VM, I will get the error as below:
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 1220, in create
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
legacy_bdm=legacy_bdm)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 840, in 
_create_instance
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image_id, boot_meta 
= self._get_image(context, image_href)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/compute/api.py", line 620, in _get_image
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
image_service.show(context, image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 292, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     
_reraise_translated_image_exception(image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 290, in show
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     image = 
self._client.call(context, 1, 'get', image_id)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/nova/image/glance.py", line 214, in call
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
getattr(client.images, method)(*args, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/v1/images.py", line 114, in get
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     % 
urllib.quote(str(image_id)))
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 293, in 
raw_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     return 
self._http_request(url, method, **kwargs)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 244, in 
_http_request
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     body_str = 
''.join([chunk for chunk in body_iter])
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 499, in 
__iter__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = self.next()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/glanceclient/common/http.py", line 515, in 
next
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     chunk = 
self._resp.read(CHUNKSIZE)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 518, in read
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/httplib.py", line 499, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self.fp.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib64/python2.6/socket.py", line 278, in close
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     self._sock.close()
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack   File 
"/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 145, in __getattr__
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack     attr = 
getattr(self.fd, name)
  2014-01-08 04:39:01.480 6011 TRACE nova.api.openstack AttributeError: 
'GreenSocket' object has no attribute 'close'

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1266974/+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

Reply via email to