Example #1
0
 def add_plugin_args(self):
     context = self._config.context
     tagging = self._parser.add_argument_group(
         title='AMI Tagging and Naming',
         description='Tagging and naming options for the resultant AMI')
     tagging.add_argument('-s',
                          '--suffix',
                          dest='suffix',
                          action=conf_action(context.ami),
                          help='suffix of ami name, (default yyyymmddHHMM)')
     creator_help = 'The user who is aminating. The resultant AMI will receive a creator tag w/ this user'
     tagging.add_argument('-c',
                          '--creator',
                          dest='creator',
                          action=conf_action(context.ami),
                          help=creator_help)
     tagging.add_argument('--vm-type',
                          dest='vm_type',
                          choices=["paravirtual", "hvm"],
                          action=conf_action(context.ami),
                          help='virtualization type to register image as')
     tagging.add_argument('--enhanced-networking',
                          dest='enhanced_networking',
                          action=conf_action(context.ami,
                                             action='store_true'),
                          help='enable enhanced networking (SR-IOV)')
     return tagging
Example #2
0
 def add_plugin_args(self):
     context = self._config.context
     docker = self._parser.add_argument_group(title='Docker Naming',
                                               description='Naming options for the resultant Docker image')
     docker.add_argument('-n', '--image-name', dest='name', action=conf_action(context.ami),
                          help='docker image name')
     docker.add_argument('-s', '--suffix', dest='suffix', action=conf_action(context.ami),
                          help='suffix of docker image name, (default yyyymmddHHMM)')
     return docker
Example #3
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     base_ami = self._parser.add_argument_group(title='Base Docker Image')
     base_ami.add_argument('-b', '--base-image', dest='base_image',
                           action=conf_action(config=context.ami), required=True,
                           help='The name of the base Docker image used in provisioning')
     base_ami.add_argument('-R', '--docker-registry', dest='docker_registry',
                           action=conf_action(config=context.cloud),
                           help='The private registry to push the docker image to')
Example #4
0
 def add_plugin_args(self):
     context = self._config.context
     tagging = self._parser.add_argument_group(title='AMI Tagging and Naming', description='Tagging and naming options for the resultant AMI')
     tagging.add_argument('-s', '--suffix', dest='suffix', action=conf_action(context.ami), help='suffix of ami name, (default yyyymmddHHMM)')
     creator_help = 'The user who is aminating. The resultant AMI will receive a creator tag w/ this user'
     tagging.add_argument('-c', '--creator', dest='creator', action=conf_action(context.ami), help=creator_help)
     tagging.add_argument('--vm-type', dest='vm_type', choices=["paravirtual", "hvm"], action=conf_action(context.ami), help='virtualization type to register image as')
     tagging.add_argument('--enhanced-networking', dest='enhanced_networking', action=conf_action(context.ami, action='store_true'), help='enable enhanced networking (SR-IOV)')
     return tagging
    def add_plugin_args(self):
        """ Add Ansible specific variables """
        
        ansible_config = self._parser.add_argument_group(title='Ansible Options', description='Options for the Ansible provisioner')
        
        ansible_config.add_argument('-ev', '--extra-vars', dest='extravars', help='A set of additional key=value variables to be used in the playbook',
                                 action=conf_action(self._config.plugins[self.full_name]))

        ansible_config.add_argument('--app-version', dest='appversion', help='Manually set the application version number so it is tagging in the AMI',
                                 action=conf_action(self._config.plugins[self.full_name]))
    def add_plugin_args(self):
        """ Add Ansible specific variables """
        
        ansible_config = self._parser.add_argument_group(title='Ansible Options', description='Options for the Ansible provisioner')
        
        ansible_config.add_argument('-ev', '--extra-vars', dest='extravars', help='A set of additional key=value variables to be used in the playbook',
                                 action=conf_action(self._config.plugins[self.full_name]))

        ansible_config.add_argument('--app-version', dest='appversion', help='Manually set the application version number so it is tagging in the AMI',
                                 action=conf_action(self._config.plugins[self.full_name]))
