staypuft 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/app/assets/javascripts/staypuft/staypuft.js +99 -1
- data/app/assets/stylesheets/staypuft/bootstrap_and_overrides.css.scss +48 -4
- data/app/assets/stylesheets/staypuft/staypuft.css.scss +7 -11
- data/app/controllers/staypuft/deployments_controller.rb +23 -20
- data/app/controllers/staypuft/steps_controller.rb +18 -24
- data/app/helpers/staypuft/application_helper.rb +16 -1
- data/app/helpers/staypuft/deployments_helper.rb +1 -1
- data/app/lib/actions/staypuft/host/wait_until_host_ready.rb +2 -8
- data/app/lib/staypuft/seeder.rb +702 -0
- data/app/models/staypuft/concerns/host_open_stack_affiliation.rb +29 -2
- data/app/models/staypuft/concerns/hostgroup_extensions.rb +28 -3
- data/app/models/staypuft/concerns/lookup_key_extensions.rb +72 -0
- data/app/models/staypuft/deployment/abstract_param_scope.rb +31 -0
- data/app/models/staypuft/deployment/attribute_param_storage.rb +41 -0
- data/app/models/staypuft/deployment/cinder_service.rb +87 -0
- data/app/models/staypuft/deployment/glance_service.rb +85 -0
- data/app/models/staypuft/deployment/ips.rb +26 -0
- data/app/models/staypuft/deployment/neutron_service.rb +165 -0
- data/app/models/staypuft/deployment/nova_service.rb +84 -0
- data/app/models/staypuft/deployment/passwords.rb +66 -0
- data/app/models/staypuft/deployment/vips.rb +36 -0
- data/app/models/staypuft/deployment.rb +179 -72
- data/app/models/staypuft/deployment_role_hostgroup.rb +1 -1
- data/app/models/staypuft/role.rb +8 -1
- data/app/models/staypuft/service/ui_params.rb +12 -1
- data/app/views/staypuft/deployments/_assigned_hosts_table.html.erb +60 -0
- data/app/views/staypuft/deployments/_deployed_hosts_table.html.erb +51 -0
- data/app/views/staypuft/deployments/_free_hosts_table.html.erb +47 -0
- data/app/views/staypuft/deployments/edit.html.erb +50 -0
- data/app/views/staypuft/deployments/show.html.erb +41 -79
- data/app/views/staypuft/deployments/summary.html.erb +4 -1
- data/app/views/staypuft/steps/_cinder.html.erb +17 -0
- data/app/views/staypuft/steps/_glance.html.erb +16 -0
- data/app/views/staypuft/steps/_neutron.html.erb +57 -0
- data/app/views/staypuft/steps/_nova.html.erb +34 -0
- data/app/views/staypuft/steps/deployment_settings.html.erb +41 -17
- data/app/views/staypuft/steps/services_configuration.html.erb +19 -32
- data/app/views/staypuft/steps/{services_selection.html.erb → services_overview.html.erb} +7 -3
- data/config/routes.rb +2 -0
- data/db/migrate/20140623142500_remove_amqp_provider_from_staypuft_deployment.rb +6 -0
- data/db/seeds.rb +1 -314
- data/lib/staypuft/engine.rb +1 -0
- data/lib/staypuft/version.rb +1 -1
- metadata +23 -3
data/db/seeds.rb
CHANGED
@@ -1,314 +1 @@
|
|
1
|
-
|
2
|
-
require 'facter'
|
3
|
-
require 'securerandom'
|
4
|
-
|
5
|
-
# enabling puppet run'
|
6
|
-
#Setting['puppetrun'] = true
|
7
|
-
|
8
|
-
# FIXME: this is the list pulled as-is from astapor. Any changes for staypuft are not
|
9
|
-
# yet in place. In addition, I don't know if we want to break these down by
|
10
|
-
# Role, or leave them in one big list (internally they get set per puppetclass)
|
11
|
-
params = {
|
12
|
-
'verbose' => 'true',
|
13
|
-
'heat_cfn' => 'false',
|
14
|
-
'heat_cloudwatch' => 'false',
|
15
|
-
'admin_password' => SecureRandom.hex,
|
16
|
-
'ceilometer' => 'true',
|
17
|
-
'ceilometer_host' => 'false',
|
18
|
-
'ceilometer_metering_secret' => SecureRandom.hex,
|
19
|
-
'ceilometer_user_password' => SecureRandom.hex,
|
20
|
-
'cinder_db_password' => SecureRandom.hex,
|
21
|
-
'cinder_user_password' => SecureRandom.hex,
|
22
|
-
'cinder_backend_gluster' => 'false',
|
23
|
-
'cinder_backend_gluster_name' => 'glusterfs_backend',
|
24
|
-
'cinder_backend_iscsi' => 'false',
|
25
|
-
'cinder_backend_iscsi_name' => 'iscsi_backend',
|
26
|
-
'cinder_backend_nfs' => 'false',
|
27
|
-
'cinder_backend_nfs_name' => 'nfs_backend',
|
28
|
-
'cinder_backend_eqlx' => 'false',
|
29
|
-
'cinder_backend_eqlx_name' => 'eqlx_backend',
|
30
|
-
'cinder_multiple_backends' => 'false',
|
31
|
-
'cinder_gluster_peers' => [],
|
32
|
-
'cinder_gluster_volume' => 'cinder',
|
33
|
-
'cinder_gluster_replica_count' => '3',
|
34
|
-
'cinder_gluster_peers' => %w(192.168.0.4 192.168.0.5 192.168.0.6),
|
35
|
-
'cinder_gluster_shares' => [ '192.168.0.4:/cinder -o backup-volfile-servers=192.168.0.5' ],
|
36
|
-
'cinder_nfs_shares' => [ '192.168.0.4:/cinder' ],
|
37
|
-
'cinder_nfs_mount_options' => '',
|
38
|
-
'cinder_san_ip' => '192.168.124.11',
|
39
|
-
'cinder_san_login' => 'grpadmin',
|
40
|
-
'cinder_san_password' => SecureRandom.hex,
|
41
|
-
'cinder_san_thin_provision' => 'false',
|
42
|
-
'cinder_eqlx_group_name' => 'group-0',
|
43
|
-
'cinder_eqlx_pool' => 'default',
|
44
|
-
'cinder_eqlx_use_chap' => 'false',
|
45
|
-
'cinder_eqlx_chap_login' => 'chapadmin',
|
46
|
-
'cinder_eqlx_chap_password' => SecureRandom.hex,
|
47
|
-
'glance_db_password' => SecureRandom.hex,
|
48
|
-
'glance_user_password' => SecureRandom.hex,
|
49
|
-
'glance_gluster_peers' => [],
|
50
|
-
'glance_gluster_volume' => 'glance',
|
51
|
-
'glance_gluster_replica_count' => '3',
|
52
|
-
'gluster_open_port_count' => '10',
|
53
|
-
'heat_db_password' => SecureRandom.hex,
|
54
|
-
'heat_user_password' => SecureRandom.hex,
|
55
|
-
'heat_cfn_user_password' => SecureRandom.hex,
|
56
|
-
'heat_auth_encrypt_key' => SecureRandom.hex,
|
57
|
-
'horizon_secret_key' => SecureRandom.hex,
|
58
|
-
'keystone_admin_token' => SecureRandom.hex,
|
59
|
-
'keystone_db_password' => SecureRandom.hex,
|
60
|
-
'keystone_user_password' => SecureRandom.hex,
|
61
|
-
'mysql_root_password' => SecureRandom.hex,
|
62
|
-
'neutron_db_password' => SecureRandom.hex,
|
63
|
-
'neutron_user_password' => SecureRandom.hex,
|
64
|
-
'nova_db_password' => SecureRandom.hex,
|
65
|
-
'nova_user_password' => SecureRandom.hex,
|
66
|
-
'nova_default_floating_pool' => 'nova',
|
67
|
-
'swift_admin_password' => SecureRandom.hex,
|
68
|
-
'swift_shared_secret' => SecureRandom.hex,
|
69
|
-
'swift_user_password' => SecureRandom.hex,
|
70
|
-
'swift_all_ips' => %w(192.168.203.1 192.168.203.2 192.168.203.3 192.168.203.4),
|
71
|
-
'swift_ext4_device' => '/dev/sdc2',
|
72
|
-
'swift_local_interface' => 'eth3',
|
73
|
-
'swift_loopback' => true,
|
74
|
-
'swift_ring_server' => '192.168.203.1',
|
75
|
-
'fixed_network_range' => '10.0.0.0/24',
|
76
|
-
'floating_network_range' => '10.0.1.0/24',
|
77
|
-
'controller_admin_host' => '172.16.0.1',
|
78
|
-
'controller_priv_host' => '172.16.0.1',
|
79
|
-
'controller_pub_host' => '172.16.1.1',
|
80
|
-
'mysql_host' => '172.16.0.1',
|
81
|
-
'mysql_virtual_ip' => '192.168.200.220',
|
82
|
-
'mysql_bind_address' => '0.0.0.0',
|
83
|
-
'mysql_virt_ip_nic' => 'eth1',
|
84
|
-
'mysql_virt_ip_cidr_mask' => '24',
|
85
|
-
'mysql_shared_storage_device' => '192.168.203.200:/mnt/mysql',
|
86
|
-
'mysql_shared_storage_type' => 'nfs',
|
87
|
-
'mysql_resource_group_name' => 'mysqlgrp',
|
88
|
-
'mysql_clu_member_addrs' => '192.168.203.11 192.168.203.12 192.168.203.13',
|
89
|
-
"amqp_server" => 'rabbitmq',
|
90
|
-
'amqp_host' => '172.16.0.1',
|
91
|
-
'amqp_username' => 'openstack',
|
92
|
-
'amqp_password' => SecureRandom.hex,
|
93
|
-
'admin_email' => "admin@#{Facter.value(:domain)}",
|
94
|
-
'neutron_metadata_proxy_secret' => SecureRandom.hex,
|
95
|
-
'enable_ovs_agent' => 'true',
|
96
|
-
'ovs_vlan_ranges' => '',
|
97
|
-
'ovs_bridge_mappings' => [],
|
98
|
-
'ovs_bridge_uplinks' => [],
|
99
|
-
'ovs_tunnel_iface' => 'eth0',
|
100
|
-
'tenant_network_type' => 'vxlan',
|
101
|
-
'enable_tunneling' => 'True',
|
102
|
-
'ovs_vxlan_udp_port' => '4789',
|
103
|
-
'ovs_tunnel_types' => ['vxlan'],
|
104
|
-
'auto_assign_floating_ip' => 'True',
|
105
|
-
'cisco_vswitch_plugin' => 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2',
|
106
|
-
'cisco_nexus_plugin' => 'neutron.plugins.cisco.nexus.cisco_nexus_plugin_v2.NexusPlugin',
|
107
|
-
'nexus_config' => {},
|
108
|
-
'nexus_credentials' => [],
|
109
|
-
'provider_vlan_auto_create' => 'false',
|
110
|
-
'provider_vlan_auto_trunk' => 'false',
|
111
|
-
'backend_server_names' => [],
|
112
|
-
'backend_server_addrs' => [],
|
113
|
-
'lb_backend_server_names' => [],
|
114
|
-
'lb_backend_server_addrs' => [],
|
115
|
-
'configure_ovswitch' => 'true',
|
116
|
-
'neutron' => 'false',
|
117
|
-
'ssl' => 'false',
|
118
|
-
'freeipa' => 'false',
|
119
|
-
'mysql_ca' => '/etc/ipa/ca.crt',
|
120
|
-
'mysql_cert' => '/etc/pki/tls/certs/PRIV_HOST-mysql.crt',
|
121
|
-
'mysql_key' => '/etc/pki/tls/private/PRIV_HOST-mysql.key',
|
122
|
-
'amqp_ca' => '/etc/ipa/ca.crt',
|
123
|
-
'amqp_cert' => '/etc/pki/tls/certs/PRIV_HOST-amqp.crt',
|
124
|
-
'amqp_key' => '/etc/pki/tls/private/PRIV_HOST-amqp.key',
|
125
|
-
'horizon_ca' => '/etc/ipa/ca.crt',
|
126
|
-
'horizon_cert' => '/etc/pki/tls/certs/PUB_HOST-horizon.crt',
|
127
|
-
'horizon_key' => '/etc/pki/tls/private/PUB_HOST-horizon.key',
|
128
|
-
'amqp_nssdb_password' => SecureRandom.hex,
|
129
|
-
'fence_xvm_key_file_password' => SecureRandom.hex,
|
130
|
-
'use_qemu_for_poc' => 'false',
|
131
|
-
'secret_key' => SecureRandom.hex,
|
132
|
-
'admin_token' => SecureRandom.hex,
|
133
|
-
}
|
134
|
-
|
135
|
-
get_key_type = lambda do |value|
|
136
|
-
key_list = LookupKey::KEY_TYPES
|
137
|
-
value_type = value.class.to_s.downcase
|
138
|
-
if key_list.include?(value_type)
|
139
|
-
value_type
|
140
|
-
elsif [FalseClass, TrueClass].include? value.class
|
141
|
-
'boolean'
|
142
|
-
end
|
143
|
-
# If we need to handle actual number classes like Fixnum, add those here
|
144
|
-
end
|
145
|
-
|
146
|
-
|
147
|
-
# key (:ha, etc) is only used internally for referencing from roles
|
148
|
-
layouts = {
|
149
|
-
:ha_nova => Staypuft::Layout.where(:name => 'Distributed with High Availability',
|
150
|
-
:networking => 'nova').first_or_create!,
|
151
|
-
:non_ha_nova => Staypuft::Layout.where(:name => 'Distributed',
|
152
|
-
:networking => 'nova').first_or_create!,
|
153
|
-
:ha_neutron => Staypuft::Layout.where(:name => 'Distributed with High Availability',
|
154
|
-
:networking => 'neutron').first_or_create!,
|
155
|
-
:non_ha_neutron => Staypuft::Layout.where(:name => 'Distributed',
|
156
|
-
:networking => 'neutron').first_or_create!,
|
157
|
-
}
|
158
|
-
|
159
|
-
# services don't have puppetclasses yet, since they aren't broken out on the back end
|
160
|
-
services = {
|
161
|
-
:non_ha_amqp => { :name => 'AMQP (non-HA)', :class => [] },
|
162
|
-
:mysql => { :name => 'MySQL', :class => [] },
|
163
|
-
:non_ha_keystone => { :name => 'Keystone (non-HA)', :class => [] },
|
164
|
-
:nova_controller => { :name => 'Nova (Controller)', :class => [] },
|
165
|
-
:neutron_controller => { :name => 'Neutron (Controller)', :class => [] },
|
166
|
-
:non_ha_glance => { :name => 'Glance (non-HA)', :class => [] },
|
167
|
-
:cinder_controller => { :name => 'Cinder (controller)', :class => [] },
|
168
|
-
:cinder_node => { :name => 'Cinder (node)', :class => ['quickstack::storage_backend::cinder'] },
|
169
|
-
:heat => { :name => 'Heat', :class => [] },
|
170
|
-
:ceilometer => { :name => 'Ceilometer', :class => [] },
|
171
|
-
:neutron_networker => { :name => 'Neutron Networker', :class => ['quickstack::neutron::networker'] },
|
172
|
-
:nova_compute => { :name => 'Nova-compute', :class => ['quickstack::nova_network::compute'] },
|
173
|
-
:neutron_compute => { :name => 'Neutron-compute', :class => ['quickstack::neutron::compute'] },
|
174
|
-
:swift => { :name => 'Swift (node)', :class => ['quickstack::swift::storage'] },
|
175
|
-
:ha_controller => { :name => 'HA (Controller)',
|
176
|
-
:class => ['quickstack::openstack_common',
|
177
|
-
'quickstack::pacemaker::common',
|
178
|
-
'quickstack::pacemaker::params'] },
|
179
|
-
:keystone_ha => { :name => 'Keystone (HA)',
|
180
|
-
:class => ['quickstack::pacemaker::keystone'] },
|
181
|
-
:load_balancer_ha => { :name => 'Load Balancer (HA)',
|
182
|
-
:class => ['quickstack::pacemaker::load_balancer'] },
|
183
|
-
:memcached_ha => { :name => 'Memcached (HA)',
|
184
|
-
:class => ['quickstack::pacemaker::memcached'] },
|
185
|
-
:qpid_ha => { :name => 'qpid (HA)', :class => ['quickstack::pacemaker::qpid'] },
|
186
|
-
:glance_ha => { :name => 'Glance (HA)', :class => ['quickstack::pacemaker::glance'] },
|
187
|
-
:nova_ha => { :name => 'Nova (HA)', :class => ['quickstack::pacemaker::nova'] },
|
188
|
-
:heat_ha => { :name => 'Heat (HA)', :class => ['quickstack::pacemaker::heat'] },
|
189
|
-
:cinder_ha => { :name => 'Cinder (HA)', :class => ['quickstack::pacemaker::cinder'] },
|
190
|
-
:swift_ha => { :name => 'Swift (HA)', :class => ['quickstack::pacemaker::swift'] },
|
191
|
-
:horizon_ha => { :name => 'Horizon (HA)', :class => ['quickstack::pacemaker::horizon'] },
|
192
|
-
:mysql_ha => { :name => 'Mysql (HA)', :class => ['quickstack::pacemaker::mysql'] },
|
193
|
-
:neutron_ha => { :name => 'Neutron (HA)', :class => ['quickstack::pacemaker::neutron'] }
|
194
|
-
}
|
195
|
-
services.each do |key, service_hash|
|
196
|
-
service = Staypuft::Service.where(:name => service_hash[:name]).first_or_create!
|
197
|
-
|
198
|
-
# set params in puppetclass
|
199
|
-
puppet_class_names = service_hash[:class].kind_of?(Array) ? service_hash[:class] : [service_hash[:class]]
|
200
|
-
service.puppetclasses = puppet_class_names.collect do |puppet_class_name|
|
201
|
-
puppet_class = Puppetclass.find_by_name puppet_class_name
|
202
|
-
# skip if puppet class isn't found (yet)
|
203
|
-
if puppet_class
|
204
|
-
puppet_class.class_params.each do |p|
|
205
|
-
if params.include?(p.key)
|
206
|
-
p.key_type = get_key_type.(params[p.key])
|
207
|
-
p.default_value = params[p.key]
|
208
|
-
end
|
209
|
-
p.override = true
|
210
|
-
p.save!
|
211
|
-
end
|
212
|
-
puppet_class
|
213
|
-
end
|
214
|
-
end.compact
|
215
|
-
|
216
|
-
service.description = service_hash[:description]
|
217
|
-
service.save!
|
218
|
-
service_hash[:obj] = service
|
219
|
-
end
|
220
|
-
|
221
|
-
# The list of roles is still from astapor
|
222
|
-
# FIXME for now layouts are different based on Nova vs. Neutron networks. This is
|
223
|
-
# actually incorrect, but it's a placeholder example of how layouts might differ
|
224
|
-
# until we get the real list of roles per layout
|
225
|
-
# layout refs below specify layout keys from layouts hash
|
226
|
-
roles = [
|
227
|
-
{ :name => 'Controller (Nova)',
|
228
|
-
:class => 'quickstack::nova_network::controller',
|
229
|
-
:layouts => [[:non_ha_nova, 1]],
|
230
|
-
:services => [:non_ha_amqp, :mysql, :non_ha_keystone, :nova_controller, :non_ha_glance,
|
231
|
-
:cinder_controller, :heat, :ceilometer] },
|
232
|
-
{ :name => 'Compute (Nova)',
|
233
|
-
:class => [],
|
234
|
-
:layouts => [[:ha_nova, 10], [:non_ha_nova, 10]],
|
235
|
-
:services => [:nova_compute] },
|
236
|
-
{ :name => 'Controller (Neutron)',
|
237
|
-
:class => 'quickstack::neutron::controller',
|
238
|
-
:layouts => [[:non_ha_neutron, 1]],
|
239
|
-
:services => [:non_ha_amqp, :mysql, :non_ha_keystone, :neutron_controller, :non_ha_glance,
|
240
|
-
:cinder_controller, :heat, :ceilometer] },
|
241
|
-
{ :name => 'Compute (Neutron)',
|
242
|
-
:class => [],
|
243
|
-
:layouts => [[:ha_neutron, 10], [:non_ha_neutron, 10]],
|
244
|
-
:services => [:neutron_compute] },
|
245
|
-
{ :name => 'Neutron Networker',
|
246
|
-
:class => [],
|
247
|
-
:layouts => [[:non_ha_neutron, 3]],
|
248
|
-
:services => [:neutron_networker] },
|
249
|
-
{ :name => 'Cinder Block Storage',
|
250
|
-
:class => [],
|
251
|
-
:layouts => [[:ha_nova, 2], [:ha_neutron, 2], [:non_ha_nova, 2], [:non_ha_neutron, 2]],
|
252
|
-
:services => [:cinder_node] },
|
253
|
-
{ :name => 'Swift Storage Node',
|
254
|
-
:class => [],
|
255
|
-
:layouts => [[:ha_nova, 5], [:ha_neutron, 5], [:non_ha_nova, 5], [:non_ha_neutron, 5]],
|
256
|
-
:services => [:swift] },
|
257
|
-
{ :name => 'HA Controller',
|
258
|
-
:class => [],
|
259
|
-
:layouts => [[:ha_nova, 1], [:ha_neutron, 1]],
|
260
|
-
:services => [:ha_controller, :keystone_ha, :load_balancer_ha, :memcached_ha, :qpid_ha,
|
261
|
-
:glance_ha, :nova_ha, :heat_ha, :cinder_ha, :swift_ha, :horizon_ha, :mysql_ha,
|
262
|
-
:neutron_ha] }
|
263
|
-
]
|
264
|
-
|
265
|
-
roles.each do |role_hash|
|
266
|
-
#create role
|
267
|
-
role = Staypuft::Role.where(:name => role_hash[:name]).first_or_create!
|
268
|
-
|
269
|
-
# set params in puppetclass
|
270
|
-
puppet_class_names = role_hash[:class].kind_of?(Array) ? role_hash[:class] : [role_hash[:class]]
|
271
|
-
role.puppetclasses = puppet_class_names.collect do |puppet_class_name|
|
272
|
-
puppet_class = Puppetclass.find_by_name puppet_class_name
|
273
|
-
|
274
|
-
# skip if puppet class isn't found (yet)
|
275
|
-
if puppet_class
|
276
|
-
puppet_class.class_params.each do |param|
|
277
|
-
if params.include?(param.key)
|
278
|
-
param.key_type = get_key_type.(params[param.key])
|
279
|
-
param.default_value = params[param.key]
|
280
|
-
end
|
281
|
-
param.override = true
|
282
|
-
param.save!
|
283
|
-
end
|
284
|
-
puppet_class
|
285
|
-
else
|
286
|
-
Rails.logger.warn "no puppet_class: #{puppet_class_name} found"
|
287
|
-
nil
|
288
|
-
end
|
289
|
-
end.compact
|
290
|
-
|
291
|
-
role.description = role_hash[:description]
|
292
|
-
old_role_services_arr = role.role_services.to_a
|
293
|
-
role_hash[:services].each do |key|
|
294
|
-
role_service = role.role_services.where(:service_id => services[key][:obj].id).first_or_create!
|
295
|
-
old_role_services_arr.delete(role_service)
|
296
|
-
end
|
297
|
-
|
298
|
-
# delete any prior mappings that remain
|
299
|
-
old_role_services_arr.each do |role_service|
|
300
|
-
role.services.destroy(role_service.service)
|
301
|
-
end
|
302
|
-
role.save!
|
303
|
-
old_layout_roles_arr = role.layout_roles.to_a
|
304
|
-
role_hash[:layouts].each do |layout, deploy_order|
|
305
|
-
layout_role = role.layout_roles.where(:layout_id => layouts[layout].id).first_or_initialize
|
306
|
-
layout_role.deploy_order = deploy_order
|
307
|
-
layout_role.save!
|
308
|
-
old_layout_roles_arr.delete(layout_role)
|
309
|
-
end
|
310
|
-
# delete any prior mappings that remain
|
311
|
-
old_layout_roles_arr.each do |layout_role|
|
312
|
-
role.layouts.destroy(layout_role.layout)
|
313
|
-
end
|
314
|
-
end
|
1
|
+
Staypuft::Seeder.new.seed
|
data/lib/staypuft/engine.rb
CHANGED
@@ -33,6 +33,7 @@ module Staypuft
|
|
33
33
|
::Puppetclass.send :include, Staypuft::Concerns::PuppetclassExtensions
|
34
34
|
::Hostgroup.send :include, Staypuft::Concerns::HostgroupExtensions
|
35
35
|
::Environment.send :include, Staypuft::Concerns::EnvironmentExtensions
|
36
|
+
::LookupKey.send :include, Staypuft::Concerns::LookupKeyExtensions
|
36
37
|
end
|
37
38
|
|
38
39
|
rake_tasks do
|
data/lib/staypuft/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: staypuft
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Staypuft team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: foreman-tasks
|
@@ -98,13 +98,24 @@ files:
|
|
98
98
|
- app/lib/staypuft/deployment_param_exporter.rb
|
99
99
|
- app/lib/staypuft/deployment_param_importer.rb
|
100
100
|
- app/lib/staypuft/exception.rb
|
101
|
+
- app/lib/staypuft/seeder.rb
|
101
102
|
- app/models/setting/staypuft_provisioning.rb
|
102
103
|
- app/models/staypuft/concerns/environment_extensions.rb
|
103
104
|
- app/models/staypuft/concerns/host_open_stack_affiliation.rb
|
104
105
|
- app/models/staypuft/concerns/host_orchestration_build_hook.rb
|
105
106
|
- app/models/staypuft/concerns/hostgroup_extensions.rb
|
107
|
+
- app/models/staypuft/concerns/lookup_key_extensions.rb
|
106
108
|
- app/models/staypuft/concerns/puppetclass_extensions.rb
|
107
109
|
- app/models/staypuft/deployment.rb
|
110
|
+
- app/models/staypuft/deployment/abstract_param_scope.rb
|
111
|
+
- app/models/staypuft/deployment/attribute_param_storage.rb
|
112
|
+
- app/models/staypuft/deployment/cinder_service.rb
|
113
|
+
- app/models/staypuft/deployment/glance_service.rb
|
114
|
+
- app/models/staypuft/deployment/ips.rb
|
115
|
+
- app/models/staypuft/deployment/neutron_service.rb
|
116
|
+
- app/models/staypuft/deployment/nova_service.rb
|
117
|
+
- app/models/staypuft/deployment/passwords.rb
|
118
|
+
- app/models/staypuft/deployment/vips.rb
|
108
119
|
- app/models/staypuft/deployment_role_hostgroup.rb
|
109
120
|
- app/models/staypuft/layout.rb
|
110
121
|
- app/models/staypuft/layout_role.rb
|
@@ -115,15 +126,23 @@ files:
|
|
115
126
|
- app/models/staypuft/service/ui_params.rb
|
116
127
|
- app/models/staypuft/service_class.rb
|
117
128
|
- app/overrides/hide_subscription_manager_passwords.rb
|
129
|
+
- app/views/staypuft/deployments/_assigned_hosts_table.html.erb
|
130
|
+
- app/views/staypuft/deployments/_deployed_hosts_table.html.erb
|
131
|
+
- app/views/staypuft/deployments/_free_hosts_table.html.erb
|
118
132
|
- app/views/staypuft/deployments/_import_form.html.erb
|
133
|
+
- app/views/staypuft/deployments/edit.html.erb
|
119
134
|
- app/views/staypuft/deployments/index.html.erb
|
120
135
|
- app/views/staypuft/deployments/show.html.erb
|
121
136
|
- app/views/staypuft/deployments/summary.html.erb
|
122
137
|
- app/views/staypuft/layouts/staypuft.html.erb
|
138
|
+
- app/views/staypuft/steps/_cinder.html.erb
|
139
|
+
- app/views/staypuft/steps/_glance.html.erb
|
140
|
+
- app/views/staypuft/steps/_neutron.html.erb
|
141
|
+
- app/views/staypuft/steps/_nova.html.erb
|
123
142
|
- app/views/staypuft/steps/_title.html.erb
|
124
143
|
- app/views/staypuft/steps/deployment_settings.html.erb
|
125
144
|
- app/views/staypuft/steps/services_configuration.html.erb
|
126
|
-
- app/views/staypuft/steps/
|
145
|
+
- app/views/staypuft/steps/services_overview.html.erb
|
127
146
|
- config/routes.rb
|
128
147
|
- config/staypuft.local.rb
|
129
148
|
- db/migrate/20140309021811_create_staypuft_layouts.rb
|
@@ -143,6 +162,7 @@ files:
|
|
143
162
|
- db/migrate/20140507103716_add_form_step_to_staypuft_deployment.rb
|
144
163
|
- db/migrate/20140513124807_change_column_default_form_step_on_staypuft_deployment.rb
|
145
164
|
- db/migrate/20140602121501_add_amqp_provider_to_staypuft_deployment.rb
|
165
|
+
- db/migrate/20140623142500_remove_amqp_provider_from_staypuft_deployment.rb
|
146
166
|
- db/seeds.rb
|
147
167
|
- lib/staypuft.rb
|
148
168
|
- lib/staypuft/engine.rb
|