GithubHelp home page GithubHelp logo

barnaclebob / vagrant-vcenter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frapposelli/vagrant-vcenter

0.0 2.0 0.0 313 KB

A Vagrant provider for VMware vCenter®

License: MIT License

Ruby 100.00%

vagrant-vcenter's Introduction

Vagrant provider for VMware vCenter®

Version 0.2.0 has been released!

Please note that this software is still Alpha/Beta quality and is not recommended for production usage.

Right now a Precise32 is available for use, or you can roll your own as you please, make sure to install VMware tools in it.

Changes in version 0.2.0 include:

New Features

  • Add option to set the actual vm name
  • Set some options in the vm via linux prep
  • Static networking
  • Hostname
  • Add option to set vmnetwork name and backing
  • Vagrant now uses builtin SyncedFolders helper to synchronize folders

Fixes

  • Fix the read_ssh_info if the vm doesn't have a network yet at first try the later ssh's wont forever fail

Many thanks to Karl Pietri for submitting PR #4 with all these new features!

Changes in version 0.1.1 include:

Install

Latest version can be easily installed by running the following command:

vagrant plugin install vagrant-vcenter

Vagrant will download all the required gems during the installation process.

If you already have the plugin installed you can use:

vagrant plugin upgrade vagrant-vcenter

To perform an upgrade to the latest version.

After the install has completed a vagrant up --provider=vcenter will trigger the newly installed provider.

Configuration

Here's a sample Multi-VM Vagrantfile:

precise32_box_url = 'http://vagrant.gosddc.com/boxes/precise32-vcenter.box'

nodes = [
  { hostname: 'web-vm',
    box: 'precise32',
    box_url: precise32_box_url },
  { hostname: 'ssh-vm',
    box: 'precise32',
    box_url: precise32_box_url },
  { hostname: 'sql-vm',
    box: 'precise32',
    box_url: precise32_box_url },
  { hostname: 'lb-vm',
    box: 'precise32',
    box_url: precise32_box_url }
]

Vagrant.configure('2') do |config|

  config.vm.provider :vcenter do |vcenter|
    vcenter.hostname = 'my.vcenter.hostname'
    vcenter.username = 'myUsername'
    vcenter.password = 'myPassword'
    vcenter.folder_name = 'myFolderName'
    vcenter.datacenter_name = 'MyDatacenterName'
    vcenter.computer_name = 'MyHostOrCluster'
    vcenter.datastore_name = 'MyDatastore'
    vcenter.template_folder_name = 'My/Template/Folder/Path'
    vcenter.network_name = 'myNetworkName'
    # If you want to use linked clones, set this to true
    vcenter.linked_clones = true
  end

  # Go through nodes and configure each of them.j
  nodes.each do |node|
    config.vm.define node[:hostname] do |node_config|
      node_config.vm.box = node[:box]
      node_config.vm.hostname = node[:hostname]
      node_config.vm.box_url = node[:box_url]
    #   node_config.vm.provision :puppet do |puppet|
    #     puppet.manifests_path = 'puppet/manifests'
    #     puppet.manifest_file = 'site.pp'
    #     puppet.module_path = 'puppet/modules'
    #     puppet.options = "--verbose --debug"
    #   end
    end
  end
end

Contribute

What is still missing:

  • TEST SUITES! (working on that).
  • Speed, the code is definitely not optimized.
  • Thorough testing.
  • Error checking is absymal.
  • Some spaghetti code here and there.
  • Bugs, bugs and BUGS!.

If you're a developer and want to lend us a hand, head over to our develop branch and send us PRs!

vagrant-vcenter's People

Contributors

frapposelli avatar barnaclebob avatar

Watchers

 avatar James Cloos avatar

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.