Example #7
0
    def add_plugin_args(self):
        context = self._config.context
        chef_config = self._parser.add_argument_group(title='Chef Solo Options',
                                                      description='Options for the chef solo provisioner')

        chef_config.add_argument('-u', '--recipe-url', dest='recipe_url',
                                 help='URL to tar.gz containing recipes (see chef-solo -r)', default=None,
                                 action=conf_action(config=context.chef))
        chef_config.add_argument('-i', '--install-chef', dest='chef_package_url',
                                 help='Install chef-solo from URL', default=None,
                                 action=conf_action(config=context.chef))
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     bd_group_desc = 'Block device allocator configuration'
     blockdevice = self._parser.add_argument_group(title='Blockdevice',
                                                   description=bd_group_desc)
     blockdevice.add_argument("--block-device", dest='block_device',
                              action=conf_action(config=context.ami),
                              help='Block device path to use')
     blockdevice.add_argument("--partition", dest='partition',
                              action=conf_action(config=context.ami),
                              help='Parition number containing the root file system.')
Example #9
0
    def add_plugin_args(self, *args, **kwargs):
        context = self._config.context
        blockdevice = self._parser.add_argument_group(title='Blockdevice', description='Optionally provide pre-attached block device path to use')
        blockdevice.add_argument("--block-device", dest='block_device',
                                 action=conf_action(config=context.ami),
                                 help='Block device path to use')

        partition = self._parser.add_argument_group(title='Partition', description='Optionally provide the partition containing the root file system.')
        partition.add_argument("--partition", dest='partition',
                                 action=conf_action(config=context.ami),
                                 help='Parition number to use')
Example #10
0
 def add_plugin_args(self):
     context = self._config.context
     tagging = self._parser.add_argument_group(title='AMI Tagging and Naming',
                                               description='Tagging and naming options for the resultant AMI')
     tagging.add_argument('-n', '--name', dest='name', action=conf_action(context.ami),
                          help='name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-ebs')
     tagging.add_argument('-s', '--suffix', dest='suffix', action=conf_action(context.ami),
                          help='suffix of ami name, (default yyyymmddHHMM)')
     creator_help = 'The user who is aminating. The resultant AMI will receive a creator tag w/ this user'
     tagging.add_argument('-c', '--creator', dest='creator', action=conf_action(context.ami),
                          help=creator_help)
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     base_ami = self._parser.add_argument_group(
         title='Base AMI', description='EITHER AMI id OR name, not both!')
     base_ami_mutex = base_ami.add_mutually_exclusive_group(required=True)
     base_ami_mutex.add_argument(
         '-b',
         '--base-ami-name',
         dest='base_ami_name',
         action=conf_action(config=context.ami),
         help='The name of the base AMI used in provisioning')
     base_ami_mutex.add_argument(
         '-B',
         '--base-ami-id',
         dest='base_ami_id',
         action=conf_action(config=context.ami),
         help='The id of the base AMI used in provisioning')
     cloud = self._parser.add_argument_group(
         title='EC2 Options', description='EC2 Connection Information')
     cloud.add_argument('-r',
                        '--region',
                        dest='region',
                        help='EC2 region (default: us-east-1)',
                        action=conf_action(config=context.cloud))
     cloud.add_argument('--boto-secure',
                        dest='is_secure',
                        help='Connect via https',
                        action=conf_action(config=context.cloud,
                                           action='store_true'))
     cloud.add_argument('--boto-debug',
                        dest='boto_debug',
                        help='Boto debug output',
                        action=conf_action(config=context.cloud,
                                           action='store_true'))
     volume_mutex = cloud.add_mutually_exclusive_group()
     volume_mutex.add_argument(
         '-V',
         '--volume-id',
         dest='volume_id',
         action=conf_action(config=context.ami),
         help='The Base AMI volume id already attached to the system')
     volume_mutex.add_argument(
         '--provisioner-ebs-type',
         dest='provisioner_ebs_type',
         action=conf_action(config=context.cloud),
         help='The type of EBS volume to create from the Base AMI snapshot')
     cloud.add_argument(
         '--register-ebs-type',
         dest='register_ebs_type',
         action=conf_action(config=context.cloud),
         help='The root volume EBS type for AMI registration')
     cloud.add_argument(
         '--root-volume-size',
         dest='root_volume_size',
         action=conf_action(config=context.ami),
         help=
         'Root volume size (in GB). The default is to inherit from the base AMI.'
     )
