egon 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/undercloud-install-local.rb +6 -2
- data/bin/undercloud-install-satellite.rb +1 -1
- data/bin/undercloud-install-vanilla-rhel.rb +1 -1
- data/lib/egon/overcloud/undercloud_handle.rb +29 -2
- data/lib/egon/overcloud/undercloud_handle/deployment.rb +31 -90
- data/lib/egon/overcloud/undercloud_handle/node.rb +52 -14
- data/lib/egon/undercloud/commands.rb +201 -34
- data/lib/egon/version.rb +1 -1
- metadata +47 -27
- checksums.yaml +0 -15
- data/Gemfile +0 -4
- data/Gemfile.lock +0 -144
- data/egon.gemspec +0 -30
- data/pkg/egon-0.0.1.gem +0 -0
- data/pkg/egon-0.0.2.gem +0 -0
- data/pkg/egon-0.1.0.gem +0 -0
- data/pkg/egon-0.4.3.gem +0 -0
- data/rubygem-egon.spec +0 -116
@@ -3,5 +3,9 @@ require 'egon/undercloud/commands'
|
|
3
3
|
require 'egon/undercloud/installer'
|
4
4
|
|
5
5
|
installer = Egon::Undercloud::Installer.new
|
6
|
-
installer.install(Egon::Undercloud::Commands.
|
7
|
-
installer.
|
6
|
+
installer.install(Egon::Undercloud::Commands.OSP10_no_registration)
|
7
|
+
if installer.failure?
|
8
|
+
exit 1
|
9
|
+
else
|
10
|
+
installer.check_ports
|
11
|
+
end
|
@@ -15,7 +15,7 @@ SATELLITE_ACTIVATION_KEY = ARGV[5]
|
|
15
15
|
|
16
16
|
connection = Egon::Undercloud::SSHConnection.new(SSH_HOST, SSH_USER, SSH_PASSWORD)
|
17
17
|
installer = Egon::Undercloud::Installer.new(connection)
|
18
|
-
installer.install(Egon::Undercloud::Commands.
|
18
|
+
installer.install(Egon::Undercloud::Commands.OSP10_satellite(SATELLITE_URL, SATELLITE_ORG, SATELLITE_ACTIVATION_KEY))
|
19
19
|
while !installer.completed?
|
20
20
|
sleep 1
|
21
21
|
end
|
@@ -13,7 +13,7 @@ RHSM_POOL_ID = ARGV[5]
|
|
13
13
|
|
14
14
|
connection = Egon::Undercloud::SSHConnection.new(SSH_HOST, SSH_USER, SSH_PASSWORD)
|
15
15
|
installer = Egon::Undercloud::Installer.new(connection)
|
16
|
-
installer.install(Egon::Undercloud::Commands.
|
16
|
+
installer.install(Egon::Undercloud::Commands.OSP10_vanilla_rhel(RHSM_USER, RHSM_PASSWORD, RHSM_POOL_ID))
|
17
17
|
while !installer.completed?
|
18
18
|
sleep 1
|
19
19
|
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
require 'fog'
|
1
|
+
require 'fog/openstack'
|
2
|
+
require 'json'
|
2
3
|
require_relative 'undercloud_handle/deployment'
|
3
4
|
require_relative 'undercloud_handle/flavor'
|
4
5
|
require_relative 'undercloud_handle/image'
|
@@ -18,7 +19,31 @@ module Overcloud
|
|
18
19
|
@auth_url = auth_url
|
19
20
|
@port = port
|
20
21
|
end
|
21
|
-
|
22
|
+
|
23
|
+
def execute_workflow(workflow, input, wait_for_complete = true)
|
24
|
+
connection = service('Workflow')
|
25
|
+
response = connection.create_execution(workflow, input)
|
26
|
+
state = response.body['state']
|
27
|
+
workflow_execution_id = response.body['id']
|
28
|
+
|
29
|
+
return unless wait_for_complete
|
30
|
+
|
31
|
+
while state == 'RUNNING'
|
32
|
+
sleep 2
|
33
|
+
response = connection.get_execution(workflow_execution_id)
|
34
|
+
state = response.body['state']
|
35
|
+
end
|
36
|
+
|
37
|
+
if state != 'SUCCESS'
|
38
|
+
raise "Executing workflow #{workflow} on #{input} failed: #{response.body['output']}"
|
39
|
+
end
|
40
|
+
workflow_execution_id
|
41
|
+
end
|
42
|
+
|
43
|
+
def workflow_action_execution(action_name, params = {})
|
44
|
+
return JSON.parse(service('Workflow').create_action_execution(action_name, params).body["output"])["result"]
|
45
|
+
end
|
46
|
+
|
22
47
|
private
|
23
48
|
|
24
49
|
def service(service_name)
|
@@ -32,6 +57,8 @@ module Overcloud
|
|
32
57
|
|
33
58
|
if service_name == 'Planning'
|
34
59
|
return Fog::Openstack.const_get(service_name).new(fog_parameters)
|
60
|
+
elsif service_name == 'Workflow'
|
61
|
+
return Fog::Workflow::OpenStack.new(fog_parameters)
|
35
62
|
end
|
36
63
|
return Fog.const_get(service_name).new(fog_parameters)
|
37
64
|
end
|
@@ -4,63 +4,30 @@ module Overcloud
|
|
4
4
|
# BASE PLAN ACTIONS
|
5
5
|
|
6
6
|
def list_plans
|
7
|
-
|
8
|
-
response = Fog::Core::Connection.new(uri, false).request({
|
9
|
-
:expects => 200,
|
10
|
-
:headers => {'Content-Type' => 'application/json',
|
11
|
-
'Accept' => 'application/json',
|
12
|
-
'X-Auth-Token' => auth_token},
|
13
|
-
:method => 'GET'
|
14
|
-
})
|
15
|
-
body = Fog::JSON.decode(response.body)
|
16
|
-
body['plans']
|
7
|
+
return workflow_action_execution('tripleo.plan.list')
|
17
8
|
end
|
18
9
|
|
19
10
|
def get_plan(plan_name)
|
20
|
-
|
21
|
-
|
22
|
-
:expects => 200,
|
23
|
-
:headers => {'Content-Type' => 'application/json',
|
24
|
-
'Accept' => 'application/json',
|
25
|
-
'X-Auth-Token' => auth_token},
|
26
|
-
:method => 'GET'
|
27
|
-
})
|
28
|
-
body = Fog::JSON.decode(response.body)
|
29
|
-
body['plan']
|
11
|
+
# this doesn't exist anymore?
|
12
|
+
return {'name' => plan_name}
|
30
13
|
end
|
31
14
|
|
32
15
|
def deploy_plan(plan_name)
|
33
|
-
plan = get_plan(plan_name)
|
34
|
-
|
35
16
|
# ensure that nodes are in correct state
|
36
17
|
for node in list_nodes
|
37
18
|
node.set_provision_state('provide') if node.provision_state == 'manageable'
|
38
19
|
end
|
39
20
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
:headers => {'Content-Type' => 'application/json',
|
44
|
-
'Accept' => 'application/json',
|
45
|
-
'X-Auth-Token' => auth_token},
|
46
|
-
:method => 'PUT'
|
47
|
-
})
|
21
|
+
workflow = 'tripleo.deployment.v1.deploy_plan'
|
22
|
+
input = { container: plan_name }
|
23
|
+
execute_workflow(workflow, input, false)
|
48
24
|
end
|
49
25
|
|
50
26
|
## PLAN PARAMETER METHODS
|
51
27
|
|
52
28
|
def get_plan_parameters(plan_name)
|
53
|
-
|
54
|
-
|
55
|
-
:expects => 200,
|
56
|
-
:headers => {'Content-Type' => 'application/json',
|
57
|
-
'Accept' => 'application/json',
|
58
|
-
'X-Auth-Token' => auth_token},
|
59
|
-
:method => 'GET',
|
60
|
-
:read_timeout => 360,
|
61
|
-
})
|
62
|
-
body = Fog::JSON.decode(response.body)
|
63
|
-
body['parameters']['Parameters']
|
29
|
+
all_params = workflow_action_execution('tripleo.parameters.get', { :container => plan_name })
|
30
|
+
return flatten_parameters(all_params["heat_resource_tree"])
|
64
31
|
end
|
65
32
|
|
66
33
|
def get_plan_parameter_value(plan_name, parameter_name)
|
@@ -73,17 +40,11 @@ module Overcloud
|
|
73
40
|
end
|
74
41
|
|
75
42
|
def edit_plan_parameters(plan_name, parameters)
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
'X-Auth-Token' => auth_token},
|
82
|
-
:method => 'PATCH',
|
83
|
-
:body => Fog::JSON.encode(parameters),
|
84
|
-
:read_timeout => 360,
|
85
|
-
:write_timeout => 360,
|
86
|
-
})
|
43
|
+
action_parameters = {
|
44
|
+
:container => plan_name,
|
45
|
+
:parameters => parameters
|
46
|
+
}
|
47
|
+
workflow_action_execution('tripleo.parameters.update', action_parameters)
|
87
48
|
end
|
88
49
|
|
89
50
|
def edit_plan_deployment_role_count(plan_name, role_name, count)
|
@@ -104,50 +65,21 @@ module Overcloud
|
|
104
65
|
## PLAN ENVIRONMENT ACTIONS
|
105
66
|
|
106
67
|
def get_plan_environments(plan_name)
|
107
|
-
|
108
|
-
response = Fog::Core::Connection.new(uri, false).request({
|
109
|
-
:expects => 200,
|
110
|
-
:headers => {'Content-Type' => 'application/json',
|
111
|
-
'Accept' => 'application/json',
|
112
|
-
'X-Auth-Token' => auth_token},
|
113
|
-
:method => 'GET',
|
114
|
-
:read_timeout => 360,
|
115
|
-
})
|
116
|
-
body = Fog::JSON.decode(response.body)
|
117
|
-
body['environments']
|
68
|
+
return workflow_action_execution('tripleo.heat_capabilities.get', { :container => plan_name })
|
118
69
|
end
|
119
70
|
|
120
71
|
def edit_plan_environments(plan_name, environments)
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
'X-Auth-Token' => auth_token},
|
127
|
-
:method => 'PATCH',
|
128
|
-
:body => Fog::JSON.encode(environments),
|
129
|
-
:read_timeout => 360,
|
130
|
-
:write_timeout => 360,
|
131
|
-
})
|
72
|
+
action_parameters = {
|
73
|
+
:container => plan_name,
|
74
|
+
:environments => environments
|
75
|
+
}
|
76
|
+
workflow_action_execution('tripleo.heat_capabilities.update', action_parameters)
|
132
77
|
end
|
133
78
|
|
134
79
|
## MISCELLANEOUS PLAN ACTIONS
|
135
80
|
|
136
81
|
def get_plan_deployment_roles(plan_name)
|
137
|
-
|
138
|
-
return ['Controller', 'Compute', 'BlockStorage', 'ObjectStorage',
|
139
|
-
'CephStorage']
|
140
|
-
|
141
|
-
#uri = "#{base_tripleo_api_url}/plans/#{plan_name}/roles"
|
142
|
-
#response = Fog::Core::Connection.new(uri, false).request({
|
143
|
-
# :expects => 200,
|
144
|
-
# :headers => {'Content-Type' => 'application/json',
|
145
|
-
# 'Accept' => 'application/json',
|
146
|
-
# 'X-Auth-Token' => auth_token},
|
147
|
-
# :method => 'GET'
|
148
|
-
# })
|
149
|
-
#body = Fog::JSON.decode(response.body)
|
150
|
-
#body['roles']
|
82
|
+
return workflow_action_execution('tripleo.role.list', { :container => plan_name })
|
151
83
|
end
|
152
84
|
|
153
85
|
## HEAT ACTIONS
|
@@ -166,8 +98,17 @@ module Overcloud
|
|
166
98
|
|
167
99
|
private
|
168
100
|
|
169
|
-
def
|
170
|
-
|
101
|
+
def flatten_parameters(base_parameters)
|
102
|
+
flat_parameters = {}
|
103
|
+
if base_parameters.key?('Parameters')
|
104
|
+
flat_parameters.merge!base_parameters['Parameters']
|
105
|
+
end
|
106
|
+
if base_parameters.key?('NestedParameters')
|
107
|
+
for nested_parameters in base_parameters['NestedParameters']
|
108
|
+
flat_parameters.merge!(flatten_parameters(nested_parameters[1]))
|
109
|
+
end
|
110
|
+
end
|
111
|
+
flat_parameters
|
171
112
|
end
|
172
113
|
|
173
114
|
end
|
@@ -20,7 +20,7 @@ module Overcloud
|
|
20
20
|
def get_node(node_id)
|
21
21
|
service('Baremetal').nodes.find_by_uuid(node_id)
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def create_node(node_parameters)
|
25
25
|
node = create_node_only(node_parameters)
|
26
26
|
introspect_node(node.uuid)
|
@@ -28,11 +28,24 @@ module Overcloud
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def create_node_only(node_parameters)
|
31
|
-
|
32
|
-
|
31
|
+
workflow = 'tripleo.baremetal.v1.register_or_update'
|
32
|
+
json = node_parameters_to_json(node_parameters)
|
33
|
+
input = { nodes_json: json }
|
34
|
+
workflow_execution_id = execute_workflow(workflow, input)
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
+
connection = service('Workflow')
|
37
|
+
output = connection.get_execution(workflow_execution_id).body['output']
|
38
|
+
output_json = JSON.parse(output)
|
39
|
+
node_uuid = output_json['registered_nodes'].first['uuid']
|
40
|
+
|
41
|
+
configure_node(node_uuid)
|
42
|
+
get_node(node_uuid)
|
43
|
+
end
|
44
|
+
|
45
|
+
def configure_node(node_uuid)
|
46
|
+
workflow = 'tripleo.baremetal.v1.configure'
|
47
|
+
input = { node_uuids: [node_uuid] }
|
48
|
+
execute_workflow(workflow, input)
|
36
49
|
end
|
37
50
|
|
38
51
|
def create_port(port_parameters)
|
@@ -48,10 +61,13 @@ module Overcloud
|
|
48
61
|
driver = node_data[4]
|
49
62
|
mac_address = node_data[8]
|
50
63
|
if driver == 'pxe_ssh'
|
64
|
+
ssh_key_contents = node_data[7]
|
65
|
+
# CSV processing appends an extra '\', we need to remove it
|
66
|
+
ssh_key_contents.gsub!("\\n", "\n")
|
51
67
|
driver_info = {
|
52
68
|
:ssh_address => node_data[5],
|
53
69
|
:ssh_username => node_data[6],
|
54
|
-
:ssh_key_contents =>
|
70
|
+
:ssh_key_contents => ssh_key_contents,
|
55
71
|
:ssh_virt_type => 'virsh',
|
56
72
|
:deploy_kernel => get_baremetal_deploy_kernel_image.id,
|
57
73
|
:deploy_ramdisk => get_baremetal_deploy_ramdisk_image.id
|
@@ -84,6 +100,33 @@ module Overcloud
|
|
84
100
|
end
|
85
101
|
end
|
86
102
|
|
103
|
+
def node_parameters_to_json(node_parameters)
|
104
|
+
json = {
|
105
|
+
'disk' => node_parameters[:properties][:local_gb],
|
106
|
+
'cpu' => node_parameters[:properties][:cpus],
|
107
|
+
'memory' => node_parameters[:properties][:memory_mb],
|
108
|
+
'arch' => node_parameters[:properties][:cpu_arch],
|
109
|
+
'mac' => [node_parameters[:address]],
|
110
|
+
'pm_type' => node_parameters[:driver]
|
111
|
+
}
|
112
|
+
if node_parameters[:driver] == 'pxe_ssh'
|
113
|
+
json['pm_user'] = node_parameters[:driver_info][:ssh_username]
|
114
|
+
if node_parameters[:driver_info][:ssh_password]
|
115
|
+
json['pm_password'] = node_parameters[:driver_info][:ssh_password]
|
116
|
+
elsif node_parameters[:driver_info][:ssh_key_contents]
|
117
|
+
json['pm_password'] = node_parameters[:driver_info][:ssh_key_contents]
|
118
|
+
end
|
119
|
+
json['pm_addr'] = node_parameters[:driver_info][:ssh_address]
|
120
|
+
elsif node_parameters[:driver] == 'pxe_ipmitool'
|
121
|
+
json['pm_user'] = node_parameters[:driver_info][:ipmi_username]
|
122
|
+
json['pm_password'] = node_parameters[:driver_info][:ipmi_password]
|
123
|
+
json['pm_addr'] = node_parameters[:driver_info][:ipmi_address]
|
124
|
+
else
|
125
|
+
raise "Unknown node driver: #{node_parameters[:driver]}"
|
126
|
+
end
|
127
|
+
[json]
|
128
|
+
end
|
129
|
+
|
87
130
|
def delete_node(node_id)
|
88
131
|
begin
|
89
132
|
node = get_node(node_id)
|
@@ -107,14 +150,9 @@ module Overcloud
|
|
107
150
|
## OPENSTACK AND KEYSTONE
|
108
151
|
|
109
152
|
def introspect_node(node_uuid)
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
:headers => {'Content-Type' => 'application/json',
|
114
|
-
'Accept' => 'application/json',
|
115
|
-
'X-Auth-Token' => auth_token},
|
116
|
-
:method => 'POST'
|
117
|
-
})
|
153
|
+
workflow = 'tripleo.baremetal.v1.introspect'
|
154
|
+
input = { node_uuids: [node_uuid] }
|
155
|
+
execute_workflow(workflow, input, false)
|
118
156
|
end
|
119
157
|
|
120
158
|
def introspect_node_status(node_uuid)
|
@@ -1,25 +1,37 @@
|
|
1
|
+
require 'securerandom'
|
1
2
|
|
2
3
|
module Egon
|
3
4
|
module Undercloud
|
4
5
|
class Commands
|
5
6
|
|
6
|
-
##
|
7
|
-
|
8
|
-
def self.OSP7_satellite(satellite_url, org, activation_key)
|
7
|
+
## OSP Common
|
8
|
+
def self.OSP_common_satellite(satellite_url, org, activation_key)
|
9
9
|
return "
|
10
10
|
curl -k -O #{satellite_url}/pub/katello-ca-consumer-latest.noarch.rpm
|
11
11
|
sudo yum install -y katello-ca-consumer-latest.noarch.rpm
|
12
|
-
sudo subscription-manager register --org=\"#{org}\" --activationkey=\"#{activation_key}\"
|
13
|
-
#{self.OSP7_no_registration}"
|
12
|
+
sudo subscription-manager register --org=\"#{org}\" --activationkey=\"#{activation_key}\""
|
14
13
|
end
|
15
|
-
|
16
|
-
def self.
|
14
|
+
|
15
|
+
def self.OSP_common_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)
|
17
16
|
return "
|
18
17
|
sudo subscription-manager register --force --username=\"#{rhsm_user}\" --password=\"#{rhsm_password}\"
|
19
18
|
sudo subscription-manager attach --pool=\"#{rhsm_pool_id}\"
|
20
19
|
sudo subscription-manager repos --enable=rhel-7-server-rpms \
|
21
20
|
--enable=rhel-7-server-optional-rpms --enable=rhel-7-server-extras-rpms \
|
22
|
-
--enable=rhel-7-server-openstack-6.0-rpms
|
21
|
+
--enable=rhel-7-server-openstack-6.0-rpms"
|
22
|
+
end
|
23
|
+
|
24
|
+
## OSP7
|
25
|
+
|
26
|
+
def self.OSP7_satellite(satellite_url, org, activation_key)
|
27
|
+
return "
|
28
|
+
#{self.OSP_common_satellite(satellite_url, org, activation_key)}
|
29
|
+
#{self.OSP7_no_registration}"
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.OSP7_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)
|
33
|
+
return "
|
34
|
+
#{self.OSP_common_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)}
|
23
35
|
#{self.OSP7_no_registration}"
|
24
36
|
end
|
25
37
|
|
@@ -243,25 +255,18 @@ module Egon
|
|
243
255
|
|
244
256
|
def self.OSP8_satellite(satellite_url, org, activation_key)
|
245
257
|
return "
|
246
|
-
|
247
|
-
sudo yum install -y katello-ca-consumer-latest.noarch.rpm
|
248
|
-
sudo subscription-manager register --org=\"#{org}\" --activationkey=\"#{activation_key}\"
|
258
|
+
#{self.OSP_common_satellite(satellite_url, org, activation_key)}
|
249
259
|
#{self.OSP8_no_registration}"
|
250
260
|
end
|
251
261
|
|
252
262
|
def self.OSP8_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)
|
253
263
|
return "
|
254
|
-
|
255
|
-
sudo subscription-manager attach --pool=\"#{rhsm_pool_id}\"
|
256
|
-
sudo subscription-manager repos --enable=rhel-7-server-rpms \
|
257
|
-
--enable=rhel-7-server-optional-rpms --enable=rhel-7-server-extras-rpms \
|
258
|
-
--enable=rhel-7-server-openstack-6.0-rpms
|
264
|
+
#{self.OSP_common_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)}
|
259
265
|
#{self.OSP8_no_registration}"
|
260
266
|
end
|
261
267
|
|
262
268
|
def self.OSP8_no_registration
|
263
269
|
return "
|
264
|
-
sudo yum install -y python-rdomanager-oscplugin
|
265
270
|
if [ ! -f ~/undercloud.conf ]; then
|
266
271
|
cp -f /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf;
|
267
272
|
sed -i -- 's/#store_events = false/store_events = true/g' ~/undercloud.conf
|
@@ -274,7 +279,7 @@ module Egon
|
|
274
279
|
end
|
275
280
|
|
276
281
|
POST_INSTALL_8 = "
|
277
|
-
sudo setenforce
|
282
|
+
sudo setenforce enforcing
|
278
283
|
source ~/stackrc
|
279
284
|
|
280
285
|
sudo yum install -y rhosp-director-images
|
@@ -297,50 +302,212 @@ module Egon
|
|
297
302
|
sudo sed -i -- \"s/#admin_password = <None>/admin_password = $OS_PASSWORD/g\" /etc/tripleo/tripleo.conf
|
298
303
|
sudo service openstack-tripleo-api restart
|
299
304
|
sudo systemctl enable openstack-tripleo-api
|
305
|
+
|
300
306
|
sudo sed -i -- \"s/max_json_body_size = 1048576/max_json_body_size = 2000000/g\" /etc/heat/heat.conf
|
301
307
|
sudo service openstack-heat-api restart
|
302
308
|
sudo service openstack-heat-api-cfn restart
|
303
309
|
sudo service openstack-heat-engine restart
|
304
310
|
|
311
|
+
sudo sed -i -- \"s/scheduler_use_baremetal_filters=False/scheduler_use_baremetal_filters=True/g\" /etc/nova/nova.conf
|
312
|
+
sudo sed -i -- \"s/#baremetal_scheduler_default_filters/baremetal_scheduler_default_filters/g\" /etc/nova/nova.conf
|
313
|
+
sudo service openstack-nova-scheduler restart
|
314
|
+
|
315
|
+
retries=5
|
316
|
+
|
317
|
+
# Temporarily deal with BZ#1319795
|
318
|
+
retry_count=0
|
319
|
+
while ! systemctl is-active openstack-swift-* --all >/dev/null && (( retry_count < retries )); do
|
320
|
+
echo \"Swift services not started, retrying.\"
|
321
|
+
let retry_count+=1; sudo openstack-service restart swift; sleep 60;
|
322
|
+
done
|
323
|
+
|
324
|
+
# Swift is not always immediately responsive
|
325
|
+
retry_count=0
|
326
|
+
while ! swift stat 2>/dev/null && (( $retry_count < $retries )); do
|
327
|
+
echo \"Swift is not ready. Sleeping for 30 seconds.\";
|
328
|
+
let retry_count+=1; sleep 30;
|
329
|
+
done
|
330
|
+
|
331
|
+
if ! swift stat 2>/dev/null; then
|
332
|
+
echo \"Swift did not start properly. Please fix the problem before trying again\"
|
333
|
+
exit 1
|
334
|
+
fi
|
335
|
+
|
305
336
|
if ! [ $(swift list | grep overcloud) ]; then
|
306
337
|
|
307
338
|
cp -r /usr/share/openstack-tripleo-heat-templates .
|
308
339
|
cp /usr/share/tripleo-api/templates/capabilities-map.yaml openstack-tripleo-heat-templates/.
|
340
|
+
cat << 'EOF' >> openstack-tripleo-heat-templates/capabilities-map.yaml
|
341
|
+
- title: TLS
|
342
|
+
description:
|
343
|
+
environment_groups:
|
344
|
+
- title: TLS
|
345
|
+
description: >
|
346
|
+
Enable TLS
|
347
|
+
environments:
|
348
|
+
- file: environments/enable-tls.yaml
|
349
|
+
title: Enable TLS
|
350
|
+
description:
|
351
|
+
requires:
|
352
|
+
- ../puppet/extraconfig/tls/tls-cert-inject.yaml
|
353
|
+
- file: environments/inject-trust-anchor.yaml
|
354
|
+
title: Inject CA
|
355
|
+
description:
|
356
|
+
requires:
|
357
|
+
- ../puppet/extraconfig/tls/tls-cert-inject.yaml
|
358
|
+
|
359
|
+
- title: Registration
|
360
|
+
description:
|
361
|
+
environment_groups:
|
362
|
+
- title: Registration
|
363
|
+
description: >
|
364
|
+
Register the Overcloud to CDN or Satellite
|
365
|
+
environments:
|
366
|
+
- file: environments/rhel-registration.yaml
|
367
|
+
title: RHEL Registration
|
368
|
+
description:
|
369
|
+
requires:
|
370
|
+
- extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml
|
371
|
+
EOF
|
372
|
+
|
373
|
+
cat openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml > openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
374
|
+
cat openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml >> openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
375
|
+
sed -i 's,rhel-registration.yaml,../extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml,g' openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
309
376
|
|
310
377
|
echo ' BlockStorageImage: overcloud-full' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
311
378
|
echo ' CephStorageImage: overcloud-full' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
312
379
|
echo ' SwiftStorageImage: overcloud-full' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
313
380
|
echo ' controllerImage: overcloud-full' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
314
381
|
echo ' NovaImage: overcloud-full' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
315
|
-
echo ' CinderPassword:
|
316
|
-
echo ' GlancePassword:
|
317
|
-
echo ' SwiftPassword:
|
318
|
-
echo ' NeutronMetadataProxySharedSecret:
|
319
|
-
echo ' HeatPassword:
|
320
|
-
echo ' HeatStackDomainAdminPassword:
|
321
|
-
echo ' NeutronPassword:
|
322
|
-
echo ' AdminToken:
|
323
|
-
echo ' SwiftHashSuffix:
|
324
|
-
echo ' CeilometerMeteringSecret:
|
325
|
-
echo ' SnmpdReadonlyUserPassword:
|
326
|
-
echo ' CeilometerPassword:
|
327
|
-
echo ' NovaPassword:
|
328
|
-
echo ' RedisPassword:
|
329
|
-
echo ' HAProxyStatsPassword:
|
382
|
+
echo ' CinderPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
383
|
+
echo ' GlancePassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
384
|
+
echo ' SwiftPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
385
|
+
echo ' NeutronMetadataProxySharedSecret: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
386
|
+
echo ' HeatPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
387
|
+
echo ' HeatStackDomainAdminPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
388
|
+
echo ' NeutronPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
389
|
+
echo ' AdminToken: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
390
|
+
echo ' SwiftHashSuffix: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
391
|
+
echo ' CeilometerMeteringSecret: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
392
|
+
echo ' SnmpdReadonlyUserPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
393
|
+
echo ' CeilometerPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
394
|
+
echo ' NovaPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
395
|
+
echo ' RedisPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
396
|
+
echo ' HAProxyStatsPassword: #{SecureRandom.hex}' >> openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml
|
330
397
|
|
331
398
|
echo 'parameter_defaults:' >> openstack-tripleo-heat-templates/environments/deployment_parameters.yaml
|
332
399
|
echo ' AdminPassword: changeme' >> openstack-tripleo-heat-templates/environments/deployment_parameters.yaml
|
333
400
|
|
334
401
|
sudo tripleo-plan-create --config-file /etc/tripleo/tripleo.conf
|
402
|
+
|
403
|
+
pushd openstack-tripleo-heat-templates
|
404
|
+
swift upload overcloud extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration extraconfig/pre_deploy/rhel-registration/scripts/rhel-unregistration
|
405
|
+
popd
|
335
406
|
fi
|
336
407
|
"
|
337
408
|
|
338
409
|
OSP8_COMMON = "
|
339
|
-
sudo sed -i '
|
410
|
+
sudo sed -i '/^net.ipv4.ip_forward =/{h;s/=.*/= 1/};${x;/^$/{s//net.ipv4.ip_forward = 1/;H};x}' /etc/sysctl.conf
|
340
411
|
sudo sysctl -p /etc/sysctl.conf
|
341
412
|
openstack undercloud install
|
342
413
|
#{POST_INSTALL_8}"
|
343
414
|
|
415
|
+
## OSP10
|
416
|
+
|
417
|
+
def self.OSP10_satellite(satellite_url, org, activation_key)
|
418
|
+
return "
|
419
|
+
#{self.OSP_common_satellite(satellite_url, org, activation_key)}
|
420
|
+
#{self.OSP10_no_registration}"
|
421
|
+
end
|
422
|
+
|
423
|
+
def self.OSP10_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)
|
424
|
+
return "
|
425
|
+
#{self.OSP_common_vanilla_rhel(rhsm_user, rhsm_password, rhsm_pool_id)}
|
426
|
+
#{self.OSP10_no_registration}"
|
427
|
+
end
|
428
|
+
|
429
|
+
def self.OSP10_no_registration
|
430
|
+
return "
|
431
|
+
if [ ! -f ~/undercloud.conf ]; then
|
432
|
+
cp -f /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf;
|
433
|
+
fi
|
434
|
+
sed -i -- 's/#store_events = false/store_events = true/g' ~/undercloud.conf
|
435
|
+
sed -i -- 's/#enable_telemetry = false/enable_telemetry = true/g' ~/undercloud.conf
|
436
|
+
#{self.OSP10_no_registration_no_packages}"
|
437
|
+
end
|
438
|
+
|
439
|
+
def self.OSP10_no_registration_no_packages
|
440
|
+
return OSP10_COMMON
|
441
|
+
end
|
442
|
+
|
443
|
+
POST_INSTALL_10 = "
|
444
|
+
sudo setenforce enforcing
|
445
|
+
source ~/stackrc
|
446
|
+
|
447
|
+
sudo yum install -y rhosp-director-images
|
448
|
+
cd /usr/share/rhosp-director-images
|
449
|
+
sudo tar xf ironic-python-agent.tar
|
450
|
+
sudo tar xf overcloud-full.tar
|
451
|
+
openstack overcloud image upload
|
452
|
+
cd ~
|
453
|
+
|
454
|
+
SUBNET_ID=$(neutron subnet-show '' | awk '$2==\"id\" {print $4}')
|
455
|
+
neutron subnet-update $SUBNET_ID --dns-nameserver 192.168.122.1
|
456
|
+
|
457
|
+
openstack action execution run tripleo.plan.delete '{\"container\": \"overcloud\"}'
|
458
|
+
|
459
|
+
cp -r /usr/share/openstack-tripleo-heat-templates .
|
460
|
+
cat << 'EOF' >> openstack-tripleo-heat-templates/capabilities-map.yaml
|
461
|
+
|
462
|
+
- title: TLS
|
463
|
+
description:
|
464
|
+
environment_groups:
|
465
|
+
- title: TLS
|
466
|
+
description: >
|
467
|
+
Enable TLS
|
468
|
+
environments:
|
469
|
+
- file: environments/enable-tls.yaml
|
470
|
+
title: Enable TLS
|
471
|
+
description:
|
472
|
+
requires:
|
473
|
+
- ../puppet/extraconfig/tls/tls-cert-inject.yaml
|
474
|
+
- file: environments/inject-trust-anchor.yaml
|
475
|
+
title: Inject CA
|
476
|
+
description:
|
477
|
+
requires:
|
478
|
+
- ../puppet/extraconfig/tls/tls-cert-inject.yaml
|
479
|
+
|
480
|
+
- title: Registration
|
481
|
+
description:
|
482
|
+
environment_groups:
|
483
|
+
- title: Registration
|
484
|
+
description: >
|
485
|
+
Register the Overcloud to CDN or Satellite
|
486
|
+
environments:
|
487
|
+
- file: environments/rhel-registration.yaml
|
488
|
+
title: RHEL Registration
|
489
|
+
description:
|
490
|
+
requires:
|
491
|
+
- extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml
|
492
|
+
EOF
|
493
|
+
|
494
|
+
cat openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/rhel-registration-resource-registry.yaml > openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
495
|
+
cat openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/environment-rhel-registration.yaml >> openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
496
|
+
sed -i 's,rhel-registration.yaml,../extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml,g' openstack-tripleo-heat-templates/environments/rhel-registration.yaml
|
497
|
+
sed -i 's, rpm -Uvh katello-ca-consumer-latest.noarch.rpm || true, rpm -Uvh katello-ca-consumer-latest.noarch.rpm || true\\n echo \"\{\"network.hostname\":\"$HOSTNAME\"\}\" > /etc/rhsm/facts/katello.facts,' openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration
|
498
|
+
|
499
|
+
openstack action execution run tripleo.plan.create_container '{\"container\": \"overcloud\"}'
|
500
|
+
cd openstack-tripleo-heat-templates
|
501
|
+
swift upload overcloud *
|
502
|
+
cd ..
|
503
|
+
openstack workflow execution create tripleo.plan_management.v1.create_deployment_plan '{\"container\": \"overcloud\"}'
|
504
|
+
"
|
505
|
+
|
506
|
+
OSP10_COMMON = "
|
507
|
+
sudo sed -i '/^net.ipv4.ip_forward =/{h;s/=.*/= 1/};${x;/^$/{s//net.ipv4.ip_forward = 1/;H};x}' /etc/sysctl.conf
|
508
|
+
sudo sysctl -p /etc/sysctl.conf
|
509
|
+
openstack undercloud install
|
510
|
+
#{POST_INSTALL_10}"
|
344
511
|
end
|
345
512
|
end
|
346
513
|
end
|
data/lib/egon/version.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: egon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Egon and Fusor team
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,27 +38,47 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '10.0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: fog
|
47
|
+
name: fog-core
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
53
|
+
version: 1.43.0
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
61
|
+
version: 1.43.0
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: fog-openstack
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.1.15
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.1.15
|
55
78
|
- !ruby/object:Gem::Dependency
|
56
79
|
name: net-ssh
|
57
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
58
82
|
requirements:
|
59
83
|
- - ~>
|
60
84
|
- !ruby/object:Gem::Version
|
@@ -62,6 +86,7 @@ dependencies:
|
|
62
86
|
type: :development
|
63
87
|
prerelease: false
|
64
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
65
90
|
requirements:
|
66
91
|
- - ~>
|
67
92
|
- !ruby/object:Gem::Version
|
@@ -69,6 +94,7 @@ dependencies:
|
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rspec
|
71
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
72
98
|
requirements:
|
73
99
|
- - ~>
|
74
100
|
- !ruby/object:Gem::Version
|
@@ -76,6 +102,7 @@ dependencies:
|
|
76
102
|
type: :development
|
77
103
|
prerelease: false
|
78
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
79
106
|
requirements:
|
80
107
|
- - ~>
|
81
108
|
- !ruby/object:Gem::Version
|
@@ -84,23 +111,13 @@ description: ''
|
|
84
111
|
email:
|
85
112
|
- foreman-dev+egon@googlegroups.com
|
86
113
|
executables:
|
87
|
-
- undercloud-install-satellite.rb
|
88
114
|
- initialize_overcloud.sh
|
89
|
-
- undercloud-install-vanilla-rhel.rb
|
90
115
|
- undercloud-install-local.rb
|
116
|
+
- undercloud-install-satellite.rb
|
117
|
+
- undercloud-install-vanilla-rhel.rb
|
91
118
|
extensions: []
|
92
119
|
extra_rdoc_files: []
|
93
120
|
files:
|
94
|
-
- Gemfile
|
95
|
-
- Gemfile.lock
|
96
|
-
- LICENSE
|
97
|
-
- README.md
|
98
|
-
- Rakefile
|
99
|
-
- bin/initialize_overcloud.sh
|
100
|
-
- bin/undercloud-install-local.rb
|
101
|
-
- bin/undercloud-install-satellite.rb
|
102
|
-
- bin/undercloud-install-vanilla-rhel.rb
|
103
|
-
- egon.gemspec
|
104
121
|
- lib/egon.rb
|
105
122
|
- lib/egon/overcloud/undercloud_handle.rb
|
106
123
|
- lib/egon/overcloud/undercloud_handle/deployment.rb
|
@@ -112,39 +129,42 @@ files:
|
|
112
129
|
- lib/egon/undercloud/port-check-mixin.rb
|
113
130
|
- lib/egon/undercloud/ssh-connection.rb
|
114
131
|
- lib/egon/version.rb
|
115
|
-
-
|
116
|
-
-
|
117
|
-
-
|
118
|
-
- pkg/egon-0.4.3.gem
|
119
|
-
- rubygem-egon.spec
|
132
|
+
- LICENSE
|
133
|
+
- Rakefile
|
134
|
+
- README.md
|
120
135
|
- test/test_ssh_connection.rb
|
121
136
|
- test/test_undercloud.rb
|
122
137
|
- test/test_undercloud_handle.rb
|
138
|
+
- bin/initialize_overcloud.sh
|
139
|
+
- bin/undercloud-install-local.rb
|
140
|
+
- bin/undercloud-install-satellite.rb
|
141
|
+
- bin/undercloud-install-vanilla-rhel.rb
|
123
142
|
homepage: https://github.com/fusor/egon
|
124
143
|
licenses:
|
125
144
|
- GPL-3.0+
|
126
|
-
metadata: {}
|
127
145
|
post_install_message:
|
128
146
|
rdoc_options: []
|
129
147
|
require_paths:
|
130
148
|
- lib
|
131
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
132
151
|
requirements:
|
133
152
|
- - ! '>='
|
134
153
|
- !ruby/object:Gem::Version
|
135
154
|
version: '0'
|
136
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
137
157
|
requirements:
|
138
158
|
- - ! '>='
|
139
159
|
- !ruby/object:Gem::Version
|
140
160
|
version: '0'
|
141
161
|
requirements: []
|
142
162
|
rubyforge_project:
|
143
|
-
rubygems_version:
|
163
|
+
rubygems_version: 1.8.23.2
|
144
164
|
signing_key:
|
145
|
-
specification_version:
|
165
|
+
specification_version: 3
|
146
166
|
summary: A library on top of Fog that encapsulates TripleO deployment operations
|
147
167
|
test_files:
|
148
|
-
- test/test_undercloud_handle.rb
|
149
|
-
- test/test_undercloud.rb
|
150
168
|
- test/test_ssh_connection.rb
|
169
|
+
- test/test_undercloud.rb
|
170
|
+
- test/test_undercloud_handle.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NjY5YTQ1NjU5ZjNkZTU0Nzg3NzExMTQ5NjI5YzRmNzNmN2Y3OTYxNA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzM2MjEyMTI0ZmI1MDZkN2ZkZTliYmQ0Y2Q3NGQ0YjlkOGUxMjQzYQ==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MWJmMjQyMmIwYjVlODY2MzNmMzk2ZDZlOGFhMTcxYjVkOTM0ODg1NDQwMjJl
|
10
|
-
OWRiNzBjOGZmNzdmNDVkZThiYmJhNmI3YWM2MWM3N2NiZjRmNDllOTEyMzk4
|
11
|
-
Mjc0Y2U0NGZhYmU2M2RlOTJkOWMzNGRmMzhiOTdiM2QwYWVkN2U=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MmYwODFlNzA0ZGUyNTQyNWQyY2JiNzcxNTNhMWYwMjYxZDFjN2ExZDY3ZTcy
|
14
|
-
OWEyMmMwYTM3YzEwMGRiM2I2MmYxYWM1YTQxZjg2Mjc2YmI4ZmQ1ODJlZmYy
|
15
|
-
ZDYyMWQ5MDJmZTgyNjI5Yjk1ZDJlMzIxODA0ZmE0MWYyZWJiODU=
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,144 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
egon (0.4.4)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
CFPropertyList (2.3.1)
|
10
|
-
builder (3.2.2)
|
11
|
-
diff-lcs (1.2.5)
|
12
|
-
excon (0.45.3)
|
13
|
-
fission (0.5.0)
|
14
|
-
CFPropertyList (~> 2.2)
|
15
|
-
fog (1.36.0)
|
16
|
-
fog-atmos
|
17
|
-
fog-aws (~> 0.0)
|
18
|
-
fog-brightbox (~> 0.4)
|
19
|
-
fog-core (~> 1.30)
|
20
|
-
fog-ecloud
|
21
|
-
fog-google (>= 0.0.2)
|
22
|
-
fog-json
|
23
|
-
fog-local
|
24
|
-
fog-powerdns (>= 0.1.1)
|
25
|
-
fog-profitbricks
|
26
|
-
fog-radosgw (>= 0.0.2)
|
27
|
-
fog-riakcs
|
28
|
-
fog-sakuracloud (>= 0.0.4)
|
29
|
-
fog-serverlove
|
30
|
-
fog-softlayer
|
31
|
-
fog-storm_on_demand
|
32
|
-
fog-terremark
|
33
|
-
fog-vmfusion
|
34
|
-
fog-voxel
|
35
|
-
fog-xml (~> 0.1.1)
|
36
|
-
ipaddress (~> 0.5)
|
37
|
-
nokogiri (~> 1.5, >= 1.5.11)
|
38
|
-
fog-atmos (0.1.0)
|
39
|
-
fog-core
|
40
|
-
fog-xml
|
41
|
-
fog-aws (0.4.0)
|
42
|
-
fog-core (~> 1.27)
|
43
|
-
fog-json (~> 1.0)
|
44
|
-
fog-xml (~> 0.1)
|
45
|
-
ipaddress (~> 0.8)
|
46
|
-
fog-brightbox (0.7.1)
|
47
|
-
fog-core (~> 1.22)
|
48
|
-
fog-json
|
49
|
-
inflecto (~> 0.0.2)
|
50
|
-
fog-core (1.30.0)
|
51
|
-
builder
|
52
|
-
excon (~> 0.45)
|
53
|
-
formatador (~> 0.2)
|
54
|
-
mime-types
|
55
|
-
net-scp (~> 1.1)
|
56
|
-
net-ssh (>= 2.1.3)
|
57
|
-
fog-ecloud (0.1.2)
|
58
|
-
fog-core
|
59
|
-
fog-xml
|
60
|
-
fog-google (0.0.5)
|
61
|
-
fog-core
|
62
|
-
fog-json
|
63
|
-
fog-xml
|
64
|
-
fog-json (1.0.2)
|
65
|
-
fog-core (~> 1.0)
|
66
|
-
multi_json (~> 1.10)
|
67
|
-
fog-local (0.2.1)
|
68
|
-
fog-core (~> 1.27)
|
69
|
-
fog-powerdns (0.1.1)
|
70
|
-
fog-core (~> 1.27)
|
71
|
-
fog-json (~> 1.0)
|
72
|
-
fog-xml (~> 0.1)
|
73
|
-
fog-profitbricks (0.0.3)
|
74
|
-
fog-core
|
75
|
-
fog-xml
|
76
|
-
nokogiri
|
77
|
-
fog-radosgw (0.0.4)
|
78
|
-
fog-core (>= 1.21.0)
|
79
|
-
fog-json
|
80
|
-
fog-xml (>= 0.0.1)
|
81
|
-
fog-riakcs (0.1.0)
|
82
|
-
fog-core
|
83
|
-
fog-json
|
84
|
-
fog-xml
|
85
|
-
fog-sakuracloud (1.0.1)
|
86
|
-
fog-core
|
87
|
-
fog-json
|
88
|
-
fog-serverlove (0.1.2)
|
89
|
-
fog-core
|
90
|
-
fog-json
|
91
|
-
fog-softlayer (0.4.6)
|
92
|
-
fog-core
|
93
|
-
fog-json
|
94
|
-
fog-storm_on_demand (0.1.1)
|
95
|
-
fog-core
|
96
|
-
fog-json
|
97
|
-
fog-terremark (0.1.0)
|
98
|
-
fog-core
|
99
|
-
fog-xml
|
100
|
-
fog-vmfusion (0.1.0)
|
101
|
-
fission
|
102
|
-
fog-core
|
103
|
-
fog-voxel (0.1.0)
|
104
|
-
fog-core
|
105
|
-
fog-xml
|
106
|
-
fog-xml (0.1.2)
|
107
|
-
fog-core
|
108
|
-
nokogiri (~> 1.5, >= 1.5.11)
|
109
|
-
formatador (0.2.5)
|
110
|
-
inflecto (0.0.2)
|
111
|
-
ipaddress (0.8.0)
|
112
|
-
mime-types (2.6.1)
|
113
|
-
mini_portile (0.6.2)
|
114
|
-
multi_json (1.11.0)
|
115
|
-
net-scp (1.2.1)
|
116
|
-
net-ssh (>= 2.6.5)
|
117
|
-
net-ssh (2.9.2)
|
118
|
-
nokogiri (1.6.6.2)
|
119
|
-
mini_portile (~> 0.6.0)
|
120
|
-
rake (10.4.2)
|
121
|
-
rspec (3.2.0)
|
122
|
-
rspec-core (~> 3.2.0)
|
123
|
-
rspec-expectations (~> 3.2.0)
|
124
|
-
rspec-mocks (~> 3.2.0)
|
125
|
-
rspec-core (3.2.3)
|
126
|
-
rspec-support (~> 3.2.0)
|
127
|
-
rspec-expectations (3.2.1)
|
128
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
129
|
-
rspec-support (~> 3.2.0)
|
130
|
-
rspec-mocks (3.2.1)
|
131
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
132
|
-
rspec-support (~> 3.2.0)
|
133
|
-
rspec-support (3.2.2)
|
134
|
-
|
135
|
-
PLATFORMS
|
136
|
-
ruby
|
137
|
-
|
138
|
-
DEPENDENCIES
|
139
|
-
bundler (~> 1.7)
|
140
|
-
egon!
|
141
|
-
fog (~> 1.31.0)
|
142
|
-
net-ssh (~> 2.9.2)
|
143
|
-
rake (~> 10.0)
|
144
|
-
rspec (~> 3.2.0)
|
data/egon.gemspec
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
require File.expand_path('../lib/egon/version', __FILE__)
|
3
|
-
require 'date'
|
4
|
-
|
5
|
-
lib = File.expand_path('../lib', __FILE__)
|
6
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
7
|
-
|
8
|
-
Gem::Specification.new do |s|
|
9
|
-
s.name = "egon"
|
10
|
-
s.version = Egon::VERSION
|
11
|
-
s.authors = ['Egon and Fusor team']
|
12
|
-
s.email = ['foreman-dev+egon@googlegroups.com']
|
13
|
-
s.summary = %q{A library on top of Fog that encapsulates TripleO deployment operations}
|
14
|
-
s.description = %q{}
|
15
|
-
s.homepage = 'https://github.com/fusor/egon'
|
16
|
-
s.date = Date.today.to_s
|
17
|
-
s.license = 'GPL-3.0+'
|
18
|
-
|
19
|
-
s.files = Dir['**/*']
|
20
|
-
s.test_files = Dir['{test,spec,features}/**/*']
|
21
|
-
s.executables = Dir['bin/*'].map{ |f| File.basename(f) }
|
22
|
-
|
23
|
-
s.require_paths = ["lib"]
|
24
|
-
|
25
|
-
s.add_development_dependency "bundler", "~> 1.7"
|
26
|
-
s.add_development_dependency "rake", "~> 10.0"
|
27
|
-
s.add_development_dependency "fog", "~> 1.36.0"
|
28
|
-
s.add_development_dependency "net-ssh", "~> 2.9.2"
|
29
|
-
s.add_development_dependency "rspec", "~> 3.2.0"
|
30
|
-
end
|
data/pkg/egon-0.0.1.gem
DELETED
Binary file
|
data/pkg/egon-0.0.2.gem
DELETED
Binary file
|
data/pkg/egon-0.1.0.gem
DELETED
Binary file
|
data/pkg/egon-0.4.3.gem
DELETED
Binary file
|
data/rubygem-egon.spec
DELETED
@@ -1,116 +0,0 @@
|
|
1
|
-
%{?scl:%scl_package rubygem-%{gem_name}}
|
2
|
-
%{!?scl:%global pkg_name %{name}}
|
3
|
-
|
4
|
-
%global gem_name egon
|
5
|
-
|
6
|
-
Name: %{?scl_prefix}rubygem-%{gem_name}
|
7
|
-
Version: 1.0.0
|
8
|
-
Release: 0%{?dist}
|
9
|
-
Summary: A library on top of Fog that encapsulates TripleO deployment operations
|
10
|
-
Group: Development/Languages
|
11
|
-
License: GPL-3.0+
|
12
|
-
URL: https://github.com/fusor/egon
|
13
|
-
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
|
14
|
-
BuildRequires: %{?scl_prefix}rubygems-devel
|
15
|
-
Requires: %{?scl_prefix}ruby
|
16
|
-
Requires: %{?scl_prefix}rubygem(fog) => 1.36.0
|
17
|
-
Requires: %{?scl_prefix}rubygem(net-ssh) => 2.9.2
|
18
|
-
Requires: %{?scl_prefix}rubygem(net-ssh) < 2.10
|
19
|
-
BuildArch: noarch
|
20
|
-
|
21
|
-
%description
|
22
|
-
A library on top of Fog that encapsulates TripleO deployment operations.
|
23
|
-
|
24
|
-
%package doc
|
25
|
-
Summary: Documentation for %{pkg_name}
|
26
|
-
Group: Documentation
|
27
|
-
Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release}
|
28
|
-
BuildArch: noarch
|
29
|
-
|
30
|
-
%description doc
|
31
|
-
Documentation for %{pkg_name}.
|
32
|
-
|
33
|
-
%prep
|
34
|
-
%{?scl:scl enable %{scl} - << \EOF}
|
35
|
-
gem unpack %{SOURCE0}
|
36
|
-
%{?scl:EOF}
|
37
|
-
|
38
|
-
%setup -q -D -T -n %{gem_name}-%{version}
|
39
|
-
|
40
|
-
%{?scl:scl enable %{scl} - << \EOF}
|
41
|
-
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
42
|
-
%{?scl:EOF}
|
43
|
-
|
44
|
-
%build
|
45
|
-
# Create the gem as gem install only works on a gem file
|
46
|
-
%{?scl:scl enable %{scl} - << \EOF}
|
47
|
-
gem build %{gem_name}.gemspec
|
48
|
-
%{?scl:EOF}
|
49
|
-
|
50
|
-
%{?scl:scl enable %{scl} - << \EOF}
|
51
|
-
gem install %{gem_name}-%{version}.gem --local --install-dir .%{gem_dir}
|
52
|
-
%{?scl:EOF}
|
53
|
-
|
54
|
-
%install
|
55
|
-
mkdir -p %{buildroot}%{gem_dir}
|
56
|
-
mkdir .%{_bindir}
|
57
|
-
mv .%{gem_dir}/bin/* \
|
58
|
-
.%{_bindir}
|
59
|
-
cp -a .%{gem_dir}/* \
|
60
|
-
%{buildroot}%{gem_dir}/
|
61
|
-
|
62
|
-
mkdir -p %{buildroot}%{_bindir}
|
63
|
-
cp -pa .%{_bindir}/* \
|
64
|
-
%{buildroot}%{_bindir}/
|
65
|
-
|
66
|
-
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
|
67
|
-
|
68
|
-
# Run the test suite
|
69
|
-
|
70
|
-
%check
|
71
|
-
pushd .%{gem_instdir}
|
72
|
-
|
73
|
-
popd
|
74
|
-
|
75
|
-
%files
|
76
|
-
%dir %{gem_instdir}
|
77
|
-
%{_bindir}/undercloud-install-local.rb
|
78
|
-
%{_bindir}/undercloud-install-satellite.rb
|
79
|
-
%{_bindir}/undercloud-install-vanilla-rhel.rb
|
80
|
-
%license %{gem_instdir}/LICENSE
|
81
|
-
%{gem_instdir}/bin
|
82
|
-
%{gem_libdir}
|
83
|
-
%{gem_instdir}/rubygem-egon.spec
|
84
|
-
%exclude %{gem_cache}
|
85
|
-
%{gem_spec}
|
86
|
-
|
87
|
-
%files doc
|
88
|
-
%doc %{gem_docdir}
|
89
|
-
%{gem_instdir}/Gemfile
|
90
|
-
%doc %{gem_instdir}/README.md
|
91
|
-
%{gem_instdir}/Rakefile
|
92
|
-
%{gem_instdir}/egon.gemspec
|
93
|
-
%{gem_instdir}/test
|
94
|
-
|
95
|
-
%changelog
|
96
|
-
* Thu Oct 29 2015 Jason Rist <jrist@redhat.com> 0.4.8
|
97
|
-
- bump fog requirement to 1.36.0 to fix uuid bug (jrist@redhat.com)
|
98
|
-
|
99
|
-
* Thu Sep 10 2015 Jason Montleon <jmontleo@redhat.com> 0.4.2-7
|
100
|
-
- gempsec and rpm spec cleanup (jmontleo@redhat.com)
|
101
|
-
|
102
|
-
* Thu Sep 10 2015 Jason Montleon <jmontleo@redhat.com> 0.4.2-6
|
103
|
-
- remove dev require (jmontleo@redhat.com)
|
104
|
-
|
105
|
-
* Thu Sep 10 2015 Jason Montleon <jmontleo@redhat.com> 0.4.2-5
|
106
|
-
- Allow newer version of fog
|
107
|
-
|
108
|
-
* Wed Sep 09 2015 Jason Montleon <jmontleo@redhat.com> 0.4.2-4
|
109
|
-
- remove bad require (jmontleo@redhat.com)
|
110
|
-
|
111
|
-
* Wed Sep 09 2015 Jason Montleon <jmontleo@redhat.com> 0.4.2-3
|
112
|
-
- Egon RPM compatible with SCL and Foreman (jrist@redhat.com)
|
113
|
-
- Egon RPM compatible with SCL (jrist@redhat.com)
|
114
|
-
|
115
|
-
* Mon Aug 31 2015 jrist <jrist@redhat.com> - 0.4.1-1
|
116
|
-
- Initial package
|