staypuft 0.5.0 → 0.5.1

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.
Files changed (30) hide show
  1. checksums.yaml +8 -8
  2. data/app/assets/javascripts/staypuft/staypuft.js +41 -0
  3. data/app/controllers/staypuft/steps_controller.rb +1 -1
  4. data/app/lib/staypuft/network_query.rb +17 -6
  5. data/app/lib/staypuft/seeder.rb +50 -262
  6. data/app/models/staypuft/deployment.rb +8 -32
  7. data/app/models/staypuft/deployment/cinder_service.rb +5 -17
  8. data/app/models/staypuft/deployment/glance_service.rb +2 -9
  9. data/app/models/staypuft/deployment/neutron_service.rb +10 -2
  10. data/app/models/staypuft/deployment/nova_service.rb +11 -2
  11. data/app/models/staypuft/deployment/passwords.rb +2 -2
  12. data/app/models/staypuft/service.rb +1 -21
  13. data/app/views/staypuft/deployments/_deployment_access_all_details_dialogue.html.erb +7 -18
  14. data/app/views/staypuft/deployments/_deployment_hosts.html.erb +1 -1
  15. data/app/views/staypuft/deployments/_deployment_show_header.html.erb +1 -4
  16. data/app/views/staypuft/deployments/_free_hosts.html.erb +2 -2
  17. data/app/views/staypuft/deployments/_free_hosts_table.html.erb +2 -2
  18. data/app/views/staypuft/interface_assignments/_nics_assignment_overview.html.erb +40 -0
  19. data/app/views/staypuft/interface_assignments/index.html.erb +5 -39
  20. data/app/views/staypuft/steps/_cinder.html.erb +0 -1
  21. data/app/views/staypuft/steps/_neutron.html.erb +6 -3
  22. data/app/views/staypuft/steps/_nova.html.erb +3 -0
  23. data/app/views/staypuft/steps/deployment_settings.html.erb +1 -2
  24. data/app/views/staypuft/steps/services_configuration.html.erb +1 -0
  25. data/app/views/staypuft/steps/services_overview.html.erb +1 -2
  26. data/lib/staypuft/version.rb +1 -1
  27. metadata +5 -7
  28. data/app/models/staypuft/service/ui_params.rb +0 -128
  29. data/app/views/staypuft/steps/_neutron_non_ha.html.erb +0 -41
  30. data/app/views/staypuft/steps/_nova_non_ha.html.erb +0 -29
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDYwM2Y4Nzc0YWE3Y2NjMGU2MzEwNDg3MTU0ZjY2Y2IzYjBhNzc3Ng==
4
+ MDZhMjQ5YWJmZTcwY2ZiYWVjNzdiZWMyNDM1MzBlZDA0YTFkYzgzMQ==
5
5
  data.tar.gz: !binary |-
6
- NDcyMjFkN2Q5OWZhZDU0MzA0M2RmOWM2ZjkyMTFlZTAyNmFmZDhhMw==
6
+ ZTNjYWI1NjQ5NDVjNTNkZDU2NjI4ZjAzMjI3NzY5MTk5OTRmYzNhNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWRlZWU5YWMzMjMyODcyMGIxZjRhNzIxYzJiNTEwZDhhZDNiMzFiNzcxYzQ1
10
- ZTEyNWYzNjY4YjI2NDMyM2I5MThjZGVmYWFhMWU0ZTI3ZTk3ZGUzMWQ4YWVh
11
- YjI4ZTE5NDE4NGYzMmQ3OGUyYjI4YWZhOGZjMzQzNWZkZTc5M2M=
9
+ YTA0NmYxNDZiZTAyNjQyYWRjNTAyZmI3MjI2YjNkOTYwZDk3MWI0ZGQxYjZl
10
+ ZjU1NWUxY2NhY2VmMzc1NjA4YzY2NDk2MDViOWEzOGE4YjRlYWMxMjA2MTBi
11
+ YjMzZWYzMjNjMTUxZWQ1OWNjODI1ZGJhNTExOWEzYjZjMjk5NzY=
12
12
  data.tar.gz: !binary |-
13
- NGNmYzQwOWE5NDUxOTFjMTc5NzllNmI0NzAyNmYxZDA4ZGFmNjY4ZTY4ZDJj
14
- NjQyZTdlYWI2ZWQ5MWE0OGM0MjFhMTA1OTFkN2UwYjEyMWZkZTc2ZGI2Mzc0
15
- MGFlNDFmNjYyODdkNmUxOThlZjc1ZGVkNDA2MDliYmZlYTBiMTM=
13
+ MDZhOGFmMTNjN2M1YTAwMGEzZjgzYmJiYmQ5NzBhZGFmNzY4MWU5MjI2ZWEw
14
+ MmI1ZDc4YTljMDViZjg3NTNlZTJhZDE3ZjBhYmE1MGNmZmRkNTdjMDNmYmI1
15
+ ODg4YTY0MGJlM2M4MTUzOWIyNjVkNGRjYzIzOGI3M2QxOTQ0OTc=
@@ -115,6 +115,18 @@ $(function () {
115
115
  }
116
116
  }
117
117
 
