vagrant-orchestrate 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -4
- data/.vagrantplugins +22 -0
- data/CHANGELOG.md +8 -0
- data/README.md +16 -6
- data/acceptance/command/status_spec.rb +4 -3
- data/lib/vagrant-managed-servers/action/download_status.rb +1 -0
- data/lib/vagrant-managed-servers/action/upload_status.rb +1 -1
- data/lib/vagrant-orchestrate/command/init.rb +21 -16
- data/lib/vagrant-orchestrate/command/push.rb +1 -1
- data/lib/vagrant-orchestrate/command/status.rb +3 -3
- data/lib/vagrant-orchestrate/repo_status.rb +8 -4
- data/lib/vagrant-orchestrate/version.rb +1 -1
- data/spec/vagrant-orchestrate/command/init_spec.rb +12 -10
- data/templates/vagrant/.vagrantplugins.erb +23 -0
- data/templates/vagrant/Vagrantfile.erb +0 -6
- data/vagrant-orchestrate.gemspec +13 -13
- metadata +4 -4
- data/lib/vms.save +0 -24
- data/mytestfile +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cc6337e73b1299cc2a5ddfbd7bc634f910c22613
|
|
4
|
+
data.tar.gz: c40465611605716c68d8e0a7f547a8471ffe85ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3b72416ac1cb3ed860aedf7ecb872df81d57942ad8e5ec90b4802e5e6a4b6e0801fff9c1e0eb573b64ebb816822d504d3285d46aeecd5916c86e603aed3f70d5
|
|
7
|
+
data.tar.gz: 4ebd44c1049d983ac78d56458f61d30d4bfbe86f6447a3486c9de35765ef633222e25e4a64164d7b3493cd0a3bf5d152a4be3a07632a32f53a000d51e28869b1
|
data/.rubocop.yml
CHANGED
data/.vagrantplugins
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
required_plugins = {}
|
|
2
|
+
# Example usage:
|
|
3
|
+
# required_plugins["plugin-name"] = { version: "1.2.3", source: "https://rubygems.org" }
|
|
4
|
+
required_plugins["vagrant-orchestrate"] = {}
|
|
5
|
+
required_plugins["vagrant-managed-servers"] = {}
|
|
6
|
+
|
|
7
|
+
needs_restart = false
|
|
8
|
+
required_plugins.each do |plugin, options|
|
|
9
|
+
version = options[:version]
|
|
10
|
+
|
|
11
|
+
unless Vagrant.has_plugin?(plugin, version)
|
|
12
|
+
command = "vagrant plugin install #{plugin}"
|
|
13
|
+
command += " --plugin-version #{version}" if version
|
|
14
|
+
command += " --plugin-source #{options[:source]}" if options[:source]
|
|
15
|
+
system command
|
|
16
|
+
needs_restart = true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
if needs_restart
|
|
21
|
+
exec "vagrant #{ARGV.join' '}"
|
|
22
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
0.6.3 (May 26th, 2015)
|
|
2
|
+
|
|
3
|
+
- Extract the `required_plugins` definition and installation logic from the
|
|
4
|
+
`Vagrantfile` to a new `.vagrantplugins` file per https://github.com/mitchellh/vagrant/issues/4347
|
|
5
|
+
- Change required_plugins from array to hash[plugin-name] = {options}. This allows specifying specific versions of plugins to be installed as well as alternate gem sources, which is useful for internally hosted gems.
|
|
6
|
+
- Fall back to the Vagrant environment's `root_path` if the working directory is
|
|
7
|
+
not a git repo. Fixes [#34](https://github.com/Cimpress-MCP/vagrant-orchestrate/issues/34)
|
|
8
|
+
|
|
1
9
|
0.6.2 (May 25th, 2015)
|
|
2
10
|
|
|
3
11
|
- Change the implementation of the `RepoStatus.repo` method from relying on a
|
data/README.md
CHANGED
|
@@ -56,10 +56,6 @@ Which produces a simple default Vagrantfile that can push to managed servers:
|
|
|
56
56
|
```ruby
|
|
57
57
|
managed_servers = %w( )
|
|
58
58
|
|
|
59
|
-
required_plugins = %w( vagrant-managed-servers )
|
|
60
|
-
required_plugins.each do |plugin|
|
|
61
|
-
system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
|
|
62
|
-
end
|
|
63
59
|
Vagrant.configure("2") do |config|
|
|
64
60
|
# This disables up, provision, reload, and destroy for managed servers. Use
|
|
65
61
|
# `vagrant orchestrate push` to communicate with managed servers.
|
|
@@ -111,12 +107,26 @@ This works for Windows managed servers using WinRM as well
|
|
|
111
107
|
|
|
112
108
|
#### Plugins
|
|
113
109
|
|
|
114
|
-
This also supports a portable and repeatable way to install plugins, just list them in the
|
|
110
|
+
This also supports a portable and repeatable way to install plugins, just list them in the .vagrantplugins file.
|
|
111
|
+
`version` and `source` are the supported values in the options hash, but neither is required.
|
|
115
112
|
|
|
116
113
|
```ruby
|
|
117
|
-
required_plugins =
|
|
114
|
+
required_plugins = {}
|
|
115
|
+
required_plugins["vagrant-orchestrate"] = {}
|
|
116
|
+
required_plugins["vagrant-managed-servers"] = { version: "0.7.0" }
|
|
118
117
|
```
|
|
119
118
|
|
|
119
|
+
If you are executing in a shared environment, like a build slave, you can create your own
|
|
120
|
+
own plugin install directory by setting the `VAGRANT_HOME` variable to something relative
|
|
121
|
+
to the current directory.
|
|
122
|
+
|
|
123
|
+
$ VAGRANT_HOME=./.vagrant.d vagrant orchestrate push
|
|
124
|
+
|
|
125
|
+
or
|
|
126
|
+
|
|
127
|
+
> SET VAGRANT_HOME=./.vagrant.d
|
|
128
|
+
> vagrant orchestrate push
|
|
129
|
+
|
|
120
130
|
#### Working with multiple environments
|
|
121
131
|
|
|
122
132
|
Vagrant Orchestrate offers a way to manage multiple environments using a combination of a single servers.json file and the name of the current git branch as an indicator of the current environment.
|
|
@@ -6,7 +6,7 @@ describe "vagrant orchestrate status", component: "orchestrate/status" do
|
|
|
6
6
|
|
|
7
7
|
TEST_REF = "050bfd9c686b06c292a9614662b0ab1bbf652db3"
|
|
8
8
|
TEST_REMOTE_ORIGIN_URL = "http://github.com/Cimpress-MCP/vagrant-orchestrate.git"
|
|
9
|
-
TEST_REPO = "
|
|
9
|
+
TEST_REPO = "vagrant-orchestrate"
|
|
10
10
|
|
|
11
11
|
before do
|
|
12
12
|
environment.skeleton("basic")
|
|
@@ -14,7 +14,8 @@ describe "vagrant orchestrate status", component: "orchestrate/status" do
|
|
|
14
14
|
|
|
15
15
|
it "handles no status file gracefully" do
|
|
16
16
|
# Make sure we're starting from a clean slate, rspec order isn't guaranteed.
|
|
17
|
-
execute("vagrant", "
|
|
17
|
+
execute("vagrant", "up", "managed-1")
|
|
18
|
+
execute("vagrant", "ssh", "-c", "\"sudo rm -rf /var/state/vagrant_orchestrate\"", "managed-1")
|
|
18
19
|
# All commands are executed against a single machine to reduce variability
|
|
19
20
|
result = execute("vagrant", "orchestrate", "status", "/managed-1/")
|
|
20
21
|
expect(result.stdout).to include("Status unavailable.")
|
|
@@ -30,7 +31,7 @@ describe "vagrant orchestrate status", component: "orchestrate/status" do
|
|
|
30
31
|
ENV["VAGRANT_ORCHESTRATE_NO_GUARD_CLEAN"] = "true"
|
|
31
32
|
execute("vagrant", "orchestrate", "push", "/managed-1/")
|
|
32
33
|
result = execute("vagrant", "orchestrate", "status", "/managed-1/")
|
|
33
|
-
status = VagrantPlugins::Orchestrate::RepoStatus.new
|
|
34
|
+
status = VagrantPlugins::Orchestrate::RepoStatus.new(TEST_REPO)
|
|
34
35
|
# Punting on date. Can always add it later if needed
|
|
35
36
|
expect(result.stdout).to include(status.ref)
|
|
36
37
|
expect(result.stdout).to include(status.user)
|
|
@@ -18,6 +18,7 @@ module VagrantPlugins
|
|
|
18
18
|
def download_status(machine, local, remote, ui)
|
|
19
19
|
machine.communicate.wait_for_ready(5)
|
|
20
20
|
@logger.debug("Downloading orchestrate status for #{machine.name}")
|
|
21
|
+
ui.info("Downloading orchestrate status from #{remote}")
|
|
21
22
|
@logger.debug(" remote file: #{remote}")
|
|
22
23
|
@logger.debug(" local file: #{local}")
|
|
23
24
|
machine.communicate.download(remote, local)
|
|
@@ -23,7 +23,7 @@ module VagrantPlugins
|
|
|
23
23
|
@logger.debug("Ensuring vagrant_orchestrate status directory exists")
|
|
24
24
|
machine.communicate.sudo("mkdir -p #{parent_folder}")
|
|
25
25
|
machine.communicate.sudo("chmod 777 #{parent_folder}")
|
|
26
|
-
ui.info("Uploading vagrant orchestrate status")
|
|
26
|
+
ui.info("Uploading vagrant orchestrate status to #{destination}")
|
|
27
27
|
@logger.debug("Uploading vagrant_orchestrate status")
|
|
28
28
|
@logger.debug(" source: #{source}")
|
|
29
29
|
@logger.debug(" dest: #{destination}")
|
|
@@ -126,34 +126,39 @@ module VagrantPlugins
|
|
|
126
126
|
options[:ssh_username] ||= DEFAULT_SSH_USERNAME
|
|
127
127
|
options[:ssh_private_key_path] ||= DEFAULT_SSH_PRIVATE_KEY_PATH unless options[:ssh_password]
|
|
128
128
|
|
|
129
|
+
write_vagrant_files(options)
|
|
130
|
+
@env.ui.info(I18n.t("vagrant.commands.init.success"), prefix: false)
|
|
131
|
+
|
|
132
|
+
# Success, exit status 0
|
|
133
|
+
0
|
|
134
|
+
end
|
|
135
|
+
# rubocop:enable Metrics/AbcSize, MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
136
|
+
|
|
137
|
+
private
|
|
138
|
+
|
|
139
|
+
def write_vagrant_files(options)
|
|
129
140
|
contents = TemplateRenderer.render(Orchestrate.source_root.join("templates/vagrant/Vagrantfile"),
|
|
130
|
-
provisioners: options[:provisioners],
|
|
131
|
-
shell_paths: options[:shell_paths],
|
|
141
|
+
provisioners: options[:provisioners], shell_paths: options[:shell_paths],
|
|
132
142
|
shell_inline: options[:shell_inline],
|
|
133
143
|
puppet_librarian_puppet: options[:puppet_librarian_puppet],
|
|
134
|
-
puppet_hiera: options[:puppet_hiera],
|
|
135
|
-
communicator: options[:communicator],
|
|
144
|
+
puppet_hiera: options[:puppet_hiera], communicator: options[:communicator],
|
|
136
145
|
winrm_username: options[:winrm_username],
|
|
137
146
|
winrm_password: options[:winrm_password],
|
|
138
|
-
ssh_username: options[:ssh_username],
|
|
139
|
-
ssh_password: options[:ssh_password],
|
|
147
|
+
ssh_username: options[:ssh_username], ssh_password: options[:ssh_password],
|
|
140
148
|
ssh_private_key_path: options[:ssh_private_key_path],
|
|
141
149
|
servers: options[:servers],
|
|
142
|
-
environments: options[:environments],
|
|
143
|
-
plugins: options[:plugins],
|
|
144
|
-
creds_prompt: options[:creds_prompt]
|
|
150
|
+
environments: options[:environments], creds_prompt: options[:creds_prompt]
|
|
145
151
|
)
|
|
146
152
|
write_file("Vagrantfile", contents, options)
|
|
153
|
+
|
|
154
|
+
contents = TemplateRenderer.render(Orchestrate.source_root.join("templates/vagrant/.vagrantplugins"),
|
|
155
|
+
plugins: options[:plugins]
|
|
156
|
+
)
|
|
157
|
+
write_file(".vagrantplugins", contents, options)
|
|
158
|
+
|
|
147
159
|
FileUtils.cp(Orchestrate.source_root.join("templates", "vagrant", "dummy.box"),
|
|
148
160
|
File.join(@env.cwd, "dummy.box"))
|
|
149
|
-
@env.ui.info(I18n.t("vagrant.commands.init.success"), prefix: false)
|
|
150
|
-
|
|
151
|
-
# Success, exit status 0
|
|
152
|
-
0
|
|
153
161
|
end
|
|
154
|
-
# rubocop:enable Metrics/AbcSize, MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
155
|
-
|
|
156
|
-
private
|
|
157
162
|
|
|
158
163
|
def init_puppet(options)
|
|
159
164
|
return unless options[:provisioners].include? "puppet"
|
|
@@ -41,14 +41,14 @@ module VagrantPlugins
|
|
|
41
41
|
local_files = []
|
|
42
42
|
@env.batch(parallel) do |batch|
|
|
43
43
|
machines.each do |machine|
|
|
44
|
-
|
|
44
|
+
status = RepoStatus.new(@env.root_path)
|
|
45
|
+
options[:remote_file_path] = status.remote_path(machine.config.vm.communicator)
|
|
45
46
|
options[:local_file_path] = File.join(@env.tmp_path, "#{machine.name}_status")
|
|
46
47
|
local_files << options[:local_file_path]
|
|
47
48
|
batch.action(machine, :download_status, options)
|
|
48
49
|
end
|
|
49
50
|
end
|
|
50
|
-
@env.ui.info("Current managed server states
|
|
51
|
-
@env.ui.info("")
|
|
51
|
+
@env.ui.info("Current managed server states:\n")
|
|
52
52
|
@env.ui.info(ENV["VAGRANT_ORCHESTRATE_STATUS"].split("\n").sort.join("\n"))
|
|
53
53
|
ensure
|
|
54
54
|
local_files.each do |local|
|
|
@@ -3,12 +3,14 @@ require "json"
|
|
|
3
3
|
module VagrantPlugins
|
|
4
4
|
module Orchestrate
|
|
5
5
|
class RepoStatus
|
|
6
|
-
attr_reader :last_sync
|
|
6
|
+
attr_reader :last_sync, :root_path
|
|
7
7
|
attr_accessor :local_path
|
|
8
8
|
|
|
9
|
-
def initialize
|
|
9
|
+
def initialize(root_path)
|
|
10
10
|
@last_sync = Time.now.utc # Managed servers could be in different timezones
|
|
11
11
|
@local_path = nil
|
|
12
|
+
# The fully qualified path to the root of the repo
|
|
13
|
+
@root_path = root_path
|
|
12
14
|
end
|
|
13
15
|
|
|
14
16
|
def ref
|
|
@@ -21,13 +23,15 @@ module VagrantPlugins
|
|
|
21
23
|
|
|
22
24
|
def remote_origin_url
|
|
23
25
|
@remote_origin_url ||= ENV["VAGRANT_ORCHESTRATE_STATUS_TEST_REMOTE_ORIGIN_URL"]
|
|
24
|
-
@remote_origin_url ||= `git config --get remote.origin.url`.chomp
|
|
26
|
+
@remote_origin_url ||= `git config --get remote.origin.url 2>#{File::NULL}`.chomp
|
|
25
27
|
@remote_origin_url
|
|
26
28
|
end
|
|
27
29
|
|
|
28
30
|
def repo
|
|
29
31
|
@repo ||= ENV["VAGRANT_ORCHESTRATE_STATUS_TEST_REPO"]
|
|
30
|
-
@repo ||= File.basename(`git rev-parse --show-toplevel`.chomp)
|
|
32
|
+
@repo ||= File.basename(`git rev-parse --show-toplevel 2>#{File::NULL}`.chomp)
|
|
33
|
+
# This might not be a git repo, and that should still be supported.
|
|
34
|
+
@repo = File.basename(root_path) if @repo.nil? || @repo.empty?
|
|
31
35
|
@repo
|
|
32
36
|
end
|
|
33
37
|
|
|
@@ -119,8 +119,8 @@ describe VagrantPlugins::Orchestrate::Command::Init do
|
|
|
119
119
|
|
|
120
120
|
it "contains the plugin" do
|
|
121
121
|
subject.execute
|
|
122
|
-
|
|
123
|
-
expect(
|
|
122
|
+
pluginsfile = File.readlines(File.join(iso_env.cwd, ".vagrantplugins")).join
|
|
123
|
+
expect(pluginsfile).to include("vagrant-librarian-puppet")
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
describe "negative" do
|
|
@@ -186,8 +186,8 @@ describe VagrantPlugins::Orchestrate::Command::Init do
|
|
|
186
186
|
let(:argv) { ["--winrm"] }
|
|
187
187
|
it "includes the vagrant-winrm-s plugin"do
|
|
188
188
|
subject.execute
|
|
189
|
-
|
|
190
|
-
expect(
|
|
189
|
+
pluginsfile = File.readlines(File.join(iso_env.cwd, ".vagrantplugins")).join
|
|
190
|
+
expect(pluginsfile).to include("vagrant-winrm-s")
|
|
191
191
|
end
|
|
192
192
|
end
|
|
193
193
|
|
|
@@ -246,12 +246,14 @@ describe VagrantPlugins::Orchestrate::Command::Init do
|
|
|
246
246
|
|
|
247
247
|
context "plugins" do
|
|
248
248
|
describe "default" do
|
|
249
|
-
it "has default plugins in
|
|
249
|
+
it "has default plugins in .vagrantplugins" do
|
|
250
250
|
subject.execute
|
|
251
251
|
# Since the plugin stuff isn't part of the actual Vagrantfile spec, we'll
|
|
252
252
|
# just peek at the text of the file
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
pluginsfile = File.readlines(File.join(iso_env.cwd, ".vagrantplugins")).join
|
|
254
|
+
described_class::DEFAULT_PLUGINS.each do |plugin|
|
|
255
|
+
expect(pluginsfile).to include("required_plugins[\"#{plugin}\"]")
|
|
256
|
+
end
|
|
255
257
|
end
|
|
256
258
|
end
|
|
257
259
|
|
|
@@ -259,9 +261,9 @@ describe VagrantPlugins::Orchestrate::Command::Init do
|
|
|
259
261
|
let(:argv) { ["--plugins", "plugin1,plugin2"] }
|
|
260
262
|
it "are required" do
|
|
261
263
|
subject.execute
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
expect(
|
|
264
|
+
pluginsfile = File.readlines(File.join(iso_env.cwd, ".vagrantplugins")).join
|
|
265
|
+
expect(pluginsfile).to include("required_plugins[\"plugin1\"]")
|
|
266
|
+
expect(pluginsfile).to include("required_plugins[\"plugin2\"]")
|
|
265
267
|
end
|
|
266
268
|
end
|
|
267
269
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
required_plugins = {}
|
|
2
|
+
# Example usage:
|
|
3
|
+
# required_plugins["plugin-name"] = { version: "1.2.3", source: "https://rubygems.org" }
|
|
4
|
+
<% plugins.each do |p| -%>
|
|
5
|
+
required_plugins["<%= p %>"] = {}
|
|
6
|
+
<% end -%>
|
|
7
|
+
|
|
8
|
+
needs_restart = false
|
|
9
|
+
required_plugins.each do |plugin, options|
|
|
10
|
+
version = options[:version]
|
|
11
|
+
|
|
12
|
+
unless Vagrant.has_plugin?(plugin, version)
|
|
13
|
+
command = "vagrant plugin install #{plugin}"
|
|
14
|
+
command += " --plugin-version #{version}" if version
|
|
15
|
+
command += " --plugin-source #{options[:source]}" if options[:source]
|
|
16
|
+
system command
|
|
17
|
+
needs_restart = true
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
if needs_restart
|
|
22
|
+
exec "vagrant #{ARGV.join' '}"
|
|
23
|
+
end
|
|
@@ -4,12 +4,6 @@ managed_servers = VagrantPlugins::Orchestrate::Plugin.load_servers_for_branch
|
|
|
4
4
|
managed_servers = %w( <% servers.each do |s| -%><%= s %> <% end -%>)
|
|
5
5
|
<% end -%>
|
|
6
6
|
|
|
7
|
-
<% if plugins.any? -%>
|
|
8
|
-
required_plugins = %w( <% plugins.each do |p| -%><%= p %> <% end -%>)
|
|
9
|
-
required_plugins.each do |plugin|
|
|
10
|
-
system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
|
|
11
|
-
end
|
|
12
|
-
<% end %>
|
|
13
7
|
Vagrant.configure("2") do |config|
|
|
14
8
|
# This disables up, provision, reload, and destroy for managed servers. Use
|
|
15
9
|
# `vagrant orchestrate push` to communicate with managed servers.
|
data/vagrant-orchestrate.gemspec
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
lib = File.expand_path(
|
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
4
|
+
require "vagrant-orchestrate/version"
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name =
|
|
7
|
+
spec.name = "vagrant-orchestrate"
|
|
8
8
|
spec.version = VagrantPlugins::Orchestrate::VERSION
|
|
9
|
-
spec.authors = [
|
|
10
|
-
spec.email = [
|
|
11
|
-
spec.summary =
|
|
12
|
-
spec.homepage =
|
|
13
|
-
spec.license =
|
|
9
|
+
spec.authors = ["Christopher Baldauf"]
|
|
10
|
+
spec.email = ["cbaldauf@cimpress.com"]
|
|
11
|
+
spec.summary = "Vagrant plugin to orchestrate the deployment of managed servers."
|
|
12
|
+
spec.homepage = "https://github.com/Cimpress-MCP/vagrant-orchestrate"
|
|
13
|
+
spec.license = "Apache 2.0"
|
|
14
14
|
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
|
16
16
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
18
|
-
spec.require_paths = [
|
|
18
|
+
spec.require_paths = ["lib"]
|
|
19
19
|
|
|
20
|
-
spec.add_development_dependency
|
|
21
|
-
spec.add_development_dependency
|
|
22
|
-
spec.add_development_dependency
|
|
23
|
-
spec.add_development_dependency
|
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
|
21
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
22
|
+
spec.add_development_dependency "rspec"
|
|
23
|
+
spec.add_development_dependency "rubocop", "~> 0.28"
|
|
24
24
|
# See Gemfile for additional development dependencies that were not available
|
|
25
25
|
# on rubygems (or another gem source), but needed to be downloaded from git.
|
|
26
26
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vagrant-orchestrate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christopher Baldauf
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-05-
|
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -77,6 +77,7 @@ files:
|
|
|
77
77
|
- .rspec
|
|
78
78
|
- .rubocop.yml
|
|
79
79
|
- .travis.yml
|
|
80
|
+
- .vagrantplugins
|
|
80
81
|
- CHANGELOG.md
|
|
81
82
|
- Gemfile
|
|
82
83
|
- LICENSE
|
|
@@ -112,9 +113,7 @@ files:
|
|
|
112
113
|
- lib/vagrant-orchestrate/plugin.rb
|
|
113
114
|
- lib/vagrant-orchestrate/repo_status.rb
|
|
114
115
|
- lib/vagrant-orchestrate/version.rb
|
|
115
|
-
- lib/vms.save
|
|
116
116
|
- locales/en.yml
|
|
117
|
-
- mytestfile
|
|
118
117
|
- spec/spec_helper.rb
|
|
119
118
|
- spec/vagrant-orchestrate/command/init_spec.rb
|
|
120
119
|
- spec/vagrant-orchestrate/command/root_spec.rb
|
|
@@ -122,6 +121,7 @@ files:
|
|
|
122
121
|
- templates/puppet/Puppetfile.erb
|
|
123
122
|
- templates/puppet/hiera.yaml.erb
|
|
124
123
|
- templates/puppet/hiera/common.yaml.erb
|
|
124
|
+
- templates/vagrant/.vagrantplugins.erb
|
|
125
125
|
- templates/vagrant/Vagrantfile.erb
|
|
126
126
|
- templates/vagrant/dummy.box
|
|
127
127
|
- vagrant-orchestrate.gemspec
|
data/lib/vms.save
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# R&D work that may be used in a future version, but can be ignored for now.
|
|
2
|
-
module ManagedServers
|
|
3
|
-
module Action
|
|
4
|
-
include Vagrant::Action::Builtin
|
|
5
|
-
def self.action_push
|
|
6
|
-
Vagrant::Action::Builder.new.tap do |b|
|
|
7
|
-
b.use HandleBox
|
|
8
|
-
b.use ConfigValidate
|
|
9
|
-
b.use WarnNetworks
|
|
10
|
-
b.use Call, IsLinked do |env, b2|
|
|
11
|
-
if env[:result]
|
|
12
|
-
b2.use MessageAlreadyLinked
|
|
13
|
-
next
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
b2.use LinkServer
|
|
17
|
-
end
|
|
18
|
-
b.use Provision
|
|
19
|
-
b.use SyncFolders
|
|
20
|
-
b.use UnlinkServer
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
data/mytestfile
DELETED
|
File without changes
|