Hello Jay, Even I was getting the similar problem. I am able to launch stack, but autoscaling not happening , sample Template was given by '[email protected]'
Wwhen my CPU load increases , autoscaling should happen according to the template. But Ceiolmeter is not producing any alarm or notification...I am unable to check that and I am not getting package as well . check below link Ceilometer error: https://answers.launchpad.net/ubuntu/+source/ceilometer/+question/245076 Autoscaling erro details: I was working with auto scaling part sample template given by you . https://github.com/asalkeld/autoscaling-testing/blob/master/Ceilometer/template.yaml But I welcomed with error 2014-03-12 05:29:30.864 933 TRACE heat.engine.resource string = string.replace(k, v) 2014-03-12 05:29:30.864 933 TRACE heat.engine.resource TypeError: coercing to Unicode: need string or buffer, int found 2014-03-12 05:29:30.864 933 TRACE heat.engine.resource 2014-03-12 05:29:30.878 933 WARNING heat.engine.service [-] Stack create failed, status FAILED Any suggestions ...where I am doing a mistake? edited template: HeatTemplateFormatVersion: '2012-12-12' Description: | Template which tests autoscaling Parameters: KeyName: Type: String Default: heat_key InstanceType: Type: String Default: m1.small ImageId: Type: String Default: F17-x86_64-cfntools StackStart: Description: Epoch seconds when the stack was launched Type: Number Default: 10 ConsumeStopSeconds: Description: Seconds after StackStart when memory should be released Type: Number Default: 20 Resources: SmokeSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Standard firewall rules SecurityGroupIngress: - {IpProtocol: icmp, FromPort: '-1', ToPort: '-1', CidrIp : 0.0.0.0/0} - {IpProtocol: tcp, FromPort: '22', ToPort: '22', CidrIp: 0.0.0.0/0} - {IpProtocol: tcp, FromPort: '22', ToPort: '22', CidrIp: 0.0.0.0/0} - {IpProtocol: tcp, FromPort: '80', ToPort: '80', CidrIp: 0.0.0.0/0} ServerGroup: Type: AWS::AutoScaling::AutoScalingGroup Properties: AvailabilityZones: {'Fn::GetAZs': ''} LaunchConfigurationName: {Ref: LaunchConfig} MinSize: '1' MaxSize: '3' Tags: - {Key: metering.server_group, Value: ServerGroup} ServerScaleUpPolicy: Type: AWS::AutoScaling::ScalingPolicy Properties: AdjustmentType: ChangeInCapacity AutoScalingGroupName: {Ref: ServerGroup} Cooldown: '60' ScalingAdjustment: '1' ServerScaleDownPolicy: Type: AWS::AutoScaling::ScalingPolicy Properties: AdjustmentType: ChangeInCapacity AutoScalingGroupName: {Ref: ServerGroup} Cooldown: '60' ScalingAdjustment: '-1' CPUAlarmHigh: Type: OS::Ceilometer::Alarm ------------------------------------------> instead of metering I have added Ceilometer Properties: description: Scale-up if the average CPU > 50% for 1 minute counter_name: cpu_util statistic: avg period: '60' evaluation_periods: '1' threshold: '60' alarm_actions: - {"Fn::GetAtt": [ServerScaleUpPolicy, AlarmUrl]} matching_metadata: {'metadata.user_metadata.server_group': 'ServerGroup'} comparison_operator: gt CPUAlarmLow: Type: OS::Ceilometer::Alarm ------------------------------------------> instead of metering I have added Ceilometer Properties: description: Scale-down if the average CPU < 15% for 1 minute counter_name: cpu_util statistic: avg period: '60' evaluation_periods: '1' threshold: '20' alarm_actions: - {"Fn::GetAtt": [ServerScaleDownPolicy, AlarmUrl]} matching_metadata: {'metadata.user_metadata.server_group': 'ServerGroup'} comparison_operator: lt LaunchConfig: Type: AWS::AutoScaling::LaunchConfiguration Metadata: AWS::CloudFormation::Init: config: files: /root/consume_memory: content: Fn::Replace: - StackStart: {Ref: StackStart} ConsumeStopSeconds: {Ref: ConsumeStopSeconds} - | #!/usr/bin/env python from subprocess import call import time while time.time() < StackStart + ConsumeStopSeconds: call(["timeout", "8", "cat /dev/zero > /dev/null"]) mode: '000700' owner: root group: root Properties: ImageId: {Ref: ImageId} InstanceType: {Ref: InstanceType} KeyName: {Ref: KeyName} SecurityGroups: [{Ref: SmokeSecurityGroup}] UserData: Fn::Base64: Fn::Replace: - 'AWS::StackName': {Ref: 'AWS::StackName'} 'AWS::Region': {Ref: 'AWS::Region'} - | #!/bin/bash -v /opt/aws/bin/cfn-init -s AWS::StackName -r LaunchConfig --region AWS::Region # yum make-cache gobbles up the whole of root. rm -rf /var/cache/yum/ # report on memory consumption every 4 seconds at -f /root/watch_loop now # ramp up memory consumption until it is over 70% # then exits ConsumeStopSeconds seconds after stack launch /root/consume_memory & From: Jay Lau [mailto:[email protected]] Sent: Thursday, March 13, 2014 11:28 AM To: Micheal Cc: [email protected] Subject: Re: [Openstack] Request for help - Heat Auto-scaling Hey Michael, It would be more helpful if you can attach your whole template for troubleshooting, did you define AutoScaling::ScalingPolicy for your AWS::AutoScaling::AutoScalingGroup? Thanks, Jay 2014-03-13 13:29 GMT+08:00 Micheal <[email protected]<mailto:[email protected]>>: Does Heat support auto-scaling in Havana ? The cloudwatch seems to be deprecated, and the new mechanism with ceilometer seems not working either. I can create stack successfully, but the stack with AWS::AutoScaling::AutoScalingGroup can not auto-scaling as expected. All replies appreciated, thanks! _______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected]<mailto:[email protected]> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack -- Thanks, Jay ________________________________ This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. ______________________________________________________________________________________ www.accenture.com
_______________________________________________ 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
