You are here: Home / presentations / Open Cloud / Management Console Tools

Management Console Tools

by Alan Milligan last modified Sep 05, 2012 05:27 AM
Web forms versus command-lines

ec2-api-tools

ec2-activate-license ec2-add-group ec2-add-keypair ec2-allocate-address ec2-associate-address ec2-associate-dhcp-options ec2-attach-volume ec2-attach-vpn-gateway ec2-authorize ec2-bundle-instance ec2-cancel-bundle-task ec2-cancel-spot-instance-requests ec2-cmd ec2-confirm-product-instance ec2-create-customer-gateway ec2-create-dhcp-options ec2-create-image ec2-create-placement-group ec2-create-snapshot ec2-create-spot-datafeed-subscription ec2-create-subnet ec2-create-volume ec2-create-vpc ec2-create-vpn-connection ec2-create-vpn-gateway ec2-deactivate-license ec2-delete-customer-gateway ec2-delete-dhcp-options ec2-delete-group ec2-delete-keypair ec2-delete-placement-group ec2-delete-snapshot ec2-delete-spot-datafeed-subscription ec2-delete-subnet ec2-delete-volume ec2-delete-vpc ec2-delete-vpn-connection ec2-delete-vpn-gateway ec2-deregister ec2-describe-addresses ec2-describe-availability-zones ec2-describe-bundle-tasks ec2-describe-customer-gateways ec2-describe-dhcp-options ec2-describe-group ec2-describe-image-attribute ec2-describe-images ec2-describe-instance-attribute ec2-describe-instances ec2-describe-keypairs ec2-describe-licenses ec2-describe-placement-groups ec2-describe-regions ec2-describe-reserved-instances ec2-describe-reserved-instances-offerings ec2-describe-snapshot-attribute ec2-describe-snapshots ec2-describe-spot-datafeed-subscription ec2-describe-spot-instance-requests ec2-describe-spot-price-history ec2-describe-subnets ec2-describe-volumes ec2-describe-vpcs ec2-describe-vpn-connections ec2-describe-vpn-gateways ec2-detach-volume ec2-detach-vpn-gateway ec2-disassociate-address ec2-fingerprint-key ec2-get-console-output ec2-get-password ec2-migrate-image ec2-modify-image-attribute ec2-modify-instance-attribute ec2-modify-snapshot-attribute ec2-monitor-instances ec2-purchase-reserved-instances-offering ec2-reboot-instances ec2-register ec2-release-address ec2-request-spot-instances ec2-reset-image-attribute ec2-reset-instance-attribute ec2-reset-snapshot-attribute ec2-revoke ec2-run-instances ec2-start-instances ec2-stop-instances ec2-terminate-instances ec2-unmonitor-instances ec2-version

euca2ools

euca-add-group                    euca-delete-bundle                euca-describe-keypairs            euca-register
euca-add-keypair                  euca-delete-bundle.orig           euca-describe-regions             euca-register.orig
euca-allocate-address             euca-delete-group                 euca-describe-snapshots           euca-release-address
euca-associate-address            euca-delete-keypair               euca-describe-volumes             euca-reset-image-attribute
euca-attach-volume                euca-delete-snapshot              euca-detach-volume                euca-revoke
euca-authorize                    euca-delete-volume                euca-disassociate-address         euca-run-instances
euca-bundle-image                 euca-deregister                   euca-download-bundle              euca-set-region
euca-bundle-image.orig            euca-describe-addresses           euca-download-bundle.orig         euca-show-region
euca-bundle-instance              euca-describe-availability-zones  euca-get-console-output           euca-terminate-instances
euca-bundle-vol                   euca-describe-bundle-tasks        euca-get-password                 euca-unbundle
euca-cancel-bundle-task           euca-describe-groups              euca-get-password-data            euca-upload-bundle
euca-confirm-product-instance     euca-describe-image-attribute     euca-import-keypair               euca-upload-bundle.orig
euca-create-snapshot              euca-describe-images              euca-modify-image-attribute       euca-version
euca-create-volume                euca-describe-instances           euca-reboot-instances             

ec2-ami-tools

[alan@mistress Products]$ ec2sh

'ec2sh' usage :
This is an interactive 'irb' command shell that allows you to use all
commands available to the amazon-ec2 gem.  You'll find this to be a
great tool to help you debug issues and practice running commands
against the live EC2 servers prior to putting them in your code.

The EC2 connection is wired to the class instance '@ec2'.  Make method calls
on this to execute commands on EC2.  Adding a #to_s
at the end of any command should give you a full String representation of the
response.

Examples to try:

returns : all ec2 public methods
>> @ec2.methods.sort

returns : a string representation of ALL images
>> @ec2.describe_images.to_s

returns : an Array of AWS::Response objects, each an EC2 image and its data
>> @ec2.describe_images.imagesSet.item
>> @ec2.describe_images.imagesSet.item[0] (a hash representing a single item in that array)
>> @ec2.describe_images.imagesSet.item[0].to_s (a String representation of that item)

EC2 Server:
>>

fog

