heat engine doesn't create new instance when ceilometer alarm is in "alarm" status using autoscaling feature "OS::Heat::AutoScalingGroup"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Steven Hardy | ||
puppet-heat |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Hi,
I've created this heat template:
heat_template_
description: Scaling Policy test
parameters:
public_net_id:
type: string
description: >
ID of public network for which floating IP addresses will be allocated
private_net_id:
type: string
description: ID of private network into which servers get deployed
private_
type: string
description: ID of private sub network into which servers get deployed
resources:
instance_group:
type: OS::Heat:
properties:
desired_
min_size: 1
max_size: 5
resource:
type: my_scaling_
properties:
key_name: psousaxenlab
image: Cirros
flavor: m1.tiny
metadata: {"metering.stack": {get_param: "OS::stack_id"}}
web_server_
type: OS::Heat:
properties:
adjustmen
auto_
cooldown: 60
scaling_
web_server_
type: OS::Heat:
properties:
adjustmen
auto_
cooldown: 60
scaling_
cpu_alarm_high:
type: OS::Ceilometer:
properties:
description: Scale-up if the average CPU > 50% for 1 minute
meter_name: cpu_util
statistic: avg
period: 60
evaluatio
threshold: 50
alarm_
- {get_attr: [web_server_
matching_
compariso
repeat_
cpu_alarm_low:
type: OS::Ceilometer:
properties:
description: Scale-down if the average CPU < 15% for 10 minutes
meter_name: cpu_util
statistic: avg
period: 600
evaluatio
threshold: 15
alarm_
- {get_attr: [web_server_
matching_
compariso
repeat_
Everything works fine, the alarm get created, however when I stress the cpu inside my instance nothing happens and doesn't autoscale, although the ceilometer alarm changes his status from "ok->alarm". Also I don't see nothing in heat-engine logs.
My versions:
openstack-
openstack-
openstack-
python-
openstack-
openstack-
openstack-
openstack-
python-
openstack-
python-
openstack-
openstack-
openstack-
openstack-
Regards
Pgsousa
Changed in heat: | |
milestone: | juno-1 → juno-2 |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | juno-2 → 2014.2 |
tags: | added: icehouse-backport-potential |
Changed in puppet-heat: | |
status: | New → Triaged |
Changed in puppet-heat: | |
status: | Triaged → Invalid |
my_scaling_ unit.yaml
heat_template_ version: 2013-05-23
description: >
HOT template to deploy two servers into an existing neutron tenant network and
assign floating IP addresses to each server so they are routable from the
public network.
parameters: subnet_ id:
key_name:
type: string
description: Name of keypair to assign to servers
image:
type: string
description: Name of image to use for servers
flavor:
type: string
description: Flavor to use for servers
metadata:
type: json
public_net_id:
type: string
description: >
ID of public network for which floating IP addresses will be allocated
private_net_id:
type: string
description: ID of private network into which servers get deployed
private_
type: string
description: ID of private sub network into which servers get deployed
resources:
server1:
type: OS::Nova::Server
properties:
image: { get_param: image }
flavor: { get_param: flavor }
metadata: {get_param: metadata}
key_name: { get_param: key_name }
networks:
- port: { get_resource: server1_port }
server1_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: private_net_id }
fixed_ips:
- subnet_id: { get_param: private_subnet_id }
server1_ floating_ ip: :FloatingIP network_ id: { get_param: public_net_id }
type: OS::Neutron:
properties:
floating_
port_id: { get_resource: server1_port }
outputs: private_ ip: public_ ip: floating_ ip, floating_ip_address ] }
server1_
description: IP address of server1 in private network
value: { get_attr: [ server1, first_address ] }
server1_
description: Floating IP address of server1 in public network
value: { get_attr: [ server1_