118
+ showTenantNetworkType();
119
+ $("#staypuft_deployment_neutron_ml2_openvswitch").change(showTenantNetworkType);
120
+ function showTenantNetworkType() {
121
+ $('.neutron_ml2_mechanisms').parent().parent().removeClass('col-md-6').addClass('col-md-8');
122
+ if($("#staypuft_deployment_neutron_ml2_openvswitch").is(":checked")) {
123
+ $("#staypuft_deployment_neutron_ml2_openvswitch").parent().after($("label[for='network_segmentation']").parent())
124
+ $("label[for='network_segmentation']").parent().fadeIn(duration);
125
+ } else {
126
+ $("label[for='network_segmentation']").parent().fadeOut(duration);
127
+ }
128
+ }
129
+
118
130
  showNeutronN1kvParameters();
119
131
  $("input[name='staypuft_deployment[neutron][core_plugin]']").change(showNeutronN1kvParameters);
120
132
  function showNeutronN1kvParameters() {
@@ -138,6 +150,35 @@ $(function () {
138
150
  }
139
151
  }
140
152
 
153
+ showControllerWarning("glance");
154
+ showControllerWarning("cinder");
155
+ $("input[name='staypuft_deployment[glance][driver_backend]'").change(function(){
156
+ console.log("glance");
157
+ showControllerWarning("glance")
158
+ });
159
+ $("#staypuft_deployment_cinder_backend_lvm").change(function(){
160
+ console.log("cinder");
161
+ showControllerWarning("cinder")
162
+ });
163
+ function showControllerWarning(which_warning) {
164
+ if(which_warning == "glance") {
165
+ if($("#staypuft_deployment_glance_driver_backend_local").is(":checked")) {
166
+ $('.glance-controller-warning').find(".replace").html(" (Local File)");
167
+ $('.glance-controller-warning').show();
168
+ } else {
169
+ $('.glance-controller-warning').hide();
170
+ }
171
+ }
172
+ if(which_warning == "cinder") {
173
+ if($("#staypuft_deployment_cinder_backend_lvm").is(":checked")) {
174
+ $('.cinder-controller-warning').find(".replace").html(" (LVM)");
175
+ $('.cinder-controller-warning').show();
176
+ } else {
177
+ $('.cinder-controller-warning').hide();
178
+ }
179
+ }
180
+ }
181
+
141
182
  showGlanceNfsNetworkPath();
142
183
  $("input[name='staypuft_deployment[glance][driver_backend]']").change(showGlanceNfsNetworkPath);
143
184
  function showGlanceNfsNetworkPath() {
@@ -10,7 +10,7 @@ module Staypuft
10
10
  when :deployment_settings
11
11
  @layouts = ordered_layouts
12
12
  when :services_overview
13
- if !@deployment.ha? && @deployment.cinder.lvm_ptable.nil?
13
+ if @deployment.cinder.lvm_ptable.nil?
14
14
  flash[:warning] = "Missing Partition Table 'LVM with cinder-volumes', LVM cinder backend won't work."
15
15
  end
16
16
  when :network_configuration
@@ -59,6 +59,14 @@ module Staypuft
59
59
  interface_hash_for_host(subnet_type_name, host)[:subnet]
60
60
  end
61
61
 
62
+ def mtu_for_tenant_subnet
63
+ mtu = @deployment.neutron_networking? ? @deployment.neutron.network_device_mtu : @deployment.nova.network_device_mtu
64
+ end
65
+
66
+ def tenant_subnet?(subnet, host=@host)
67
+ subnet == subnet_for_host(Staypuft::SubnetType::TENANT, host)
68
+ end
69
+
62
70
  def gateway_subnet(host=@host)
63
71
  gateway_hash_for_host(host)[:subnet]
64
72
  end
@@ -79,10 +87,6 @@ module Staypuft
79
87
  controllers.map { |controller| ip_for_host(subnet_type_name, controller) }
80
88
  end
81
89
 
82
- def controller_ip(subnet_type_name)
83
- ip_for_host(subnet_type_name, controllers.tap { |v| v.size == 1 or raise('only one controller is allowed') }.first)
84
- end
85
-
86
90
  def controller_fqdns
87
91
  controllers.map &:fqdn
88
92
  end
@@ -91,6 +95,12 @@ module Staypuft
91
95
  controllers.map &:shortname
92
96
  end
93
97
 
98
+ def controller_pcmk_shortnames
99
+ controllers.map do |controller|
100
+ "pcmk-"+controller.shortname
101
+ end
102
+ end
103
+
94
104
  def get_vip(vip_name)
95
105
  if VIP_NAMES[vip_name]
96
106
  interface = @deployment.vip_nics.where(:tag => vip_name).first
@@ -100,8 +110,9 @@ module Staypuft
100
110
 
101
111
  class Jail < Safemode::Jail
102
112
  allow :ip_for_host, :interface_for_host, :network_address_for_host,
103
- :controller_ip, :controller_ips, :controller_fqdns, :get_vip,
104
- :subnet_for_host, :gateway_subnet, :gateway_interface, :gateway_interface_mac
113
+ :controller_ip, :controller_ips, :controller_fqdns, :get_vip, :controller_pcmk_shortnames,
114
+ :subnet_for_host, :gateway_subnet, :gateway_interface, :gateway_interface_mac,
115
+ :tenant_subnet?, :mtu_for_tenant_subnet
105
116
  end
106
117
 
107
118
  private
@@ -58,51 +58,39 @@ module Staypuft
58
58
  }
59
59
 
60
60
  # key (:ha, etc) is only used internally for referencing from roles
61
- LAYOUTS = { :ha_nova => { :name => 'High Availability Controllers / Compute',
62
- :networking => 'nova' },
63
- :non_ha_nova => { :name => 'Controller / Compute',
64
- :networking => 'nova' },
65
- :ha_neutron => { :name => 'High Availability Controllers / Compute',
66
- :networking => 'neutron' },
67
- :non_ha_neutron => { :name => 'Controller / Compute',
68
- :networking => 'neutron' } }
61
+ LAYOUTS = { :nova => { :name => 'Controllers / Compute',
62
+ :networking => 'nova' },
63
+ :neutron => { :name => 'Controllers / Compute',
64
+ :networking => 'neutron' } }
69
65
 
70
66
  # some services don't have puppetclasses yet, since they aren't broken out on the back end
71
67
  SERVICES = {
72
- :non_ha_amqp => { :name => 'AMQP (non-HA)', :class => [] },
73
- :mysql => { :name => 'MySQL', :class => [] },
74
- :non_ha_keystone => { :name => 'Keystone (non-HA)', :class => [] },
75
- :nova_controller => { :name => 'Nova (Controller)', :class => [] },
76
- :neutron_controller => { :name => 'Neutron (Controller)', :class => [] },
77
- :non_ha_glance => { :name => 'Glance (non-HA)', :class => [] },
78
- :cinder_controller => { :name => 'Cinder (controller)', :class => [] },
79
68
  :cinder_node => { :name => 'Cinder (node)', :class => ['quickstack::storage_backend::cinder'] },
80
- :heat => { :name => 'Heat', :class => [] },
81
- :ceilometer => { :name => 'Ceilometer', :class => [] },
82
- :neutron_networker => { :name => 'Neutron Networker', :class => ['quickstack::neutron::networker'] },
83
69
  :nova_compute => { :name => 'Nova-compute', :class => ['quickstack::nova_network::compute'] },
84
70
  :neutron_compute => { :name => 'Neutron-compute', :class => ['quickstack::neutron::compute'] },
85
- :swift => { :name => 'Swift (node)', :class => ['quickstack::swift::storage'] },
86
- :ha_controller => { :name => 'HA (Controller)',
71
+ :swift_node => { :name => 'Swift (node)', :class => ['quickstack::swift::storage'] },
72
+ :controller => { :name => 'Controller',
87
73
  :class => ['quickstack::openstack_common',
88
74
  'quickstack::pacemaker::common',
89
75
  'quickstack::pacemaker::params'] },
90
- :keystone_ha => { :name => 'Keystone (HA)',
76
+ :keystone => { :name => 'Keystone',
91
77
  :class => ['quickstack::pacemaker::keystone'] },
92
- :load_balancer_ha => { :name => 'Load Balancer (HA)',
78
+ :load_balancer => { :name => 'Load Balancer',
93
79
  :class => ['quickstack::pacemaker::load_balancer'] },
94
- :memcached_ha => { :name => 'Memcached (HA)',
80
+ :memcached => { :name => 'Memcached',
95
81
  :class => ['quickstack::pacemaker::memcached'] },
96
- :qpid_ha => { :name => 'qpid (HA)', :class => ['quickstack::pacemaker::qpid'] },
97
- :glance_ha => { :name => 'Glance (HA)', :class => ['quickstack::pacemaker::glance'] },
98
- :nova_ha => { :name => 'Nova (HA)', :class => ['quickstack::pacemaker::nova'] },
99
- :heat_ha => { :name => 'Heat (HA)', :class => ['quickstack::pacemaker::heat'] },
100
- :cinder_ha => { :name => 'Cinder (HA)', :class => ['quickstack::pacemaker::cinder'] },
101
- :swift_ha => { :name => 'Swift (HA)', :class => ['quickstack::pacemaker::swift'] },
102
- :horizon_ha => { :name => 'Horizon (HA)', :class => ['quickstack::pacemaker::horizon'] },
103
- :galera_ha => { :name => 'Galera (HA)', :class => ['quickstack::pacemaker::galera'] },
104
- :mysql_ha => { :name => 'Mysql (HA)', :class => ['quickstack::pacemaker::mysql'] },
105
- :neutron_ha => { :name => 'Neutron (HA)', :class => ['quickstack::pacemaker::neutron'] },
82
+ :qpid => { :name => 'qpid', :class => ['quickstack::pacemaker::qpid'] },
83
+ :glance => { :name => 'Glance', :class => ['quickstack::pacemaker::glance'] },
84
+ :nova => { :name => 'Nova', :class => ['quickstack::pacemaker::nova'] },
85
+ :heat => { :name => 'Heat', :class => ['quickstack::pacemaker::heat'] },
86
+ :cinder => { :name => 'Cinder', :class => ['quickstack::pacemaker::cinder'] },
87
+ :swift => { :name => 'Swift', :class => ['quickstack::pacemaker::swift'] },
88
+ :horizon => { :name => 'Horizon', :class => ['quickstack::pacemaker::horizon'] },
89
+ :galera => { :name => 'Galera', :class => ['quickstack::pacemaker::galera'] },
90
+ :mysql => { :name => 'Mysql', :class => ['quickstack::pacemaker::mysql'] },
91
+ :ceilometer => { :name => 'Ceilometer', :class => ['quickstack::pacemaker::nosql',
92
+ 'quickstack::pacemaker::ceilometer'] },
93
+ :neutron => { :name => 'Neutron', :class => ['quickstack::pacemaker::neutron'] },
106
94
  :generic_rhel_7 => { :name => 'Generic RHEL 7', :class => ['quickstack::openstack_common'] },
107
95
  :ceph_osd => { :name => 'Ceph Storage (OSD) (node)',
108
96
  :class => ['quickstack::openstack_common',
@@ -116,33 +104,16 @@ module Staypuft
116
104
  # until we get the real list of roles per layout
117
105
  # layout refs below specify layout keys from layouts hash
118
106
  ROLES = [
119
- { :name => 'Controller (Nova)',
120
- :class => 'quickstack::nova_network::controller',
121
- :layouts => [[:non_ha_nova, 1]],
122
- :services => [:non_ha_amqp, :mysql, :non_ha_keystone, :nova_controller, :non_ha_glance,
123
- :cinder_controller, :heat, :ceilometer],
124
- :orchestration => 'concurrent' },
125
107
  { :name => 'Compute (Nova)',
126
108
  :class => [],
127
- :layouts => [[:ha_nova, 10], [:non_ha_nova, 10]],
109
+ :layouts => [[:nova, 10]],
128
110
  :services => [:nova_compute],
129
111
  :orchestration => 'leader' },
130
- { :name => 'Controller (Neutron)',
131
- :class => 'quickstack::neutron::controller',
132
- :layouts => [[:non_ha_neutron, 1]],
133
- :services => [:non_ha_amqp, :mysql, :non_ha_keystone, :neutron_controller, :non_ha_glance,
134
- :cinder_controller, :heat, :ceilometer],
135
- :orchestration => 'concurrent' },
136
112
  { :name => 'Compute (Neutron)',
137
113
  :class => [],
138
- :layouts => [[:ha_neutron, 10], [:non_ha_neutron, 10]],
114
+ :layouts => [[:neutron, 10]],
139
115
  :services => [:neutron_compute],
140
116
  :orchestration => 'concurrent' },
141
- { :name => 'Neutron Networker',
142
- :class => [],
143
- :layouts => [[:non_ha_neutron, 3]],
144
- :services => [:neutron_networker],
145
- :orchestration => 'concurrent' },
146
117
  { :name => 'Cinder Block Storage',
147
118
  :class => [],
148
119
  :layouts => [],
@@ -153,21 +124,21 @@ module Staypuft
153
124
  :layouts => [],
154
125
  :services => [:swift],
155
126
  :orchestration => 'concurrent' },
156
- { :name => 'HA Controller',
127
+ { :name => 'Controller',
157
128
  :class => [],
158
- :layouts => [[:ha_nova, 1], [:ha_neutron, 1]],
159
- :services => [:ha_controller, :keystone_ha, :load_balancer_ha, :memcached_ha, :qpid_ha,
160
- :glance_ha, :nova_ha, :heat_ha, :cinder_ha, :swift_ha, :horizon_ha, :mysql_ha,
161
- :neutron_ha, :galera_ha],
129
+ :layouts => [[:nova, 1], [:neutron, 1]],
130
+ :services => [:controller, :keystone, :load_balancer, :memcached, :qpid,
131
+ :glance, :nova, :heat, :cinder, :swift, :horizon, :mysql,
132
+ :neutron, :galera, :ceilometer],
162
133
  :orchestration => 'concurrent' },
163
134
  { :name => 'Generic RHEL 7',
164
135
  :class => '',
165
- :layouts => [[:non_ha_nova, 20],[:non_ha_neutron, 20], [:ha_nova, 20], [:ha_neutron, 20]],
136
+ :layouts => [[:nova, 20], [:neutron, 20]],
166
137
  :services => [:generic_rhel_7],
167
138
  :orchestration => 'concurrent' },
168
139
  { :name => 'Ceph Storage Node (OSD)',
169
140
  :class => '',
170
- :layouts => [[:non_ha_nova, 20], [:non_ha_neutron, 20], [:ha_nova, 20], [:ha_neutron, 20]],
141
+ :layouts => [[:nova, 20], [:neutron, 20]],
171
142
  :services => [:ceph_osd],
172
143
  :orchestration => 'concurrent' },
173
144
  ]
@@ -233,7 +204,7 @@ module Staypuft
233
204
  }
234
205
 
235
206
  def get_host_format(param_name, subnet_type_name)
236
- { :string => "<%= d = @host.deployment; d.ha? ? d.network_query.get_vip(:#{param_name}) : d.network_query.controller_ip('#{subnet_type_name}') %>" }
207
+ { :string => "<%= @host.deployment.network_query.get_vip(:#{param_name}) %>" }
237
208
  end
238
209
 
239
210
  # virtual ip addresses
@@ -244,7 +215,7 @@ module Staypuft
244
215
  def functional_dependencies
245
216
  amqp_provider = { :string => '<%= @host.deployment.amqp_provider %>' }
246
217
  neutron = { :string => '<%= @host.deployment.neutron_networking? %>' }
247
- ceilometer = { :string => '<%= @host.deployment.non_ha? %>' }
218
+ ceilometer = true
248
219
 
249
220
  # Nova
250
221
  network_manager = { :string => '<%= @host.deployment.nova.network_manager %>' }
@@ -264,6 +235,7 @@ module Staypuft
264
235
  'quota_fixed_ips' => 'default',
265
236
  'quota_driver' => 'default' }
266
237
  }
238
+ nova_network_device_mtu = { :string => '<%= @host.deployment.nova.network_device_mtu %>' }
267
239
 
268
240
  # Neutron
269
241
  ovs_vlan_ranges = { :array => '<%= @host.deployment.neutron.networker_vlan_ranges %>' }
@@ -272,7 +244,6 @@ module Staypuft
272
244
  tenant_network_type = '<%= @host.deployment.neutron.network_segmentation %>'
273
245
  ml2_tenant_network_types = [ tenant_network_type ]
274
246
  ml2_tunnel_id_ranges = ['10:1000']
275
- ml2_vni_ranges = ['10:1000']
276
247
  ml2_mechanism_drivers = { :array => '<%= @host.deployment.neutron.ml2_mechanisms %>' }
277
248
  ovs_tunnel_types = { :array => '<%= @host.deployment.neutron.ovs_tunnel_types %>' }
278
249
  ovs_tunnel_iface = { :string => '<%= n = @host.deployment.neutron; n.enable_tunneling? ? n.tenant_iface(@host) : "" %>' }
@@ -293,6 +264,7 @@ module Staypuft
293
264
  'quota_security_group_rule' => 'default',
294
265
  'network_auto_schedule' => 'default' }
295
266
  }
267
+ neutron_network_device_mtu = { :string => '<%= @host.deployment.neutron.network_device_mtu %>' }
296
268
 
297
269
  # Glance
298
270
  backend = { :string => '<%= @host.deployment.glance.backend %>' }
@@ -301,24 +273,17 @@ module Staypuft
301
273
  pcmk_fs_dir = '/var/lib/glance/images'
302
274
  pcmk_fs_manage = { :string => '<%= @host.deployment.glance.pcmk_fs_manage %>' }
303
275
  pcmk_fs_options = { :string => '<%= @host.deployment.glance.pcmk_fs_options %>' }
304
- glance_rbd_store_user = 'images'
305
- glance_rbd_store_pool = 'images'
306
276
 
307
277
  # Cinder
308
278
  volume = true
309
279
  cinder_backend_gluster = false
310
- cinder_backend_gluster_name = 'gluster'
311
280
  cinder_backend_iscsi = { :string => '<%= @host.deployment.cinder.lvm_backend? %>' }
312
- cinder_backend_iscsi_name = 'iscsi'
313
281
  cinder_backend_nfs = { :string => '<%= @host.deployment.cinder.nfs_backend? %>' }
314
- cinder_backend_nfs_name = 'nfs'
315
282
  cinder_multiple_backends = { :string => '<%= @host.deployment.cinder.multiple_backends? %>' }
316
- cinder_create_volume_types = true
317
283
  cinder_nfs_shares = ['<%= @host.deployment.cinder.nfs_uri %>']
318
284
  cinder_nfs_mount_options = 'nosharecache'
319
285
 
320
286
  cinder_backend_rbd = { :string => '<%= @host.deployment.cinder.ceph_backend? %>' }
321
- cinder_backend_rbd_name = 'rbd'
322
287
  cinder_rbd_pool = 'volumes'
323
288
  cinder_rbd_ceph_conf = '/etc/ceph/ceph.conf'
324
289
  cinder_rbd_flatten_volume_from_snapshot = 'false'
@@ -327,7 +292,6 @@ module Staypuft
327
292
  cinder_rbd_secret_uuid = { :string => '<%= @host.deployment.cinder.rbd_secret_uuid %>' }
328
293
 
329
294
  cinder_backend_eqlx = { :string => '<%= @host.deployment.cinder.equallogic_backend? %>' }
330
- cinder_backend_eqlx_name = { :array => '<%= @host.deployment.cinder.compute_eqlx_backend_names %>'}
331
295
  # TODO: confirm these params and add them to model where user input is needed
332
296
  # below dynamic calls are commented out since the model does not yet have san/chap entries
333
297
  cinder_san_ip = { :array => '<%= @host.deployment.cinder.compute_eqlx_san_ips %>' }
@@ -379,10 +343,8 @@ module Staypuft
379
343
  neutron_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:neutron_user) %>' }
380
344
  nova_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:nova_db) %>' }
381
345
  nova_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:nova_user) %>' }
382
- swift_admin_pw = { :string => '<%= @host.deployment.passwords.effective_value(:swift_admin) %>' }
383
346
  swift_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:swift_user) %>' }