[alan@mistress Products]$ fog
Welcome to fog interactive!
:default provides AWS, Bluebox, Brightbox, DNSimple, DNSMadeEasy, GoGrid, Google, Linode, Local, NewServers, Rackspace, Slicehost, Voxel and Zerigo
>>

fabric/mr.awesome

from fabric.api import run

def host_type():
run('uname -s')

Once a task is defined, it may be run on one or more servers, like so:

$ fab -H localhost,linuxbox host_type
[localhost] run: uname -s
[localhost] out: Darwin
[linuxbox] run: uname -s
[linuxbox] out: Linux

knife

rubygem-knife-ec2 rubygem-knife-vsphere rubygem-knife-openstack rubygem-knife-windows rubygem-knife-rackspace

[alan@mistress Products]$ knife --help
Usage: knife sub-command (options)
-s, --server-url URL             Chef Server URL
-k, --key KEY                    API Client Key
--color                      Use colored output
-c, --config CONFIG              The configuration file to use
--defaults                   Accept default values for all questions
-e, --editor EDITOR              Set the editor to use for interactive commands
-E, --environment ENVIRONMENT    Set the Chef environment
-F, --format FORMAT              Which format to use for output
--no-color                   Don't use colors in the output
-n, --no-editor                  Do not open EDITOR, just accept the data as is
-u, --user USER                  API Client Username
--print-after                Show the data after a destructive operation
-V, --verbose                    More verbose output. Use twice for max verbosity
-v, --version                    Show chef version
-y, --yes                        Say yes to all prompts for confirmation
-h, --help                       Show this message

Available subcommands: (for details, knife SUB-COMMAND --help)

** BOOTSTRAP COMMANDS **
knife bootstrap FQDN (options)

** CLIENT COMMANDS **
knife client list (options)
knife client reregister CLIENT (options)
knife client edit CLIENT (options)
knife client bulk delete REGEX (options)
knife client create CLIENT (options)
knife client show CLIENT (options)
knife client delete CLIENT (options)

** CONFIGURE COMMANDS **
knife configure client DIRECTORY
knife configure (options)

** COOKBOOK COMMANDS **
knife cookbook test [COOKBOOKS...] (options)
knife cookbook create COOKBOOK (options)
knife cookbook download COOKBOOK [VERSION] (options)
knife cookbook list (options)
knife cookbook delete COOKBOOK VERSION (options)
knife cookbook metadata from FILE (options)
knife cookbook show COOKBOOK [VERSION] [PART] [FILENAME] (options)
knife cookbook bulk delete REGEX (options)
knife cookbook metadata COOKBOOK (options)
knife cookbook upload [COOKBOOKS...] (options)

** COOKBOOK SITE COMMANDS **
knife cookbook site show COOKBOOK [VERSION] (options)
knife cookbook site share COOKBOOK CATEGORY (options)
knife cookbook site search QUERY (options)
knife cookbook site download COOKBOOK [VERSION] (options)
knife cookbook site list (options)
knife cookbook site unshare COOKBOOK
knife cookbook site install COOKBOOK [VERSION] (options)

** DATA BAG COMMANDS **
knife data bag show BAG [ITEM] (options)
knife data bag edit BAG ITEM (options)
knife data bag list (options)
knife data bag from file BAG FILE (options)
knife data bag create BAG [ITEM] (options)
knife data bag delete BAG [ITEM] (options)

** EC2 COMMANDS **
knife ec2 instance data (options)
knife ec2 server list (options)
knife ec2 server create (options)
knife ec2 server delete SERVER [SERVER] (options)

** ENVIRONMENT COMMANDS **
knife environment list (options)
knife environment show ENVIRONMENT (options)
knife environment edit ENVIRONMENT (options)
knife environment create ENVIRONMENT (options)
knife environment from file FILE (options)
knife environment delete ENVIRONMENT (options)

** EXEC COMMANDS **
knife exec [SCRIPT] (options)

** HELP COMMANDS **
knife help [list|TOPIC]

** INDEX COMMANDS **
knife index rebuild (options)

** NODE COMMANDS **
knife node from file FILE (options)
knife node create NODE (options)
knife node show NODE (options)
knife node edit NODE (options)
knife node delete NODE (options)
knife node list (options)
knife node run_list remove [NODE] [ENTRY] (options)
knife node run_list add [NODE] [ENTRY] (options)
knife node bulk delete REGEX (options)

** RECIPE COMMANDS **
knife recipe list [PATTERN]

** ROLE COMMANDS **
knife role from file FILE (options)
knife role show ROLE (options)
knife role edit ROLE (options)
knife role list (options)
knife role delete ROLE (options)
knife role bulk delete REGEX (options)
knife role create ROLE (options)

** SEARCH COMMANDS **
knife search INDEX QUERY (options)

** SSH COMMANDS **
knife ssh QUERY COMMAND (options)

** STATUS COMMANDS **
knife status QUERY (options)

** TAG COMMANDS **
knife tag list NODE
knife tag delete NODE TAG ...
knife tag create NODE TAG ...