bosh-deployer 0.0.1 → 0.0.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 +7 -0
- data/.gitignore +1 -0
- data/lib/bosh-deployer/cli/commands/provision_stemcells.rb +6 -3
- data/lib/bosh-deployer/version.rb +1 -1
- data/spec/commands/provision_stemcells_spec.rb +30 -14
- data/spec/fixtures/manifests/bosh.yml +158 -0
- data/spec/fixtures/manifests/cf.yml +888 -185
- metadata +17 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eadb9f4dcfb25be44c96f555c1ac0e6084bc8a3b
|
4
|
+
data.tar.gz: 878293e1af97b8592a803153e38db7a6259ef186
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0115808b031dbc765b7c9726fab1d10030f3a57643032fce3a1b2f74af93ace1acf8547efcc86525c4ae1d74de6b9bc7ee59db44297ce362f37c16cfdec8cbe8
|
7
|
+
data.tar.gz: f8e0d8448928dc04a493c9cbe5c2f8a5b03499591b12b36351d08eee823d5d1ae4277655d92be5552f1a9a2201f5659b9e3707746a15b4413af5b8915ae29894
|
data/.gitignore
CHANGED
@@ -19,11 +19,15 @@ class Bosh::Deployer::Cli::Commands::ProvisionStemcells
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def stemcell_name
|
22
|
-
|
22
|
+
stemcell_conf['name']
|
23
23
|
end
|
24
24
|
|
25
25
|
def stemcell_version
|
26
|
-
|
26
|
+
stemcell_conf['version']
|
27
|
+
end
|
28
|
+
|
29
|
+
def stemcell_conf
|
30
|
+
manifest['resource_pools'][0]['stemcell']
|
27
31
|
end
|
28
32
|
|
29
33
|
def manifest
|
@@ -33,5 +37,4 @@ class Bosh::Deployer::Cli::Commands::ProvisionStemcells
|
|
33
37
|
def default_manifest_path
|
34
38
|
`bosh deployment`.scan(/.*`(.*)'/).first.first
|
35
39
|
end
|
36
|
-
|
37
40
|
end
|
@@ -7,34 +7,50 @@ describe Bosh::Deployer::Cli::Commands::ProvisionStemcells do
|
|
7
7
|
|
8
8
|
before do
|
9
9
|
allow(Bosh::Deployer::Stemcell).to receive(:new)
|
10
|
-
.with(
|
10
|
+
.with(stemcell_name, stemcell_version)
|
11
11
|
.and_return(stemcell)
|
12
12
|
end
|
13
13
|
|
14
14
|
describe '#perform' do
|
15
15
|
let(:perform_provision_stemcells){ cmd.perform(manifest_path) }
|
16
|
-
let(:manifest_path){ 'spec/fixtures/manifests/cf.yml' }
|
17
16
|
|
18
17
|
describe 'when filename is provided' do
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
[{
|
19
|
+
manifest: 'spec/fixtures/manifests/cf.yml',
|
20
|
+
name: 'bosh-openstack-kvm-ubuntu-lucid' ,
|
21
|
+
version: 'latest'
|
22
|
+
},
|
23
|
+
{
|
24
|
+
manifest: 'spec/fixtures/manifests/bosh.yml',
|
25
|
+
name: 'bosh-openstack-kvm-ubuntu-trusty-go_agent' ,
|
26
|
+
version: 'latest'
|
27
|
+
}
|
28
|
+
].each do |n|
|
29
|
+
describe "when manifest #{n[:manifest]}" do
|
30
|
+
let(:manifest_path){ n[:manifest] }
|
31
|
+
let(:stemcell_name){ n[:name] }
|
32
|
+
let(:stemcell_version){ n[:version] }
|
33
|
+
|
34
|
+
it 'download the stemcell' do
|
35
|
+
expect(stemcell).to receive(:download)
|
36
|
+
perform_provision_stemcells
|
37
|
+
end
|
28
38
|
|
29
|
-
|
30
|
-
|
31
|
-
|
39
|
+
it 'should upload stemcell to targeted bosh' do
|
40
|
+
expect(stemcell).to receive(:upload)
|
41
|
+
perform_provision_stemcells
|
42
|
+
end
|
43
|
+
end
|
32
44
|
end
|
33
45
|
end
|
34
46
|
|
35
47
|
|
36
48
|
describe 'when when filename is not provided' do
|
49
|
+
let(:manifest_path){ 'spec/fixtures/manifests/cf.yml' }
|
50
|
+
let(:stemcell_name){ 'bosh-openstack-kvm-ubuntu-lucid' }
|
51
|
+
let(:stemcell_version){ 'latest' }
|
37
52
|
let(:perform_provision_stemcells){ cmd.perform }
|
53
|
+
|
38
54
|
before do
|
39
55
|
allow(cmd).to receive(:`)
|
40
56
|
.with('bosh deployment')
|
@@ -0,0 +1,158 @@
|
|
1
|
+
# Change the following below:
|
2
|
+
# CHANGE: Director UUID
|
3
|
+
# CHANGE: Elastic IP 1
|
4
|
+
# CHANGE: microBOSH IP address
|
5
|
+
# CHANGE: OpenStack Auth URL
|
6
|
+
# CHANGE: OpenStack Username
|
7
|
+
# CHANGE: OpenStack Password
|
8
|
+
# CHANGE: OpenStack Tenant
|
9
|
+
# CHANGE: OpenStack Region (optional)
|
10
|
+
---
|
11
|
+
name: bosh
|
12
|
+
director_uuid:
|
13
|
+
|
14
|
+
release:
|
15
|
+
name: bosh
|
16
|
+
version: latest
|
17
|
+
|
18
|
+
compilation:
|
19
|
+
workers: 5
|
20
|
+
network: dynamic
|
21
|
+
reuse_compilation_vms: true
|
22
|
+
cloud_properties:
|
23
|
+
instance_type: m1.large
|
24
|
+
|
25
|
+
update:
|
26
|
+
canaries: 1
|
27
|
+
canary_watch_time: 3000-120000
|
28
|
+
update_watch_time: 3000-120000
|
29
|
+
max_in_flight: 4
|
30
|
+
|
31
|
+
networks:
|
32
|
+
- name: dynamic
|
33
|
+
type: dynamic
|
34
|
+
cloud_properties:
|
35
|
+
net_id:
|
36
|
+
security_groups:
|
37
|
+
- bosh
|
38
|
+
- ssh
|
39
|
+
- name: default
|
40
|
+
type: manual
|
41
|
+
subnets:
|
42
|
+
- name: seattle
|
43
|
+
range: 10.230.12.0/23
|
44
|
+
gateway: 10.230.12.1
|
45
|
+
static:
|
46
|
+
- 10.230.12.11 - 10.230.12.12
|
47
|
+
cloud_properties:
|
48
|
+
net_id: 2a88d3d9-bda5-47ef-ab04-2a3465fae898
|
49
|
+
security_groups:
|
50
|
+
- bosh
|
51
|
+
- ssh
|
52
|
+
|
53
|
+
resource_pools:
|
54
|
+
- name: large
|
55
|
+
network: default
|
56
|
+
size: 1
|
57
|
+
stemcell:
|
58
|
+
name: bosh-openstack-kvm-ubuntu-trusty-go_agent
|
59
|
+
version: latest
|
60
|
+
cloud_properties:
|
61
|
+
instance_type: m1.large
|
62
|
+
|
63
|
+
jobs:
|
64
|
+
- name: core
|
65
|
+
template:
|
66
|
+
- powerdns
|
67
|
+
- nats
|
68
|
+
- postgres
|
69
|
+
- redis
|
70
|
+
- director
|
71
|
+
- blobstore
|
72
|
+
- registry
|
73
|
+
- health_monitor
|
74
|
+
instances: 1
|
75
|
+
resource_pool: large
|
76
|
+
persistent_disk: 60000
|
77
|
+
networks:
|
78
|
+
- name: default
|
79
|
+
default: [dns, gateway]
|
80
|
+
static_ips: []
|
81
|
+
|
82
|
+
properties:
|
83
|
+
env:
|
84
|
+
|
85
|
+
postgres: &bosh_db
|
86
|
+
user: postgres
|
87
|
+
password: postges
|
88
|
+
host: localhost
|
89
|
+
listen_address: 0.0.0.0
|
90
|
+
database: bosh
|
91
|
+
|
92
|
+
dns:
|
93
|
+
address: localhost # CHANGE: Elastic IP 1
|
94
|
+
db: *bosh_db
|
95
|
+
user: powerdns
|
96
|
+
password: powerdns
|
97
|
+
database:
|
98
|
+
name: powerdns
|
99
|
+
webserver:
|
100
|
+
password: powerdns
|
101
|
+
replication:
|
102
|
+
basic_auth: replication:zxKDUBeCfKYXk
|
103
|
+
user: replication
|
104
|
+
password: powerdns
|
105
|
+
recursor: 10.230.12.50 # CHANGE: microBOSH IP address
|
106
|
+
|
107
|
+
nats:
|
108
|
+
address: localhost
|
109
|
+
user: nats
|
110
|
+
password: nats
|
111
|
+
|
112
|
+
redis:
|
113
|
+
address: localhost
|
114
|
+
password: redis
|
115
|
+
|
116
|
+
director:
|
117
|
+
name: bosh
|
118
|
+
address: localhost
|
119
|
+
db: *bosh_db
|
120
|
+
|
121
|
+
blobstore:
|
122
|
+
address: localhost
|
123
|
+
agent:
|
124
|
+
user: agent
|
125
|
+
password: agent
|
126
|
+
director:
|
127
|
+
user: director
|
128
|
+
password: director
|
129
|
+
|
130
|
+
registry:
|
131
|
+
address: localhost
|
132
|
+
db: *bosh_db
|
133
|
+
http:
|
134
|
+
port: 25777
|
135
|
+
user: registry
|
136
|
+
password: registry
|
137
|
+
|
138
|
+
hm:
|
139
|
+
http:
|
140
|
+
user: hm
|
141
|
+
password: hm
|
142
|
+
director_account:
|
143
|
+
user: admin
|
144
|
+
password: admin
|
145
|
+
event_nats_enabled: false
|
146
|
+
email_notifications: false
|
147
|
+
tsdb_enabled: false
|
148
|
+
pagerduty_enabled: false
|
149
|
+
varz_enabled: true
|
150
|
+
|
151
|
+
openstack:
|
152
|
+
auth_url: https://openstack.example.com:5001/v2.0
|
153
|
+
username: bosh
|
154
|
+
api_key: bosh
|
155
|
+
tenant: production
|
156
|
+
default_security_groups: ["bosh"]
|
157
|
+
default_key_name: microbosh
|
158
|
+
private_key: microbosh.pem
|