Example #12
0
    def add_plugin_args(self):
        puppet_config = self._parser.add_argument_group(title='Puppet Options',
                                                      description='Options for the puppet provisioner')

        puppet_config.add_argument('--puppet-args', dest='puppet_args',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='Extra arguments for Puppet.  Can be used to include a Puppet class with -e.')

        puppet_config.add_argument('--puppet-env-vars', dest='puppet_env_vars',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='Environment arguments for Puppet, delimited by a semi-colon.  Can be used to do things like pass custom Facter facts.')

        puppet_config.add_argument('--puppet-master', dest='puppet_master',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='Hostname of Puppet Master')

        puppet_config.add_argument('--puppet-certs-dir', dest='puppet_certs_dir',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='Used when generating/copying certs for use with Puppet Master')

        puppet_config.add_argument('--puppet-private-keys-dir', dest='puppet_private_keys_dir',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='Used when generating/copying certs for use with Puppet Master')

        puppet_config.add_argument('--puppet-hieradata', dest='puppet_hieradata',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='The name of the tarball containing a hiera.yaml file and hieradata directory.  This option requires Puppet >= 3.1.')

        puppet_config.add_argument('--puppet-install-cmd', dest='puppet_install_cmd',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='The command to use to install Puppet.  The native package manager will be used by default.')

        puppet_config.add_argument('--puppet-hiera-install-cmd', dest='puppet_hiera_install_cmd',
                                    action=conf_action(self._config.plugins[self.full_name]),
                                    help='The command to use to install Hiera.  Gem will be used by default.')
Example #13
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     docker = self._parser.add_argument_group(title='Docker')
     docker.add_argument('-D', '--docker-root', dest='docker_root',
                           action=conf_action(config=context.cloud), default="/var/lib/docker",
                           help='The base directory for docker containers')
     return docker
Example #14
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     base_ami = self._parser.add_argument_group(title='Base Docker Image')
     base_ami.add_argument(
         '-b',
         '--base-image',
         dest='base_image',
         action=conf_action(config=context.ami),
         required=True,
         help='The name of the base Docker image used in provisioning')
     base_ami.add_argument(
         '-R',
         '--docker-registry',
         dest='docker_registry',
         action=conf_action(config=context.cloud),
         help='The private registry to push the docker image to')
Example #15
0
 def add_plugin_args(self):
     context = self._config.context
     docker = self._parser.add_argument_group(
         title='Docker Naming',
         description='Naming options for the resultant Docker image')
     docker.add_argument('-n',
                         '--image-name',
                         dest='name',
                         action=conf_action(context.ami),
                         help='docker image name')
     docker.add_argument(
         '-s',
         '--suffix',
         dest='suffix',
         action=conf_action(context.ami),
         help='suffix of docker image name, (default yyyymmddHHMM)')
     return docker
Example #16
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     prov = self._parser.add_argument_group(title='Provisioning')
     prov.add_argument("-i",
                       "--interactive",
                       dest='interactive',
                       help="interactive session after provivioning",
                       action=conf_action(config=context.package,
                                          action="store_true"))
Example #17
0
    def add_plugin_args(self, *args, **kwargs):
        context = self._config.context
        blockdevice = self._parser.add_argument_group(
            title='Blockdevice',
            description=
            'Optionally provide pre-attached block device path to use')
        blockdevice.add_argument("--block-device",
                                 dest='block_device',
                                 action=conf_action(config=context.ami),
                                 help='Block device path to use')

        partition = self._parser.add_argument_group(
            title='Partition',
            description=
            'Optionally provide the partition containing the root file system.'
        )
        partition.add_argument("--partition",
                               dest='partition',
                               action=conf_action(config=context.ami),
                               help='Parition number to use')
    def add_plugin_args(self):
        tagging = super(TaggingEBSFinalizerPlugin, self).add_plugin_args()

        context = self._config.context
        tagging.add_argument(
            '-n',
            '--name',
            dest='name',
            action=conf_action(context.ami),
            help=
            'name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-ebs'
        )
Example #19
0
    def add_plugin_args(self):
        tagging = super(TaggingS3FinalizerPlugin, self).add_plugin_args()

        context = self._config.context
        tagging.add_argument('-n', '--name', dest='name', action=conf_action(context.ami), help='name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-s3')

        tagging.add_argument('--cert', dest='cert', action=conf_action(context.ami), help='The path to the PEM encoded RSA public key certificate file for ec2-bundle-volume')
        tagging.add_argument('--privatekey', dest='privatekey', action=conf_action(context.ami), help='The path to the PEM encoded RSA private key file for ec2-bundle-vol')
        tagging.add_argument('--ec2-user', dest='ec2_user', action=conf_action(context.ami), help='ec2 user id for ec2-bundle-vol')
        tagging.add_argument('--tmpdir', dest='tmpdir', action=conf_action(context.ami), help='temp directory used by ec2-bundle-vol')
        tagging.add_argument('--bucket', dest='bucket', action=conf_action(context.ami), help='the S3 bucket to use for ec2-upload-bundle')
        tagging.add_argument('--break-copy-volume', dest='break_copy_volume', action=conf_action(context.ami, action='store_true'), help='break into shell after copying the volume, for debugging')