384
347
  amqp_pw = { :string => '<%= @host.deployment.passwords.effective_value(:amqp) %>' }
385
- amqp_nssdb_pw = { :string => '<%= @host.deployment.passwords.effective_value(:amqp_nssdb) %>' }
386
348
  keystone_admin_token = { :string => '<%= @host.deployment.passwords.effective_value(:keystone_admin_token) %>' }
387
349
 
388
350
  #these don't share the user-supplied password value; they're always a random per param value
@@ -404,10 +366,6 @@ module Staypuft
404
366
  # public API
405
367
  nova_host = get_host_format :nova_public_vip, Staypuft::SubnetType::PUBLIC_API
406
368
 
407
- controller_admin_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::ADMIN_API}') %>"}
408
- controller_priv_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::MANAGEMENT}') %>"}
409
- controller_pub_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::PUBLIC_API}') %>"}
410
-
411
369
  fencing_type = { :string => '<%= (@host.bmc_nic && @host.bmc_nic.fencing_enabled?) ? @host.bmc_nic.attrs["fencing_type"] : "disabled" %>' }
412
370
  fence_ipmilan_address = { :string => '<%= @host.bmc_nic.ip if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
413
371
  fence_ipmilan_username = { :string => '<%= @host.bmc_nic.username if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
@@ -434,166 +392,6 @@ module Staypuft
434
392
  }
435
393
 
436
394
  {
437
- 'quickstack::nova_network::controller' => {
438
- 'amqp_provider' => amqp_provider,
439
- 'ceph_cluster_network' => ceph_cluster_network,
440
- 'ceph_public_network' => ceph_public_network,
441
- 'ceph_fsid' => ceph_fsid,
442
- 'ceph_images_key' => ceph_images_key,
443
- 'ceph_volumes_key' => ceph_volumes_key,
444
- 'ceph_mon_host' => ceph_mon_host,
445
- 'ceph_mon_initial_members' => ceph_mon_initial_members,
446
- 'cinder_backend_gluster' => cinder_backend_gluster,
447
- 'cinder_backend_gluster_name' => cinder_backend_gluster_name,
448
- 'cinder_backend_iscsi' => cinder_backend_iscsi,
449
- 'cinder_backend_iscsi_name' => cinder_backend_iscsi_name,
450
- 'cinder_backend_nfs' => cinder_backend_nfs,
451
- 'cinder_backend_nfs_name' => cinder_backend_nfs_name,
452
- 'cinder_backend_rbd' => cinder_backend_rbd,
453
- 'cinder_backend_rbd_name' => cinder_backend_rbd_name,
454
- 'cinder_backend_eqlx' => cinder_backend_eqlx,
455
- 'cinder_backend_eqlx_name' => cinder_backend_eqlx_name,
456
- 'cinder_multiple_backends' => cinder_multiple_backends,
457
- 'cinder_create_volume_types' => cinder_create_volume_types,
458
- 'cinder_nfs_shares' => cinder_nfs_shares,
459
- 'cinder_nfs_mount_options' => cinder_nfs_mount_options,
460
- 'cinder_rbd_pool' => cinder_rbd_pool,
461
- 'cinder_rbd_ceph_conf' => cinder_rbd_ceph_conf,
462
- 'cinder_rbd_flatten_volume_from_snapshot' => cinder_rbd_flatten_volume_from_snapshot,
463
- 'cinder_rbd_max_clone_depth' => cinder_rbd_max_clone_depth,
464
- 'cinder_rbd_user' => cinder_rbd_user,
465
- 'cinder_rbd_secret_uuid' => cinder_rbd_secret_uuid,
466
- 'cinder_san_ip' => cinder_san_ip,
467
- 'cinder_san_login' => cinder_san_login,
468
- 'cinder_san_password' => cinder_san_password,
469
- 'cinder_san_thin_provision' => cinder_san_thin_provision,
470
- 'cinder_eqlx_group_name' => cinder_eqlx_group_name,
471
- 'cinder_eqlx_pool' => cinder_eqlx_pool,
472
- 'cinder_eqlx_use_chap' => cinder_eqlx_use_chap,
473
- 'cinder_eqlx_chap_login' => cinder_eqlx_chap_login,
474
- 'cinder_eqlx_chap_password' => cinder_eqlx_chap_password,
475
- 'glance_backend' => backend,
476
- 'glance_rbd_store_user' => glance_rbd_store_user,
477
- 'glance_rbd_store_pool' => glance_rbd_store_pool,
478
- 'keystonerc' => keystonerc,
479
- 'admin_password' => admin_pw,
480
- 'ceilometer_user_password' => ceilometer_user_pw,
481
- 'cinder_db_password' => cinder_db_pw,
482
- 'cinder_user_password' => cinder_user_pw,
483
- 'glance_db_password' => glance_db_pw,
484
- 'glance_user_password' => glance_user_pw,
485
- 'heat_db_password' => heat_db_pw,
486
- 'heat_user_password' => heat_user_pw,
487
- 'keystone_db_password' => keystone_db_pw,
488
- 'mysql_root_password' => mysql_root_pw,
489
- 'nova_db_password' => nova_db_pw,
490
- 'nova_user_password' => nova_user_pw,
491
- 'swift_admin_password' => swift_admin_pw,
492
- 'amqp_password' => amqp_pw,
493
- 'amqp_nssdb_password' => amqp_nssdb_pw,
494
- 'keystone_admin_token' => keystone_admin_token,
495
- 'ceilometer_metering_secret' => ceilometer_metering,
496
- 'heat_auth_encrypt_key' => heat_auth_encrypt_key,
497
- 'horizon_secret_key' => horizon_secret_key,
498
- 'amqp_host' => amqp_host,
499
- 'mysql_host' => mysql_host,
500
- 'swift_shared_secret' => swift_shared_secret,
501
- 'swift_ringserver_ip' => '',
502
- 'swift_storage_ips' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
503
- 'cinder_gluster_shares' => [],
504
- 'controller_admin_host' => controller_admin_host,
505
- 'controller_priv_host' => controller_priv_host,
506
- 'controller_pub_host' => controller_pub_host },
507
- 'quickstack::neutron::controller' => {
508
- 'amqp_provider' => amqp_provider,
509
- 'ceph_cluster_network' => ceph_cluster_network,
510
- 'ceph_public_network' => ceph_public_network,
511
- 'ceph_fsid' => ceph_fsid,
512
- 'ceph_images_key' => ceph_images_key,
513
- 'ceph_volumes_key' => ceph_volumes_key,
514
- 'ceph_mon_host' => ceph_mon_host,
515
- 'ceph_mon_initial_members' => ceph_mon_initial_members,
516
- 'tenant_network_type' => tenant_network_type,
517
- 'ml2_network_vlan_ranges' => ml2_network_vlan_ranges,
518
- 'ml2_tenant_network_types' => ml2_tenant_network_types,
519
- 'ml2_tunnel_id_ranges' => ml2_tunnel_id_ranges,
520
- 'ml2_vni_ranges' => ml2_vni_ranges,
521
- 'ml2_mechanism_drivers' => ml2_mechanism_drivers,
522
- 'ovs_vlan_ranges' => ovs_vlan_ranges,
523
- 'enable_tunneling' => enable_tunneling,
524
- 'cinder_backend_gluster' => cinder_backend_gluster,
525
- 'cinder_backend_gluster_name' => cinder_backend_gluster_name,
526
- 'cinder_backend_iscsi' => cinder_backend_iscsi,
527
- 'cinder_backend_iscsi_name' => cinder_backend_iscsi_name,
528
- 'cinder_backend_nfs' => cinder_backend_nfs,
529
- 'cinder_backend_nfs_name' => cinder_backend_nfs_name,
530
- 'cinder_backend_rbd' => cinder_backend_rbd,
531
- 'cinder_backend_rbd_name' => cinder_backend_rbd_name,
532
- 'cinder_backend_eqlx' => cinder_backend_eqlx,
533
- 'cinder_backend_eqlx_name' => cinder_backend_eqlx_name,
534
- 'cinder_multiple_backends' => cinder_multiple_backends,
535
- 'cinder_create_volume_types' => cinder_create_volume_types,
536
- 'cinder_nfs_shares' => cinder_nfs_shares,
537
- 'cinder_nfs_mount_options' => cinder_nfs_mount_options,
538
- 'cinder_rbd_pool' => cinder_rbd_pool,
539
- 'cinder_rbd_ceph_conf' => cinder_rbd_ceph_conf,
540
- 'cinder_rbd_flatten_volume_from_snapshot' => cinder_rbd_flatten_volume_from_snapshot,
541
- 'cinder_rbd_max_clone_depth' => cinder_rbd_max_clone_depth,
542
- 'cinder_rbd_user' => cinder_rbd_user,
543
- 'cinder_rbd_secret_uuid' => cinder_rbd_secret_uuid,
544
- 'cinder_san_ip' => cinder_san_ip,
545
- 'cinder_san_login' => cinder_san_login,
546
- 'cinder_san_password' => cinder_san_password,
547
- 'cinder_san_thin_provision' => cinder_san_thin_provision,
548
- 'cinder_eqlx_group_name' => cinder_eqlx_group_name,
549
- 'cinder_eqlx_pool' => cinder_eqlx_pool,
550
- 'cinder_eqlx_use_chap' => cinder_eqlx_use_chap,
551
- 'cinder_eqlx_chap_login' => cinder_eqlx_chap_login,
552
- 'cinder_eqlx_chap_password' => cinder_eqlx_chap_password,
553
- 'glance_backend' => backend,
554
- 'glance_rbd_store_user' => glance_rbd_store_user,
555
- 'glance_rbd_store_pool' => glance_rbd_store_pool,
556
- 'keystonerc' => keystonerc,
557
- 'admin_password' => admin_pw,
558
- 'ceilometer_user_password' => ceilometer_user_pw,
559
- 'cinder_db_password' => cinder_db_pw,
560
- 'cinder_user_password' => cinder_user_pw,
561
- 'glance_db_password' => glance_db_pw,
562
- 'glance_user_password' => glance_user_pw,
563
- 'heat_db_password' => heat_db_pw,
564
- 'heat_user_password' => heat_user_pw,
565
- 'keystone_db_password' => keystone_db_pw,
566
- 'mysql_root_password' => mysql_root_pw,
567
- 'neutron_db_password' => neutron_db_pw,
568
- 'neutron_user_password' => neutron_user_pw,
569
- 'nova_db_password' => nova_db_pw,
570
- 'nova_user_password' => nova_user_pw,
571
- 'swift_admin_password' => swift_admin_pw,
572
- 'amqp_password' => amqp_pw,
573
- 'amqp_nssdb_password' => amqp_nssdb_pw,
574
- 'keystone_admin_token' => keystone_admin_token,
575
- 'ceilometer_metering_secret' => ceilometer_metering,
576
- 'heat_auth_encrypt_key' => heat_auth_encrypt_key,
577
- 'horizon_secret_key' => horizon_secret_key,
578
- 'swift_shared_secret' => swift_shared_secret,
579
- 'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret,
580
- 'amqp_host' => amqp_host,
581
- 'mysql_host' => mysql_host,
582
- 'swift_shared_secret' => swift_shared_secret,
583
- 'swift_ringserver_ip' => '',
584
- 'swift_storage_ips' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
585
- 'cinder_gluster_shares' => [],
586
- 'controller_admin_host' => controller_admin_host,
587
- 'controller_priv_host' => controller_priv_host,
588
- 'controller_pub_host' => controller_pub_host,
589
- 'nexus_config' => cisco_nexus_config,
590
- 'neutron_conf_additional_params' => neutron_conf_additional_params,
591
- 'nova_conf_additional_params' => nova_conf_additional_params,
592
- 'n1kv_plugin_additional_params' => n1kv_plugin_additional_params,
593
- 'n1kv_vsm_ip' => n1kv_vsm_ip,
594
- 'n1kv_vsm_password' => n1kv_vsm_password,
595
- 'security_group_api' => neutron_security_group_api,
596
- 'neutron_core_plugin' => neutron_core_plugin_module },
597
395
  'quickstack::pacemaker::params' => {
598
396
  'include_swift' => 'false',
599
397
  'include_neutron' => neutron,
@@ -658,12 +456,11 @@ module Staypuft
658
456
  'swift_public_vip' => vip_format(:swift_public_vip),
659
457
  'private_ip' => private_ip,
660
458
  'cluster_control_ip' => { :string => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}').first %>" },
661
- 'lb_backend_server_addrs' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
662
- 'lb_backend_server_names' => { :array => '<%= @host.deployment.network_query.controller_fqdns %>' },
459
+ 'lb_backend_server_addrs' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::CLUSTER_MGMT}') %>" },
460
+ 'lb_backend_server_names' => { :array => '<%= @host.deployment.network_query.controller_pcmk_shortnames %>' },
663
461
  'agent_type' => neutron_agent_type,
664
462
  'n1kv_plugin_additional_params' => n1kv_plugin_additional_params },
665
463
  'quickstack::pacemaker::common' => {
666
- 'pacemaker_cluster_members' => { :string => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::CLUSTER_MGMT}').join(' ') %>" },
667
464
  'fencing_type' => fencing_type,
668
465
  'fence_ipmilan_address' => fence_ipmilan_address,
669
466
  'fence_ipmilan_username' => fence_ipmilan_username,
@@ -691,7 +488,9 @@ module Staypuft
691
488
  'n1kv_plugin_additional_params' => n1kv_plugin_additional_params,
692
489
  'n1kv_vsm_ip' => n1kv_vsm_ip,
693
490
  'n1kv_vsm_password' => n1kv_vsm_password,
694
- 'security_group_api' => neutron_security_group_api },
491
+ 'security_group_api' => neutron_security_group_api,
492
+ 'network_device_mtu' => neutron_network_device_mtu,
493
+ },
695
494
  'quickstack::pacemaker::glance' => {
696
495
  'backend' => backend,
697
496
  'pcmk_fs_type' => pcmk_fs_type,
@@ -727,7 +526,8 @@ module Staypuft
727
526
  'quickstack::pacemaker::keystone' => {
728
527
  'keystonerc' => keystonerc,
729
528
  'admin_password' => admin_pw,
730
- 'admin_token' => keystone_admin_token },
529
+ 'admin_token' => keystone_admin_token,
530
+ 'ceilometer' => "false" },
731
531
  'quickstack::pacemaker::horizon' => {
732
532
  'secret_key' => horizon_secret_key },
