Add support for Amazon VPC to Cloud Provisioner
|Status:||Needs Decision||Start date:||03/26/2012|
|Assignee:||Randall Hansen||% Done:|
CLoud Provisioner doesn’t currently support creating and bootstrapping Amazon VPC instances.
#2 Updated by James Turnbull over 1 year ago
It looks like the subnet ID needed for VPC was added in https://github.com/puppetlabs/puppetlabs-cloud-provisioner/commit/f11774e647d4b9b4bf0f058b127a8001c41d9cd3 but it looks like group ID is not being properly set:
VPC subnet is now working, but the security group is not. Using the group ID produces an error:
# puppet node_aws create --image=ami \ > --group=group-id \ > --keyname=mykey \ > --subnet=subnet-id \ > --type=m1.small err: Unrecognized security groups: group-id err: Try 'puppet help node_aws create' for usage
Using the group name results in setting the default group and not the one specified: # puppet node_aws create --image=ami \ > --group=mygroup \ > --keyname=mykey \ > --subnet=subnet-id \ > --type=m1.small \ notice: Creating new instance ... ... notice: Server instance-id public dns name:
#12 Updated by Zachary Stern 4 months ago
It also looks like we have some basic support here….
puppet help node_aws create OPTIONS: --group= | -g= | --security-g - The instance's security group(s). --region= - The geographic region of the instance. Defaults to us-east-1. --subnet= | -s= - The subnet in which to deploy the VM (VPC only)
But it doesn’t work amazingly. E.g. there’s no way to get the private address/dns of a node in a VPC.
#14 Updated by Josh Gagnon about 1 month ago
- Support Urls deleted (
The security group and subnet aspects work now, but bootstrapping still fails when attempting to SSH to the newly created machine. The ruby code makes an assumption that the new machine will have a public dns name – often untrue in a VPC – and attempts to contact a server with a nil hostname until you give up and kill it.
I have a basic fix that may work for everyone. As soon as I figure out how to I will submit a pull request. (New to git…)