heat-templates/cfn/InstanceGroup.template
Steve Baker 1d378fd4f9 Standardize template instance types on nova defaults
Based on the following
$ nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs |
+----+-----------+-----------+------+-----------+------+-------+
| 1  | m1.tiny   | 512       | 0    | 0         |      | 1
| 2  | m1.small  | 2048      | 20   | 0         |      | 1

- m1.small is specified as the Default for InstanceType parameters
  (previously this was m1.medium or m1.large. It would be better if
  there was a flavor with 1GB memory, but m1.small is the next most
  appropriate.)
- m1.tiny is the only flavor mapped to Arch=32 in AWSInstanceType2Arch
- AllowedValues and AWSInstanceType2Arch mapping is now limited to the
  following nova defaults:
  [ "m1.tiny", "m1.small", "m1.medium", "m1.large", "m1.xlarge" ]

This will allow heat/tools/nova_create_flavors.sh to be deleted.

Part of blueprint default-nova-flavors

Change-Id: Ia8bba4bd17a2d665676104fbdeb1e188b55aeeaf
2013-05-07 16:42:53 +12:00

57 lines
1.7 KiB
Plaintext

{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "Template to create multiple instances.",
"Parameters" : {
"KeyName" : {
"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instances",
"Type" : "String"
},
"InstanceType" : {
"Description" : "Instance type",
"Type" : "String",
"Default" : "m1.small",
"AllowedValues" : [ "m1.tiny", "m1.small", "m1.medium", "m1.large", "m1.xlarge" ],
"ConstraintDescription" : "must be a valid EC2 instance type."
},
"ImageId" : {
"Description" : "Name of the image to use",
"Type" : "String",
"Default" : "F17-x86_64-cfntools"
},
"NumInstances": {
"Default": "1",
"MinValue": "1",
"MaxValue": "100",
"Description" : "Number of instances to create",
"Type": "Number"
}
},
"Resources" : {
"JobServerGroup" : {
"Type" : "OS::Heat::InstanceGroup",
"Properties" : {
"LaunchConfigurationName" : { "Ref" : "JobServerConfig" },
"Size" : {"Ref": "NumInstances"},
"AvailabilityZones" : { "Fn::GetAZs" : "" }
}
},
"JobServerConfig" : {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties": {
"ImageId" : { "Ref" : "ImageId" },
"InstanceType" : { "Ref" : "InstanceType" },
"KeyName" : { "Ref" : "KeyName" },
"NovaSchedulerHints": [ {"Key": "part", "Value": "long"},
{"Key": "ready", "Value": "short"} ],
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash -v\n"
]]}}
}
}
}
}