733
533
  'quickstack::pacemaker::galera' => {
@@ -739,25 +539,6 @@ module Staypuft
739
539
  'quickstack::pacemaker::nova' => {
740
540
  'multi_host' => 'true',
741
541
  'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret },
742
- 'quickstack::neutron::networker' => {
743
- 'amqp_provider' => amqp_provider,
744
- 'enable_tunneling' => enable_tunneling,
745
- 'tenant_network_type' => tenant_network_type,
746
- 'ovs_bridge_mappings' => ovs_bridge_mappings,
747
- 'ovs_bridge_uplinks' => ovs_bridge_uplinks,
748
- 'ovs_tunnel_iface' => ovs_tunnel_iface,
749
- 'ovs_tunnel_types' => ovs_tunnel_types,
750
- 'ovs_vlan_ranges' => ovs_vlan_ranges,
751
- 'neutron_db_password' => neutron_db_pw,
752
- 'neutron_user_password' => neutron_user_pw,
753
- 'nova_db_password' => nova_db_pw,
754
- 'nova_user_password' => nova_user_pw,
755
- 'amqp_password' => amqp_pw,
756
- 'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret,
757
- 'amqp_host' => amqp_host,
758
- 'mysql_host' => mysql_host,
759
- 'controller_priv_host' => controller_priv_host,
760
- 'agent_type' => neutron_agent_type },
761
542
  'quickstack::storage_backend::cinder' => {
762
543
  'amqp_provider' => amqp_provider,
763
544
  'cinder_db_password' => cinder_db_pw,
@@ -798,7 +579,9 @@ module Staypuft
798
579
  'glance_host' => glance_host,
799
580
  'auth_host' => auth_host,
800
581
  'nova_host' => nova_host,
801
- 'private_ip' => private_ip },
582
+ 'private_ip' => private_ip,
583
+ 'network_device_mtu' => nova_network_device_mtu,
584
+ },
802
585
  'quickstack::neutron::compute' => {
803
586
  'amqp_provider' => amqp_provider,
804
587
  'ceilometer' => ceilometer,
@@ -836,7 +619,9 @@ module Staypuft
836
619
  'nova_host' => nova_host,
837
620
  'private_ip' => private_ip,
838
621
  'agent_type' => neutron_agent_type,
839
- 'security_group_api' => neutron_security_group_api },
622
+ 'security_group_api' => neutron_security_group_api,
623
+ 'network_device_mtu' => neutron_network_device_mtu,
624
+ },
840
625
  'quickstack::pacemaker::rsync::keystone' => {
841
626
  'keystone_private_vip' => vip_format(:keystone) },
842
627
  'quickstack::ceph::config' => {
@@ -849,6 +634,9 @@ module Staypuft
849
634
  'volumes_key' => ceph_volumes_key,
850
635
  'osd_pool_default_size' => ceph_osd_pool_size,
851
636
  'osd_journal_size' => ceph_osd_journal_size
637
+ },
638
+ 'quickstack::pacemaker::ceilometer' => {
639
+ 'ceilometer_metering_secret' => ceilometer_metering,
852
640
  }
853
641
  }
854
642
  end