pec 0.7.7 → 0.7.8
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/README.md +6 -2
- data/lib/pec.rb +31 -1
- data/lib/pec/cli.rb +7 -2
- data/lib/pec/command.rb +1 -0
- data/lib/pec/command/halt.rb +16 -0
- data/lib/pec/command/status.rb +2 -15
- data/lib/pec/command/up.rb +5 -1
- data/lib/pec/version.rb +1 -1
- data/pec.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a615c6aea01b3e516f72fc1806e0915730ec4a8
|
4
|
+
data.tar.gz: 45adb312f61ef71c5206bb00b2ebca11d6d563ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 124c0ca363138d554dcad5fad3248574025c85c96cd1d4ae579481799443fd152e392053deb54c6f288d56f245c5ef26358d9b7f96e72570e7c6adaee16b82da
|
7
|
+
data.tar.gz: fc002a6b3b3d6bef233c4638aedc420c793471ac6f21f1000a4f32c9626c6b5589b7b97f2a6f692bcd745d1cbe986034a42fed689057a06eb84372240b088d9a
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Pec
|
2
|
-
[](https://travis-ci.org/yaocloud/pec)
|
3
3
|
[](https://codeclimate.com/github/pyama86/pec)
|
4
4
|
[](https://codeclimate.com/github/pyama86/pec/coverage)
|
5
5
|
|
@@ -20,10 +20,14 @@ create - /user_data/web_server.yaml.sample
|
|
20
20
|
|
21
21
|
$ pec up <hostname_regex> <hostname_regex>...
|
22
22
|
|
23
|
-
$ pec destroy <hostname_regex> <hostname_regex>...
|
23
|
+
$ pec destroy <hostname_regex> <hostname_regex>...
|
24
|
+
|
25
|
+
$ pec halt <hostname_regex> <hostname_regex>...
|
24
26
|
|
25
27
|
$ pec status <hostname_regex> <hostname_regex>...
|
26
28
|
|
29
|
+
$ pec list
|
30
|
+
|
27
31
|
$ pec config <hostname_regex> <hostname_regex>...
|
28
32
|
|
29
33
|
### Configure
|
data/lib/pec.rb
CHANGED
@@ -58,11 +58,41 @@ module Pec
|
|
58
58
|
self.configure.each do |config|
|
59
59
|
next if hosts.size > 0 && hosts.none? {|name| config.name.match(/^#{name}/)}
|
60
60
|
Pec.init_yao(config.tenant)
|
61
|
-
server =
|
61
|
+
server = fetch_server(config) if fetch
|
62
62
|
yield(server, config)
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
|
+
def self.fetch_server(config)
|
67
|
+
server_list(config).find {|s|s.name == config.name}
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.fetch_tenant_by_id(server)
|
71
|
+
tenant_list.find {|tenant| tenant.id == server.tenant_id}
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.fetch_tenant_by_name(config)
|
75
|
+
tenant_list.find {|tenant| tenant.name == config.tenant}
|
76
|
+
end
|
77
|
+
|
78
|
+
def self.fetch_flavor(server)
|
79
|
+
flavor_list(server).find {|f|f.id == server.flavor['id']}
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.server_list(config)
|
83
|
+
@_server_list ||= {}
|
84
|
+
@_server_list[config.tenant] ||= Yao::Server.list_detail({tenant_id: fetch_tenant_by_name(config).id})
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.tenant_list
|
88
|
+
@_tenant_list ||= Yao::Tenant.list
|
89
|
+
end
|
90
|
+
|
91
|
+
def self.flavor_list(server)
|
92
|
+
@_flavor_list ||= {}
|
93
|
+
@_flavor_list[server.tenant_id] ||= Yao::Flavor.list
|
94
|
+
end
|
95
|
+
|
66
96
|
def self.check_env
|
67
97
|
%w(
|
68
98
|
OS_AUTH_URL
|
data/lib/pec/cli.rb
CHANGED
@@ -4,7 +4,7 @@ module Pec
|
|
4
4
|
|
5
5
|
desc 'init', 'create sample config'
|
6
6
|
def init
|
7
|
-
_sub_command(
|
7
|
+
_sub_command([], options)
|
8
8
|
end
|
9
9
|
|
10
10
|
desc 'up [HOSTNAME1, HOSTNAME2, ...]', 'create vm by Pec.yaml'
|
@@ -18,6 +18,11 @@ module Pec
|
|
18
18
|
_sub_command(hosts, options)
|
19
19
|
end
|
20
20
|
|
21
|
+
desc "halt [HOSTNAME1, HOSTNAME2, ...]", "halt vm"
|
22
|
+
def halt(*hosts)
|
23
|
+
_sub_command(hosts, options)
|
24
|
+
end
|
25
|
+
|
21
26
|
desc "status [HOSTNAME1, HOSTNAME2, ...]", "vm status"
|
22
27
|
def status(*hosts)
|
23
28
|
_sub_command(hosts, options)
|
@@ -25,7 +30,7 @@ module Pec
|
|
25
30
|
|
26
31
|
desc "list", "vm list"
|
27
32
|
def list
|
28
|
-
_sub_command(
|
33
|
+
_sub_command([], options)
|
29
34
|
end
|
30
35
|
|
31
36
|
desc "config [HOSTNAME1, HOSTNAME2, ...]", "show configure"
|
data/lib/pec/command.rb
CHANGED
@@ -3,6 +3,7 @@ module Pec
|
|
3
3
|
autoload :Base, "pec/command/base"
|
4
4
|
autoload :Up, "pec/command/up"
|
5
5
|
autoload :Destroy, "pec/command/destroy"
|
6
|
+
autoload :Halt, "pec/command/halt"
|
6
7
|
autoload :Status, "pec/command/status"
|
7
8
|
autoload :Config, "pec/command/config"
|
8
9
|
autoload :Init, "pec/command/init"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Pec::Command
|
2
|
+
class Halt < Base
|
3
|
+
@fetch = true
|
4
|
+
def self.task(host_name, options, server, config)
|
5
|
+
case
|
6
|
+
when server.nil?
|
7
|
+
Pec::Logger.notice "not be created #{config.name}"
|
8
|
+
when server.status != "ACTIVE"
|
9
|
+
Pec::Logger.notice "#{config.name} server status is #{server.status} must be ACTIVE"
|
10
|
+
else
|
11
|
+
Yao::Server.shutoff(server.id)
|
12
|
+
Pec::Logger.info "#{config.name} is halted!"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/pec/command/status.rb
CHANGED
@@ -7,8 +7,8 @@ module Pec::Command
|
|
7
7
|
" %-35s %-10s %-10s %-10s %-10s %-10s %-35s %-48s",
|
8
8
|
config.name,
|
9
9
|
server.status,
|
10
|
-
|
11
|
-
|
10
|
+
Pec.fetch_tenant_by_id(server).name,
|
11
|
+
Pec.fetch_flavor(server).name,
|
12
12
|
server.availability_zone,
|
13
13
|
server.key_name,
|
14
14
|
server.ext_srv_attr_host,
|
@@ -22,19 +22,6 @@ module Pec::Command
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
def self.tenant_name(server)
|
26
|
-
tenant_list.find {|tenant| tenant.id == server.tenant_id}.name
|
27
|
-
end
|
28
|
-
|
29
|
-
def self.tenant_list
|
30
|
-
@@_tenant_list ||= Yao::Tenant.list
|
31
|
-
@@_tenant_list
|
32
|
-
end
|
33
|
-
|
34
|
-
def self.flavor_name(server)
|
35
|
-
Yao::Flavor.get(server.flavor['id']).name
|
36
|
-
end
|
37
|
-
|
38
25
|
def self.ip_addresses(server)
|
39
26
|
server.addresses.map do |ethers|
|
40
27
|
ethers[1].map do |ether|
|
data/lib/pec/command/up.rb
CHANGED
@@ -2,7 +2,8 @@ module Pec::Command
|
|
2
2
|
class Up < Base
|
3
3
|
@fetch = true
|
4
4
|
def self.task(host_name, options, server, config)
|
5
|
-
|
5
|
+
case
|
6
|
+
when server.nil?
|
6
7
|
Pec::Logger.info "make start #{config.name}"
|
7
8
|
|
8
9
|
attribute = {name: config.name}
|
@@ -16,6 +17,9 @@ module Pec::Command
|
|
16
17
|
|
17
18
|
Yao::Server.create(attribute)
|
18
19
|
Pec::Logger.info "create success! #{config.name}"
|
20
|
+
when server.status == "SHUTOFF"
|
21
|
+
Yao::Server.start(server.id)
|
22
|
+
Pec::Logger.info "start server: #{config.name}"
|
19
23
|
else
|
20
24
|
Pec::Logger.notice "already server: #{config.name}"
|
21
25
|
end
|
data/lib/pec/version.rb
CHANGED
data/pec.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
spec.add_dependency 'thor', '~> 0.19.1'
|
21
|
-
spec.add_dependency 'yao', '~> 0.
|
21
|
+
spec.add_dependency 'yao', '~> 0.2.2'
|
22
22
|
spec.add_dependency 'ruby-ip', '~> 0.9.3'
|
23
23
|
spec.add_dependency 'colorator', '~> 0.1'
|
24
24
|
spec.add_development_dependency "bundler"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kazuhiko yamashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.2.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.2.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ruby-ip
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,6 +146,7 @@ files:
|
|
146
146
|
- lib/pec/command/base.rb
|
147
147
|
- lib/pec/command/config.rb
|
148
148
|
- lib/pec/command/destroy.rb
|
149
|
+
- lib/pec/command/halt.rb
|
149
150
|
- lib/pec/command/init.rb
|
150
151
|
- lib/pec/command/list.rb
|
151
152
|
- lib/pec/command/status.rb
|