You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by "Tim Slot (JIRA)" <ji...@apache.org> on 2015/12/01 14:36:11 UTC

[jira] [Updated] (LIBCLOUD-777) Openstack compute parsing error

     [ https://issues.apache.org/jira/browse/LIBCLOUD-777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Slot updated LIBCLOUD-777:
------------------------------
    Description: 
Hi, 

I'm using the openstack driver and authentication goes well. When I do a driver.list_images() or list_sizes() I'm getting a parse error from the openstack parser.

This is my config:
{code}
OpenStack = get_driver(Provider.OPENSTACK)
driver = OpenStack('USER', 'PASS',
                   ex_tenant_name='TENANT_ID',
                   ex_force_auth_url='https://identity.stack.cloudvps.com/v2.0/tokens',
                   ex_force_service_region='NL',
                   ex_force_service_type='computev3',
                   ex_force_service_name='nova compute v3',
                   ex_force_auth_version='2.0_password')
{code}
This is the error:
{code}
# -------- begin 4449709904:4449372064 response ----------
HTTP/1.1 300 Multiple Choices
Content-Length: 580
Strict-Transport-Security: max-age=31536000
Content-Type: application/json
 
{"choices": [{"status": "EXPERIMENTAL", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=3"}], "id": "v3.0", "links": [{"href": "http://compute.stack.cloudvps.com/v3/v3/images/detail", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/xml", "type": "application/vnd.openstack.compute+xml;version=2"}, {"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "links": [{"href": "http://compute.stack.cloudvps.com/v2/v3/images/detail", "rel": "self"}]}]}
# -------- end 4449709904:4449372064 response ----------
 
Traceback (most recent call last):
  File "app.py", line 17, in <module>
    images = driver.list_images()
  File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 268, in list_images
    self.connection.request('/images/detail').object, ex_only_active)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 202, in request
    raw=raw)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 799, in request
    response = responseCls(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 1001, in __init__
    super(OpenStack_1_1_Response, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 142, in __init__
    message=self.parse_error(),
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 359, in parse_error
    if len(values) > 0 and values[0]['code'] == 404 and key_pair_name:
TypeError: list indices must be integers, not str
{code}



I think its because of the multiple choices, but I'm not sure. Any idea how to solve this?

Thanks!


  was:
Hi, 

I'm using the openstack driver and authentication goes well. When I do a driver.list_images() or list_sizes() I'm getting a parse error from the openstack parser.

This is my config:
OpenStack = get_driver(Provider.OPENSTACK)
driver = OpenStack('USER', 'PASS',
                   ex_tenant_name='TENANT_ID',
                   ex_force_auth_url='https://identity.stack.cloudvps.com/v2.0/tokens',
                   ex_force_service_region='NL',
                   ex_force_service_type='computev3',
                   ex_force_service_name='nova compute v3',
                   ex_force_auth_version='2.0_password')

This is the error:

# -------- begin 4449709904:4449372064 response ----------
HTTP/1.1 300 Multiple Choices
Content-Length: 580
Strict-Transport-Security: max-age=31536000
Content-Type: application/json
 
{"choices": [{"status": "EXPERIMENTAL", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=3"}], "id": "v3.0", "links": [{"href": "http://compute.stack.cloudvps.com/v3/v3/images/detail", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/xml", "type": "application/vnd.openstack.compute+xml;version=2"}, {"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "links": [{"href": "http://compute.stack.cloudvps.com/v2/v3/images/detail", "rel": "self"}]}]}
# -------- end 4449709904:4449372064 response ----------
 
Traceback (most recent call last):
  File "app.py", line 17, in <module>
    images = driver.list_images()
  File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 268, in list_images
    self.connection.request('/images/detail').object, ex_only_active)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 202, in request
    raw=raw)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 799, in request
    response = responseCls(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 1001, in __init__
    super(OpenStack_1_1_Response, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 142, in __init__
    message=self.parse_error(),
  File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 359, in parse_error
    if len(values) > 0 and values[0]['code'] == 404 and key_pair_name:
TypeError: list indices must be integers, not str




I think its because of the multiple choices, but I'm not sure. Any idea how to solve this?

Thanks!



> Openstack compute parsing error
> -------------------------------
>
>                 Key: LIBCLOUD-777
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-777
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>            Reporter: Tim Slot
>
> Hi, 
> I'm using the openstack driver and authentication goes well. When I do a driver.list_images() or list_sizes() I'm getting a parse error from the openstack parser.
> This is my config:
> {code}
> OpenStack = get_driver(Provider.OPENSTACK)
> driver = OpenStack('USER', 'PASS',
>                    ex_tenant_name='TENANT_ID',
>                    ex_force_auth_url='https://identity.stack.cloudvps.com/v2.0/tokens',
>                    ex_force_service_region='NL',
>                    ex_force_service_type='computev3',
>                    ex_force_service_name='nova compute v3',
>                    ex_force_auth_version='2.0_password')
> {code}
> This is the error:
> {code}
> # -------- begin 4449709904:4449372064 response ----------
> HTTP/1.1 300 Multiple Choices
> Content-Length: 580
> Strict-Transport-Security: max-age=31536000
> Content-Type: application/json
>  
> {"choices": [{"status": "EXPERIMENTAL", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=3"}], "id": "v3.0", "links": [{"href": "http://compute.stack.cloudvps.com/v3/v3/images/detail", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/xml", "type": "application/vnd.openstack.compute+xml;version=2"}, {"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "links": [{"href": "http://compute.stack.cloudvps.com/v2/v3/images/detail", "rel": "self"}]}]}
> # -------- end 4449709904:4449372064 response ----------
>  
> Traceback (most recent call last):
>   File "app.py", line 17, in <module>
>     images = driver.list_images()
>   File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 268, in list_images
>     self.connection.request('/images/detail').object, ex_only_active)
>   File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 202, in request
>     raw=raw)
>   File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 799, in request
>     response = responseCls(**kwargs)
>   File "/usr/local/lib/python2.7/site-packages/libcloud/compute/drivers/openstack.py", line 1001, in __init__
>     super(OpenStack_1_1_Response, self).__init__(*args, **kwargs)
>   File "/usr/local/lib/python2.7/site-packages/libcloud/common/base.py", line 142, in __init__
>     message=self.parse_error(),
>   File "/usr/local/lib/python2.7/site-packages/libcloud/common/openstack.py", line 359, in parse_error
>     if len(values) > 0 and values[0]['code'] == 404 and key_pair_name:
> TypeError: list indices must be integers, not str
> {code}
> I think its because of the multiple choices, but I'm not sure. Any idea how to solve this?
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)