Example #20
0
    def add_plugin_args(self):
        tagging = super(TaggingS3FinalizerPlugin, self).add_plugin_args()

        context = self._config.context
        tagging.add_argument('-n', '--name', dest='name', action=conf_action(context.ami), help='name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-s3')

        tagging.add_argument('--cert', dest='cert', action=conf_action(context.ami), help='The path to the PEM encoded RSA public key certificate file for ec2-bundle-volume')
        tagging.add_argument('--privatekey', dest='privatekey', action=conf_action(context.ami), help='The path to the PEM encoded RSA private key file for ec2-bundle-vol')
        tagging.add_argument('--ec2-user', dest='ec2_user', action=conf_action(context.ami), help='ec2 user id for ec2-bundle-vol')
        tagging.add_argument('--tmpdir', dest='tmpdir', action=conf_action(context.ami), help='temp directory used by ec2-bundle-vol')
        tagging.add_argument('--bucket', dest='bucket', action=conf_action(context.ami), help='the S3 bucket to use for ec2-upload-bundle')
        tagging.add_argument('--break-copy-volume', dest='break_copy_volume', action=conf_action(context.ami, action='store_true'), help='break into shell after copying the volume, for debugging')
Example #21
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     base_ami = self._parser.add_argument_group(
         title='Base AMI', description='EITHER AMI id OR name, not both!')
     base_ami_mutex = base_ami.add_mutually_exclusive_group(required=True)
     base_ami_mutex.add_argument(
         '-b', '--base-ami-name', dest='base_ami_name',
         action=conf_action(config=context.ami),
         help='The name of the base AMI used in provisioning')
     base_ami_mutex.add_argument(
         '-B', '--base-ami-id', dest='base_ami_id',
         action=conf_action(config=context.ami),
         help='The id of the base AMI used in provisioning')
     cloud = self._parser.add_argument_group(
         title='EC2 Options', description='EC2 Connection Information')
     cloud.add_argument(
         '-r', '--region', dest='region',
         help='EC2 region (default: us-east-1)',
         action=conf_action(config=context.cloud))
     cloud.add_argument(
         '--boto-secure', dest='is_secure', help='Connect via https',
         action=conf_action(config=context.cloud, action='store_true'))
     cloud.add_argument(
         '--boto-debug', dest='boto_debug', help='Boto debug output',
         action=conf_action(config=context.cloud, action='store_true'))
     volume_mutex = cloud.add_mutually_exclusive_group()
     volume_mutex.add_argument(
         '-V', '--volume-id', dest='volume_id',
         action=conf_action(config=context.ami),
         help='The Base AMI volume id already attached to the system')
     volume_mutex.add_argument(
         '--provisioner-ebs-type', dest='provisioner_ebs_type',
         action=conf_action(config=context.cloud),
         help='The type of EBS volume to create from the Base AMI snapshot')
     cloud.add_argument(
         '--register-ebs-type', dest='register_ebs_type',
         action=conf_action(config=context.cloud),
         help='The root volume EBS type for AMI registration')
     cloud.add_argument(
         '--root-volume-size', dest='root_volume_size',
         action=conf_action(config=context.ami),
         help='Root volume size (in GB). The default is to inherit from the base AMI.')
Example #22
0
 def add_plugin_args(self):
     context = self._config.context
     tagging = self._parser.add_argument_group(
         title='AMI Tagging and Naming',
         description='Tagging and naming options for the resultant AMI')
     tagging.add_argument(
         '-n',
         '--name',
         dest='name',
         action=conf_action(context.ami),
         help=
         'name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-ebs'
     )
     tagging.add_argument('-s',
                          '--suffix',
                          dest='suffix',
                          action=conf_action(context.ami),
                          help='suffix of ami name, (default yyyymmddHHMM)')
     creator_help = 'The user who is aminating. The resultant AMI will receive a creator tag w/ this user'
     tagging.add_argument('-c',
                          '--creator',
                          dest='creator',
                          action=conf_action(context.ami),
                          help=creator_help)
