Changes between Version 6 and Version 7 of CloudPlugin

Jan 28, 2011, 9:07:51 PM (8 years ago)
Rob Guttman



  • CloudPlugin

    v6 v7  
    4242    [cloud]
    4343    label = Cloud
    44     aws_key = xxxxxxxxxxxxx
    45     aws_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    46     aws_keypair = xxxxxxxxxxxx
     44    aws_key = <aws-access-key>
     45    aws_secret = <aws-secret-key>
     46    aws_keypair = <ec2-key-pair>
    4747    chef_instancedata_file = /path/to/instance-data.json
    48     chef_base_path = /home/me
    49     boto_field_node_name = id
    50     default_droplet = instance
    5148    }}}
     50The {{{label}}} option above is the name to be used in the top navigation:
    54 See the examples section [wiki:CloudPlugin#Examples below] for how to specify rules.
     53=== AWS credentials ===
     54The {{{aws_*}}} options are your AWS credentials and the key pair used by your ec2 instances.
     56=== Chef configuration ===
     57The {{{chef_instancedata_file}}} option is the absolute path to the ec2 instance/user data generated by chef's knife command:
     59% knife ec2 instance data role[<desired-role>] > /path/to/instance-data.json
     62The plugin will use this file for the instance data replacing the role information as needed.  As the file contains the {{{validation.pem}}} data, be sure to secure it accordingly.  In cases where you need different credentials and/or chefserver url, you can use the following option to specify a base directory which must contain the typical {{{.chef}}} directory and its contents plus (optionally) a {{{validation.pem}}} file within the {{{.chef}}} directory:
     63    {{{
     64    [cloud]
     65    ..
     66    chef_base_path = /path/to/dir/that/contains/.chef
     67    }}}
     69It's currently assumed that you're using one of Opscode's AMIs or a homegrown AMI derived from it.  These AMIs use the instance's id as the node name.  However, you may have recipes which for one reason or another change the node's name after the first chef-client run.  If so, you need to specify the boto field that maps to the final node name using this config option:
     70    {{{
     71    [cloud]
     72    ..
     73    boto_field_node_name = private_dns_name
     74    }}}
     76Adding this option will cause the plugin to create a new node of that name upon launching a new ec2 instance and once it checks in will remove the original node.  Otherwise you'll have two chef nodes for the same ec2 instance - something you likely don't want.  Yeah, this is a bit complicated - an area ripe for improvement.
     78The plugin is intended to support multiple AWS resource types in addition to instances as needed for orchestration with chef.  You specify the default resource to view using this config option:
     79    {{{
     80    [cloud]
     81    ..
     82    default_resource = instance
     83    }}}
     85Each AWS resource type such as {{{instance}}} above is configured independently.  See the examples section [wiki:CloudPlugin#Examples below] for how to specify these resources.