kontena-plugin-vagrant 0.2.7 → 0.3.0
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/CHANGELOG.md +14 -2
- data/Gemfile +0 -2
- data/lib/kontena/machine/vagrant/Vagrantfile.master.rb.erb +11 -6
- data/lib/kontena/machine/vagrant/Vagrantfile.node.rb.erb +4 -0
- data/lib/kontena/machine/vagrant/cloudinit.yml +2 -1
- data/lib/kontena/machine/vagrant/common.rb +21 -0
- data/lib/kontena/machine/vagrant/master_destroyer.rb +5 -12
- data/lib/kontena/machine/vagrant/master_provisioner.rb +15 -20
- data/lib/kontena/machine/vagrant/node_destroyer.rb +5 -11
- data/lib/kontena/machine/vagrant/node_provisioner.rb +15 -19
- data/lib/kontena/plugin/vagrant/master/restart_command.rb +4 -8
- data/lib/kontena/plugin/vagrant/master/start_command.rb +3 -8
- data/lib/kontena/plugin/vagrant/master/stop_command.rb +3 -8
- data/lib/kontena/plugin/vagrant/nodes/create_command.rb +12 -0
- data/lib/kontena/plugin/vagrant/nodes/restart_command.rb +2 -7
- data/lib/kontena/plugin/vagrant/nodes/start_command.rb +3 -8
- data/lib/kontena/plugin/vagrant/nodes/stop_command.rb +3 -8
- data/lib/kontena/plugin/vagrant.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0dbdc24762c8928c570ff0545c4ba1ebc8d6690
|
4
|
+
data.tar.gz: 51cc5042201b2b9bc3094c79b2837426358c99ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d87836d142bfe4d4f8119cbdc5020db8443931b601a76319fffa2d79ec65cfaf6018fe32965a7fe5425b66cefc6d4921af5299f256aa119716b95788a73a0639
|
7
|
+
data.tar.gz: 96407999132af74c0d7c1834deac6a82f5326b6c5c110f5fd49ef4bce0d57ee1a9444c14f806d064f9511d42bd378023bd97d3cd88a5a33c1d0271084b3914ea
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,22 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## 0.3.0 (2017-07-13)
|
4
|
+
|
5
|
+
- allow node IPs to be specified (#42)
|
6
|
+
- fix & improve cloudinits (#45, #40)
|
7
|
+
- remove vagrant from gemfile (#44)
|
8
|
+
- improve error handling and output (#41, #7, #25)
|
9
|
+
|
10
|
+
## 0.2.7 (2017-05-03)
|
11
|
+
|
12
|
+
- fix vagrant master create --name (#37)
|
13
|
+
- sync travis.yml ruby versions with CLI and only deploy on 2.4.1 (#39)
|
14
|
+
|
15
|
+
## 0.1.2 (2016-08-31)
|
4
16
|
|
5
17
|
- add provider labeling for nodes (#4)
|
6
18
|
- add ExecStop to systemd units (#2)
|
7
19
|
|
8
|
-
|
20
|
+
## 0.1.1 (2016-08-10)
|
9
21
|
|
10
22
|
- first release as a plugin
|
data/Gemfile
CHANGED
@@ -34,13 +34,16 @@ coreos:
|
|
34
34
|
[Service]
|
35
35
|
Restart=always
|
36
36
|
RestartSec=5
|
37
|
-
|
38
|
-
ExecStartPre
|
37
|
+
TimeoutStartSec=0
|
38
|
+
ExecStartPre=/usr/bin/docker pull mongo:3.2
|
39
|
+
ExecStartPre=-/usr/bin/docker network create kontena
|
40
|
+
ExecStartPre=-/usr/bin/docker volume create kontena-server-mongo
|
39
41
|
ExecStartPre=-/usr/bin/docker stop kontena-server-mongo
|
40
42
|
ExecStartPre=-/usr/bin/docker rm kontena-server-mongo
|
41
43
|
ExecStart=/usr/bin/docker run --name=kontena-server-mongo \
|
42
|
-
|
43
|
-
|
44
|
+
-v kontena-server-mongo:/data/db \
|
45
|
+
--network kontena \
|
46
|
+
mongo:3.2
|
44
47
|
ExecStop=/usr/bin/docker stop kontena-server-mongo
|
45
48
|
|
46
49
|
- name: kontena-server-api.service
|
@@ -61,16 +64,18 @@ coreos:
|
|
61
64
|
[Service]
|
62
65
|
Restart=always
|
63
66
|
RestartSec=5
|
67
|
+
TimeoutStartSec=0
|
64
68
|
EnvironmentFile=/etc/kontena-server.env
|
65
69
|
ExecStartPre=-/usr/bin/docker stop kontena-server-api
|
66
70
|
ExecStartPre=-/usr/bin/docker rm kontena-server-api
|
71
|
+
ExecStartPre=-/usr/bin/docker network create kontena
|
67
72
|
ExecStartPre=/usr/bin/docker pull kontena/server:${KONTENA_VERSION}
|
68
73
|
ExecStart=/usr/bin/docker run --name kontena-server-api \
|
69
|
-
|
70
|
-
-e MONGODB_URI=mongodb://mongodb:27017/kontena_server \
|
74
|
+
-e MONGODB_URI=mongodb://kontena-server-mongo:27017/kontena_server \
|
71
75
|
-e VAULT_KEY=${KONTENA_VAULT_KEY} -e VAULT_IV=${KONTENA_VAULT_IV} \
|
72
76
|
<% if server_name %>-e SERVER_NAME=<%= server_name %><% end %> \
|
73
77
|
<% if initial_admin_code %>-e INITIAL_ADMIN_CODE=<%= initial_admin_code %><% end %> \
|
78
|
+
--network kontena \
|
74
79
|
-p 8080:9292 \
|
75
80
|
kontena/server:${KONTENA_VERSION}
|
76
81
|
ExecStop=/usr/bin/docker stop kontena-server-api
|
@@ -17,7 +17,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
17
17
|
config.vm.define "<%= name %>" do |docker|
|
18
18
|
docker.vm.box = "coreos-<%= coreos_channel %>"
|
19
19
|
docker.vm.box_url = "http://stable.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json"
|
20
|
+
<% if network_address == "dhcp" %>
|
20
21
|
docker.vm.network "private_network", type: "dhcp"
|
22
|
+
<% else %>
|
23
|
+
docker.vm.network "private_network", ip: "<%= network_address %>"
|
24
|
+
<% end %>
|
21
25
|
docker.vm.hostname = "<%= name %>"
|
22
26
|
docker.vm.provider "virtualbox" do |vb|
|
23
27
|
vb.name = "<%= name %>"
|
@@ -11,7 +11,7 @@ write_files:
|
|
11
11
|
- path: /etc/systemd/system/docker.service.d/50-kontena.conf
|
12
12
|
content: |
|
13
13
|
[Service]
|
14
|
-
Environment='DOCKER_OPTS=--insecure-registry="10.81.0.0/16" --bip="172.17.43.1/16"'
|
14
|
+
Environment='DOCKER_OPTS=--insecure-registry="10.81.0.0/16" --bip="172.17.43.1/16" -s overlay2'
|
15
15
|
Environment='DOCKER_CGROUPS=--exec-opt native.cgroupdriver=cgroupfs'
|
16
16
|
- path: /etc/sysctl.d/99-inotify.conf
|
17
17
|
owner: root
|
@@ -78,6 +78,7 @@ coreos:
|
|
78
78
|
[Service]
|
79
79
|
Restart=always
|
80
80
|
RestartSec=5
|
81
|
+
TimeoutStartSec=0
|
81
82
|
EnvironmentFile=/etc/kontena-agent.env
|
82
83
|
ExecStartPre=-/usr/bin/docker stop kontena-agent
|
83
84
|
ExecStartPre=-/usr/bin/docker rm kontena-agent
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'erb'
|
3
|
+
require 'open3'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
module Kontena
|
7
|
+
module Machine
|
8
|
+
module Vagrant
|
9
|
+
module Common
|
10
|
+
|
11
|
+
def erb(template, vars)
|
12
|
+
ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
|
13
|
+
end
|
14
|
+
|
15
|
+
def run_command(cmd)
|
16
|
+
exit $?.exitstatus unless system(cmd)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,25 +1,18 @@
|
|
1
|
-
|
1
|
+
require_relative 'common'
|
2
2
|
|
3
3
|
module Kontena
|
4
4
|
module Machine
|
5
5
|
module Vagrant
|
6
6
|
class MasterDestroyer
|
7
|
-
|
7
|
+
include Kontena::Machine::Vagrant::Common
|
8
8
|
include Kontena::Cli::ShellSpinner
|
9
9
|
|
10
10
|
def run!
|
11
11
|
vagrant_path = "#{Dir.home}/.kontena/vagrant_master"
|
12
12
|
Dir.chdir(vagrant_path) do
|
13
|
-
spinner "
|
14
|
-
|
15
|
-
|
16
|
-
puts o if ENV['DEBUG']
|
17
|
-
end
|
18
|
-
if wait.value == 0
|
19
|
-
FileUtils.remove_entry_secure(vagrant_path)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
13
|
+
spinner "Triggering termination of Kontena Master from Vagrant"
|
14
|
+
run_command('vagrant destroy -f')
|
15
|
+
FileUtils.remove_entry_secure(vagrant_path)
|
23
16
|
end
|
24
17
|
end
|
25
18
|
end
|
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'erb'
|
3
|
-
require 'open3'
|
4
|
-
require 'json'
|
1
|
+
require_relative 'common'
|
5
2
|
|
6
3
|
module Kontena
|
7
4
|
module Machine
|
@@ -9,6 +6,7 @@ module Kontena
|
|
9
6
|
class MasterProvisioner
|
10
7
|
include RandomName
|
11
8
|
include Kontena::Machine::Common
|
9
|
+
include Kontena::Machine::Vagrant::Common
|
12
10
|
include Kontena::Cli::Common
|
13
11
|
include Kontena::Cli::ShellSpinner
|
14
12
|
|
@@ -48,18 +46,19 @@ module Kontena
|
|
48
46
|
coreos_channel: coreos_channel,
|
49
47
|
cloudinit: "#{vagrant_path}/cloudinit.yml"
|
50
48
|
}
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
49
|
+
spinner "Creating Vagrant config " do
|
50
|
+
vagrant_data = erb(File.read(template), vars)
|
51
|
+
cloudinit = erb(File.read(cloudinit_template), vars)
|
52
|
+
File.write("#{vagrant_path}/Vagrantfile", vagrant_data)
|
53
|
+
File.write("#{vagrant_path}/cloudinit.yml", cloudinit)
|
54
|
+
end
|
55
|
+
|
55
56
|
Dir.chdir(vagrant_path) do
|
56
|
-
spinner "
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
57
|
+
spinner "Triggering CoreOS Container Linux box update"
|
58
|
+
run_command('vagrant box update')
|
59
|
+
spinner "Executing 'vagrant up'"
|
60
|
+
run_command('vagrant up')
|
61
|
+
spinner "'vagrant up' executed successfully"
|
63
62
|
end
|
64
63
|
|
65
64
|
spinner "Waiting for #{name.colorize(:cyan)} to start " do
|
@@ -67,7 +66,7 @@ module Kontena
|
|
67
66
|
end
|
68
67
|
|
69
68
|
master_version = nil
|
70
|
-
spinner "Retrieving
|
69
|
+
spinner "Retrieving #{name.colorize(:cyan)} version" do
|
71
70
|
master_version = JSON.parse(client.get(path: '/'))["version"] rescue nil
|
72
71
|
end
|
73
72
|
|
@@ -82,10 +81,6 @@ module Kontena
|
|
82
81
|
}
|
83
82
|
end
|
84
83
|
|
85
|
-
def erb(template, vars)
|
86
|
-
ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
|
87
|
-
end
|
88
|
-
|
89
84
|
def master_running?
|
90
85
|
client.get(path: '/').status == 200
|
91
86
|
rescue
|
@@ -1,10 +1,11 @@
|
|
1
|
-
|
1
|
+
require_relative 'common'
|
2
2
|
|
3
3
|
module Kontena
|
4
4
|
module Machine
|
5
5
|
module Vagrant
|
6
6
|
class NodeDestroyer
|
7
7
|
include RandomName
|
8
|
+
include Kontena::Machine::Vagrant::Common
|
8
9
|
include Kontena::Cli::ShellSpinner
|
9
10
|
|
10
11
|
attr_reader :client, :api_client
|
@@ -17,16 +18,9 @@ module Kontena
|
|
17
18
|
def run!(grid, name)
|
18
19
|
vagrant_path = "#{Dir.home}/.kontena/#{grid}/#{name}"
|
19
20
|
Dir.chdir(vagrant_path) do
|
20
|
-
spinner "
|
21
|
-
|
22
|
-
|
23
|
-
puts o if ENV['DEBUG']
|
24
|
-
end
|
25
|
-
if wait.value == 0
|
26
|
-
FileUtils.remove_entry_secure(vagrant_path)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
21
|
+
spinner "Triggering termination of Vagrant machine #{name.colorize(:cyan)}"
|
22
|
+
run_command('vagrant destroy -f')
|
23
|
+
FileUtils.remove_entry_secure(vagrant_path)
|
30
24
|
end
|
31
25
|
node = api_client.get("grids/#{grid}/nodes")['nodes'].find{|n| n['name'] == name}
|
32
26
|
if node
|
@@ -1,12 +1,10 @@
|
|
1
|
-
|
2
|
-
require 'erb'
|
3
|
-
require 'open3'
|
4
|
-
|
1
|
+
require_relative 'common'
|
5
2
|
module Kontena
|
6
3
|
module Machine
|
7
4
|
module Vagrant
|
8
5
|
class NodeProvisioner
|
9
6
|
include RandomName
|
7
|
+
include Kontena::Machine::Vagrant::Common
|
10
8
|
include Kontena::Cli::ShellSpinner
|
11
9
|
|
12
10
|
attr_reader :client, :api_client
|
@@ -33,24 +31,26 @@ module Kontena
|
|
33
31
|
name: name,
|
34
32
|
version: version,
|
35
33
|
memory: opts[:memory] || 1024,
|
34
|
+
network_address: opts[:network_address],
|
36
35
|
master_uri: opts[:master_uri],
|
37
36
|
grid_token: opts[:grid_token],
|
38
37
|
coreos_channel: opts[:coreos_channel],
|
39
38
|
cloudinit: "#{vagrant_path}/cloudinit.yml"
|
40
39
|
}
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
spinner "Generating Vagrant config" do
|
41
|
+
vagrant_data = erb(File.read(template), vars)
|
42
|
+
cloudinit = erb(File.read(cloudinit_template), vars)
|
43
|
+
File.write("#{vagrant_path}/Vagrantfile", vagrant_data)
|
44
|
+
File.write("#{vagrant_path}/cloudinit.yml", cloudinit)
|
45
|
+
end
|
46
|
+
|
45
47
|
node = nil
|
46
48
|
Dir.chdir(vagrant_path) do
|
47
|
-
spinner "
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
49
|
+
spinner "Triggering CoreOS Container Linux box update"
|
50
|
+
run_command('vagrant box update')
|
51
|
+
spinner "Executing 'vagrant up'"
|
52
|
+
run_command('vagrant up')
|
53
|
+
spinner "'vagrant up' executed successfully"
|
54
54
|
spinner "Waiting for node #{name.colorize(:cyan)} to join grid #{grid.colorize(:cyan)} " do
|
55
55
|
sleep 1 until node = node_exists_in_grid?(grid, name)
|
56
56
|
end
|
@@ -67,10 +67,6 @@ module Kontena
|
|
67
67
|
"#{super}-#{rand(1..99)}"
|
68
68
|
end
|
69
69
|
|
70
|
-
def erb(template, vars)
|
71
|
-
ERB.new(template).result(OpenStruct.new(vars).instance_eval { binding })
|
72
|
-
end
|
73
|
-
|
74
70
|
def node_exists_in_grid?(grid, name)
|
75
71
|
api_client.get("grids/#{grid}/nodes")['nodes'].find{|n| n['name'] == name}
|
76
72
|
end
|
@@ -4,17 +4,13 @@ module Kontena::Plugin::Vagrant::Master
|
|
4
4
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
|
-
|
7
|
+
|
8
8
|
vagrant_path = "#{Dir.home}/.kontena/vagrant_master"
|
9
9
|
abort("Cannot find Vagrant kontena-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "
|
12
|
-
|
13
|
-
|
14
|
-
print o if ENV['DEBUG']
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
11
|
+
spinner "Executing 'vagrant reload' for kontena-master"
|
12
|
+
exit $?.exitstatus unless system('vagrant reload')
|
13
|
+
spinner "Vagrant machine restarted"
|
18
14
|
end
|
19
15
|
end
|
20
16
|
end
|
@@ -4,17 +4,12 @@ module Kontena::Plugin::Vagrant::Master
|
|
4
4
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
|
-
|
7
|
+
|
8
8
|
vagrant_path = "#{Dir.home}/.kontena/vagrant_master"
|
9
9
|
abort("Cannot find Vagrant node kontena-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "
|
12
|
-
|
13
|
-
while o = output.gets
|
14
|
-
print o if ENV['DEBUG']
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
11
|
+
spinner "Triggering 'vagrant up' for kontena-master"
|
12
|
+
exit $?.exitstatus unless system('vagrant up')
|
18
13
|
end
|
19
14
|
end
|
20
15
|
end
|
@@ -4,17 +4,12 @@ module Kontena::Plugin::Vagrant::Master
|
|
4
4
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
|
-
|
7
|
+
|
8
8
|
vagrant_path = "#{Dir.home}/.kontena/vagrant_master"
|
9
9
|
abort("Cannot find Vagrant kontena-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "
|
12
|
-
|
13
|
-
while o = output.gets
|
14
|
-
print o if ENV['DEBUG']
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
11
|
+
spinner "Triggering 'vagrant halt' for kontena-master"
|
12
|
+
exit $?.exitstatus unless system('vagrant halt')
|
18
13
|
end
|
19
14
|
end
|
20
15
|
end
|
@@ -6,6 +6,7 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
6
6
|
parameter "[NAME]", "Node name"
|
7
7
|
option "--instances", "AMOUNT", "How many nodes will be created"
|
8
8
|
option "--memory", "MEMORY", "How much memory node has"
|
9
|
+
option "--network-address", "IP", "First IP address for the node(s)", default: 'dhcp'
|
9
10
|
option "--version", "VERSION", "Define installed Kontena version", default: 'latest'
|
10
11
|
option "--coreos-channel", "CHANNEL", "CoreOS release channel", default: 'stable'
|
11
12
|
|
@@ -20,6 +21,14 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
20
21
|
|
21
22
|
grid = fetch_grid
|
22
23
|
provisioner = provisioner(client(require_token))
|
24
|
+
|
25
|
+
require 'ipaddr'
|
26
|
+
ip_address = if network_address == "dhcp"
|
27
|
+
nil
|
28
|
+
else
|
29
|
+
IPAddr.new network_address
|
30
|
+
end
|
31
|
+
|
23
32
|
instance_count.to_i.times do |i|
|
24
33
|
provisioner.run!(
|
25
34
|
master_uri: api_url,
|
@@ -27,10 +36,13 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
27
36
|
grid: current_grid,
|
28
37
|
name: name,
|
29
38
|
instance_number: i + 1,
|
39
|
+
network_address: ip_address ? ip_address.to_s : "dhcp",
|
30
40
|
memory: instance_memory,
|
31
41
|
version: version,
|
32
42
|
coreos_channel: coreos_channel
|
33
43
|
)
|
44
|
+
|
45
|
+
ip_address = ip_address.succ if ip_address
|
34
46
|
end
|
35
47
|
end
|
36
48
|
|
@@ -14,13 +14,8 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
14
14
|
vagrant_path = "#{Dir.home}/.kontena/#{current_grid}/#{name}"
|
15
15
|
abort("Cannot find Vagrant node #{name}".colorize(:red)) unless Dir.exist?(vagrant_path)
|
16
16
|
Dir.chdir(vagrant_path) do
|
17
|
-
spinner "
|
18
|
-
|
19
|
-
while o = output.gets
|
20
|
-
print o if ENV['DEBUG']
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
17
|
+
spinner "Triggering 'vagrant reload' for #{name.colorize(:cyan)}"
|
18
|
+
exit $?.exitstatus unless system('vagrant reload')
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
@@ -10,17 +10,12 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
10
10
|
require_current_grid
|
11
11
|
|
12
12
|
require_relative '../../../machine/vagrant'
|
13
|
-
|
13
|
+
|
14
14
|
vagrant_path = "#{Dir.home}/.kontena/#{current_grid}/#{name}"
|
15
15
|
abort("Cannot find Vagrant node #{name}".colorize(:red)) unless Dir.exist?(vagrant_path)
|
16
16
|
Dir.chdir(vagrant_path) do
|
17
|
-
spinner "
|
18
|
-
|
19
|
-
while o = output.gets
|
20
|
-
print o if ENV['DEBUG']
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
17
|
+
spinner "Triggering 'vagrant up' for #{name.colorize(:cyan)}"
|
18
|
+
exit $?.exitstatus unless system('vagrant up')
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
@@ -10,17 +10,12 @@ module Kontena::Plugin::Vagrant::Nodes
|
|
10
10
|
require_current_grid
|
11
11
|
|
12
12
|
require_relative '../../../machine/vagrant'
|
13
|
-
|
13
|
+
|
14
14
|
vagrant_path = "#{Dir.home}/.kontena/#{current_grid}/#{name}"
|
15
15
|
abort("Cannot find Vagrant node #{name}".colorize(:red)) unless Dir.exist?(vagrant_path)
|
16
16
|
Dir.chdir(vagrant_path) do
|
17
|
-
|
18
|
-
|
19
|
-
while o = output.gets
|
20
|
-
print o if ENV['DEBUG']
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
17
|
+
spinner "Triggering 'vagrant halt' for #{name.colorize(:cyan)}"
|
18
|
+
exit $?.exitstatus unless system('vagrant halt')
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kontena-plugin-vagrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kontena, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kontena-cli
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- lib/kontena/machine/vagrant/Vagrantfile.master.rb.erb
|
74
74
|
- lib/kontena/machine/vagrant/Vagrantfile.node.rb.erb
|
75
75
|
- lib/kontena/machine/vagrant/cloudinit.yml
|
76
|
+
- lib/kontena/machine/vagrant/common.rb
|
76
77
|
- lib/kontena/machine/vagrant/master_destroyer.rb
|
77
78
|
- lib/kontena/machine/vagrant/master_provisioner.rb
|
78
79
|
- lib/kontena/machine/vagrant/node_destroyer.rb
|