joyent-provisioner 0.3.1 → 0.3.2
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 +1 -0
- data/lib/provisioner/host_ip.rb +5 -3
- data/lib/provisioner/version.rb +1 -1
- data/spec/provisioner/host_ip_spec.rb +10 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 374a06e6f9a44bb73cd79c65803d13bf58fb4974
|
4
|
+
data.tar.gz: c2c9cca5a9df5c16d712091e91620a80b3d500e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd46f84e49cae55bcb6977b0fae1050a77333a632a5a0a3489f9b37e8075900dfa0dc7654643bb9e86b04718a12c8c7e584411b3ebb7bdded5f965770fc70cc9
|
7
|
+
data.tar.gz: 0bca1f8ffe0470dc9049ab5955a1f4700b0ab88ab65bfda824beee1060b40896b83127fd9600b941ed4a6cf8de5f8c747e90b33608750a30117620d30e2f4423
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# Joyent Cloud Provisioner
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/joyent-provisioner)
|
3
4
|
[](http://travis-ci.org/wanelo/joyent-provisioner)
|
4
5
|
|
5
6
|
This gem provides a ruby class and a command line tool to simplify provisioning of clusters of hosts in the
|
data/lib/provisioner/host_ip.rb
CHANGED
@@ -12,14 +12,16 @@ module Provisioner
|
|
12
12
|
def self.ips
|
13
13
|
@ips = {}
|
14
14
|
server_list.each do |server|
|
15
|
-
|
16
|
-
|
15
|
+
# example line
|
16
|
+
# 4330e738-2bca-ee10-f9a6-e9a1b3fcfdec vpn001.prod running virtualmachine sdc:jpc:ubuntu-12.04:2.4. g3-highcpu-1.75-kvm 9.12.42.172,10.100.114.217 1.75 GB 75 GB
|
17
|
+
zone, hostname, status, type, image, flavor, ips = server.split(/\s+/).compact
|
18
|
+
@ips[hostname] = (ips.split(',') || []).first
|
17
19
|
end
|
18
20
|
@ips
|
19
21
|
end
|
20
22
|
|
21
23
|
def self.server_list
|
22
|
-
@server_list ||= `knife joyent server list |
|
24
|
+
@server_list ||= `knife joyent server list | tail +2`.split("\n")
|
23
25
|
end
|
24
26
|
end
|
25
27
|
end
|
data/lib/provisioner/version.rb
CHANGED
@@ -3,9 +3,10 @@ require 'spec_helper'
|
|
3
3
|
describe Provisioner::HostIP do
|
4
4
|
describe '.ip_for' do
|
5
5
|
let(:header) { "ID Name State Type Image Flavor IPs RAM Disk Tags\n" }
|
6
|
-
let(:server001) { "a67c6340-4bf4-11e3-8f96-0800200c9a66 app001.stage running
|
7
|
-
let(:server002) { "eb332d70-4bf4-11e3-8f96-0800200c9a66 app002.stage running smartmachine
|
8
|
-
let(:
|
6
|
+
let(:server001) { "a67c6340-4bf4-11e3-8f96-0800200c9a66 app001.stage running smartmachine sdc:sdc:base64:13.1.0 g3-highmemory-17.125-smartos 1.1.1.1 17.12 GB 420 GB\n" }
|
7
|
+
let(:server002) { "eb332d70-4bf4-11e3-8f96-0800200c9a66 app002.stage running smartmachine sdc:sdc:base64:13.1.0 g3-highmemory-17.125-smartos 1.1.1.2 17.12 GB 420 GB\n" }
|
8
|
+
let(:server003) { "eb332d70-4bf4-11e3-8f96-0800200c9a66 app003.stage running smartmachine sdc:sdc:base64:13.1.0 g3-highmemory-17.125-smartos 1.1.1.3,1.1.1.4 17.12 GB 420 GB\n" }
|
9
|
+
let(:servers) { [header, server001, server002, server003].join }
|
9
10
|
|
10
11
|
before do
|
11
12
|
double_cmd('knife joyent server list', puts: servers)
|
@@ -15,5 +16,11 @@ describe Provisioner::HostIP do
|
|
15
16
|
expect(Provisioner::HostIP.ip_for('app001.stage')).to eq('1.1.1.1')
|
16
17
|
expect(Provisioner::HostIP.ip_for('app002.stage')).to eq('1.1.1.2')
|
17
18
|
end
|
19
|
+
|
20
|
+
context 'server has multiple IPs' do
|
21
|
+
it 'returns the first IP' do
|
22
|
+
expect(Provisioner::HostIP.ip_for('app003.stage')).to eq('1.1.1.3')
|
23
|
+
end
|
24
|
+
end
|
18
25
|
end
|
19
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: joyent-provisioner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Gredeskoul
|
@@ -216,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
216
216
|
version: '0'
|
217
217
|
requirements: []
|
218
218
|
rubyforge_project:
|
219
|
-
rubygems_version: 2.0.
|
219
|
+
rubygems_version: 2.0.7
|
220
220
|
signing_key:
|
221
221
|
specification_version: 4
|
222
222
|
summary: Wrapper gem around provisioning clusters of servers on Joyent cloud
|