215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
|
# File 'app/lib/staypuft/seeder.rb', line 215
def functional_dependencies
amqp_provider = { :string => '<%= @host.deployment.amqp_provider %>' }
neutron = { :string => '<%= @host.deployment.neutron_networking? %>' }
ceilometer = { :string => '<%= @host.deployment.non_ha? %>' }
network_manager = { :string => '<%= @host.deployment.nova.network_manager %>' }
network_overrides = { :hash => '<%= @host.deployment.nova.network_overrides %>' }
network_num_networks = { :string => '<%= @host.deployment.nova.num_networks %>' }
network_fixed_range = { :string => '<%= @host.deployment.nova.private_fixed_range %>' }
network_floating_range = { :string => '<%= @host.deployment.nova.public_floating_range %>' }
network_private_iface = { :string => "<%= @host.network_query.interface_for_host('#{Staypuft::SubnetType::TENANT}') %>" }
network_public_iface = { :string => "<%= @host.network_query.interface_for_host('#{Staypuft::SubnetType::EXTERNAL}') %>" }
network_create_networks = true
ovs_vlan_ranges = { :array => '<%= @host.deployment.neutron.networker_vlan_ranges %>' }
compute_ovs_vlan_ranges = { :array => '<%= @host.deployment.neutron.compute_vlan_ranges %>' }
ml2_network_vlan_ranges = ovs_vlan_ranges
tenant_network_type = '<%= @host.deployment.neutron.network_segmentation %>'
ml2_tenant_network_types = [ tenant_network_type ]
ml2_tunnel_id_ranges = ['10:1000']
ml2_vni_ranges = ['10:1000']
ovs_tunnel_types = { :array => '<%= @host.deployment.neutron.ovs_tunnel_types %>' }
ovs_tunnel_iface = { :string => '<%= n = @host.deployment.neutron; n.enable_tunneling? ? n.tenant_iface(@host) : "" %>' }
ovs_bridge_mappings = { :array => '<%= @host.deployment.neutron.networker_ovs_bridge_mappings(@host) %>' }
ovs_bridge_uplinks = { :array => '<%= @host.deployment.neutron.networker_ovs_bridge_uplinks(@host) %>' }
compute_ovs_tunnel_iface = { :string => '<%= n = @host.deployment.neutron; n.enable_tunneling? ? n.tenant_iface(@host) : "" %>' }
compute_ovs_bridge_mappings = { :array => '<%= @host.deployment.neutron.compute_ovs_bridge_mappings(@host) %>' }
compute_ovs_bridge_uplinks = { :array => '<%= @host.deployment.neutron.compute_ovs_bridge_uplinks(@host) %>' }
enable_tunneling = { :string => '<%= @host.deployment.neutron.enable_tunneling?.to_s %>' }
backend = { :string => '<%= @host.deployment.glance.backend %>' }
pcmk_fs_type = { :string => '<%= @host.deployment.glance.pcmk_fs_type %>' }
pcmk_fs_device = { :string => '<%= @host.deployment.glance.pcmk_fs_device %>' }
pcmk_fs_dir = '/var/lib/glance/images'
pcmk_fs_manage = { :string => '<%= @host.deployment.glance.pcmk_fs_manage %>' }
pcmk_fs_options = { :string => '<%= @host.deployment.glance.pcmk_fs_options %>' }
glance_rbd_store_user = 'images'
glance_rbd_store_pool = 'images'
volume = true
cinder_backend_gluster = false
cinder_backend_gluster_name = 'gluster_backend'
cinder_backend_iscsi = { :string => '<%= @host.deployment.cinder.lvm_backend? %>' }
cinder_backend_iscsi_name = 'iscsi_backend'
cinder_backend_nfs = { :string => '<%= @host.deployment.cinder.nfs_backend? %>' }
cinder_backend_nfs_name = 'nfs_backend'
cinder_multiple_backends = { :string => '<%= @host.deployment.cinder.multiple_backends? %>' }
cinder_nfs_shares = ['<%= @host.deployment.cinder.nfs_uri %>']
cinder_nfs_mount_options = 'nosharecache'
cinder_backend_rbd = { :string => '<%= @host.deployment.cinder.ceph_backend? %>' }
cinder_backend_rbd_name = 'rbd_backend'
cinder_rbd_pool = 'volumes'
cinder_rbd_ceph_conf = '/etc/ceph/ceph.conf'
cinder_rbd_flatten_volume_from_snapshot = 'false'
cinder_rbd_max_clone_depth = '5'
cinder_rbd_user = 'volumes'
cinder_rbd_secret_uuid = { :string => '<%= @host.deployment.cinder.rbd_secret_uuid %>' }
cinder_backend_eqlx = { :string => '<%= @host.deployment.cinder.equallogic_backend? %>' }
cinder_backend_eqlx_name = { :array => '<%= @host.deployment.cinder.compute_eqlx_backend_names %>'}
cinder_san_ip = { :array => '<%= @host.deployment.cinder.compute_eqlx_san_ips %>' }
cinder_san_login = { :array => '<%= @host.deployment.cinder.compute_eqlx_san_logins %>' }
cinder_san_password = { :array => '<%= @host.deployment.cinder.compute_eqlx_san_passwords %>' }
cinder_eqlx_group_name = { :array => '<%= @host.deployment.cinder.compute_eqlx_group_names %>' }
cinder_eqlx_pool = { :array => '<%= @host.deployment.cinder.compute_eqlx_pools %>' }
cinder_san_thin_provision = { :array => '<%= @host.deployment.cinder.compute_eqlx_thin_provision %>' }
cinder_eqlx_use_chap = { :array => '<%= @host.deployment.cinder.compute_eqlx_use_chap %>' }
cinder_eqlx_chap_login = { :array => '<%= @host.deployment.cinder.compute_eqlx_chap_logins %>' }
cinder_eqlx_chap_password = { :array => '<%= @host.deployment.cinder.compute_eqlx_chap_passwords %>' }
keystonerc = 'true'
ceph_cluster_network = { :string => "<%= @host.network_query.network_address_for_host('#{Staypuft::SubnetType::STORAGE_CLUSTERING}') %>" }
ceph_public_network = { :string => "<%= @host.network_query.network_address_for_host('#{Staypuft::SubnetType::PXE}') %>" }
ceph_fsid = { :string => '<%= @host.deployment.ceph.fsid %>' }
ceph_images_key = { :string => '<%= @host.deployment.ceph.images_key %>' }
ceph_volumes_key = { :string => '<%= @host.deployment.ceph.volumes_key %>' }
ceph_mon_host = { :array => "<%= @host.network_query.controller_ips('#{Staypuft::SubnetType::PXE}') %>" }
ceph_mon_initial_members = { :array => "<%= @host.deployment.ceph.mon_initial_members %>" }
admin_pw = { :string => '<%= @host.deployment.passwords.effective_value(:admin) %>' }
ceilometer_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:ceilometer_user) %>' }
cinder_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:cinder_db) %>' }
cinder_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:cinder_user) %>' }
glance_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:glance_db) %>' }
glance_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:glance_user) %>' }
heat_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:heat_db) %>' }
heat_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:heat_user) %>' }
heat_cfn_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:heat_cfn_user) %>' }
keystone_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:keystone_db) %>' }
keystone_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:keystone_user) %>' }
mysql_root_pw = { :string => '<%= @host.deployment.passwords.effective_value(:mysql_root) %>' }
neutron_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:neutron_db) %>' }
neutron_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:neutron_user) %>' }
nova_db_pw = { :string => '<%= @host.deployment.passwords.effective_value(:nova_db) %>' }
nova_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:nova_user) %>' }
swift_admin_pw = { :string => '<%= @host.deployment.passwords.effective_value(:swift_admin) %>' }
swift_user_pw = { :string => '<%= @host.deployment.passwords.effective_value(:swift_user) %>' }
amqp_pw = { :string => '<%= @host.deployment.passwords.effective_value(:amqp) %>' }
amqp_nssdb_pw = { :string => '<%= @host.deployment.passwords.effective_value(:amqp_nssdb) %>' }
keystone_admin_token = { :string => '<%= @host.deployment.passwords.effective_value(:keystone_admin_token) %>' }
ceilometer_metering = { :string => '<%= @host.deployment.passwords.ceilometer_metering_secret %>' }
heat_auth_encrypt_key = { :string => '<%= @host.deployment.passwords.heat_auth_encrypt_key %>' }
horizon_secret_key = { :string => '<%= @host.deployment.passwords.horizon_secret_key %>' }
swift_shared_secret = { :string => '<%= @host.deployment.passwords.swift_shared_secret %>' }
neutron_metadata_proxy_secret = { :string => '<%= @host.deployment.passwords.neutron_metadata_proxy_secret %>' }
private_ip = { :string => "<%= @host.deployment.network_query.ip_for_host('#{Staypuft::SubnetType::MANAGEMENT}', @host) %>" }
amqp_host = get_host_format :amqp_vip, Staypuft::SubnetType::MANAGEMENT
mysql_host = get_host_format :db_vip, Staypuft::SubnetType::MANAGEMENT
glance_host = get_host_format :glance_private_vip, Staypuft::SubnetType::MANAGEMENT
neutron_host = get_host_format :neutron_private_vip, Staypuft::SubnetType::MANAGEMENT
auth_host = get_host_format :keystone_admin_vip, Staypuft::SubnetType::ADMIN_API
nova_host = get_host_format :nova_public_vip, Staypuft::SubnetType::PUBLIC_API
controller_admin_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::ADMIN_API}') %>"}
controller_priv_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::MANAGEMENT}') %>"}
controller_pub_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::PUBLIC_API}') %>"}
fencing_type = { :string => '<%= (@host.bmc_nic && @host.bmc_nic.fencing_enabled?) ? @host.bmc_nic.attrs["fencing_type"] : "disabled" %>' }
fence_ipmilan_address = { :string => '<%= @host.bmc_nic.ip if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
fence_ipmilan_username = { :string => '<%= @host.bmc_nic.username if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
fence_ipmilan_password = { :string => '<%= @host.bmc_nic.password if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
fence_ipmilan_interval = '60s'
fence_ipmilan_hostlist = ''
fence_ipmilan_host_to_address = []
fence_ipmilan_expose_lanplus = { :string => '<%= @host.bmc_nic.expose_lanplus? if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
fence_ipmilan_lanplus_options = { :string => '<%= @host.bmc_nic.attrs["fence_ipmilan_lanplus_options"] if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
{
'quickstack::nova_network::controller' => {
'amqp_provider' => amqp_provider,
'ceph_cluster_network' => ceph_cluster_network,
'ceph_public_network' => ceph_public_network,
'ceph_fsid' => ceph_fsid,
'ceph_images_key' => ceph_images_key,
'ceph_volumes_key' => ceph_volumes_key,
'ceph_mon_host' => ceph_mon_host,
'ceph_mon_initial_members' => ceph_mon_initial_members,
'cinder_backend_gluster' => cinder_backend_gluster,
'cinder_backend_gluster_name' => cinder_backend_gluster_name,
'cinder_backend_iscsi' => cinder_backend_iscsi,
'cinder_backend_iscsi_name' => cinder_backend_iscsi_name,
'cinder_backend_nfs' => cinder_backend_nfs,
'cinder_backend_nfs_name' => cinder_backend_nfs_name,
'cinder_backend_rbd' => cinder_backend_rbd,
'cinder_backend_rbd_name' => cinder_backend_rbd_name,
'cinder_backend_eqlx' => cinder_backend_eqlx,
'cinder_backend_eqlx_name' => cinder_backend_eqlx_name,
'cinder_multiple_backends' => cinder_multiple_backends,
'cinder_nfs_shares' => cinder_nfs_shares,
'cinder_nfs_mount_options' => cinder_nfs_mount_options,
'cinder_rbd_pool' => cinder_rbd_pool,
'cinder_rbd_ceph_conf' => cinder_rbd_ceph_conf,
'cinder_rbd_flatten_volume_from_snapshot' => cinder_rbd_flatten_volume_from_snapshot,
'cinder_rbd_max_clone_depth' => cinder_rbd_max_clone_depth,
'cinder_rbd_user' => cinder_rbd_user,
'cinder_rbd_secret_uuid' => cinder_rbd_secret_uuid,
'cinder_san_ip' => cinder_san_ip,
'cinder_san_login' => cinder_san_login,
'cinder_san_password' => cinder_san_password,
'cinder_san_thin_provision' => cinder_san_thin_provision,
'cinder_eqlx_group_name' => cinder_eqlx_group_name,
'cinder_eqlx_pool' => cinder_eqlx_pool,
'cinder_eqlx_use_chap' => cinder_eqlx_use_chap,
'cinder_eqlx_chap_login' => cinder_eqlx_chap_login,
'cinder_eqlx_chap_password' => cinder_eqlx_chap_password,
'glance_backend' => backend,
'glance_rbd_store_user' => glance_rbd_store_user,
'glance_rbd_store_pool' => glance_rbd_store_pool,
'keystonerc' => keystonerc,
'admin_password' => admin_pw,
'ceilometer_user_password' => ceilometer_user_pw,
'cinder_db_password' => cinder_db_pw,
'cinder_user_password' => cinder_user_pw,
'glance_db_password' => glance_db_pw,
'glance_user_password' => glance_user_pw,
'heat_db_password' => heat_db_pw,
'heat_user_password' => heat_user_pw,
'keystone_db_password' => keystone_db_pw,
'mysql_root_password' => mysql_root_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'swift_admin_password' => swift_admin_pw,
'amqp_password' => amqp_pw,
'amqp_nssdb_password' => amqp_nssdb_pw,
'keystone_admin_token' => keystone_admin_token,
'ceilometer_metering_secret' => ceilometer_metering,
'heat_auth_encrypt_key' => heat_auth_encrypt_key,
'horizon_secret_key' => horizon_secret_key,
'amqp_host' => amqp_host,
'mysql_host' => mysql_host,
'swift_shared_secret' => swift_shared_secret,
'swift_ringserver_ip' => '',
'swift_storage_ips' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
'cinder_gluster_shares' => [],
'controller_admin_host' => controller_admin_host,
'controller_priv_host' => controller_priv_host,
'controller_pub_host' => controller_pub_host },
'quickstack::neutron::controller' => {
'amqp_provider' => amqp_provider,
'ceph_cluster_network' => ceph_cluster_network,
'ceph_public_network' => ceph_public_network,
'ceph_fsid' => ceph_fsid,
'ceph_images_key' => ceph_images_key,
'ceph_volumes_key' => ceph_volumes_key,
'ceph_mon_host' => ceph_mon_host,
'ceph_mon_initial_members' => ceph_mon_initial_members,
'tenant_network_type' => tenant_network_type,
'ml2_network_vlan_ranges' => ml2_network_vlan_ranges,
'ml2_tenant_network_types' => ml2_tenant_network_types,
'ml2_tunnel_id_ranges' => ml2_tunnel_id_ranges,
'ml2_vni_ranges' => ml2_vni_ranges,
'ovs_vlan_ranges' => ovs_vlan_ranges,
'enable_tunneling' => enable_tunneling,
'cinder_backend_gluster' => cinder_backend_gluster,
'cinder_backend_gluster_name' => cinder_backend_gluster_name,
'cinder_backend_iscsi' => cinder_backend_iscsi,
'cinder_backend_iscsi_name' => cinder_backend_iscsi_name,
'cinder_backend_nfs' => cinder_backend_nfs,
'cinder_backend_nfs_name' => cinder_backend_nfs_name,
'cinder_backend_rbd' => cinder_backend_rbd,
'cinder_backend_rbd_name' => cinder_backend_rbd_name,
'cinder_backend_eqlx' => cinder_backend_eqlx,
'cinder_backend_eqlx_name' => cinder_backend_eqlx_name,
'cinder_multiple_backends' => cinder_multiple_backends,
'cinder_nfs_shares' => cinder_nfs_shares,
'cinder_nfs_mount_options' => cinder_nfs_mount_options,
'cinder_rbd_pool' => cinder_rbd_pool,
'cinder_rbd_ceph_conf' => cinder_rbd_ceph_conf,
'cinder_rbd_flatten_volume_from_snapshot' => cinder_rbd_flatten_volume_from_snapshot,
'cinder_rbd_max_clone_depth' => cinder_rbd_max_clone_depth,
'cinder_rbd_user' => cinder_rbd_user,
'cinder_rbd_secret_uuid' => cinder_rbd_secret_uuid,
'cinder_san_ip' => cinder_san_ip,
'cinder_san_login' => cinder_san_login,
'cinder_san_password' => cinder_san_password,
'cinder_san_thin_provision' => cinder_san_thin_provision,
'cinder_eqlx_group_name' => cinder_eqlx_group_name,
'cinder_eqlx_pool' => cinder_eqlx_pool,
'cinder_eqlx_use_chap' => cinder_eqlx_use_chap,
'cinder_eqlx_chap_login' => cinder_eqlx_chap_login,
'cinder_eqlx_chap_password' => cinder_eqlx_chap_password,
'glance_backend' => backend,
'glance_rbd_store_user' => glance_rbd_store_user,
'glance_rbd_store_pool' => glance_rbd_store_pool,
'keystonerc' => keystonerc,
'admin_password' => admin_pw,
'ceilometer_user_password' => ceilometer_user_pw,
'cinder_db_password' => cinder_db_pw,
'cinder_user_password' => cinder_user_pw,
'glance_db_password' => glance_db_pw,
'glance_user_password' => glance_user_pw,
'heat_db_password' => heat_db_pw,
'heat_user_password' => heat_user_pw,
'keystone_db_password' => keystone_db_pw,
'mysql_root_password' => mysql_root_pw,
'neutron_db_password' => neutron_db_pw,
'neutron_user_password' => neutron_user_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'swift_admin_password' => swift_admin_pw,
'amqp_password' => amqp_pw,
'amqp_nssdb_password' => amqp_nssdb_pw,
'keystone_admin_token' => keystone_admin_token,
'ceilometer_metering_secret' => ceilometer_metering,
'heat_auth_encrypt_key' => heat_auth_encrypt_key,
'horizon_secret_key' => horizon_secret_key,
'swift_shared_secret' => swift_shared_secret,
'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret,
'amqp_host' => amqp_host,
'mysql_host' => mysql_host,
'swift_shared_secret' => swift_shared_secret,
'swift_ringserver_ip' => '',
'swift_storage_ips' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
'cinder_gluster_shares' => [],
'controller_admin_host' => controller_admin_host,
'controller_priv_host' => controller_priv_host,
'controller_pub_host' => controller_pub_host },
'quickstack::pacemaker::params' => {
'include_swift' => 'false',
'include_neutron' => neutron,
'neutron' => neutron,
'ceilometer_user_password' => ceilometer_user_pw,
'ceph_cluster_network' => ceph_cluster_network,
'ceph_public_network' => ceph_public_network,
'ceph_fsid' => ceph_fsid,
'ceph_images_key' => ceph_images_key,
'ceph_volumes_key' => ceph_volumes_key,
'ceph_mon_host' => ceph_mon_host,
'ceph_mon_initial_members' => ceph_mon_initial_members,
'cinder_db_password' => cinder_db_pw,
'cinder_user_password' => cinder_user_pw,
'glance_db_password' => glance_db_pw,
'glance_user_password' => glance_user_pw,
'heat_db_password' => heat_db_pw,
'heat_user_password' => heat_user_pw,
'heat_cfn_user_password' => heat_cfn_user_pw,
'keystone_db_password' => keystone_db_pw,
'keystone_user_password' => keystone_user_pw,
'neutron_db_password' => neutron_db_pw,
'neutron_user_password' => neutron_user_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'amqp_provider' => amqp_provider,
'amqp_password' => amqp_pw,
'heat_auth_encryption_key' => heat_auth_encrypt_key,
'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret,
'ceilometer_admin_vip' => vip_format(:ceilometer_admin_vip),
'ceilometer_private_vip' => vip_format(:ceilometer_private_vip),
'ceilometer_public_vip' => vip_format(:ceilometer_public_vip),
'cinder_admin_vip' => vip_format(:cinder_admin_vip),
'cinder_private_vip' => vip_format(:cinder_private_vip),
'cinder_public_vip' => vip_format(:cinder_public_vip),
'db_vip' => vip_format(:db_vip),
'glance_admin_vip' => vip_format(:glance_admin_vip),
'glance_private_vip' => vip_format(:glance_private_vip),
'glance_public_vip' => vip_format(:glance_public_vip),
'heat_admin_vip' => vip_format(:heat_admin_vip),
'heat_private_vip' => vip_format(:heat_private_vip),
'heat_public_vip' => vip_format(:heat_public_vip),
'heat_cfn_admin_vip' => vip_format(:heat_cfn_admin_vip),
'heat_cfn_private_vip' => vip_format(:heat_cfn_private_vip),
'heat_cfn_public_vip' => vip_format(:heat_cfn_public_vip),
'horizon_admin_vip' => vip_format(:horizon_admin_vip),
'horizon_private_vip' => vip_format(:horizon_private_vip),
'horizon_public_vip' => vip_format(:horizon_public_vip),
'keystone_admin_vip' => vip_format(:keystone_admin_vip),
'keystone_private_vip' => vip_format(:keystone_private_vip),
'keystone_public_vip' => vip_format(:keystone_public_vip),
'loadbalancer_vip' => vip_format(:loadbalancer_vip),
'neutron_admin_vip' => vip_format(:neutron_admin_vip),
'neutron_private_vip' => vip_format(:neutron_private_vip),
'neutron_public_vip' => vip_format(:neutron_public_vip),
'nova_admin_vip' => vip_format(:nova_admin_vip),
'nova_private_vip' => vip_format(:nova_private_vip),
'nova_public_vip' => vip_format(:nova_public_vip),
'amqp_vip' => vip_format(:amqp_vip),
'swift_public_vip' => vip_format(:swift_public_vip),
'private_ip' => private_ip,
'cluster_control_ip' => { :string => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}').first %>" },
'lb_backend_server_addrs' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" },
'lb_backend_server_names' => { :array => '<%= @host.deployment.network_query.controller_fqdns %>' } },
'quickstack::pacemaker::common' => {
'pacemaker_cluster_members' => { :string => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}').join(' ') %>" },
'fencing_type' => fencing_type,
'fence_ipmilan_address' => fence_ipmilan_address,
'fence_ipmilan_username' => fence_ipmilan_username,
'fence_ipmilan_password' => fence_ipmilan_password,
'fence_ipmilan_interval' => fence_ipmilan_interval,
'fence_ipmilan_hostlist' => fence_ipmilan_hostlist,
'fence_ipmilan_host_to_address' => fence_ipmilan_host_to_address,
'fence_ipmilan_expose_lanplus' => fence_ipmilan_expose_lanplus,
'fence_ipmilan_lanplus_options' => fence_ipmilan_lanplus_options },
'quickstack::pacemaker::neutron' => {
'ml2_network_vlan_ranges' => ml2_network_vlan_ranges,
'ml2_tenant_network_types' => ml2_tenant_network_types,
'ml2_tunnel_id_ranges' => ml2_tunnel_id_ranges,
'enable_tunneling' => enable_tunneling,
'ovs_bridge_mappings' => ovs_bridge_mappings,
'ovs_bridge_uplinks' => ovs_bridge_uplinks,
'ovs_tunnel_iface' => ovs_tunnel_iface,
'ovs_tunnel_types' => ovs_tunnel_types,
'ovs_vlan_ranges' => ovs_vlan_ranges },
'quickstack::pacemaker::glance' => {
'backend' => backend,
'pcmk_fs_type' => pcmk_fs_type,
'pcmk_fs_device' => pcmk_fs_device,
'pcmk_fs_dir' => pcmk_fs_dir,
'pcmk_fs_manage' => pcmk_fs_manage,
'pcmk_fs_options' => pcmk_fs_options },
'quickstack::pacemaker::cinder' => {
'volume' => volume,
'backend_iscsi' => cinder_backend_iscsi,
'backend_nfs' => cinder_backend_nfs,
'backend_gluster' => cinder_backend_gluster,
'nfs_shares' => cinder_nfs_shares,
'nfs_mount_options' => cinder_nfs_mount_options,
'backend_rbd' => cinder_backend_rbd,
'rbd_pool' => cinder_rbd_pool,
'rbd_ceph_conf' => cinder_rbd_ceph_conf,
'rbd_flatten_volume_from_snapshot' => cinder_rbd_flatten_volume_from_snapshot,
'rbd_max_clone_depth' => cinder_rbd_max_clone_depth,
'rbd_user' => cinder_rbd_user,
'rbd_secret_uuid' => cinder_rbd_secret_uuid,
'backend_eqlx' => cinder_backend_eqlx,
'san_ip' => cinder_san_ip,
'san_login' => cinder_san_login,
'san_password' => cinder_san_password,
'san_thin_provision' => cinder_san_thin_provision,
'eqlx_group_name' => cinder_eqlx_group_name,
'eqlx_pool' => cinder_eqlx_pool,
'eqlx_use_chap' => cinder_eqlx_use_chap,
'eqlx_chap_login' => cinder_eqlx_chap_login,
'eqlx_chap_password' => cinder_eqlx_chap_password },
'quickstack::pacemaker::keystone' => {
'keystonerc' => keystonerc,
'admin_password' => admin_pw,
'admin_token' => keystone_admin_token },
'quickstack::pacemaker::horizon' => {
'secret_key' => horizon_secret_key },
'quickstack::pacemaker::galera' => {
'mysql_root_password' => mysql_root_pw,
'wsrep_cluster_members' => { :array => "<%= @host.deployment.network_query.controller_ips('#{Staypuft::SubnetType::MANAGEMENT}') %>" } },
'quickstack::pacemaker::swift' => {
'swift_shared_secret' => swift_shared_secret,
'swift_storage_ips' => [] },
'quickstack::pacemaker::nova' => {
'multi_host' => 'true',
'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret },
'quickstack::neutron::networker' => {
'amqp_provider' => amqp_provider,
'enable_tunneling' => enable_tunneling,
'tenant_network_type' => tenant_network_type,
'ovs_bridge_mappings' => ovs_bridge_mappings,
'ovs_bridge_uplinks' => ovs_bridge_uplinks,
'ovs_tunnel_iface' => ovs_tunnel_iface,
'ovs_tunnel_types' => ovs_tunnel_types,
'ovs_vlan_ranges' => ovs_vlan_ranges,
'neutron_db_password' => neutron_db_pw,
'neutron_user_password' => neutron_user_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'amqp_password' => amqp_pw,
'neutron_metadata_proxy_secret' => neutron_metadata_proxy_secret,
'amqp_host' => amqp_host,
'mysql_host' => mysql_host,
'controller_priv_host' => controller_priv_host },
'quickstack::storage_backend::cinder' => {
'amqp_provider' => amqp_provider,
'cinder_db_password' => cinder_db_pw,
'cinder_user_password' => cinder_user_pw,
'amqp_password' => amqp_pw },
'quickstack::nova_network::compute' => {
'amqp_provider' => amqp_provider,
'ceilometer' => ceilometer,
'ceph_cluster_network' => ceph_cluster_network,
'ceph_public_network' => ceph_public_network,
'ceph_fsid' => ceph_fsid,
'ceph_images_key' => ceph_images_key,
'ceph_volumes_key' => ceph_volumes_key,
'ceph_mon_host' => ceph_mon_host,
'ceph_mon_initial_members' => ceph_mon_initial_members,
'cinder_backend_gluster' => cinder_backend_gluster,
'cinder_backend_nfs' => cinder_backend_nfs,
'cinder_backend_rbd' => cinder_backend_rbd,
'rbd_secret_uuid' => cinder_rbd_secret_uuid,
'network_manager' => network_manager,
'network_overrides' => network_overrides,
'network_num_networks' => network_num_networks,
'network_fixed_range' => network_fixed_range,
'network_floating_range' => network_floating_range,
'network_private_iface' => network_private_iface,
'network_public_iface' => network_public_iface,
'network_create_networks' => network_create_networks,
'nova_multi_host' => 'true',
'admin_password' => admin_pw,
'ceilometer_user_password' => ceilometer_user_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'amqp_password' => amqp_pw,
'ceilometer_metering_secret' => ceilometer_metering,
'amqp_host' => amqp_host,
'mysql_host' => mysql_host,
'glance_host' => glance_host,
'auth_host' => auth_host,
'nova_host' => nova_host,
'private_ip' => private_ip },
'quickstack::neutron::compute' => {
'amqp_provider' => amqp_provider,
'ceilometer' => ceilometer,
'ceph_cluster_network' => ceph_cluster_network,
'ceph_public_network' => ceph_public_network,
'ceph_fsid' => ceph_fsid,
'ceph_images_key' => ceph_images_key,
'ceph_volumes_key' => ceph_volumes_key,
'ceph_mon_host' => ceph_mon_host,
'ceph_mon_initial_members' => ceph_mon_initial_members,
'cinder_backend_gluster' => cinder_backend_gluster,
'cinder_backend_nfs' => cinder_backend_nfs,
'cinder_backend_rbd' => cinder_backend_rbd,
'rbd_secret_uuid' => cinder_rbd_secret_uuid,
'enable_tunneling' => enable_tunneling,
'tenant_network_type' => tenant_network_type,
'ovs_bridge_mappings' => compute_ovs_bridge_mappings,
'ovs_bridge_uplinks' => compute_ovs_bridge_uplinks,
'ovs_tunnel_iface' => compute_ovs_tunnel_iface,
'ovs_tunnel_types' => ovs_tunnel_types,
'ovs_vlan_ranges' => compute_ovs_vlan_ranges,
'admin_password' => admin_pw,
'ceilometer_user_password' => ceilometer_user_pw,
'neutron_db_password' => neutron_db_pw,
'neutron_user_password' => neutron_user_pw,
'nova_db_password' => nova_db_pw,
'nova_user_password' => nova_user_pw,
'amqp_password' => amqp_pw,
'ceilometer_metering_secret' => ceilometer_metering,
'amqp_host' => amqp_host,
'mysql_host' => mysql_host,
'glance_host' => glance_host,
'auth_host' => auth_host,
'neutron_host' => neutron_host,
'nova_host' => nova_host,
'private_ip' => private_ip },
'quickstack::pacemaker::rsync::keystone' => {
'keystone_private_vip' => vip_format(:keystone) } }
end
|