Giter Site home page Giter Site logo

knife-vsphere's Introduction

Knife vSphere

DESCRIPTION:

This is an Opscode Knife plugin to interact with VMware’s vSphere. This plugin currently supports the following: Listings: -VMs -Folders -Templates -Datastores -VLANs (currently requires distributed vswitch) -Resource Pools and Clusters -Customization Specifications VM Operations: -Power on/off -Clone (with optional chef bootstrap and run list) -Delete Clone-specific customization options (for linux guests): -Destination folder -CPU core count -Memory size -DNS settings -Hostname / Domain name -IP addresses / default gateway -vlan (currently requires distributed vswitch) -datastore -resource pool

INSTALLATION:

gem install knife-vsphere

CONFIGURATION:

For initial development, the plugin targets all communication at a vCenter instance rather than at specific hosts. Only named user authentication is currently supported; you can add the credentials to your knife.rb file:

knife[:vsphere_host] = "vcenter-hostname"
knife[:vsphere_user] = "privileged username"
knife[:vsphere_pass] = "your password"
knife[:vsphere_dc] = "your-datacenter"

If you get the following error, you may need to disable SSL certificate checking: ERROR: OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

knife[:vsphere_insecure] = true

Credentials can also be specified on the command line for multiple VSphere servers/data centers

SUBCOMMANDS:

This plugin provides the following Knife subcommands. Specific command options can be found by invoking the subcommand with a --help flag

knife vsphere vm list [-r, –recursive [–only-folders]]

Enumerates the Virtual Machines registered in the target datacenter. Only name is currently displayed.

-r, --recursive    - Recurse down through sub-folders to the specified folder
--only-folders     - In combination with --recursive, print only folder names

knife vsphere pool list

Enumerates the Resource Pools and Clusters registered in the target datacenter.

knife vsphere template list

Enumerates the VM Templates registered in the target datacenter. Only name is currently displayed.

knife vsphere customization list

Enumerates the customization specifications registered in the target datacenter. Only name is currently displayed.

knife vsphere vm clone –template <source template name> –vmname <new vm name> –cspec <customization_spec>

e.g. knife vsphere vm clone NewNode UbuntuTemplate –cspec StaticSpec \

  --cips 192.168.0.99/24,192.168.1.99/24 \
  --chostname NODENAME --cdomain NODEDOMAIN

--dest-folder FOLDER - The folder into which to put the cloned VM
--datastore STORE    - The datastore into which to put the cloned VM
--resource-pool POOL - The resource pool into which to put the cloned VM
--template TEMPLATE - The source VM / Template to clone from
--cspec CUST_SPEC - The name of any customization specification to apply
--cvlan CUST_VLAN - VLAN name for network adapter to join
--cips CUST_IPS - Comma-delimited list of CIDR IPs for customization
--cgw CUST_GW - CIDR IP of gateway for customization
--chostname CUST_HOSTNAME - Unqualified hostname for customization
--cdomain CUST_DOMAIN - Domain name for customization
--ctz CUST_TIMEZONE - Timezone invalid 'Area/Location' format
--ccpu CUST_CPU_COUNT - Number of CPUs
--cram CUST_MEMORY_GB - Gigabytes of RAM
--start STARTVM - Indicates whether to start the VM after a successful clone
--bootstrap FALSE - Indicates whether to bootstrap the VM
--fqdn SERVER_FQDN - Fully qualified hostname for bootstrapping
--ssh-user USERNAME - SSH username
--ssh-password PASSWORD - SSH password
--ssh-port PORT - SSH port
--identity-file IDENTITY_FILE - SSH identity file used for authentication
--node-name NAME - The Chef node name for your new node
--prerelease - Install the pre-release chef gems
--bootstrap-version VERSION - The version of Chef to install
--bootstrap-proxy PROXY_URL - The proxy server for the node being bootstrapped
--distro DISTRO - Bootstrap a distro using a template
--template-file TEMPLATE - Full path to location of template to use
--run-list RUN_LIST - Comma separated list of roles/recipes to apply
--no-host-key-verify - Disable host key verification",

Clones an existing VM template into a new VM instance, optionally applying an existing customization specification.

knife vsphere vm delete –vmname <vm name>

Unregisters an existing VM. Currently, it does not perform any datastore cleanup to remove VM files.

knife vsphere datastore list

Lists all known datastores with capacity and usage

LICENSE:

Authors

Ezra Pagel <[email protected]> Jesse Campbell <[email protected]> John Williams <[email protected]> Ian Delahorne <[email protected]> Leeor Aharon <>

Copyright

Copyright © 2011-2012 Ezra Pagel

VMware vSphere is a trademark of VMware, Inc.

License

Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

knife-vsphere's People

Contributors

crossing avatar ezrapagel avatar iandelahorne avatar jcam avatar leeor avatar robharrop avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

landis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.