Hi, I have installed Heat on my controller node and it worked fine two days ago, but now I have encountered some problems. I am still able to create stacks, but I can't delete the stacks I have created. I can delete the instances manually, but when I try to delete the stacks I get this message:
Prohibited endpoint redirect http://[EXTERNAL_IP]:8004/v1/%5C519c6e2d263049adba404441f18aac40/stacks/stack4/e67ba337-3f5a-4184-ad45-8445cbfd2d0c I also get the same message when I do the command "heat stack-show". I can't find anything related to the problem in my heat logs. /var/log/apache2/error.log: [Wed Nov 13 15:59:56 2013] [error] Internal Server Error: /horizon/project/stacks/ [Wed Nov 13 15:59:56 2013] [error] Traceback (most recent call last): [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 115, in get_response [Wed Nov 13 15:59:56 2013] [error] response = callback(request, *callback_args, **callback_kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/decorators.py", line 38, in dec [Wed Nov 13 15:59:56 2013] [error] return view_func(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/decorators.py", line 54, in dec [Wed Nov 13 15:59:56 2013] [error] return view_func(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/decorators.py", line 38, in dec [Wed Nov 13 15:59:56 2013] [error] return view_func(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/decorators.py", line 86, in dec [Wed Nov 13 15:59:56 2013] [error] return view_func(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 68, in view [Wed Nov 13 15:59:56 2013] [error] return self.dispatch(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 86, in dispatch [Wed Nov 13 15:59:56 2013] [error] return handler(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py", line 163, in post [Wed Nov 13 15:59:56 2013] [error] return self.get(request, *args, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py", line 155, in get [Wed Nov 13 15:59:56 2013] [error] handled = self.construct_tables() [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py", line 146, in construct_tables [Wed Nov 13 15:59:56 2013] [error] handled = self.handle_table(table) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py", line 121, in handle_table [Wed Nov 13 15:59:56 2013] [error] handled = self._tables[name].maybe_handle() [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/base.py", line 1256, in maybe_handle [Wed Nov 13 15:59:56 2013] [error] return self.take_action(action_name, obj_id) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/base.py", line 1189, in take_action [Wed Nov 13 15:59:56 2013] [error] response = action.multiple(self, self.request, obj_ids) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/actions.py", line 263, in multiple [Wed Nov 13 15:59:56 2013] [error] return self.handle(data_table, request, object_ids) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/actions.py", line 617, in handle [Wed Nov 13 15:59:56 2013] [error] exceptions.handle(request, ignore=ignore) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/horizon/tables/actions.py", line 601, in handle [Wed Nov 13 15:59:56 2013] [error] self.action(request, datum_id) [Wed Nov 13 15:59:56 2013] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/stacks/tables.py", line 46, in action [Wed Nov 13 15:59:56 2013] [error] api.heat.stack_delete(request, stack_id) [Wed Nov 13 15:59:56 2013] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/heat.py", line 60, in stack_delete [Wed Nov 13 15:59:56 2013] [error] return heatclient(request).stacks.delete(stack_id) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/heatclient/v1/stacks.py", line 117, in delete [Wed Nov 13 15:59:56 2013] [error] self._delete("/stacks/%s" % stack_id) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/heatclient/common/base.py", line 64, in _delete [Wed Nov 13 15:59:56 2013] [error] self.api.raw_request('DELETE', url) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/heatclient/common/http.py", line 212, in raw_request [Wed Nov 13 15:59:56 2013] [error] return self._http_request(url, method, **kwargs) [Wed Nov 13 15:59:56 2013] [error] File "/usr/lib/python2.7/dist-packages/heatclient/common/http.py", line 172, in _http_request [Wed Nov 13 15:59:56 2013] [error] raise exc.InvalidEndpoint(message=message) [Wed Nov 13 15:59:56 2013] [error] InvalidEndpoint: Prohibited endpoint redirect http://[EXTERNAL_IP]:8004/v1/%5C519c6e2d263049adba404441f18aab60/stacks/stack5/5141061b-67b4-4a15-b32f-bacfa15864dc Heat.conf: sql_connection = mysql://heat:[email protected]/heat [keystone_authtoken] auth_host = 10.10.10.51 auth_uri = http://10.10.10.51:35357/v2.0 auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = heat admin_password = heat Everything else is commented. /etc/heat/api-paste.ini: # heat-api pipeline [pipeline:heat-api] pipeline = faultwrap versionnegotiation authtoken context apiv1app # heat-api pipeline for standalone heat # ie. uses alternative auth backend that authenticates users against keystone # using username and password instead of validating token (which requires # an admin/service token). # To enable, in heat.conf: # [paste_deploy] # flavor = standalone # [pipeline:heat-api-standalone] pipeline = faultwrap versionnegotiation authpassword context apiv1app # heat-api pipeline for custom cloud backends # i.e. in heat.conf: # [paste_deploy] # flavor = custombackend # [pipeline:heat-api-custombackend] pipeline = faultwrap versionnegotiation context custombackendauth apiv1app # heat-api-cfn pipeline [pipeline:heat-api-cfn] pipeline = cfnversionnegotiation ec2authtoken authtoken context apicfnv1app # heat-api-cfn pipeline for standalone heat # relies exclusively on authenticating with ec2 signed requests [pipeline:heat-api-cfn-standalone] pipeline = cfnversionnegotiation ec2authtoken context apicfnv1app # heat-api-cloudwatch pipeline [pipeline:heat-api-cloudwatch] pipeline = versionnegotiation ec2authtoken authtoken context apicwapp # heat-api-cloudwatch pipeline for standalone heat # relies exclusively on authenticating with ec2 signed requests [pipeline:heat-api-cloudwatch-standalone] pipeline = versionnegotiation ec2authtoken context apicwapp [app:apiv1app] paste.app_factory = heat.common.wsgi:app_factory heat.app_factory = heat.api.openstack.v1:API [app:apicfnv1app] paste.app_factory = heat.common.wsgi:app_factory heat.app_factory = heat.api.cfn.v1:API [app:apicwapp] paste.app_factory = heat.common.wsgi:app_factory heat.app_factory = heat.api.cloudwatch:API [filter:versionnegotiation] paste.filter_factory = heat.common.wsgi:filter_factory heat.filter_factory = heat.api.openstack:version_negotiation_filter [filter:faultwrap] paste.filter_factory = heat.common.wsgi:filter_factory heat.filter_factory = heat.api.openstack:faultwrap_filter [filter:cfnversionnegotiation] paste.filter_factory = heat.common.wsgi:filter_factory heat.filter_factory = heat.api.cfn:version_negotiation_filter [filter:cwversionnegotiation] paste.filter_factory = heat.common.wsgi:filter_factory heat.filter_factory = heat.api.cloudwatch:version_negotiation_filter [filter:context] paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory [filter:ec2authtoken] paste.filter_factory = heat.api.aws.ec2token:EC2Token_filter_factory # Auth middleware that validates token against keystone [filter:authtoken] paste.filter_factory = heat.common.auth_token:filter_factory auth_uri = http://10.10.10.51:35357/v2.0 # Auth middleware that validates username/password against keystone [filter:authpassword] paste.filter_factory = heat.common.auth_password:filter_factory # Auth middleware that validates against custom backend [filter:custombackendauth] paste.filter_factory = heat.common.custom_backend_auth:filter_factory Any ideas? /Therese
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected] Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
