← Back to team overview

openstack team mailing list archive

Re: Can't create an instance with openstack-dashboard

 

Thanks, Jae - I pushed a change like you mention below to openstackx.  At
this point, most of the features we need for dashboard support of
servers.create have been pushed to nova core, so we should be able to get
rid of the openstackx dep for this call.

A

2011/9/8 Jae Sang Lee <hyangii@xxxxxxxxx>

> self answer :)
>
> before api error, there are http 400 error nova.api.openstack.wsgi [-]
> http://localhost:8774/v1.1/admin/extras/servers returned with HTTP 400
> When launced an instance using dashboard, openstackx.extenstions.admin.py.
> And In create_instance() method, self._get_kernel_ramdisk_from_image(req,
> image_id) is called.
>
> But, real _get_kernel_ramdisk_from_image() method is in
> nova.api.openstack.create_instance_helper.py. And definition is
> _get_kernel_ramdisk_from_image(self, req, *image_service*, image_id).
> Because of this, nova-api print HTTP 400 error. So I fixed
> openstackx.extenstions.admin.py's self._get_kernel_ramdisk_from_image(req,
> image_id) to self._get_kernel_ramdisk_from_image(req, image_service,
> image_id). and instance could launched.
>
>
>
> 2011년 9월 9일 오전 10:05, Jae Sang Lee <hyangii@xxxxxxxxx>님의 말:
>
> and this is a nova-api error message. When I launched an instance at
>> dashboard, this error occured.
>>
>> 11555 2011-09-07 21:24:20,829 INFO nova.api.openstack.wsgi [-]
>> http://localhost:8774/v1.1/admin/extras/servers returned with HTTP 400
>> 11556 2011-09-07 21:24:20,829 ERROR nova.api.openstack [-] Caught error:
>> 'Fault' object has no attribute 'explanation'
>> 11557 (nova.api.openstack): TRACE: Traceback (most recent call last):
>> 11558 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/nova/api/openstack/__init__.py", line 64, in
>> __call__
>> 11559 (nova.api.openstack): TRACE:     return
>> req.get_response(self.application)
>> 11560 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/request.py", line 1053, in get_response
>> 11561 (nova.api.openstack): TRACE:     application, catch_exc_info=False)
>> 11562 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/request.py", line 1022, in
>> call_application
>> 11563 (nova.api.openstack): TRACE:     app_iter =
>> application(self.environ, start_response)
>> 11564 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/keystone/middleware/auth_token.py", line 186,
>> in __call__
>> 11565 (nova.api.openstack): TRACE:     return self._forward_request(env,
>> start_response, proxy_headers)
>> 11566 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/keystone/middleware/auth_token.py", line 312,
>> in _forward_request
>> 11567 (nova.api.openstack): TRACE:     return self.app(env,
>> start_response)
>> 11568 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
>> 11569 (nova.api.openstack): TRACE:     return resp(environ,
>> start_response)
>> 11570 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
>> 11571 (nova.api.openstack): TRACE:     return resp(environ,
>> start_response)
>> 11572 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
>> 11573 (nova.api.openstack): TRACE:     return resp(environ,
>> start_response)
>> 11574 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/routes/middleware.py", line 131, in __call__
>> 11575 (nova.api.openstack): TRACE:     response = self.app(environ,
>> start_response)
>> 11576 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
>> 11577 (nova.api.openstack): TRACE:     return resp(environ,
>> start_response)
>> 11578 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 159, in __call__
>> 11579 (nova.api.openstack): TRACE:     return resp(environ,
>> start_response)
>> 11580 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 147, in __call__
>> 11581 (nova.api.openstack): TRACE:     resp = self.call_func(req, *args,
>> **self.kwargs)
>> 11582 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/webob/dec.py", line 208, in call_func
>> 11583 (nova.api.openstack): TRACE:     return self.func(req, *args,
>> **kwargs)
>> 11584 (nova.api.openstack): TRACE:   File
>> "/usr/lib/pymodules/python2.6/nova/api/openstack/faults.py", line 55, in
>> __call__
>> 11585 (nova.api.openstack): TRACE:     'message':
>> self.wrapped_exc.explanation}}
>> 11586 (nova.api.openstack): TRACE: AttributeError: 'Fault' object has no
>> attribute 'explanation'
>>
>> What is a problem? My environment(Nova and dashboard, keystone) is  trunk
>> version
>>
>> 2011/9/8 이재상 <hyangii@xxxxxxxxx>
>>
>>> Hi, everyone.
>>>
>>> I installed Nova environment(trunk version) with keystone(git clone),
>>> dashboard(git clone). so I login and can see user dashboard, system panel.
>>>
>>> (I can make user, tanant, keypair, network, etc on.)
>>>
>>> I also connect glance image service. I tried to make a instance with
>>> glance image.
>>>
>>> but there was somthing wrong. when I clicked create instance in
>>> dashboard, this is dashboard error message.
>>>
>>> ==========================
>>> Traceback (most recent call last):
>>>   File
>>> "/root/openstack-dashboard/django-openstack/django_openstack/dash/views/images.py",
>>> line 93, in handle
>>>     data.get('user_data'))
>>>   File
>>> "/root/openstack-dashboard/django-openstack/django_openstack/api.py", line
>>> 431, in server_create
>>>     name, image, flavor, key_name=key_name, user_data=user_data),
>>>   File
>>> "/root/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/extras/servers.py",
>>> line 115, in create
>>>     return self._create("/extras/servers", body, "server")
>>>   File
>>> "/root/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/base.py",
>>> line 40, in _create
>>>     resp, body = self.api.connection.post(url, body=body)
>>>   File
>>> "/root/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py",
>>> line 83, in post
>>>     return self._cs_request(url, 'POST', **kwargs)
>>>   File
>>> "/root/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py",
>>> line 65, in _cs_request
>>>     **kwargs)
>>>   File
>>> "/root/openstack-dashboard/openstack-dashboard/.dashboard-venv/src/openstackx/openstackx/api/connection.py",
>>> line 48, in request
>>>     raise exceptions.from_response(resp, body)
>>> ApiException: 'Fault' object has no attribute 'explanation' (HTTP 500)
>>> ======================
>>>
>>> I tried to find point of error, but I can't find. How can I fix this
>>> problem?
>>>
>>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
>

References