Merge "Add bootstrap_vars for virtual-mcp11-aio"
diff --git a/classes/cluster/drivetrain_ha_clusters/cicd/init.yml b/classes/cluster/drivetrain_ha_clusters/cicd/init.yml
index 816b66f..b4740bf 100644
--- a/classes/cluster/drivetrain_ha_clusters/cicd/init.yml
+++ b/classes/cluster/drivetrain_ha_clusters/cicd/init.yml
@@ -1,8 +1,12 @@
parameters:
_param:
+ cicd_control_hostname: cid
cicd_control_address: 172.16.10.254
+ cicd_control_node01_hostname: cid01
cicd_control_node01_address: 172.16.10.11
+ cicd_control_node02_hostname: cid02
cicd_control_node02_address: 172.16.10.12
+ cicd_control_node03_hostname: cid03
cicd_control_node03_address: 172.16.10.13
# CI/CD control infrastructure
diff --git a/classes/cluster/drivetrain_ha_clusters/infra/config.yml b/classes/cluster/drivetrain_ha_clusters/infra/config.yml
index d53cf1e..87ecd64 100644
--- a/classes/cluster/drivetrain_ha_clusters/infra/config.yml
+++ b/classes/cluster/drivetrain_ha_clusters/infra/config.yml
@@ -17,8 +17,10 @@
salt_master_host: ${_param:infra_config_deploy_address}
salt_api_password: hovno12345!
salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ cluster_public_host: ${_param:infra_config_address}
salt:
master:
+ order_masters: true
reactor:
reclass/minion/classify:
- salt://reclass/reactor/node_register.sls
diff --git a/classes/cluster/k8s_ha_calico_syndic/infra/config.yml b/classes/cluster/k8s_ha_calico_syndic/infra/config.yml
new file mode 100644
index 0000000..c46ed75
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/infra/config.yml
@@ -0,0 +1,71 @@
+classes:
+- system.linux.system.repo.ubuntu
+- system.openssh.client.lab
+- system.salt.master.pkg
+- system.salt.minion.ca.salt_master
+- system.salt.master.api
+- system.salt.minion.cert.k8s_server
+- system.reclass.storage.salt
+- system.reclass.storage.system.kubernetes_control_cluster
+- cluster.k8s_ha_calico
+parameters:
+ _param:
+ salt_master_base_environment: prd
+ reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab.git"
+ reclass_data_revision: master
+ reclass_config_master: ${_param:infra_config_deploy_address}
+ single_address: ${_param:infra_config_address}
+ linux_system_codename: xenial
+ salt_api_password_hash: "$6$WV0P1shnoDh2gI/Z$22/Bcd7ffMv0jDlFpT63cAU4PiXHz9pjXwngToKwqAsgoeK4HNR3PiKaushjxp3JsQ8hNoJmAC6TxzVqfV8WH/"
+ salt_master_host: 127.0.0.1
+ salt_syndic_master_address: 192.168.10.100
+ salt:
+ syndic:
+ enabled: true
+ master:
+ host: ${_param:salt_syndic_master_address}
+ master:
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
+ reclass:
+ storage:
+ class_mapping:
+ common_node:
+ expression: all
+ node_param:
+ single_address:
+ value_template: <<node_control_ip>>
+ linux_system_codename:
+ value_template: <<node_os>>
+ salt_master_host:
+ value_template: <<node_master_ip>>
+ infra_config:
+ expression: <<node_hostname>>__startswith__cfg
+ cluster_param:
+ infra_config_address:
+ value_template: <<node_control_ip>>
+ infra_config_deploy_address:
+ value_template: <<node_deploy_ip>>
+ cluster_domain:
+ value_template: <<node_domain>>
+ kubernetes_control01:
+ expression: <<node_hostname>>__equals__ctl01
+ cluster_param:
+ kubernetes_control_node01_address:
+ value_template: <<node_control_ip>>
+ kubernetes_control02:
+ expression: <<node_hostname>>__equals__ctl02
+ cluster_param:
+ kubernetes_control_node02_address:
+ value_template: <<node_control_ip>>
+ kubernetes_control03:
+ expression: <<node_hostname>>__equals__ctl03
+ cluster_param:
+ kubernetes_control_node03_address:
+ value_template: <<node_control_ip>>
+ kubernetes_compute:
+ expression: <<node_hostname>>__startswith__cmp
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.kubernetes.compute
diff --git a/classes/cluster/k8s_ha_calico_syndic/infra/init.yml b/classes/cluster/k8s_ha_calico_syndic/infra/init.yml
new file mode 100644
index 0000000..3220d0e
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/infra/init.yml
@@ -0,0 +1,40 @@
+classes:
+- system.linux.system.single
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.ubuntu
+- system.openssh.server.team.lab
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- system.openssh.server.team.k8s_team
+parameters:
+ _param:
+ # infra service addresses
+ infra_config_hostname: cfg01
+ infra_config_address: 172.16.10.100
+ infra_config_deploy_address: 192.168.10.100
+
+ cluster_domain: virtual-mcp11-k8s-calico.local
+ cluster_name: virtual-mcp11-k8s-calico
+ apt_mk_version: nightly
+ primary_interface: ens3
+ linux:
+ network:
+ host:
+ cfg01:
+ address: ${_param:infra_config_address}
+ names:
+ - ${_param:infra_config_hostname}
+ - ${_param:infra_config_hostname}.${_param:cluster_domain}
+ interface:
+ primary_interface:
+ enabled: true
+ type: eth
+ proto: dhcp
+ #proto: static
+ #name: ${_param:primary_interface}
+ #address: ${_param:single_address}
+ #netmask: 255.255.255.0
+ system:
+ name: ${_param:infra_config_hostname}
+ domain: ${_param:cluster_domain}
diff --git a/classes/cluster/k8s_ha_calico_syndic/init.yml b/classes/cluster/k8s_ha_calico_syndic/init.yml
new file mode 100644
index 0000000..c672dd1
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/init.yml
@@ -0,0 +1,4 @@
+classes:
+- cluster.k8s_ha_calico.kubernetes
+- cluster.k8s_ha_calico.infra
+- cluster.overrides
diff --git a/classes/cluster/k8s_ha_calico_syndic/kubernetes/compute.yml b/classes/cluster/k8s_ha_calico_syndic/kubernetes/compute.yml
new file mode 100644
index 0000000..3bb7828
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/kubernetes/compute.yml
@@ -0,0 +1,45 @@
+classes:
+- system.linux.system.repo.docker
+- system.kubernetes.pool.cluster
+- system.salt.minion.cert.k8s_client
+- system.salt.minion.cert.etcd_client
+- cluster.k8s_ha_calico
+parameters:
+ _param:
+ kubernetes_calicoctl_image: docker-prod-virtual.sandbox.mirantis.net/mirantis/projectcalico/calico/ctl:latest
+ kubernetes_calico_image: docker-prod-virtual.sandbox.mirantis.net/mirantis/projectcalico/calico/node:latest
+ kubernetes_calico_cni_image: docker-prod-virtual.sandbox.mirantis.net/mirantis/projectcalico/calico/cni:latest
+ kubernetes_hyperkube_image: docker-prod-virtual.sandbox.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
+ docker:
+ host:
+ pkgs:
+ - docker-engine=1.12.6-0~ubuntu-xenial
+ - python-docker
+ kubernetes:
+ pool:
+ network:
+ etcd:
+ ssl:
+ enabled: true
+ image: ${_param:kubernetes_calico_image}
+ calicoctl:
+ image: ${_param:kubernetes_calicoctl_image}
+ cni:
+ image: ${_param:kubernetes_calico_cni_image}
+ common:
+ hyperkube:
+ image: ${_param:kubernetes_hyperkube_image}
+ linux:
+ network:
+ resolv:
+ dns:
+ - 10.254.0.10
+ - 172.18.176.4
+ - 172.18.176.7
+ interface:
+ primary_interface:
+ route:
+ kubernetes_services:
+ address: 10.254.0.0
+ netmask: 255.255.0.0
+ gateway: ${_param:single_address}
diff --git a/classes/cluster/k8s_ha_calico_syndic/kubernetes/control.yml b/classes/cluster/k8s_ha_calico_syndic/kubernetes/control.yml
new file mode 100644
index 0000000..1003ff7
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/kubernetes/control.yml
@@ -0,0 +1,39 @@
+classes:
+- service.etcd.server.cluster
+- system.haproxy.proxy.listen.kubernetes.apiserver
+- system.linux.system.repo.docker
+- system.salt.minion.cert.etcd_server
+- system.kubernetes.master.cluster
+- cluster.k8s_ha_calico.kubernetes.compute
+- cluster.k8s_ha_calico
+parameters:
+ _param:
+ keepalived_vip_interface: ${_param:primary_interface}
+ keepalived_vip_virtual_router_id: 60
+ etcd:
+ server:
+ source:
+ engine: docker_hybrid
+ ssl:
+ enabled: true
+ setup:
+ calico:
+ key: /calico/v1/ipam/v4/pool/${_param:calico_private_network}-${_param:calico_private_netmask}
+ value: '{"masquerade":true,"cidr":"${_param:calico_private_network}/${_param:calico_private_netmask}"}'
+ kubernetes:
+ master:
+ etcd:
+ ssl:
+ enabled: true
+ network:
+ etcd:
+ ssl:
+ enabled: true
+ namespace:
+ netchecker:
+ enabled: true
+ addons:
+ netchecker:
+ enabled: true
+ helm:
+ enabled: true
diff --git a/classes/cluster/k8s_ha_calico_syndic/kubernetes/init.yml b/classes/cluster/k8s_ha_calico_syndic/kubernetes/init.yml
new file mode 100644
index 0000000..307ebd0
--- /dev/null
+++ b/classes/cluster/k8s_ha_calico_syndic/kubernetes/init.yml
@@ -0,0 +1,103 @@
+parameters:
+ _param:
+ salt_minion_ca_host: ${_param:infra_config_hostname}.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+
+ # kubernetes settings
+ kubernetes_admin_user: admin
+ kubernetes_admin_password: sbPfel23ZigJF3Bm
+ kubernetes_admin_token: PpP6Mm3pAoPVqcKOKUu0x1dh7b1959Fi
+ kubernetes_kubelet_token: JJ2PKHxjiU6EYvIt18BqwdSK1HvWh8pt
+ kubernetes_kube-proxy_token: jT0hJk9L6cIw5UpYDNhsRwcj3Z2n62B6
+ kubernetes_scheduler_token: VgkUHfrW07zNxrb0ucFyX7NBnSJN9Xp6
+ kubernetes_controller-manager_token: uXrdZ1YKF6qlYm3sHje2iEXMGAGDWOIU
+ kubernetes_dns_token: 0S1I4iJeFjq5fopPwwCwTp3xFpEZfeUl
+ etcd_initial_token: IN7KaRMSo3xkGxkjAAPtkRkAgqN4ZNRq
+
+ # addresses and hostnames
+ kubernetes_internal_api_address: 10.254.0.1
+ kubernetes_control_hostname: ctl
+ kubernetes_control_address: 192.168.10.253
+ kubernetes_control_node01_hostname: ctl01
+ kubernetes_control_node02_hostname: ctl02
+ kubernetes_control_node03_hostname: ctl03
+ kubernetes_compute_node01_hostname: cmp01
+ kubernetes_compute_node02_hostname: cmp02
+ kubernetes_control_node01_address: 172.16.10.101
+ kubernetes_control_node02_address: 172.16.10.102
+ kubernetes_control_node03_address: 172.16.10.103
+ kubernetes_compute_node01_address: 172.16.10.105
+ kubernetes_compute_node02_address: 172.16.10.106
+ kubernetes_proxy_node01_hostname: prx01
+ kubernetes_proxy_node01_address: 172.16.10.121
+
+ cluster_vip_address: ${_param:kubernetes_control_address}
+ cluster_local_address: ${_param:single_address}
+
+ # etcd stuff
+ cluster_node01_hostname: ${_param:kubernetes_control_node01_hostname}
+ cluster_node01_address: ${_param:kubernetes_control_node01_address}
+ cluster_node01_port: 4001
+ cluster_node02_hostname: ${_param:kubernetes_control_node02_hostname}
+ cluster_node02_address: ${_param:kubernetes_control_node02_address}
+ cluster_node02_port: 4001
+ cluster_node03_hostname: ${_param:kubernetes_control_node03_hostname}
+ cluster_node03_address: ${_param:kubernetes_control_node03_address}
+ cluster_node03_port: 4001
+
+ # calico
+ calico_private_network: 192.168.0.0
+ calico_private_netmask: 16
+
+ linux:
+ network:
+ host:
+ ctl:
+ address: ${_param:kubernetes_control_address}
+ names:
+ - ${_param:kubernetes_control_hostname}
+ - ${_param:kubernetes_control_hostname}.${_param:cluster_domain}
+ ctl01:
+ address: ${_param:kubernetes_control_node01_address}
+ names:
+ - ${_param:kubernetes_control_node01_hostname}
+ - ${_param:kubernetes_control_node01_hostname}.${_param:cluster_domain}
+ ctl02:
+ address: ${_param:kubernetes_control_node02_address}
+ names:
+ - ${_param:kubernetes_control_node02_hostname}
+ - ${_param:kubernetes_control_node02_hostname}.${_param:cluster_domain}
+ ctl03:
+ address: ${_param:kubernetes_control_node03_address}
+ names:
+ - ${_param:kubernetes_control_node03_hostname}
+ - ${_param:kubernetes_control_node03_hostname}.${_param:cluster_domain}
+ cmp01:
+ address: ${_param:kubernetes_compute_node01_address}
+ names:
+ - ${_param:kubernetes_compute_node01_hostname}
+ - ${_param:kubernetes_compute_node01_hostname}.${_param:cluster_domain}
+ cmp02:
+ address: ${_param:kubernetes_compute_node02_address}
+ names:
+ - ${_param:kubernetes_compute_node02_hostname}
+ - ${_param:kubernetes_compute_node02_hostname}.${_param:cluster_domain}
+ prx01:
+ address: ${_param:kubernetes_proxy_node01_address}
+ names:
+ - ${_param:kubernetes_proxy_node01_hostname}
+ - ${_param:kubernetes_proxy_node01_hostname}.${_param:cluster_domain}
+ system:
+ rc:
+ local: |
+ #!/bin/sh -e
+ #
+ # rc.local
+ #
+ ######### This file is managed by Salt! ##########
+ # This script is executed at the end of each multiuser runlevel.
+ # Make sure that the script will "exit 0" on success or any other
+ # value on error.
+ #
+ ip r a 10.254.0.0/16 dev ens3
+ exit 0
diff --git a/classes/cluster/os_aio_contrail/openstack/compute.yml b/classes/cluster/os_aio_contrail/openstack/compute.yml
index 802e2ed..b96b26d 100755
--- a/classes/cluster/os_aio_contrail/openstack/compute.yml
+++ b/classes/cluster/os_aio_contrail/openstack/compute.yml
@@ -3,7 +3,6 @@
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
-#- system.nova.compute.cluster
- system.opencontrail.compute.cluster
- system.opencontrail.client.cluster
- system.opencontrail.client.resource.virtual_router
@@ -15,7 +14,10 @@
opencontrail_compute_gateway: 172.16.10.1
opencontrail_compute_iface: ens4
linux_system_codename: xenial
+ control_address: ${_param:single_address}
+ nova_vncproxy_url: https://${_param:cluster_public_host}:6080
nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com
+ nova_compute_avail_zone:
nova_compute_ssh_private: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEApbSJ/dwXEzMzSv59ngc3uj8k5JiIHQ5HlzUfV+A6hOPFWvNK
@@ -44,6 +46,68 @@
7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
-----END RSA PRIVATE KEY-----
+ openssh:
+ client:
+ enabled: True
+ user: {}
+ stricthostkeychecking: False
+ nova:
+ compute:
+ version: ${_param:nova_version}
+ enabled: true
+ virtualization: ${_param:nova_compute_virtualization}
+ availability_zone: ${_param:nova_compute_avail_zone}
+ aggregates: ${_param:nova_aggregates}
+ heal_instance_info_cache_interval: 60
+ vncproxy_url: ${_param:nova_vncproxy_url}
+ bind:
+ vnc_address: ${_param:cluster_local_address}
+ vnc_port: 6080
+ vnc_name: 0.0.0.0
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: nova
+ user: nova
+ password: ${_param:mysql_nova_password}
+ identity:
+ engine: keystone
+ region: ${_param:openstack_region}
+ host: ${_param:cluster_vip_address}
+ port: 35357
+ user: nova
+ password: ${_param:keystone_nova_password}
+ tenant: service
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ host: ${_param:openstack_message_queue_node01_address}
+ image:
+ engine: glance
+ host: ${_param:cluster_vip_address}
+ port: 9292
+ network:
+ engine: neutron
+ region: ${_param:openstack_region}
+ host: ${_param:neutron_service_host}
+ port: 9696
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ user:
+ public_key: ${_param:nova_compute_ssh_public}
+ private_key: ${_param:nova_compute_ssh_private}
+ virtualization: kvm
+ heal_instance_info_cache_interval: 60
+ cache:
+ engine: memcached
+ members:
+ - host: ${_param:cluster_node01_address}
+ port: 11211
linux:
network:
interface:
@@ -61,70 +125,6 @@
- /usr/lib/contrail/if-vhost0
use_interfaces:
- ens4
- nova:
- compute:
- vncproxy_url: http://${_param:cluster_vip_address}:6080
- notification:
- driver: messagingv2
- topics: "notifications"
- notify_on:
- state_change: vm_and_task_state
- version: ${_param:nova_version}
- enabled: true
- virtualization: kvm
- heal_instance_info_cache_interval: 60
- vncproxy_url: http://${_param:cluster_vip_address}:6080
- bind:
- vnc_address: ${_param:cluster_local_address}
- vnc_port: 6080
- vnc_name: 0.0.0.0
- database:
- engine: mysql
- host: ${_param:cluster_vip_address}
- port: 3306
- name: nova
- user: nova
- password: ${_param:mysql_nova_password}
- identity:
- engine: keystone
- region: RegionOne
- host: ${_param:cluster_vip_address}
- port: 35357
- user: nova
- password: ${_param:keystone_nova_password}
- tenant: service
- message_queue:
- engine: rabbitmq
- host: ${_param:cluster_vip_address}
- port: 5672
- user: openstack
- password: ${_param:rabbitmq_openstack_password}
- virtual_host: '/openstack'
- image:
- engine: glance
- host: ${_param:cluster_vip_address}
- port: 9292
- network:
- engine: neutron
- region: RegionOne
- host: ${_param:cluster_vip_address}
- port: 9696
- user: neutron
- tenant: service
- password: ${_param:keystone_neutron_password}
- cache:
- engine: memcached
- members:
- - host: ${_param:cluster_node01_address}
- port: 11211
- user:
- public_key: ${_param:nova_compute_ssh_public}
- private_key: ${_param:nova_compute_ssh_private}
- openssh:
- client:
- enabled: True
- user: {}
- stricthostkeychecking: False
ceilometer:
agent:
message_queue:
diff --git a/classes/cluster/os_aio_ovs/openstack/compute.yml b/classes/cluster/os_aio_ovs/openstack/compute.yml
index 941fdcd..3631a07 100644
--- a/classes/cluster/os_aio_ovs/openstack/compute.yml
+++ b/classes/cluster/os_aio_ovs/openstack/compute.yml
@@ -2,7 +2,6 @@
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.saltstack.xenial
-#- system.nova.compute.single
- service.neutron.compute.single
- cluster.os_aio_ovs
parameters:
@@ -12,7 +11,11 @@
external_interface: ens6
interface_mtu: 9000
linux_system_codename: xenial
+ control_address: ${_param:single_address}
nova_vncproxy_url: https://${_param:cluster_public_host}:6080
+ nova_compute_virtualization: kvm
+ nova_compute_avail_zone:
+ nova_aggregates: []
nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com
nova_compute_ssh_private: |
-----BEGIN RSA PRIVATE KEY-----
@@ -42,6 +45,69 @@
7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
-----END RSA PRIVATE KEY-----
+ openssh:
+ client:
+ enabled: True
+ user: {}
+ stricthostkeychecking: False
+ nova:
+ compute:
+ version: ${_param:nova_version}
+ enabled: true
+ virtualization: ${_param:nova_compute_virtualization}
+ availability_zone: ${_param:nova_compute_avail_zone}
+ aggregates: ${_param:nova_aggregates}
+ heal_instance_info_cache_interval: 60
+ vncproxy_url: ${_param:nova_vncproxy_url}
+ bind:
+ vnc_address: ${_param:cluster_local_address}
+ vnc_port: 6080
+ vnc_name: 0.0.0.0
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: nova
+ user: nova
+ password: ${_param:mysql_nova_password}
+ identity:
+ engine: keystone
+ region: ${_param:openstack_region}
+ host: ${_param:cluster_vip_address}
+ port: 35357
+ user: nova
+ password: ${_param:keystone_nova_password}
+ tenant: service
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ host: ${_param:openstack_message_queue_node01_address}
+ image:
+ engine: glance
+ host: ${_param:cluster_vip_address}
+ port: 9292
+ network:
+ engine: neutron
+ region: ${_param:openstack_region}
+ host: ${_param:neutron_service_host}
+ port: 9696
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ user:
+ public_key: ${_param:nova_compute_ssh_public}
+ private_key: ${_param:nova_compute_ssh_private}
+ virtualization: kvm
+ heal_instance_info_cache_interval: 60
+ cache:
+ engine: memcached
+ members:
+ - host: ${_param:cluster_node01_address}
+ port: 11211
+
linux:
network:
bridge: openvswitch
@@ -86,68 +152,3 @@
use_interfaces:
- ${_param:tenant_interface}
- nova:
- compute:
- vncproxy_url: http://${_param:cluster_vip_address}:6080
- notification:
- driver: messagingv2
- topics: "notifications"
- notify_on:
- state_change: vm_and_task_state
- version: ${_param:nova_version}
- enabled: true
- virtualization: kvm
- heal_instance_info_cache_interval: 60
- vncproxy_url: http://${_param:cluster_vip_address}:6080
- bind:
- vnc_address: ${_param:cluster_local_address}
- vnc_port: 6080
- vnc_name: 0.0.0.0
- database:
- engine: mysql
- host: ${_param:cluster_vip_address}
- port: 3306
- name: nova
- user: nova
- password: ${_param:mysql_nova_password}
- identity:
- engine: keystone
- region: RegionOne
- host: ${_param:cluster_vip_address}
- port: 35357
- user: nova
- password: ${_param:keystone_nova_password}
- tenant: service
- message_queue:
- engine: rabbitmq
- host: ${_param:cluster_vip_address}
- port: 5672
- user: openstack
- password: ${_param:rabbitmq_openstack_password}
- virtual_host: '/openstack'
- image:
- engine: glance
- host: ${_param:cluster_vip_address}
- port: 9292
- network:
- engine: neutron
- region: RegionOne
- host: ${_param:cluster_vip_address}
- port: 9696
- user: neutron
- tenant: service
- password: ${_param:keystone_neutron_password}
- cache:
- engine: memcached
- members:
- - host: ${_param:cluster_node01_address}
- port: 11211
- user:
- public_key: ${_param:nova_compute_ssh_public}
- private_key: ${_param:nova_compute_ssh_private}
- openssh:
- client:
- enabled: True
- user: {}
- stricthostkeychecking: False
-
diff --git a/classes/cluster/os_ha_ovs_syndic/infra/config.yml b/classes/cluster/os_ha_ovs_syndic/infra/config.yml
new file mode 100644
index 0000000..cebc119
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/infra/config.yml
@@ -0,0 +1,143 @@
+classes:
+- service.git.client
+- system.linux.system.single
+- system.linux.system.repo.mcp.salt
+- system.openssh.client.lab
+- system.salt.master.api
+- system.salt.master.pkg
+- system.reclass.storage.salt
+- system.salt.minion.ca.salt_master
+- system.salt.minion.cert.proxy
+- system.sphinx.server.doc.reclass
+- system.keystone.client.single
+- system.keystone.client.service.nova21
+- system.keystone.client.service.glare
+- system.keystone.client.service.cinder3
+- system.mysql.client
+- system.mysql.client.database.cinder
+- system.mysql.client.database.glance
+- system.mysql.client.database.heat
+- system.mysql.client.database.keystone
+- system.mysql.client.database.nova
+- system.mysql.client.database.nova_api
+- system.mysql.client.database.neutron
+- system.reclass.storage.system.openstack_control_cluster
+- cluster.os_ha_ovs.openstack.proxy
+- cluster.os_ha_ovs
+parameters:
+ _param:
+ reclass_data_repository: https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab
+ reclass_data_revision: master
+ salt_master_environment_repository: "https://github.com/tcpcloud"
+ salt_master_environment_revision: master
+ reclass_config_master: ${_param:infra_config_deploy_address}
+ single_address: ${_param:infra_config_address}
+ salt_master_host: 127.0.0.1
+ salt_master_base_environment: prd
+ salt_minion_ca_host: ${linux:network:fqdn}
+ salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ salt_syndic_master_address: 192.168.10.100
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ nginx:
+ server:
+ site:
+ nginx_proxy_openstack_web:
+ proxy:
+ host: ${_param:openstack_control_address}
+ nginx_proxy_openstack_api_heat_cfn:
+ enabled: false
+ salt:
+ syndic:
+ enabled: true
+ master:
+ host: ${_param:salt_syndic_master_address}
+ master:
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
+ reclass:
+ storage:
+ class_mapping:
+ common_node:
+ expression: all
+ node_param:
+ single_address:
+ value_template: <<node_control_ip>>
+ linux_system_codename:
+ value_template: <<node_os>>
+ salt_master_host:
+ value_template: <<node_master_ip>>
+ infra_config:
+ expression: <<node_hostname>>__startswith__cfg
+ cluster_param:
+ infra_config_address:
+ value_template: <<node_control_ip>>
+ infra_config_deploy_address:
+ value_template: <<node_deploy_ip>>
+ cluster_domain:
+ value_template: <<node_domain>>
+ openstack_control01:
+ expression: <<node_hostname>>__equals__ctl01
+ cluster_param:
+ openstack_control_node01_address:
+ value_template: <<node_control_ip>>
+ openstack_control02:
+ expression: <<node_hostname>>__equals__ctl02
+ cluster_param:
+ openstack_control_node02_address:
+ value_template: <<node_control_ip>>
+ openstack_control03:
+ expression: <<node_hostname>>__equals__ctl03
+ cluster_param:
+ openstack_control_node03_address:
+ value_template: <<node_control_ip>>
+ openstack_compute:
+ expression: <<node_hostname>>__startswith__cmp
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.compute
+ node_param:
+ tenant_address:
+ value_template: <<node_tenant_ip>>
+ external_address:
+ value_template: <<node_external_ip>>
+ openstack_gateway:
+ expression: <<node_hostname>>__startswith__gtw
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.gateway
+ node_param:
+ tenant_address:
+ value_template: <<node_tenant_ip>>
+ external_address:
+ value_template: <<node_external_ip>>
+ cluster_param:
+ openstack_gateway_node01_address:
+ value_template: <<node_control_ip>>
+ node:
+ openstack_control_node01:
+ classes:
+ - service.galera.master.cluster
+ params:
+ mysql_cluster_role: master
+ linux_system_codename: xenial
+ openstack_control_node02:
+ classes:
+ - service.galera.slave.cluster
+ params:
+ mysql_cluster_role: slave
+ linux_system_codename: xenial
+ openstack_control_node03:
+ classes:
+ - service.galera.slave.cluster
+ params:
+ mysql_cluster_role: slave
+ linux_system_codename: xenial
diff --git a/classes/cluster/os_ha_ovs_syndic/infra/init.yml b/classes/cluster/os_ha_ovs_syndic/infra/init.yml
new file mode 100644
index 0000000..d5b51f9
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/infra/init.yml
@@ -0,0 +1,19 @@
+parameters:
+ _param:
+ cluster_domain: os_ha_ovs.local
+ cluster_name: os_ha_ovs
+ infra_config_deploy_address: 192.168.10.90
+ infra_config_address: 172.16.10.90
+ linux:
+ network:
+ host:
+ cfg01:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg01
+ - cfg01.${_param:cluster_domain}
+ cfg:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg
+ - cfg.${_param:cluster_domain}
diff --git a/classes/cluster/os_ha_ovs_syndic/init.yml b/classes/cluster/os_ha_ovs_syndic/init.yml
new file mode 100644
index 0000000..000ee69
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/init.yml
@@ -0,0 +1,8 @@
+classes:
+- system.linux.system.single
+- cluster.os_ha_ovs.infra
+- cluster.os_ha_ovs.openstack
+- system.openssh.server.team.lab
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- cluster.overrides
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/compute.yml b/classes/cluster/os_ha_ovs_syndic/openstack/compute.yml
new file mode 100644
index 0000000..e86bf67
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/compute.yml
@@ -0,0 +1,71 @@
+classes:
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.nova.compute.cluster
+- system.neutron.compute.cluster
+- cluster.os_ha_ovs
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ nova:
+ compute:
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ notify_on:
+ state_change: vm_and_task_state
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_node01_address}
+ - host: ${_param:openstack_control_node02_address}
+ - host: ${_param:openstack_control_node03_address}
+ linux:
+ network:
+ bridge: openvswitch
+ concat_iface_files:
+ - src: '/etc/network/interfaces.d/50-cloud-init.cfg'
+ dst: '/etc/network/interfaces'
+ interface:
+ dhcp_int:
+ enabled: true
+ name: ens3
+ proto: dhcp
+ type: eth
+ mtu: ${_param:interface_mtu}
+ primary_interface:
+ enabled: true
+ ipflush_onchange: true
+ name: ${_param:primary_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ tenant_interface:
+ enabled: true
+ ipflush_onchange: true
+ name: ${_param:tenant_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ br-mgmt:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:primary_interface}
+ br-mesh:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:tenant_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:tenant_interface}
+
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/control.yml b/classes/cluster/os_ha_ovs_syndic/openstack/control.yml
new file mode 100644
index 0000000..5e8accb
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/control.yml
@@ -0,0 +1,102 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.glusterfs
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.memcached.server.single
+- system.rabbitmq.server.cluster
+- system.rabbitmq.server.vhost.openstack
+- system.keystone.server.wsgi
+- system.keystone.server.cluster
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.glance
+- system.glusterfs.client.volume.keystone
+- system.glusterfs.server.volume.glance
+- system.glusterfs.server.volume.keystone
+- system.glusterfs.server.cluster
+- system.glance.control.cluster
+- system.nova.control.cluster
+- system.neutron.control.openvswitch.cluster
+- system.cinder.control.cluster
+- system.heat.server.cluster
+- system.galera.server.cluster
+- system.galera.server.database.cinder
+- system.galera.server.database.glance
+- system.galera.server.database.heat
+- system.galera.server.database.keystone
+- system.galera.server.database.nova
+- cluster.os_ha_ovs.openstack.dashboard
+- cluster.os_ha_ovs
+parameters:
+ _param:
+ keepalived_vip_interface: ens4
+ keepalived_openstack_telemetry_vip_interface: ens4
+ linux:
+ system:
+ package:
+ python-msgpack:
+ version: latest
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ keepalived:
+ cluster:
+ instance:
+ VIP:
+ virtual_router_id: 150
+ keystone:
+ server:
+ admin_email: ${_param:admin_email}
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ glance:
+ server:
+ storage:
+ engine: file
+ images: []
+ workers: 1
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ heat:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ neutron:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ nova:
+ controller:
+ networking: dvr
+ cpu_allocation: 54
+ metadata:
+ password: ${_param:metadata_password}
+ bind:
+ private_address: ${_param:cluster_local_address}
+ public_address: ${_param:cluster_vip_address}
+ novncproxy_port: 6080
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ workers: 1
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ cinder:
+ volume:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ controller:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/dashboard.yml b/classes/cluster/os_ha_ovs_syndic/openstack/dashboard.yml
new file mode 100644
index 0000000..ddddaa9
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/dashboard.yml
@@ -0,0 +1,19 @@
+classes:
+- system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.horizon.server.cluster
+- cluster.os_ha_ovs
+parameters:
+ _param:
+ horizon_site_branding: OpenStack Dashboard
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/gateway.yml b/classes/cluster/os_ha_ovs_syndic/openstack/gateway.yml
new file mode 100644
index 0000000..2e7f0f0
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/gateway.yml
@@ -0,0 +1,78 @@
+classes:
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.neutron.gateway.cluster
+- cluster.virtual-mcp11-ovs
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ dhcp_int:
+ enabled: true
+ name: ens3
+ proto: dhcp
+ type: eth
+ mtu: ${_param:interface_mtu}
+ primary_interface:
+ enabled: true
+ name: ${_param:primary_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ tenant_interface:
+ enabled: true
+ name: ${_param:tenant_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ external_interface:
+ enabled: true
+ name: ${_param:external_interface}
+ mtu: ${_param:interface_mtu}
+ proto: manual
+ type: eth
+ br-floating:
+ enabled: true
+ type: ovs_bridge
+ mtu: ${_param:interface_mtu}
+ br-mgmt:
+ enabled: true
+ type: bridge
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+ mtu: ${_param:interface_mtu}
+ use_interfaces:
+ - ${_param:primary_interface}
+ br-mesh:
+ enabled: true
+ type: bridge
+ mtu: ${_param:interface_mtu}
+ proto: static
+ address: ${_param:tenant_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:tenant_interface}
+ float-to-ex:
+ enabled: true
+ type: ovs_port
+ mtu: ${_param:interface_mtu}
+ bridge: br-floating
+ br-ex:
+ enabled: true
+ type: bridge
+ mtu: ${_param:interface_mtu}
+ address: ${_param:external_address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - ${_param:external_interface}
+ use_ovs_ports:
+ - float-to-ex
\ No newline at end of file
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/init.yml b/classes/cluster/os_ha_ovs_syndic/openstack/init.yml
new file mode 100644
index 0000000..771c191
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/init.yml
@@ -0,0 +1,139 @@
+parameters:
+ _param:
+ openstack_proxy_hostname: prx
+ openstack_proxy_address: ${_param:openstack_proxy_node01_address}
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node01_address: ${_param:infra_config_address}
+ openstack_control_hostname: ctl
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_control_address: 172.16.10.254
+ openstack_control_node01_address: 172.16.10.91
+ openstack_control_node02_address: 172.16.10.92
+ openstack_control_node03_address: 172.16.10.93
+ openstack_gateway_hostname: gtw
+ openstack_gateway_address: ${_param:openstack_gateway_node01_address}
+ openstack_gateway_node01_hostname: gtw01
+ openstack_gateway_node01_address: 172.16.10.94
+ openstack_database_address: ${_param:openstack_control_address}
+ openstack_message_queue_address: ${_param:openstack_control_address}
+ openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
+ openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
+ openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
+
+ openstack_version: ocata
+ apt_mk_version: nightly
+ mcp_repo_version: 1.1
+ openstack_region: RegionOne
+ admin_email: root@localhost
+ cluster_public_protocol: http
+ cluster_public_host: ${_param:openstack_proxy_address}
+ neutron_public_protocol: http
+ neutron_control_dvr: False
+ neutron_tenant_network_types: "flat,vxlan"
+ neutron_l3_ha: False
+ neutron_global_physnet_mtu: 1500
+ neutron_external_mtu: 1500
+ neutron_gateway_dvr: False
+ neutron_gateway_agent_mode: legacy
+ neutron_compute_dvr: False
+ neutron_compute_agent_mode: legacy
+ neutron_compute_external_access: False
+ galera_server_cluster_name: openstack_cluster
+ galera_server_maintenance_password: workshop
+ galera_server_admin_password: workshop
+ cluster_vip_address: ${_param:openstack_control_address}
+ cluster_local_address: ${_param:single_address}
+ cluster_node01_hostname: ${_param:openstack_control_node01_hostname}
+ cluster_node01_address: ${_param:openstack_control_node01_address}
+ cluster_node02_hostname: ${_param:openstack_control_node02_hostname}
+ cluster_node02_address: ${_param:openstack_control_node02_address}
+ cluster_node03_hostname: ${_param:openstack_control_node03_hostname}
+ cluster_node03_address: ${_param:openstack_control_node03_address}
+ rabbitmq_secret_key: workshop
+ rabbitmq_admin_password: workshop
+ rabbitmq_openstack_password: workshop
+ rabbitmq_cold_password: workshop
+ glance_version: ${_param:openstack_version}
+ glance_service_host: ${_param:cluster_vip_address}
+ keystone_version: ${_param:openstack_version}
+ keystone_service_host: ${_param:cluster_vip_address}
+ heat_version: ${_param:openstack_version}
+ heat_service_host: ${_param:cluster_vip_address}
+ heat_domain_admin_password: workshop
+ cinder_version: ${_param:openstack_version}
+ cinder_service_host: ${_param:cluster_vip_address}
+ nova_version: ${_param:openstack_version}
+ nova_service_host: ${_param:cluster_vip_address}
+ nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
+ neutron_version: ${_param:openstack_version}
+ neutron_service_host: ${_param:cluster_vip_address}
+ glusterfs_service_host: ${_param:cluster_vip_address}
+ metadata_password: password
+ mysql_admin_user: root
+ mysql_admin_password: workshop
+ mysql_cinder_password: workshop
+ mysql_glance_password: workshop
+ mysql_heat_password: workshop
+ mysql_keystone_password: workshop
+ mysql_neutron_password: workshop
+ mysql_nova_password: workshop
+ keystone_service_token: workshop
+ keystone_admin_password: workshop
+ keystone_cinder_password: workshop
+ keystone_glance_password: workshop
+ keystone_heat_password: workshop
+ keystone_keystone_password: workshop
+ keystone_neutron_password: workshop
+ keystone_nova_password: workshop
+ metadata_password: workshop
+ horizon_version: ${_param:openstack_version}
+ horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
+ horizon_identity_host: ${_param:cluster_vip_address}
+ horizon_identity_encryption: none
+ horizon_identity_version: 2
+ linux:
+ network:
+ host:
+ prx:
+ address: ${_param:openstack_proxy_address}
+ names:
+ - ${_param:openstack_proxy_hostname}
+ - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
+ prx01:
+ address: ${_param:openstack_proxy_node01_address}
+ names:
+ - ${_param:openstack_proxy_node01_hostname}
+ - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
+ ctl:
+ address: ${_param:openstack_control_address}
+ names:
+ - ${_param:openstack_control_hostname}
+ - ${_param:openstack_control_hostname}.${_param:cluster_domain}
+ ctl01:
+ address: ${_param:openstack_control_node01_address}
+ names:
+ - ${_param:openstack_control_node01_hostname}
+ - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
+ ctl02:
+ address: ${_param:openstack_control_node02_address}
+ names:
+ - ${_param:openstack_control_node02_hostname}
+ - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
+ ctl03:
+ address: ${_param:openstack_control_node03_address}
+ names:
+ - ${_param:openstack_control_node03_hostname}
+ - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
+ gtw:
+ address: ${_param:openstack_gateway_address}
+ names:
+ - ${_param:openstack_gateway_hostname}
+ - ${_param:openstack_gateway_hostname}.${_param:cluster_domain}
+ gtw01:
+ address: ${_param:openstack_gateway_address}
+ names:
+ - ${_param:openstack_gateway_hostname}
+ - ${_param:openstack_gateway_hostname}.${_param:cluster_domain}
+
diff --git a/classes/cluster/os_ha_ovs_syndic/openstack/proxy.yml b/classes/cluster/os_ha_ovs_syndic/openstack/proxy.yml
new file mode 100644
index 0000000..a819195
--- /dev/null
+++ b/classes/cluster/os_ha_ovs_syndic/openstack/proxy.yml
@@ -0,0 +1,15 @@
+classes:
+- system.nginx.server.single
+- system.nginx.server.proxy.openstack_api
+- system.nginx.server.proxy.openstack_vnc
+- system.nginx.server.proxy.openstack_web
+- system.salt.minion.cert.proxy
+- cluster.os_ha_ovs
+parameters:
+ _param:
+ nginx_proxy_ssl:
+ enabled: true
+ authority: ${_param:salt_minion_ca_authority}
+ engine: salt
+ mode: secure
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
\ No newline at end of file
diff --git a/classes/cluster/sl_os_contrail/stacklight/init.yml b/classes/cluster/sl_os_contrail/stacklight/init.yml
index 73e2a3f..3d7d83f 100755
--- a/classes/cluster/sl_os_contrail/stacklight/init.yml
+++ b/classes/cluster/sl_os_contrail/stacklight/init.yml
@@ -1,12 +1,12 @@
parameters:
_param:
stacklight_monitor_address: 172.16.10.253
- stacklight_monitor_node01_hostname: mon01
- stacklight_monitor_node02_hostname: mon02
- stacklight_monitor_node03_hostname: mon03
- stacklight_monitor_node01_address: 172.16.10.107
- stacklight_monitor_node02_address: 172.16.10.108
- stacklight_monitor_node03_address: 172.16.10.109
+ stacklight_node01_hostname: mon01
+ stacklight_node02_hostname: mon02
+ stacklight_node03_hostname: mon03
+ stacklight_node01_address: 172.16.10.107
+ stacklight_node02_address: 172.16.10.108
+ stacklight_node03_address: 172.16.10.109
stacklight_log_address: ${_param:stacklight_monitor_address}
prometheus_control_address: ${_param:stacklight_monitor_address}
@@ -27,17 +27,17 @@
- mon
- mon.${_param:cluster_domain}
mon01:
- address: ${_param:stacklight_monitor_node01_address}
+ address: ${_param:stacklight_node01_address}
names:
- - ${_param:stacklight_monitor_node01_hostname}
- - ${_param:stacklight_monitor_node01_hostname}.${_param:cluster_domain}
+ - ${_param:stacklight_node01_hostname}
+ - ${_param:stacklight_node01_hostname}.${_param:cluster_domain}
mon02:
- address: ${_param:stacklight_monitor_node02_address}
+ address: ${_param:stacklight_node02_address}
names:
- - ${_param:stacklight_monitor_node02_hostname}
- - ${_param:stacklight_monitor_node02_hostname}.${_param:cluster_domain}
+ - ${_param:stacklight_node02_hostname}
+ - ${_param:stacklight_node02_hostname}.${_param:cluster_domain}
mon03:
- address: ${_param:stacklight_monitor_node03_address}
+ address: ${_param:stacklight_node03_address}
names:
- - ${_param:stacklight_monitor_node03_hostname}
- - ${_param:stacklight_monitor_node03_hostname}.${_param:cluster_domain}
+ - ${_param:stacklight_node03_hostname}
+ - ${_param:stacklight_node03_hostname}.${_param:cluster_domain}
diff --git a/classes/cluster/sl_os_contrail/stacklight/proxy.yml b/classes/cluster/sl_os_contrail/stacklight/proxy.yml
index 9933070..8b71bcb 100755
--- a/classes/cluster/sl_os_contrail/stacklight/proxy.yml
+++ b/classes/cluster/sl_os_contrail/stacklight/proxy.yml
@@ -9,6 +9,7 @@
parameters:
_param:
nginx_proxy_grafana_port: 15013
+ cluster_public_host: ${_param:prometheus_control_address}
nginx_proxy_ssl:
enabled: true
authority: ${_param:salt_minion_ca_authority}
diff --git a/classes/cluster/sl_os_contrail/stacklight/server.yml b/classes/cluster/sl_os_contrail/stacklight/server.yml
index b4f68bb..8697478 100755
--- a/classes/cluster/sl_os_contrail/stacklight/server.yml
+++ b/classes/cluster/sl_os_contrail/stacklight/server.yml
@@ -37,11 +37,15 @@
cluster_elasticsearch_port: 9200
cluster_kibana_port: 5601
cluster_node01_hostname: mon01
- cluster_node01_address: ${_param:stacklight_monitor_node01_address}
+ cluster_node01_address: ${_param:stacklight_node01_address}
cluster_node02_hostname: mon02
- cluster_node02_address: ${_param:stacklight_monitor_node02_address}
+ cluster_node02_address: ${_param:stacklight_node02_address}
cluster_node03_hostname: mon03
- cluster_node03_address: ${_param:stacklight_monitor_node03_address}
+ cluster_node03_address: ${_param:stacklight_node03_address}
+ grafana_admin_password: admin
+ grafana_database_type: mysql
+ grafana_database_host: ${_param:openstack_database_address}
+ grafana_database_password: ${_param:mysql_grafana_password}
docker_image_alertmanager: docker-prod-virtual.docker.mirantis.net/openstack-docker/alertmanager:latest
docker_image_pushgateway: docker-prod-virtual.docker.mirantis.net/openstack-docker/pushgateway:latest
docker_image_prometheus: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus:latest
@@ -67,4 +71,4 @@
type: eth
proto: static
address: ${_param:single_address}
- netmask: 255.255.255.0
+ netmask: 255.255.255.0
\ No newline at end of file
diff --git a/classes/cluster/sl_os_ovs/stacklight/init.yml b/classes/cluster/sl_os_ovs/stacklight/init.yml
index 9621aa3..1bf8868 100644
--- a/classes/cluster/sl_os_ovs/stacklight/init.yml
+++ b/classes/cluster/sl_os_ovs/stacklight/init.yml
@@ -1,9 +1,9 @@
parameters:
_param:
stacklight_monitor_address: 172.16.10.253
- stacklight_monitor_node01_address: 172.16.10.107
- stacklight_monitor_node02_address: 172.16.10.108
- stacklight_monitor_node03_address: 172.16.10.109
+ stacklight_node01_address: 172.16.10.107
+ stacklight_node02_address: 172.16.10.108
+ stacklight_node03_address: 172.16.10.109
stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
stacklight_log_address: ${_param:stacklight_monitor_address}
stacklight_telemetry_address: ${_param:stacklight_monitor_address}
@@ -40,17 +40,17 @@
- mon
- mon.${_param:cluster_domain}
mon01:
- address: ${_param:stacklight_monitor_node01_address}
+ address: ${_param:stacklight_node01_address}
names:
- mon01
- mon01.${_param:cluster_domain}
mon02:
- address: ${_param:stacklight_monitor_node02_address}
+ address: ${_param:stacklight_node02_address}
names:
- mon02
- mon02.${_param:cluster_domain}
mon03:
- address: ${_param:stacklight_monitor_node03_address}
+ address: ${_param:stacklight_node03_address}
names:
- mon03
- mon03.${_param:cluster_domain}
diff --git a/classes/system b/classes/system
index cb02e31..a3909e2 160000
--- a/classes/system
+++ b/classes/system
@@ -1 +1 @@
-Subproject commit cb02e3183e80d35bd51aee6d1fd6666357c32777
+Subproject commit a3909e204580639b864070a0d5c2130bea26df3f