Example #23
0
    def add_plugin_args(self):
        context = self._config.context
        chef_config = self._parser.add_argument_group(title='Chef Zero Options', description='Options for the chef zero provisioner')

        chef_config.add_argument('-R', '--runlist', dest='runlist', help='Chef run list items. If not set, run list should be specified in the node JSON file',
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--chef-env', dest='chefenv', help='Chef Envioronment, If not set, no chef-enviornment will be used',
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--payload-url', dest='payload_url', help='Location to fetch the payload from (required)',
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--payload-version', dest='payload_version', help='Payload version (default: 0.0.1)',
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--payload-release', dest='payload_release', help='Payload release (default: 0)',
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--chef-version', dest='chef_version', help='Version of chef to install (default: %s)' % self._default_chef_version,
                                 action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--omnibus-url', dest='omnibus_url', help='Path to the omnibus install script (default: %s)' % self._default_omnibus_url,
                                 action=conf_action(self._config.plugins[self.full_name]))
Example #24
0
    def add_plugin_args(self):
        context = self._config.context
        chef_config = self._parser.add_argument_group(
            title='Chef Solo Options',
            description='Options for the chef solo provisioner')

        chef_config.add_argument(
            '-R',
            '--runlist',
            dest='runlist',
            help=
            'Chef run list items. If not set, run list should be specified in the node JSON file',
            action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument(
            '--payload-url',
            dest='payload_url',
            help='Location to fetch the payload from (required)',
            action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument('--payload-version',
                                 dest='payload_version',
                                 help='Payload version (default: 0.0.1)',
                                 action=conf_action(
                                     self._config.plugins[self.full_name]))
        chef_config.add_argument('--payload-release',
                                 dest='payload_release',
                                 help='Payload release (default: 0)',
                                 action=conf_action(
                                     self._config.plugins[self.full_name]))
        chef_config.add_argument(
            '--chef-version',
            dest='chef_version',
            help='Version of chef to install (default: %s)' %
            self._default_chef_version,
            action=conf_action(self._config.plugins[self.full_name]))
        chef_config.add_argument(
            '--omnibus-url',
            dest='omnibus_url',
            help='Path to the omnibus install script (default: %s)' %
            self._default_omnibus_url,
            action=conf_action(self._config.plugins[self.full_name]))
Example #25
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     base_ami = self._parser.add_argument_group(
         title='Base AMI', description='EITHER AMI id OR name, not both!')
     base_ami_mutex = base_ami.add_mutually_exclusive_group(required=True)
     base_ami_mutex.add_argument(
         '-b',
         '--base-ami-name',
         dest='base_ami_name',
         action=conf_action(config=context.ami),
         help='The name of the base AMI used in provisioning')
     base_ami_mutex.add_argument(
         '-B',
         '--base-ami-id',
         dest='base_ami_id',
         action=conf_action(config=context.ami),
         help='The id of the base AMI used in provisioning')
     cloud = self._parser.add_argument_group(
         title='EC2 Options', description='EC2 Connection Information')
     cloud.add_argument('-r',
                        '--region',
                        dest='region',
                        help='EC2 region (default: us-east-1)',
                        action=conf_action(config=context.cloud))
     cloud.add_argument('--boto-secure',
                        dest='is_secure',
                        help='Connect via https',
                        action=conf_action(config=context.cloud,
                                           action='store_true'))
     cloud.add_argument('--boto-debug',
                        dest='boto_debug',
                        help='Boto debug output',
                        action=conf_action(config=context.cloud,
                                           action='store_true'))
     cloud.add_argument('-V',
                        '--volume-id',
                        dest='volume_id',
                        action=conf_action(config=context.ami),
                        help='The volume id already attached to the system')
Example #26
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     EC2CloudPlugin.add_plugin_args(self)
     cloud = self._parser.add_argument_group(title='EC2 Options', description='EC2 Connection Information')
     cloud.add_argument('--ec2-endpoint', dest='ec2_endpoint', help='EC2 endpoint  to connect to',
                        action=conf_action(config=context.cloud))
Example #27
0
    def add_plugin_args(self):
        tagging = super(TaggingEBSFinalizerPlugin, self).add_plugin_args()

        context = self._config.context
        tagging.add_argument('-n', '--name', dest='name', action=conf_action(context.ami), help='name of resultant AMI (default package_name-version-release-arch-yyyymmddHHMM-ebs')
Example #28
0
 def add_plugin_args(self, *args, **kwargs):
     context = self._config.context
     prov = self._parser.add_argument_group(title='Provisioning')
     prov.add_argument("-i", "--interactive", dest='interactive', help="interactive session after provivioning", action=conf_action(config=context.package, action="store_true"))