[Openstack] [Heat] Problems with AutoScaling

Eoghan Glynn eglynn at redhat.com
Wed Dec 4 10:33:27 UTC 2013


Hi Johnny (or Richard?)

So the problem here doesn't seem directly related to autoscaling with ceilometer.

Rather it results from the way heat only validates credentials for the created
stack in certain circumstances (specifically if a ScalingPolicy, HARestarter, or
WaitConditionHandle is contained in the teamplate, see [1])

So I think you've discovered that you can invoke heat stack-create without creds
for simple templates, but then you're tripping over the lack of credentials when
you attempt to use more advanced templates.

Can you ensure that the OS_* env vars are set *before* invoking 'heat stack-create'?

e.g. on devstack:

  $ . devstack/openrc admin admin

Cheers,
Eoghan 


[1] https://github.com/openstack/heat/commit/af238fbd

----- Original Message -----
> Hi all,
>  
> I posted yesterday and forgot to post it in plain-text. Because of this I
> wrote this one a second time, but the right way. I very much apologize!! So
> here's the last post:
>  
> I have Problems with heat and ceilometer.
>  
> I want to autoscale with ceilometer and heat. The example in the
> Heat-quick-start guide works. I used the following:
> https://raw.github.com/openstack/heat-templates/master/hot/F18/WordPress_Native.yaml
>  
> For this example, I get datas with the "ceilometer statistics -m
> cpu_util"-command.
>  
> Then I wrote my own Autoscaling-Template, which I posted here:
> https://gist.github.com/anonymous/7767732[https://gist.github.com/anonymous/7767732]
>  
> The AutoScaling-templates didn't work. I shortened my Template to find the
> Problem. As I comment in the AutoScaling-Resources I get the following:
>  
> 
> ERROR: Missing required credential: X-Auth-User
> Traceback (most recent call last):
>   File "/opt/stack/heat/heat/openstack/common/rpc/amqp.py", line 461, in
>   _process_data
>     **args)
>   File "/opt/stack/heat/heat/openstack/common/rpc/dispatcher.py", line 172,
>   in dispatch
>     result = getattr(proxyobj, method)(ctxt, **kwargs)
>   File "/opt/stack/heat/heat/engine/service.py", line 60, in wrapped
>     return func(self, ctx, *args, **kwargs)
>   File "/opt/stack/heat/heat/engine/service.py", line 279, in create_stack
>     self._validate_deferred_auth_context(cnxt, stack)
>   File "/opt/stack/heat/heat/engine/service.py", line 229, in
>   _validate_deferred_auth_context
>     raise exception.MissingCredentialError(required='X-Auth-User')
> MissingCredentialError: Missing required credential: X-Auth-User
>  
> I tried the example below with AutoScaling too and get the same error:
> 
> https://raw.github.com/openstack/heat-templates/master/cfn/F17/AutoScalingCeilometer.yaml[https://raw.github.com/openstack/heat-templates/master/cfn/F17/AutoScalingCeilometer.yaml]
>  
> Hope you can help me. Many thanks in advance!
>  
> Johnny
> 
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>




More information about the Openstack mailing list