vagrant-digitalocean 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'vagrant', :git => 'git://github.com/mitchellh/vagrant.git', :tag => 'v1.2.1'
3
+ gem 'vagrant', :git => 'git://github.com/mitchellh/vagrant.git', :tag => 'v1.2.2'
4
+ gem 'vagrant-omnibus'
4
5
  gemspec
data/README.md CHANGED
@@ -4,6 +4,13 @@ Digital Ocean Vagrant Provider
4
4
  management of [Digital Ocean](https://www.digitalocean.com/) droplets
5
5
  (instances).
6
6
 
7
+ **NOTE:** The Chef provisioner is no longer supported by default (as of 0.2.0).
8
+ Please use the `vagrant-omnibus` plugin to install Chef on Vagrant-managed
9
+ machines. This plugin provides control over the specific version of Chef
10
+ to install. The custom `rebuild` command will not work until a pull request
11
+ is accepted within the `vagrant-omnibus` project. I will update the README
12
+ when this is completed.
13
+
7
14
  Current features include:
8
15
  - create and destroy droplets
9
16
  - power on and off droplets
@@ -65,6 +72,9 @@ Please note the following:
65
72
  extension.
66
73
  - You *must* specify your Digital Ocean Client and API keys. These may be
67
74
  found on the control panel within the *My Settings > API Access* section.
75
+ - The Chef provisioner is installed via the
76
+ [`vagrant-omnibus` plugin](https://github.com/schisamo/vagrant-omnibus).
77
+ Please see its documentation for details.
68
78
 
69
79
  **Supported Configuration Attributes**
70
80
 
@@ -89,8 +99,7 @@ set.
89
99
 
90
100
  *NOTE:* For those using a 0.0.x version of the provider,
91
101
  `provider.ssh_username` and `provider.ssh_private_key_path` have been removed
92
- in favor of the configuration options above. This approach better aligns the
93
- provider with upcoming changes in Vagrant 1.2.
102
+ in favor of the configuration options above.
94
103
 
95
104
  Run
96
105
  ---
@@ -7,7 +7,6 @@ require 'vagrant-digitalocean/actions/rebuild'
7
7
  require 'vagrant-digitalocean/actions/reload'
8
8
  require 'vagrant-digitalocean/actions/setup_user'
9
9
  require 'vagrant-digitalocean/actions/setup_sudo'
10
- require 'vagrant-digitalocean/actions/setup_provisioner'
11
10
  require 'vagrant-digitalocean/actions/setup_key'
12
11
  require 'vagrant-digitalocean/actions/sync_folders'
13
12
  require 'vagrant-digitalocean/actions/modify_provision_path'
@@ -70,7 +69,6 @@ module VagrantPlugins
70
69
  case env[:machine_state]
71
70
  when :active
72
71
  b.use Provision
73
- b.use SetupProvisioner
74
72
  b.use ModifyProvisionPath
75
73
  b.use SyncFolders
76
74
  when :off
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module DigitalOcean
3
- VERSION = '0.1.2'
3
+ VERSION = '0.2.0'
4
4
  end
5
5
  end
data/locales/en.yml CHANGED
@@ -14,7 +14,6 @@ en:
14
14
  reloading: "Rebooting the droplet..."
15
15
  creating_user: "Creating user account: %{user}..."
16
16
  modifying_sudo: "Modifying sudoers file to remove tty requirement..."
17
- installing_provisioner: "Installing provisioner: %{provisioner}..."
18
17
  using_key: "Using existing SSH key: %{name}"
19
18
  creating_key: "Creating new SSH key: %{name}..."
20
19
  rsyncing: "Rsyncing folder: %{hostpath} => %{guestpath}..."
data/test/Vagrantfile CHANGED
@@ -1,12 +1,15 @@
1
1
  Vagrant.require_plugin('vagrant-digitalocean')
2
+ Vagrant.require_plugin('vagrant-omnibus')
2
3
 
3
4
  Vagrant.configure('2') do |config|
5
+ config.omnibus.chef_version = :latest
6
+
4
7
  config.vm.box = 'digital_ocean'
5
8
 
6
9
  config.ssh.username = 'tester'
7
10
  config.ssh.private_key_path = 'test_id_rsa'
8
11
 
9
- config.vm.synced_folder '/vagrant', '.', :id => 'vagrant-root', :disabled => true
12
+ config.vm.synced_folder '.', '/vagrant', :disabled => true
10
13
 
11
14
  config.vm.provider :digital_ocean do |provider|
12
15
  provider.client_id = ENV['DO_CLIENT_ID']
@@ -31,7 +34,7 @@ Vagrant.configure('2') do |config|
31
34
 
32
35
  config.vm.define :centos do |centos|
33
36
  centos.vm.provider :digital_ocean do |provider|
34
- provider.image = 'CentOS 6.3 x64'
37
+ provider.image = 'CentOS 6.4 x64'
35
38
  end
36
39
  end
37
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-digitalocean
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-25 00:00:00.000000000 Z
12
+ date: 2013-06-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -84,7 +84,6 @@ files:
84
84
  - lib/vagrant-digitalocean/actions/rebuild.rb
85
85
  - lib/vagrant-digitalocean/actions/reload.rb
86
86
  - lib/vagrant-digitalocean/actions/setup_key.rb
87
- - lib/vagrant-digitalocean/actions/setup_provisioner.rb
88
87
  - lib/vagrant-digitalocean/actions/setup_sudo.rb
89
88
  - lib/vagrant-digitalocean/actions/setup_user.rb
90
89
  - lib/vagrant-digitalocean/actions/sync_folders.rb
@@ -1,41 +0,0 @@
1
- module VagrantPlugins
2
- module DigitalOcean
3
- module Actions
4
- class SetupProvisioner
5
- def initialize(app, env)
6
- @app = app
7
- @machine = env[:machine]
8
- @logger =
9
- Log4r::Logger.new('vagrant::digitalocean::setup_provisioner')
10
- end
11
-
12
- def call(env)
13
- # check if provisioning is enabled
14
- enabled = true
15
- enabled = env[:provision_enabled] if env.has_key?(:provision_enabled)
16
- return @app.call(env) if !enabled
17
-
18
- # check if a chef provisioner is configured
19
- provisioners = @machine.config.vm.provisioners
20
- configured = provisioners.reduce(false) do |c, provisioner|
21
- provisioner.name =~ /chef/
22
- end
23
- return @app.call(env) if !configured
24
-
25
- # check if chef is already installed
26
- command = 'which chef-solo'
27
- code = @machine.communicate.execute(command, :error_check => false)
28
- return @app.call(env) if code == 0
29
-
30
- # install chef
31
- key = 'vagrant_digital_ocean.info.installing_provisioner'
32
- env[:ui].info I18n.t(key, { :provisioner => 'chef' })
33
- command = 'wget -O - http://www.opscode.com/chef/install.sh | bash'
34
- @machine.communicate.sudo(command)
35
-
36
- @app.call(env)
37
- end
38
- end
39
- end
40
- end
41
- end