<div dir="ltr"><div><font size="4">Hi, everyone:<br></font></div><font size="4"> I'm trying to use Tuskar-ui to deploy an overcloud baremetal. But when I comfirmed and click the "deploy" buttom, it always got the following error. I really appreciate any help for this.</font><br><div> <br>DEBUG:tuskar_ui.api.tuskar:tuskarclient connection created using token "c814a946a77c11be3f1fcd79d0a9bcd5" and url "<a href="http://192.0.2.19:8585/">http://192.0.2.19:8585/</a>"<br>DEBUG:tuskarclient.common.http:curl -i -X GET -H 'X-Auth-Token: c814a946a77c11be3f1fcd79d0a9bcd5' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'User-Agent: python-tuskarclient' <a href="http://192.0.2.19:8585//v2/plans/8edb6d86-04d2-4792-906e-9677655477b8/templates">http://192.0.2.19:8585//v2/plans/8edb6d86-04d2-4792-906e-9677655477b8/templates</a><br>DEBUG:tuskarclient.common.http:<br>HTTP/1.0 200 OK<br>date: Mon, 15 Sep 2014 06:15:14 GMT<br>content-length: 2014<br>content-type: application/json; charset=UTF-8<br>server: WSGIServer/0.1 Python/2.7.6<br><br>{"plan.yaml": "description: overcloud\nheat_template_version: '2014-10-16'\noutputs:\n controller-1::ip:\n value:\n get_attr:\n - controller-1-resource-servers\n - ip\nparameters:\n controller-1::count:\n constraints:\n - range:\n min: '1'\n type: number\n controller-1::image_id:\n description: ID of the image to use\n type: string\n controller-1::instance_type:\n constraints:\n - allowed_values:\n - baremetal\n - m1.large\n description: instance_type must be one of baremetal, m1.large\n default: baremetal\n description: Instance type\n type: string\nresources:\n controller-1-resource-servers:\n properties:\n count:\n get_param:\n - controller-1::count\n resource_def:\n properties:\n image_id:\n get_param:\n - controller-1::image_id\n instance_type:\n get_param:\n - controller-1::instance_type\n type: Tuskar::controller-1\n type: OS::Heat::ResourceGroup\n", "environment.yaml": "parameters:\n controller-1::count: '1'\n controller-1::image_id: ''\n controller-1::instance_type: baremetal\nresource_registry:\n Tuskar::controller-1: provider-controller-1.yaml\n", "provider-controller-1.yaml": "description: 'Creates a controller server\n\n '\nheat_template_version: 2013-05-23\noutputs:\n ip:\n description: IP of the created instance\n value:\n get_attr:\n - controller_server\n - first_address\nparameters:\n image_id:\n description: ID of the image to use\n type: string\n instance_type:\n constraints:\n - allowed_values:\n - baremetal\n - m1.large\n description: instance_type must be one of baremetal, m1.large\n default: baremetal\n description: Instance type\n type: string\nresources:\n controller_server:\n properties:\n flavor:\n get_param: instance_type\n image:\n get_param: image_id\n type: OS::Nova::Server\n"}<br><br>ERROR:tuskar_ui.infrastructure.overview.forms:roles<br>Traceback (most recent call last):<br> File "/home/stack/tuskar-ui/tuskar_ui/infrastructure/overview/forms.py", line 90, in handle<br> plan.master_template,<br> File "/home/stack/horizon/openstack_dashboard/api/base.py", line 81, in __getattribute__<br> return object.__getattribute__(self, attr)<br> File "/home/stack/tuskar-ui/tuskar_ui/cached_property.py", line 60, in __get__<br> res = instance.__dict__[self.func.__name__] = self.func(instance)<br> File "/home/stack/tuskar-ui/tuskar_ui/api/tuskar.py", line 174, in master_template<br> return self.templates.get(MASTER_TEMPLATE_NAME, '')<br> File "/home/stack/horizon/openstack_dashboard/api/base.py", line 81, in __getattribute__<br> return object.__getattribute__(self, attr)<br> File "/home/stack/tuskar-ui/tuskar_ui/cached_property.py", line 60, in __get__<br> res = instance.__dict__[self.func.__name__] = self.func(instance)<br> File "/home/stack/tuskar-ui/tuskar_ui/api/tuskar.py", line 170, in templates<br> return tuskarclient(self._request).plans.templates(self.uuid)<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/v2/plans.py", line 159, in templates<br> return self._get(self._templates_path(plan_uuid)).to_dict()<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/common/base.py", line 78, in _get<br> return self._list(url, **kwargs)[0]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/common/base.py", line 98, in _list<br> return [obj_class(self, res, loaded=True) for res in data if res]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/v2/plans.py", line 28, in __init__<br> self.roles = [roles.Role(None, role) for role in self.roles]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/openstack/common/apiclient/base.py", line 464, in __getattr__<br> raise AttributeError(k)<br>AttributeError: roles<br>Internal Server Error: /infrastructure/deploy-confirmation<br>Traceback (most recent call last):<br> File "/home/stack/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response<br> response = wrapped_callback(request, *callback_args, **callback_kwargs)<br> File "/home/stack/horizon/horizon/decorators.py", line 36, in dec<br> return view_func(request, *args, **kwargs)<br> File "/home/stack/horizon/horizon/decorators.py", line 84, in dec<br> return view_func(request, *args, **kwargs)<br> File "/home/stack/horizon/horizon/decorators.py", line 52, in dec<br> return view_func(request, *args, **kwargs)<br> File "/home/stack/horizon/horizon/decorators.py", line 36, in dec<br> return view_func(request, *args, **kwargs)<br> File "/home/stack/horizon/.venv/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view<br> return self.dispatch(request, *args, **kwargs)<br> File "/home/stack/horizon/.venv/local/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch<br> return handler(request, *args, **kwargs)<br> File "/home/stack/horizon/.venv/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 171, in post<br> return self.form_valid(form)<br> File "/home/stack/horizon/horizon/forms/views.py", line 87, in form_valid<br> exceptions.handle(self.request)<br> File "/home/stack/horizon/horizon/exceptions.py", line 334, in handle<br> six.reraise(exc_type, exc_value, exc_traceback)<br> File "/home/stack/horizon/horizon/forms/views.py", line 84, in form_valid<br> handled = form.handle(self.request, form.cleaned_data)<br> File "/home/stack/tuskar-ui/tuskar_ui/infrastructure/overview/forms.py", line 96, in handle<br> _("Unable to deploy overcloud."))<br> File "/home/stack/horizon/horizon/exceptions.py", line 334, in handle<br> six.reraise(exc_type, exc_value, exc_traceback)<br> File "/home/stack/tuskar-ui/tuskar_ui/infrastructure/overview/forms.py", line 90, in handle<br> plan.master_template,<br> File "/home/stack/horizon/openstack_dashboard/api/base.py", line 81, in __getattribute__<br> return object.__getattribute__(self, attr)<br> File "/home/stack/tuskar-ui/tuskar_ui/cached_property.py", line 60, in __get__<br> res = instance.__dict__[self.func.__name__] = self.func(instance)<br> File "/home/stack/tuskar-ui/tuskar_ui/api/tuskar.py", line 174, in master_template<br> return self.templates.get(MASTER_TEMPLATE_NAME, '')<br> File "/home/stack/horizon/openstack_dashboard/api/base.py", line 81, in __getattribute__<br> return object.__getattribute__(self, attr)<br> File "/home/stack/tuskar-ui/tuskar_ui/cached_property.py", line 60, in __get__<br> res = instance.__dict__[self.func.__name__] = self.func(instance)<br> File "/home/stack/tuskar-ui/tuskar_ui/api/tuskar.py", line 170, in templates<br> return tuskarclient(self._request).plans.templates(self.uuid)<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/v2/plans.py", line 159, in templates<br> return self._get(self._templates_path(plan_uuid)).to_dict()<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/common/base.py", line 78, in _get<br> return self._list(url, **kwargs)[0]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/common/base.py", line 98, in _list<br> return [obj_class(self, res, loaded=True) for res in data if res]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/v2/plans.py", line 28, in __init__<br> self.roles = [roles.Role(None, role) for role in self.roles]<br> File "/home/stack/horizon/.venv/src/python-tuskarclient/tuskarclient/openstack/common/apiclient/base.py", line 464, in __getattr__<br> raise AttributeError(k)<br>AttributeError: roles<br>[15/Sep/2014 06:15:14] "POST /infrastructure/deploy-confirmation HTTP/1.1" 500 28635<br><img alt="内嵌图片 2" src="cid:ii_14877ff5f4b4f95f" height="256" width="455"><br><div><br clear="all"><div><div dir="ltr"><div><font face="comic sans ms, sans-serif" size="4"><b><i>Best Regards!</i></b></font></div><font face="comic sans ms, sans-serif" size="4"><b><i>Chao Yan<br><font>--------------<br></font></i></b></font><font face="comic sans ms, sans-serif" size="4"><b><i><font>My twitter:Andy Yan <a href="https://twitter.com/yanchao727" target="_blank">@yanchao727</a></font></i></b></font><br><font face="comic sans ms, sans-serif" size="4"><b><i><font>My Weibo:<a href="http://weibo.com/herewearenow" target="_blank">http://weibo.com/herewearenow</a><br>--------------</font><br></i></b></font></div></div>
</div></div></div>