Merge "Add rsyslog configuration for virtual-offline-pike-ovs-dpdk"
diff --git a/classes/cluster/k8s-aio-calico/kubernetes/compute.yml b/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
index 6c4495f..ede1437 100644
--- a/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
+++ b/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
@@ -19,9 +19,8 @@
kubelet:
address: ${_param:single_address}
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/k8s-aio-calico/kubernetes/control.yml b/classes/cluster/k8s-aio-calico/kubernetes/control.yml
index 0616a0f..d26942b 100644
--- a/classes/cluster/k8s-aio-calico/kubernetes/control.yml
+++ b/classes/cluster/k8s-aio-calico/kubernetes/control.yml
@@ -51,9 +51,8 @@
kubelet:
address: ${_param:single_address}
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml b/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
index e8803e5..a5559f4 100644
--- a/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
+++ b/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
@@ -36,8 +36,8 @@
kubernetes:
pool:
network:
- cnis:
- - opencontrail
+ opencontrail:
+ enabled: true
common:
hyperkube:
image: ${_param:kubernetes_hyperkube_image}
diff --git a/classes/cluster/k8s-aio-contrail/kubernetes/control.yml b/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
index 72a8dba..5923e3d 100644
--- a/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
+++ b/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
@@ -40,9 +40,8 @@
netchecker:
enabled: true
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
public_ip_range: 185.22.97.128/26
public_network: default-domain:default-project:Public
private_ip_range: 10.150.0.0/16
diff --git a/classes/cluster/k8s-compact/kubernetes/compute.yml b/classes/cluster/k8s-compact/kubernetes/compute.yml
index 624f709..edb70a4 100644
--- a/classes/cluster/k8s-compact/kubernetes/compute.yml
+++ b/classes/cluster/k8s-compact/kubernetes/compute.yml
@@ -13,9 +13,8 @@
kubelet:
address: ${_param:single_address}
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/k8s-compact/kubernetes/control.yml b/classes/cluster/k8s-compact/kubernetes/control.yml
index 82bd0a9..5564e9c 100644
--- a/classes/cluster/k8s-compact/kubernetes/control.yml
+++ b/classes/cluster/k8s-compact/kubernetes/control.yml
@@ -55,9 +55,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
index 6a22893..a594585 100644
--- a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
@@ -21,9 +21,8 @@
kubernetes:
pool:
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
index 7f8560d..0d755a2 100644
--- a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
@@ -49,9 +49,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
index cddee62..2718fc1 100644
--- a/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
@@ -19,9 +19,8 @@
kubernetes:
pool:
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml b/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
index 3bb63dc..cc7a920 100644
--- a/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
@@ -38,9 +38,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
index 2b91e0d..476f176 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
@@ -20,9 +20,8 @@
address: ${_param:single_address}
fail_on_swap: ${_param:kubelet_fail_on_swap}
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/control.yml b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
index 6629e13..26a8608 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
@@ -59,9 +59,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml b/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
index 3f5af94..b9d1e74 100644
--- a/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
@@ -38,9 +38,8 @@
address: ${_param:single_address}
fail_on_swap: ${_param:kubelet_fail_on_swap}
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
config:
api:
host: ${_param:opencontrail_control_address}
diff --git a/classes/cluster/k8s-ha-contrail/kubernetes/control.yml b/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
index 116cd82..8ef2041 100644
--- a/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
@@ -58,9 +58,8 @@
netchecker:
enabled: true
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
public_ip_range: 185.22.97.128/26
public_network: default-domain:default-project:Public
private_ip_range: 10.150.0.0/16
diff --git a/classes/cluster/model-manager/infra/config.yml b/classes/cluster/model-manager/infra/config.yml
index ac19fcc..a92683e 100644
--- a/classes/cluster/model-manager/infra/config.yml
+++ b/classes/cluster/model-manager/infra/config.yml
@@ -3,8 +3,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-aio-contrail/infra/config.yml b/classes/cluster/os-aio-contrail/infra/config.yml
index ebcbe3c..9af72a5 100755
--- a/classes/cluster/os-aio-contrail/infra/config.yml
+++ b/classes/cluster/os-aio-contrail/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-aio-ovs/infra/config.yml b/classes/cluster/os-aio-ovs/infra/config.yml
index 9447401..ae1ccc0 100644
--- a/classes/cluster/os-aio-ovs/infra/config.yml
+++ b/classes/cluster/os-aio-ovs/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-ha-contrail-40/infra/config.yml b/classes/cluster/os-ha-contrail-40/infra/config.yml
index dc238d6..6f85651 100644
--- a/classes/cluster/os-ha-contrail-40/infra/config.yml
+++ b/classes/cluster/os-ha-contrail-40/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-ha-contrail/infra/config.yml b/classes/cluster/os-ha-contrail/infra/config.yml
index c3e9ea2..8c39819 100755
--- a/classes/cluster/os-ha-contrail/infra/config.yml
+++ b/classes/cluster/os-ha-contrail/infra/config.yml
@@ -5,8 +5,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-ha-ovs-ceph/infra/config.yml b/classes/cluster/os-ha-ovs-ceph/infra/config.yml
index a723985..fc1dee1 100644
--- a/classes/cluster/os-ha-ovs-ceph/infra/config.yml
+++ b/classes/cluster/os-ha-ovs-ceph/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-ha-ovs-pike/.env b/classes/cluster/os-ha-ovs-pike/.env
new file mode 100644
index 0000000..ff12bb9
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/.env
@@ -0,0 +1 @@
+EXTRA_FORMULAS="ntp sphinx nginx memcached horizon neutron runtest artifactory"
diff --git a/classes/cluster/os-ha-ovs-pike/infra/config.yml b/classes/cluster/os-ha-ovs-pike/infra/config.yml
new file mode 100644
index 0000000..5c513da
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/infra/config.yml
@@ -0,0 +1,156 @@
+classes:
+- service.git.client
+- system.linux.system.single
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.mcp.openstack
+- system.openssh.client.lab
+- system.salt.master.pkg
+- system.salt.master.api
+- system.reclass.storage.salt
+- system.salt.minion.ca.salt_master
+- system.salt.minion.cert.proxy
+- system.sphinx.server.doc.reclass
+- system.keystone.client.core
+- system.keystone.client.service.designate
+- system.keystone.client.service.cinder
+- system.keystone.client.service.cinder2
+- system.keystone.client.service.cinder3
+- system.keystone.client.service.glance
+- system.keystone.client.service.glare
+- system.keystone.client.service.heat
+- system.keystone.client.service.heat-cfn
+- system.keystone.client.service.keystone
+- system.keystone.client.service.neutron
+- system.keystone.client.service.nova-ec2
+- system.keystone.client.service.nova21
+- system.keystone.client.service.nova-placement
+- 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
+- system.neutron.client.service.public
+- cluster.os-ha-ovs-pike.openstack.proxy
+- cluster.os-ha-ovs-pike
+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"
+ 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:infra_config_address}
+ nginx_proxy_openstack_api_heat_cfn:
+ enabled: false
+ salt:
+ master:
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
+ environment:
+ prd:
+ formula:
+ runtest:
+ source: pkg
+ name: salt-formula-runtest
+ 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-pike/infra/init.yml b/classes/cluster/os-ha-ovs-pike/infra/init.yml
new file mode 100644
index 0000000..838f096
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/infra/init.yml
@@ -0,0 +1,20 @@
+parameters:
+ _param:
+ cluster_domain: os-ha-ovs-pike.local
+ cluster_name: os-ha-ovs-pike
+ infra_config_hostname: cfg01
+ 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:
+ - ${_param:infra_config_hostname}
+ - ${_param:infra_config_hostname}.${_param:cluster_domain}
+ cfg:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg
+ - cfg.${_param:cluster_domain}
diff --git a/classes/cluster/os-ha-ovs-pike/init.yml b/classes/cluster/os-ha-ovs-pike/init.yml
new file mode 100644
index 0000000..780e88d
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/init.yml
@@ -0,0 +1,17 @@
+classes:
+- system.linux.network.dynamic_hosts
+- system.linux.system.single
+- cluster.os-ha-ovs-pike.infra
+- cluster.os-ha-ovs-pike.openstack
+- system.openssh.server.team.lab
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- system.openssh.server.team.services
+- cluster.overrides
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${linux:system:domain}
+ salt:
+ minion:
+ trusted_ca_minions:
+ - cfg01.${linux:system:domain}
diff --git a/classes/cluster/os-ha-ovs-pike/openstack/compute.yml b/classes/cluster/os-ha-ovs-pike/openstack/compute.yml
new file mode 100644
index 0000000..b1ab980
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/openstack/compute.yml
@@ -0,0 +1,81 @@
+classes:
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.linux.network.hosts
+- system.nova.compute.cluster
+- system.neutron.compute.cluster
+- cluster.os-ha-ovs-pike
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ linux_system_codename: xenial
+ nova:
+ compute:
+ cpu_mode: none
+ 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}
+ identity:
+ protocol: https
+ network:
+ protocol: https
+ glance:
+ protocol: https
+ image:
+ protocol: https
+ 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-pike/openstack/control.yml b/classes/cluster/os-ha-ovs-pike/openstack/control.yml
new file mode 100644
index 0000000..20d2497
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/openstack/control.yml
@@ -0,0 +1,284 @@
+classes:
+- system.salt.minion.cert.proxy
+- 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.linux.storage.loopback
+- system.memcached.server.single
+- system.rabbitmq.server.cluster
+- system.rabbitmq.server.vhost.openstack
+- system.nginx.server.single
+- system.nginx.server.proxy.openstack_api
+- system.nginx.server.proxy.openstack.designate
+- system.nginx.server.proxy.openstack.placement
+- 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.cinder.control.backend.lvm
+- system.cinder.volume.single
+- system.cinder.volume.backend.lvm
+- system.heat.server.cluster
+- system.designate.server.cluster
+- system.designate.server.backend.bind
+- system.galera.server.cluster
+- system.galera.server.database.cinder
+- system.galera.server.database.designate
+- system.galera.server.database.glance
+- system.galera.server.database.heat
+- system.galera.server.database.keystone
+- system.galera.server.database.nova
+- cluster.os-ha-ovs-pike.openstack.dashboard
+- cluster.os-ha-ovs-pike
+parameters:
+ _param:
+ salt_minion_ca_authority: salt_master_ca
+ keepalived_vip_interface: ens4
+ ### nginx ssl sites settings
+ nginx_proxy_ssl:
+ enabled: true
+ engine: salt
+ authority: "${_param:salt_minion_ca_authority}"
+ key_file: "/etc/ssl/private/internal_proxy.key"
+ cert_file: "/etc/ssl/certs/internal_proxy.crt"
+ chain_file: "/etc/ssl/certs/internal_proxy-with-chain.crt"
+ nginx_proxy_openstack_api_address: ${_param:cluster_local_address}
+ nginx_proxy_openstack_keystone_host: 127.0.0.1
+ nginx_proxy_openstack_nova_host: 127.0.0.1
+ nginx_proxy_openstack_cinder_host: 127.0.0.1
+ nginx_proxy_openstack_glance_host: 127.0.0.1
+ nginx_proxy_openstack_neutron_host: 127.0.0.1
+ nginx_proxy_openstack_heat_host: 127.0.0.1
+ nginx_proxy_openstack_designate_host: 127.0.0.1
+ nginx_proxy_openstack_placement_host: 127.0.0.1
+ apache_keystone_api_host: ${_param:single_address}
+ apache_keystone_ssl: ${_param:nginx_proxy_ssl}
+ designate_api_address: 127.0.0.1
+ designate_api_base_uri: ${_param:cluster_vip_address}
+ nginx:
+ server:
+ site:
+ nginx_proxy_openstack_api_keystone:
+ enabled: false
+ nginx_proxy_openstack_api_keystone_private:
+ enabled: false
+ 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"
+ designate:
+ worker:
+ enabled: ${_param:designate_worker_enabled}
+ server:
+ pools:
+ default:
+ description: 'test pool'
+ targets:
+ default:
+ description: 'test target1'
+ default1:
+ type: ${_param:designate_pool_target_type}
+ description: 'test target2'
+ masters: ${_param:designate_pool_target_masters}
+ options:
+ host: ${_param:openstack_control_node02_address}
+ port: 53
+ rndc_host: ${_param:openstack_control_node02_address}
+ rndc_port: 953
+ rndc_key_file: /etc/designate/rndc.key
+ default2:
+ type: ${_param:designate_pool_target_type}
+ description: 'test target3'
+ masters: ${_param:designate_pool_target_masters}
+ options:
+ host: ${_param:openstack_control_node03_address}
+ port: 53
+ rndc_host: ${_param:openstack_control_node03_address}
+ rndc_port: 953
+ rndc_key_file: /etc/designate/rndc.key
+ bind:
+ api:
+ address: ${_param:designate_api_address}
+ api:
+ base_uri: ${_param:designate_service_protocol}://${_param:designate_api_base_uri}:9001/
+ identity:
+ protocol: https
+ glance:
+ server:
+ storage:
+ engine: file
+ images: []
+ workers: 1
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ bind:
+ address: 127.0.0.1
+ identity:
+ protocol: https
+ registry:
+ protocol: https
+ heat:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ bind:
+ api:
+ address: 127.0.0.1
+ api_cfn:
+ address: 127.0.0.1
+ api_cloudwatch:
+ address: 127.0.0.1
+ identity:
+ protocol: https
+ neutron:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ bind:
+ address: 127.0.0.1
+ identity:
+ protocol: https
+ bind:
+ server:
+ control:
+ mgmt:
+ enabled: true
+ bind:
+ address: ${_param:single_address}
+ port: 953
+ allow:
+ - ${_param:openstack_control_node01_address}
+ - ${_param:openstack_control_node02_address}
+ - ${_param:openstack_control_node03_address}
+ keys:
+ - designate
+ nova:
+ controller:
+ networking: dvr
+ cpu_allocation: 54
+ metadata:
+ password: ${_param:metadata_password}
+ bind:
+ private_address: 127.0.0.1
+ public_address: ${_param:cluster_vip_address}
+ novncproxy_port: 6080
+ identity:
+ protocol: https
+ network:
+ protocol: https
+ glance:
+ protocol: https
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ workers: 1
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ metadata:
+ bind:
+ address: ${_param:single_address}
+ cinder:
+ volume:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ controller:
+ notification:
+ driver: messagingv2
+ topics: "notifications"
+ identity:
+ protocol: https
+ osapi:
+ host: 127.0.0.1
+ glance:
+ protocol: https
+ salt:
+ minion:
+ cert:
+ internal_proxy:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: internal_proxy
+ signing_policy: cert_open
+ alternative_names: IP:127.0.0.1,IP:${_param:cluster_local_address},IP:${_param:cluster_public_host},DNS:${linux:system:name},DNS:${linux:network:fqdn},DNS:${_param:cluster_local_address},DNS:${_param:cluster_public_host}
+ key_file: "/etc/ssl/private/internal_proxy.key"
+ cert_file: "/etc/ssl/certs/internal_proxy.crt"
+ all_file: "/etc/ssl/certs/internal_proxy-with-chain.crt"
+ haproxy:
+ proxy:
+ listen:
+ keystone_public_api:
+ type: ~
+ designate_api:
+ type: ~
+ keystone_admin_api:
+ type: ~
+ nova_api:
+ type: ~
+ nova_metadata_api:
+ type: ~
+ cinder_api:
+ type: ~
+ glance_api:
+ type: ~
+ glance_registry_api:
+ type: ~
+ heat_cloudwatch_api:
+ type: ~
+ heat_api:
+ type: ~
+ heat_cfn_api:
+ type: ~
+ neutron_api:
+ type: ~
+ nova_placement_api:
+ mode: tcp
+ service_name: nova_placement
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8778
+ servers:
+ - name: ${_param:cluster_node01_hostname}
+ host: ${_param:cluster_node01_address}
+ port: 8778
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ${_param:cluster_node02_hostname}
+ host: ${_param:cluster_node02_address}
+ port: 8778
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ${_param:cluster_node03_hostname}
+ host: ${_param:cluster_node03_address}
+ port: 8778
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/classes/cluster/os-ha-ovs-pike/openstack/dashboard.yml b/classes/cluster/os-ha-ovs-pike/openstack/dashboard.yml
new file mode 100644
index 0000000..e12c636
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/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.single
+- cluster.os-ha-ovs-pike
+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-pike/openstack/gateway.yml b/classes/cluster/os-ha-ovs-pike/openstack/gateway.yml
new file mode 100644
index 0000000..58201bc
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/openstack/gateway.yml
@@ -0,0 +1,89 @@
+classes:
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.saltstack.xenial
+- system.neutron.gateway.cluster
+- cluster.os-ha-ovs-pike
+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
+ 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
+ external_interface:
+ enabled: true
+ ipflush_onchange: 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
+ phy-public:
+ enabled: true
+ type: ovs_port
+ bridge: br-floating
+ proto: static
+ address: ${_param:openstack_public_neutron_subnet_gateway}
+ netmask: 255.255.255.0
+
diff --git a/classes/cluster/os-ha-ovs-pike/openstack/init.yml b/classes/cluster/os-ha-ovs-pike/openstack/init.yml
new file mode 100644
index 0000000..11766e1
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/openstack/init.yml
@@ -0,0 +1,231 @@
+parameters:
+ _param:
+ openstack_proxy_hostname: cfg
+ openstack_proxy_address: 172.16.10.254
+ openstack_proxy_node01_hostname: cfg01
+ 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: pike
+ apt_mk_version: nightly
+ mcp_repo_version: 1.1
+ openstack_region: RegionOne
+ admin_email: root@localhost
+ cluster_public_protocol: https
+ cluster_internal_protocol: https
+ cluster_public_host: ${_param:openstack_proxy_address}
+ keystone_service_protocol: ${_param:cluster_internal_protocol}
+ glance_service_protocol: ${_param:cluster_internal_protocol}
+ nova_service_protocol: ${_param:cluster_internal_protocol}
+ neutron_service_protocol: ${_param:cluster_internal_protocol}
+ heat_service_protocol: ${_param:cluster_internal_protocol}
+ cinder_service_protocol: ${_param:cluster_internal_protocol}
+ designate_service_protocol: ${_param:cluster_internal_protocol}
+ 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
+ openstack_public_neutron_subnet_gateway: 192.168.130.1
+ openstack_public_neutron_subnet_cidr: 192.168.130.0/24
+ openstack_public_neutron_subnet_allocation_start: 192.168.130.10
+ openstack_public_neutron_subnet_allocation_end: 192.168.130.254
+ 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
+ designate_service_host: ${_param:openstack_control_address}
+ designate_admin_api_enabled: true
+ designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8
+ designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
+ designate_pool_ns_records:
+ - hostname: 'ns1.example.org.'
+ priority: 10
+ designate_pool_nameservers:
+ - host: ${_param:openstack_control_node01_address}
+ port: 53
+ - host: ${_param:openstack_control_node02_address}
+ port: 53
+ - host: ${_param:openstack_control_node03_address}
+ port: 53
+ designate_pool_target_type: bind9
+ designate_pool_target_masters:
+ - host: ${_param:openstack_control_node01_address}
+ port: 5354
+ - host: ${_param:openstack_control_node02_address}
+ port: 5354
+ - host: ${_param:openstack_control_node03_address}
+ port: 5354
+ designate_pool_target_options:
+ host: ${_param:openstack_control_node01_address}
+ port: 53
+ rndc_host: ${_param:openstack_control_node01_address}
+ rndc_port: 953
+ rndc_key_file: /etc/designate/rndc.key
+ designate_worker_enabled: true
+ designate_version: ${_param:openstack_version}
+ 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: workshop
+ 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
+ mysql_designate_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
+ keystone_designate_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
+ nginx_proxy_openstack_api_proxy_host: ${_param:cluster_vip_address}
+ loopback_device_size: 20
+ runtest_tempest_cfg_dir: /root/rally_reports/
+ runtest_tempest_cfg_name: tempest_generated.conf
+ artifactory_user: artifactory_user
+ artifactory_password: artifactory_password
+ 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}
+ runtest:
+ enabled: True
+ test_target: gtw0*
+ keystonerc_node: ctl01*
+ tempest:
+ enabled: True
+ cfg_dir: ${_param:runtest_tempest_cfg_dir}
+ cfg_name: ${_param:runtest_tempest_cfg_name}
+ DEFAULT:
+ log_file: /home/rally/rally_reports/tempest.log
+ compute:
+ build_timeout: 600
+ min_microversion: 2.1
+ max_microversion: 2.42
+ orchestration:
+ max_template_size: 5440000
+ max_resources_per_stack: 20000
+ dns_feature_enabled:
+ # Switch this to designate_admin_api_enabled once [1] is promoted to stable packages
+ # [1] https://gerrit.mcp.mirantis.net/gitweb?p=salt-formulas/designate.git;a=commit;h=96a3f43f6cf1149559e54a00b5548bdf46333749
+ api_admin: false
+ api_v1: false
+ api_v2: true
+ api_v2_quotas: true
+ api_v2_root_recordsets: true
+ bug_1573141_fixed: true
+ volume-feature-enabled:
+ backup: false
+ artifact_collector:
+ enabled: true
+ artifactory:
+ enabled: true
+ user: ${_param:artifactory_user}
+ password: ${_param:artifactory_password}
+ host: artifactory.mcp.mirantis.net
+ port: 443
+ proto: https
+ endpoint: /oscore-local/${_param:cluster_domain}/${_param:infra_config_hostname}
+ artifacts:
+ sys_logs:
+ path: /var/log
+ etc:
+ path: /etc
+
diff --git a/classes/cluster/os-ha-ovs-pike/openstack/proxy.yml b/classes/cluster/os-ha-ovs-pike/openstack/proxy.yml
new file mode 100644
index 0000000..ead28d0
--- /dev/null
+++ b/classes/cluster/os-ha-ovs-pike/openstack/proxy.yml
@@ -0,0 +1,17 @@
+classes:
+- system.nginx.server.single
+- system.nginx.server.proxy.openstack_api
+- system.nginx.server.proxy.openstack_vnc
+- system.nginx.server.proxy.openstack_web
+- system.nginx.server.proxy.openstack.designate
+- system.salt.minion.cert.proxy
+- cluster.os-ha-ovs-pike.openstack.dashboard
+- cluster.os-ha-ovs-pike
+parameters:
+ _param:
+ nginx_proxy_ssl:
+ enabled: true
+ authority: ${_param:salt_minion_ca_authority}
+ engine: salt
+ mode: secure
+ salt_minion_ca_host: cfg01.${linux:system:domain}
diff --git a/classes/cluster/os-ha-ovs-syndic/infra/config.yml b/classes/cluster/os-ha-ovs-syndic/infra/config.yml
index 43ee1d7..81145b1 100644
--- a/classes/cluster/os-ha-ovs-syndic/infra/config.yml
+++ b/classes/cluster/os-ha-ovs-syndic/infra/config.yml
@@ -3,8 +3,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/os-ha-ovs/infra/config.yml b/classes/cluster/os-ha-ovs/infra/config.yml
index a7d91a2..686088f 100644
--- a/classes/cluster/os-ha-ovs/infra/config.yml
+++ b/classes/cluster/os-ha-ovs/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/sl-k8s-calico/kubernetes/compute.yml b/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
index b78a930..ac2f555 100644
--- a/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
+++ b/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
@@ -19,9 +19,8 @@
kubernetes:
pool:
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/sl-k8s-calico/kubernetes/control.yml b/classes/cluster/sl-k8s-calico/kubernetes/control.yml
index 6ffe418..1c0f9d1 100644
--- a/classes/cluster/sl-k8s-calico/kubernetes/control.yml
+++ b/classes/cluster/sl-k8s-calico/kubernetes/control.yml
@@ -39,9 +39,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/sl-k8s-calico/stacklight/server.yml b/classes/cluster/sl-k8s-calico/stacklight/server.yml
index 979b08d..439866e 100644
--- a/classes/cluster/sl-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-calico/stacklight/server.yml
@@ -38,7 +38,7 @@
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
docker_influxdb_image: influxdb:1.2
grafana_admin_password: admin
keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
diff --git a/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml b/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
index 9365431..c64be9f 100644
--- a/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
+++ b/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
@@ -32,8 +32,8 @@
kubernetes:
pool:
network:
- cnis:
- - opencontrail
+ opencontrail:
+ enabled: true
common:
hyperkube:
image: ${_param:kubernetes_hyperkube_image}
diff --git a/classes/cluster/sl-k8s-contrail/kubernetes/control.yml b/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
index 24de888..2cf6932 100644
--- a/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
+++ b/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
@@ -39,9 +39,8 @@
netchecker:
enabled: true
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
public_ip_range: 185.22.97.128/26
public_network: default-domain:default-project:Public
private_ip_range: 10.150.0.0/16
diff --git a/classes/cluster/sl-k8s-contrail/stacklight/server.yml b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
index a9ae634..f8c0efa 100644
--- a/classes/cluster/sl-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
@@ -38,7 +38,7 @@
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
grafana_admin_password: admin
keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/sl-os-contrail/.env b/classes/cluster/sl-os-contrail/.env
new file mode 100644
index 0000000..49c1ca4
--- /dev/null
+++ b/classes/cluster/sl-os-contrail/.env
@@ -0,0 +1 @@
+EXTRA_FORMULAS="fluentd grafana heka nginx ntp prometheus rsyslog sphinx telegraf"
diff --git a/classes/cluster/sl-os-contrail/infra/config.yml b/classes/cluster/sl-os-contrail/infra/config.yml
index 79d69bf..e85cff6 100755
--- a/classes/cluster/sl-os-contrail/infra/config.yml
+++ b/classes/cluster/sl-os-contrail/infra/config.yml
@@ -1,14 +1,11 @@
classes:
- service.git.client
-- system.docker.client
-- system.docker.host
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
-- system.linux.system.repo.docker
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
@@ -29,26 +26,22 @@
- system.keystone.client.service.nova-ec2
- system.keystone.client.service.nova21
- system.keystone.client.service.nova-placement
-- 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.mysql.client.single
- system.reclass.storage.system.openstack_control_cluster
- system.reclass.storage.system.opencontrail_control_cluster
+- system.reclass.storage.system.stacklightv2_server_cluster
+- system.reclass.storage.system.openstack_compute_multi
+- system.reclass.storage.system.openstack_dashboard_single
+- system.reclass.storage.system.openstack_proxy_single
- cluster.sl-os-contrail.openstack.proxy
- cluster.sl-os-contrail.stacklight.proxy
-- cluster.sl-os-contrail.openstack.dashboard
- cluster.sl-os-contrail
parameters:
_param:
reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
reclass_data_revision: master
- reclass_config_master: ${_param:infra_config_deploy_address}
- single_address: ${_param:infra_config_address}
+ reclass_config_master: 192.168.10.90
+ single_address: 172.16.10.90
salt_master_host: 127.0.0.1
salt_master_base_environment: prd
salt_minion_ca_host: ${linux:network:fqdn}
@@ -67,7 +60,7 @@
site:
nginx_proxy_openstack_web:
proxy:
- host: cfg
+ host: prx
nginx_proxy_openstack_api_heat_cfn:
enabled: false
salt:
@@ -125,7 +118,7 @@
expression: <<node_hostname>>__equals__ntw03
cluster_param:
opencontrail_control_node03_address:
- value_template: <<node_control_ip>>
+ value_template: <<node_control_ip>>
openstack_compute:
expression: <<node_hostname>>__startswith__cmp
node_class:
@@ -136,89 +129,55 @@
value_template: <<node_tenant_ip>>
external_address:
value_template: <<node_external_ip>>
- stacklight_monitor01:
+ stacklight_monitor_node01:
expression: <<node_hostname>>__equals__mon01
cluster_param:
stacklight_monitor_node01_address:
value_template: <<node_control_ip>>
- stacklight_monitor02:
+ stacklight_monitor_node02:
expression: <<node_hostname>>__equals__mon02
cluster_param:
stacklight_monitor_node02_address:
value_template: <<node_control_ip>>
- stacklight_monitor03:
+ stacklight_monitor_node03:
expression: <<node_hostname>>__equals__mon03
cluster_param:
stacklight_monitor_node03_address:
value_template: <<node_control_ip>>
+ openstack_dashboard:
+ expression: <<node_hostname>>__startswith__prx
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.dashboard
+ - cluster.<<node_cluster>>.openstack.proxy
+ cluster_param:
+ openstack_proxy_node01_address:
+ value_template: <<node_control_ip>>
node:
- prx_node:
- name: ${_param:openstack_proxy_node01_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - cluster.${_param:cluster_name}.stacklight.proxy
- params:
- salt_master_host: ${_param:infra_config_deploy_address}
- linux_system_codename: xenial
- single_address: ${_param:openstack_proxy_node01_address}
- stacklight_server_node01:
- name: ${_param:stacklight_monitor_node01_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - system.docker.swarm.master
- - cluster.${_param:cluster_name}.stacklight.client
- - cluster.${_param:cluster_name}.stacklight.server
- params:
- salt_master_host: ${_param:infra_config_deploy_address}
- linux_system_codename: xenial
- single_address: ${_param:stacklight_monitor_node01_address}
- keepalived_vip_priority: 100
- stacklight_server_node02:
- name: ${_param:stacklight_monitor_node02_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - system.docker.swarm.manager
- - cluster.${_param:cluster_name}.stacklight.server
- params:
- salt_master_host: ${_param:infra_config_deploy_address}
- linux_system_codename: xenial
- single_address: ${_param:stacklight_monitor_node02_address}
- keepalived_vip_priority: 101
- stacklight_server_node03:
- name: ${_param:stacklight_monitor_node03_hostname}
- domain: ${_param:cluster_domain}
- classes:
- - system.docker.swarm.manager
- - cluster.${_param:cluster_name}.stacklight.server
- params:
- salt_master_host: ${_param:infra_config_deploy_address}
- linux_system_codename: xenial
- single_address: ${_param:stacklight_monitor_node03_address}
- keepalived_vip_priority: 102
- opencontrail_control_node01:
- params:
- rabbitmq_cluster_role: master
- opencontrail_control_node02:
- params:
- rabbitmq_cluster_role: slave
- opencontrail_control_node03:
- params:
- rabbitmq_cluster_role: slave
openstack_control_node01:
classes:
- service.galera.master.cluster
params:
- linux_system_codename: xenial
mysql_cluster_role: master
+ linux_system_codename: xenial
openstack_control_node02:
classes:
- service.galera.slave.cluster
params:
- linux_system_codename: xenial
mysql_cluster_role: slave
+ linux_system_codename: xenial
openstack_control_node03:
classes:
- service.galera.slave.cluster
params:
- linux_system_codename: xenial
mysql_cluster_role: slave
+ linux_system_codename: xenial
+ stacklight_server_node01:
+ classes:
+ - system.influxdb.server.single
+ - system.influxdb.database.stacklight
+ openstack_proxy_node01:
+ classes:
+ - cluster.sl-os-contrail.openstack.proxy
+ params:
+ linux_system_codename: xenial
diff --git a/classes/cluster/sl-os-contrail/infra/init.yml b/classes/cluster/sl-os-contrail/infra/init.yml
index 5c878d4..6c44489 100755
--- a/classes/cluster/sl-os-contrail/infra/init.yml
+++ b/classes/cluster/sl-os-contrail/infra/init.yml
@@ -1,13 +1,9 @@
parameters:
- _jenkins:
- tests_enabled: false
_param:
cluster_domain: sl-os-contrail.local
cluster_name: sl-os-contrail
- infra_config_deploy_address: 192.168.10.90
- infra_config_address: 172.16.10.100
infra_config_hostname: cfg01
- linux_system_repo_mcp_salt_version: nightly
+ infra_config_address: 172.16.10.90
linux:
network:
host:
diff --git a/classes/cluster/sl-os-contrail/init.yml b/classes/cluster/sl-os-contrail/init.yml
index e410120..dc46bda 100755
--- a/classes/cluster/sl-os-contrail/init.yml
+++ b/classes/cluster/sl-os-contrail/init.yml
@@ -1,12 +1,22 @@
classes:
- system.linux.network.dynamic_hosts
+- service.grafana.collector
+- system.fluentd
+- system.fluentd.label.default_metric
+- system.fluentd.label.default_metric.prometheus
+- system.fluentd.label.default_output.elasticsearch
+- system.fluentd.label.default_output.drop_event
- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.fluentd
+- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.linux.system.single
- system.rsyslog.client.single
- system.openssh.server.team.lab
- system.openssh.server.team.tcpcloud
- system.openssh.server.team.stacklight
- system.openssh.server.team.mcp_qa
+- system.prometheus.collector
+- system.telegraf.agent
- cluster.sl-os-contrail.infra
- cluster.sl-os-contrail.opencontrail
- cluster.sl-os-contrail.openstack
diff --git a/classes/cluster/sl-os-contrail/opencontrail/control.yml b/classes/cluster/sl-os-contrail/opencontrail/control.yml
index 314d968..7c5e60b 100644
--- a/classes/cluster/sl-os-contrail/opencontrail/control.yml
+++ b/classes/cluster/sl-os-contrail/opencontrail/control.yml
@@ -4,7 +4,7 @@
- system.linux.system.repo.mcp.contrail
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.extra
-- system.linux.system.repo.saltstack.xenial
+- system.linux.system.repo.saltstack.trusty
- system.opencontrail.client.resource.edge_router
- system.opencontrail.control.cluster
- system.opencontrail.client.cluster
@@ -13,6 +13,7 @@
- system.opencontrail.client.resource.database_node
- system.opencontrail.client.resource.analytics_node
- system.haproxy.proxy.listen.opencontrail.analytics
+- system.prometheus.exporters.jmx
- cluster.sl-os-contrail
parameters:
_param:
diff --git a/classes/cluster/sl-os-contrail/opencontrail/init.yml b/classes/cluster/sl-os-contrail/opencontrail/init.yml
index cee0b50..7e1e78c 100644
--- a/classes/cluster/sl-os-contrail/opencontrail/init.yml
+++ b/classes/cluster/sl-os-contrail/opencontrail/init.yml
@@ -34,4 +34,4 @@
address: ${_param:opencontrail_control_node03_address}
names:
- ${_param:opencontrail_control_node03_hostname}
- - ${_param:opencontrail_control_node03_hostname}.${_param:cluster_domain}
\ No newline at end of file
+ - ${_param:opencontrail_control_node03_hostname}.${_param:cluster_domain}
diff --git a/classes/cluster/sl-os-contrail/openstack/compute.yml b/classes/cluster/sl-os-contrail/openstack/compute.yml
index 3876f10..e010b73 100755
--- a/classes/cluster/sl-os-contrail/openstack/compute.yml
+++ b/classes/cluster/sl-os-contrail/openstack/compute.yml
@@ -5,11 +5,12 @@
- system.linux.system.repo.saltstack.xenial
- system.linux.network.hosts
- system.nova.compute.cluster
+- system.ceilometer.agent.cluster
- system.opencontrail.compute.cluster
- system.opencontrail.client.cluster
- system.opencontrail.client.resource.virtual_router
-- service.opencontrail.compute.cluster
- system.prometheus.exporters.libvirt
+- service.opencontrail.compute.cluster
- cluster.sl-os-contrail
parameters:
_param:
@@ -58,6 +59,13 @@
topics: "notifications,${_param:stacklight_notification_topic}"
notify_on:
state_change: vm_and_task_state
+ ceilometer:
+ agent:
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_node01_address}
+ - host: ${_param:openstack_control_node02_address}
+ - host: ${_param:openstack_control_node03_address}
opencontrail:
common:
network:
diff --git a/classes/cluster/sl-os-contrail/openstack/control.yml b/classes/cluster/sl-os-contrail/openstack/control.yml
index c934ea0..dee70ed 100755
--- a/classes/cluster/sl-os-contrail/openstack/control.yml
+++ b/classes/cluster/sl-os-contrail/openstack/control.yml
@@ -18,12 +18,21 @@
- system.glusterfs.client.volume.keystone
- system.glance.control.cluster
- system.nova.control.cluster
+- system.haproxy.proxy.listen.openstack.nova-placement
- system.neutron.control.opencontrail.cluster
- system.cinder.control.cluster
- system.heat.server.cluster
+- system.opencontrail.client.cluster
+- system.heat.server.resource.contrail
- system.designate.server.cluster
- system.designate.server.backend.bind
+- system.ceilometer.server.cluster
+- system.ceilometer.server.backend.influxdb
+- system.aodh.server.cluster
+- system.heka.ceilometer_collector.single
- system.galera.server.cluster
+- system.galera.server.database.aodh
+- system.galera.server.database.ceilometer
- system.galera.server.database.cinder
- system.galera.server.database.glance
- system.galera.server.database.grafana
@@ -31,8 +40,6 @@
- system.galera.server.database.keystone
- system.galera.server.database.nova
- system.galera.server.database.designate
-- system.haproxy.proxy.listen.openstack.nova-placement
-- system.prometheus.exporters.jmx
- cluster.sl-os-contrail
parameters:
_param:
@@ -165,4 +172,3 @@
notification:
driver: messagingv2
topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/sl-os-contrail/openstack/dashboard.yml b/classes/cluster/sl-os-contrail/openstack/dashboard.yml
index 0068d41..4b8ad35 100755
--- a/classes/cluster/sl-os-contrail/openstack/dashboard.yml
+++ b/classes/cluster/sl-os-contrail/openstack/dashboard.yml
@@ -6,6 +6,7 @@
- system.horizon.server.single
- system.horizon.server.plugin.contrail
- system.horizon.server.plugin.overrides
+- system.horizon.server.plugin.theme
- cluster.sl-os-contrail
parameters:
_param:
@@ -19,7 +20,3 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
- horizon:
- server:
- identity:
- host: ctl
\ No newline at end of file
diff --git a/classes/cluster/sl-os-contrail/openstack/init.yml b/classes/cluster/sl-os-contrail/openstack/init.yml
index ebaf4ae..c600e35 100755
--- a/classes/cluster/sl-os-contrail/openstack/init.yml
+++ b/classes/cluster/sl-os-contrail/openstack/init.yml
@@ -1,43 +1,26 @@
parameters:
_param:
openstack_proxy_address: 172.16.10.121
- openstack_proxy_node01_hostname: prx01
openstack_proxy_node01_address: 172.16.10.121
-
openstack_control_address: 172.16.10.254
- openstack_control_node01_hostname: ctl01
- openstack_control_node02_hostname: ctl02
- openstack_control_node03_hostname: ctl03
openstack_control_node01_address: 172.16.10.101
openstack_control_node02_address: 172.16.10.102
openstack_control_node03_address: 172.16.10.103
-
openstack_database_address: ${_param:openstack_control_address}
- openstack_database_node01_hostname: dbs01
- openstack_database_node02_hostname: dbs02
- openstack_database_node03_hostname: dbs03
openstack_database_node01_address: ${_param:openstack_control_node01_address}
openstack_database_node02_address: ${_param:openstack_control_node02_address}
openstack_database_node03_address: ${_param:openstack_control_node02_address}
-
openstack_message_queue_address: ${_param:openstack_control_address}
- openstack_message_queue_node01_hostname: msg01
- openstack_message_queue_node02_hostname: msg02
- openstack_message_queue_node03_hostname: msg03
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_compute_node01_hostname: cmp01
- openstack_compute_node02_hostname: cmp02
- openstack_compute_node01_address: 172.16.10.105
- openstack_compute_node02_address: 172.16.10.106
-
openstack_version: ocata
apt_mk_version: nightly
openstack_region: RegionOne
admin_email: root@localhost
- cluster_public_host: ${_param:openstack_control_address}
+ cluster_public_host: 172.16.10.254
+ neutron_public_protocol: http
+ cluster_public_protocol: http
opencontrail_version: 3.0
opencontrail_compute_dns: 8.8.8.8
opencontrail_stats_password: contrail123
@@ -48,7 +31,6 @@
rabbitmq_admin_password: workshop
rabbitmq_openstack_password: workshop
rabbitmq_cold_password: workshop
- designate_admin_api_enabled: true
designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8
designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
designate_pool_ns_records:
@@ -85,20 +67,27 @@
heat_version: ${_param:openstack_version}
heat_service_host: ${_param:openstack_control_address}
heat_domain_admin_password: workshop
+ ceilometer_version: ${_param:openstack_version}
+ ceilometer_service_host: ${_param:openstack_control_address}
+ aodh_version: ${_param:openstack_version}
+ aodh_service_host: ${_param:openstack_control_address}
cinder_version: ${_param:openstack_version}
cinder_service_host: ${_param:openstack_control_address}
+ ceilometer_graphite_publisher_host: 172.16.10.107
+ ceilometer_graphite_publisher_port: 2013
nova_version: ${_param:openstack_version}
nova_service_host: ${_param:openstack_control_address}
nova_vncproxy_url: http://${_param:openstack_control_address}:8060
neutron_version: ${_param:openstack_version}
neutron_service_host: ${_param:openstack_control_address}
glusterfs_service_host: ${_param:openstack_control_address}
- designate_version: ${_param:openstack_version}
designate_service_host: ${_param:openstack_control_address}
mysql_admin_user: root
mysql_admin_password: workshop
+ mysql_aodh_password: workshop
mysql_designate_password: workshop
mysql_cinder_password: workshop
+ mysql_ceilometer_password: workshop
mysql_glance_password: workshop
mysql_grafana_password: workshop
mysql_heat_password: workshop
@@ -107,6 +96,8 @@
mysql_nova_password: workshop
keystone_service_token: workshop
keystone_admin_password: workshop
+ keystone_aodh_password: workshop
+ keystone_ceilometer_password: workshop
keystone_cinder_password: workshop
keystone_glance_password: workshop
keystone_heat_password: workshop
@@ -114,20 +105,23 @@
keystone_neutron_password: workshop
keystone_nova_password: workshop
keystone_designate_password: workshop
- keystone_aodh_password: workshop
- keystone_ceilometer_password: workshop
+ ceilometer_secret_key: workshop
metadata_password: workshop
horizon_version: ${_param:openstack_version}
horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
horizon_identity_host: ${_param:openstack_control_address}
horizon_identity_encryption: none
horizon_identity_version: 2
- aodh_version: ${_param:openstack_version}
- aodh_service_host: ${_param:cluster_vip_address}
- ceilometer_version: ${_param:openstack_version}
- ceilometer_service_host: ${_param:cluster_vip_address}
+ mongodb_server_replica_set: ceilometer
+ mongodb_ceilometer_password: cloudlab
+ mongodb_admin_password: cloudlab
+ mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
+ ceilometer_influxdb_password: lmapass
+ openstack_log_appender: true
+ openstack_fluentd_handler_enabled: true
linux:
network:
+ purge_hosts: true
host:
prx:
address: ${_param:openstack_proxy_address}
@@ -137,7 +131,7 @@
prx01:
address: ${_param:openstack_proxy_node01_address}
names:
- - ${_param:openstack_proxy_node01_hostname}
+ - prx01
- prx01.${_param:cluster_domain}
ctl:
address: ${_param:openstack_control_address}
@@ -147,65 +141,30 @@
ctl01:
address: ${_param:openstack_control_node01_address}
names:
- - ${_param:openstack_control_node01_hostname}
- - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
+ - ctl01
+ - ctl01.${_param:cluster_domain}
ctl02:
address: ${_param:openstack_control_node02_address}
names:
- - ${_param:openstack_control_node02_hostname}
- - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
+ - ctl02
+ - ctl02.${_param:cluster_domain}
ctl03:
address: ${_param:openstack_control_node03_address}
names:
- - ${_param:openstack_control_node03_hostname}
- - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
- msg:
- address: ${_param:openstack_message_queue_address}
- names:
- - msg
- - msg.${_param:cluster_domain}
- msg01:
- address: ${_param:openstack_message_queue_node01_address}
- names:
- - ${_param:openstack_message_queue_node01_hostname}
- - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
- msg02:
- address: ${_param:openstack_message_queue_node02_address}
- names:
- - ${_param:openstack_message_queue_node02_hostname}
- - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
- msg03:
- address: ${_param:openstack_message_queue_node03_address}
- names:
- - ${_param:openstack_message_queue_node03_hostname}
- - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
- dbs:
- address: ${_param:openstack_database_address}
- names:
- - dbs
- - dbs.${_param:cluster_domain}
- dbs01:
- address: ${_param:openstack_database_node01_address}
- names:
- - ${_param:openstack_database_node01_hostname}
- - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
- dbs02:
- address: ${_param:openstack_database_node02_address}
- names:
- - ${_param:openstack_database_node02_hostname}
- - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
- dbs03:
- address: ${_param:openstack_database_node03_address}
- names:
- - ${_param:openstack_database_node03_hostname}
- - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
+ - ctl03
+ - ctl03.${_param:cluster_domain}
cmp01:
- address: ${_param:openstack_compute_node01_address}
+ address: 172.16.10.105
names:
- - ${_param:openstack_compute_node01_hostname}
- - ${_param:openstack_compute_node01_hostname}.${_param:cluster_domain}
+ - cmp01
+ - cmp01.${_param:cluster_domain}
cmp02:
- address: ${_param:openstack_compute_node02_address}
+ address: 172.16.10.106
names:
- - ${_param:openstack_compute_node02_hostname}
- - ${_param:openstack_compute_node02_hostname}.${_param:cluster_domain}
+ - cmp02
+ - cmp02.${_param:cluster_domain}
+ system:
+ user:
+ root:
+ name: root
+ password: false
diff --git a/classes/cluster/sl-os-contrail/stacklight/client.yml b/classes/cluster/sl-os-contrail/stacklight/client.yml
index 7373bd3..4988908 100755
--- a/classes/cluster/sl-os-contrail/stacklight/client.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/client.yml
@@ -1,11 +1,9 @@
classes:
+- system.docker.client
- system.elasticsearch.client.single
- system.grafana.client
- system.grafana.client.datasource.prometheus
- system.kibana.client.single
-- system.heka.log_collector.single
-- system.heka.log_collector.output.telegraf
-- cluster.sl-os-contrail
parameters:
_param:
# Elasticsearch/Kibana client parameters
@@ -17,4 +15,7 @@
grafana_password: ${_param:grafana_admin_password}
grafana_prometheus_address: ${_param:stacklight_monitor_address}
grafana_prometheus_port: 15016
- stacklight_prometheus_port: 15010
+
+ cluster_node01_address: ${_param:stacklight_monitor_node01_address}
+ cluster_node02_address: ${_param:stacklight_monitor_node02_address}
+ cluster_node03_address: ${_param:stacklight_monitor_node03_address}
diff --git a/classes/cluster/sl-os-contrail/stacklight/init.yml b/classes/cluster/sl-os-contrail/stacklight/init.yml
index 8c63110..18c364e 100755
--- a/classes/cluster/sl-os-contrail/stacklight/init.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/init.yml
@@ -1,21 +1,12 @@
-classes:
-- service.grafana.collector
-- system.linux.system.repo.mcp.extra
-- system.heka.log_collector.single
-- system.heka.log_collector.output.telegraf
-- system.prometheus.collector
-- system.telegraf.agent
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_log_address: ${_param:stacklight_monitor_address}
+ stacklight_telemetry_address: ${_param:stacklight_monitor_address}
+ stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
prometheus_control_address: ${_param:stacklight_monitor_address}
heka_elasticsearch_host: ${_param:stacklight_monitor_address}
elasticsearch_port: 9200
@@ -25,6 +16,7 @@
grafana_database_type: mysql
grafana_database_host: ${_param:openstack_database_address}
grafana_database_password: ${_param:mysql_grafana_password}
+ fluentd_elasticsearch_host: ${_param:stacklight_log_address}
linux:
network:
host:
@@ -36,15 +28,15 @@
mon01:
address: ${_param:stacklight_monitor_node01_address}
names:
- - ${_param:stacklight_monitor_node01_hostname}
- - ${_param:stacklight_monitor_node01_hostname}.${_param:cluster_domain}
+ - mon01
+ - mon01.${_param:cluster_domain}
mon02:
address: ${_param:stacklight_monitor_node02_address}
names:
- - ${_param:stacklight_monitor_node02_hostname}
- - ${_param:stacklight_monitor_node02_hostname}.${_param:cluster_domain}
+ - mon02
+ - mon02.${_param:cluster_domain}
mon03:
address: ${_param:stacklight_monitor_node03_address}
names:
- - ${_param:stacklight_monitor_node03_hostname}
- - ${_param:stacklight_monitor_node03_hostname}.${_param:cluster_domain}
+ - mon03
+ - mon03.${_param:cluster_domain}
diff --git a/classes/cluster/sl-os-contrail/stacklight/proxy.yml b/classes/cluster/sl-os-contrail/stacklight/proxy.yml
index 5dd1640..9410ad0 100755
--- a/classes/cluster/sl-os-contrail/stacklight/proxy.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/proxy.yml
@@ -9,7 +9,6 @@
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 f67f8dd..f8469d2 100755
--- a/classes/cluster/sl-os-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/server.yml
@@ -2,9 +2,13 @@
- system.docker.host
- system.linux.system.repo.influxdb
- system.linux.system.repo.mcp.salt
-- system.linux.system.repo.elasticsearch.5
-- system.linux.system.repo.kibana.5
+- system.linux.system.repo.mcp.apt_mirantis.elastic
+- system.linux.system.repo.mcp.apt_mirantis.kibana
- system.linux.system.repo.docker
+- system.heka.remote_collector.container
+- system.heka.remote_collector.input.amqp
+- system.heka.remote_collector.output.elasticsearch
+- system.heka.remote_collector.output.telegraf
- system.elasticsearch.server.cluster
- system.elasticsearch.server.curator
- system.kibana.server.single
@@ -15,17 +19,19 @@
- system.influxdb.relay.cluster
- system.influxdb.server.single
- system.influxdb.database.prometheus
+- system.influxdb.database.ceilometer
- system.keepalived.cluster.instance.prometheus_server_vip
- system.telegraf.agent.remote
- system.prometheus.server.remote_write.docker
- system.prometheus.server.alertmanager.dns
- system.prometheus.server.target.dns
- system.docker.swarm.stack.monitoring.prometheus_global
-- system.docker.swarm.stack.dashboard
- system.docker.swarm.stack.monitoring.remote_collector
+- system.docker.swarm.stack.dashboard
- cluster.sl-os-contrail
parameters:
_param:
+ heka_amqp_host: ${_param:openstack_control_address}
kibana_elasticsearch_host: ${_param:stacklight_monitor_address}
keepalived_prometheus_vip_address: ${_param:stacklight_monitor_address}
keepalived_prometheus_vip_password: 'password'
@@ -34,38 +40,28 @@
cluster_local_address: ${_param:single_address}
cluster_elasticsearch_port: 9200
cluster_kibana_port: 5601
- cluster_node01_hostname: ${_param:stacklight_monitor_node01_hostname}
+ cluster_node01_hostname: mon01
cluster_node01_address: ${_param:stacklight_monitor_node01_address}
- cluster_node02_hostname: ${_param:stacklight_monitor_node02_hostname}
+ cluster_node02_hostname: mon02
cluster_node02_address: ${_param:stacklight_monitor_node02_address}
- cluster_node03_hostname: ${_param:stacklight_monitor_node03_hostname}
+ cluster_node03_hostname: mon03
cluster_node03_address: ${_param:stacklight_monitor_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
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
- docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
+ docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
- grafana_admin_password: admin
- grafana_database_type: mysql
- grafana_database_host: ${_param:cluster_vip_address}
- grafana_database_password: ${_param:mysql_grafana_password}
+ docker_image_grafana: grafana/grafana:5.0.3
+ influxdb_port: 8086
+ influxdb_admin_password: password
+ influxdb_stacklight_password: lmapass
prometheus_influxdb_url: "http://${_param:stacklight_monitor_address}:${_param:influxdb_port}/"
prometheus_influxdb_db: prometheus
prometheus_influxdb_username: lma
prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
- influxdb_port: 8086
- influxdb_admin_password: password
- influxdb_stacklight_password: lmapass
- openstack_version: newton
remote_collector_telegraf_host: monitoring_remote_agent
- heka_amqp_host: ${_param:openstack_control_address}
linux:
network:
interface:
@@ -75,7 +71,3 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
- elasticsearch:
- server:
- heap:
- size: 1
diff --git a/classes/cluster/sl-os-ovs/infra/config.yml b/classes/cluster/sl-os-ovs/infra/config.yml
index eac6a06..945673b 100644
--- a/classes/cluster/sl-os-ovs/infra/config.yml
+++ b/classes/cluster/sl-os-ovs/infra/config.yml
@@ -6,8 +6,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.docker
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/sl-os-ovs/stacklight/server.yml b/classes/cluster/sl-os-ovs/stacklight/server.yml
index 019e4b3..071b036 100644
--- a/classes/cluster/sl-os-ovs/stacklight/server.yml
+++ b/classes/cluster/sl-os-ovs/stacklight/server.yml
@@ -53,7 +53,7 @@
docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
grafana_admin_password: admin
grafana_database_type: mysql
grafana_database_host: ${_param:cluster_vip_address}
diff --git a/classes/cluster/sl-pike-dvr/.env b/classes/cluster/sl-pike-dvr/.env
new file mode 100644
index 0000000..13e6475
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/.env
@@ -0,0 +1 @@
+FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf backupninja)
diff --git a/classes/cluster/sl-pike-dvr/infra/backup/client_common.yml b/classes/cluster/sl-pike-dvr/infra/backup/client_common.yml
new file mode 100644
index 0000000..79b8f6b
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/infra/backup/client_common.yml
@@ -0,0 +1,40 @@
+classes:
+- system.backupninja.client.single
+- system.openssh.client.root
+parameters:
+ _param:
+ backupninja_backup_host: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ # for salt-master backup
+ backupninja:
+ client:
+ target:
+ home_dir: /srv/volumes/backup/backupninja
+ engine_opts: "-av --delete --recursive --safe-links"
diff --git a/classes/cluster/sl-pike-dvr/infra/backup/client_mysql.yml b/classes/cluster/sl-pike-dvr/infra/backup/client_mysql.yml
new file mode 100644
index 0000000..9d0cace
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/infra/backup/client_mysql.yml
@@ -0,0 +1,37 @@
+classes:
+- system.xtrabackup.client.single
+parameters:
+ _param:
+ xtrabackup_remote_server: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ xtrabackup:
+ server:
+ enabled: false
+ backup_dir: /srv/volumes/backup/xtrabackup
diff --git a/classes/cluster/sl-pike-dvr/infra/backup/server.yml b/classes/cluster/sl-pike-dvr/infra/backup/server.yml
new file mode 100644
index 0000000..8f84903
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/infra/backup/server.yml
@@ -0,0 +1,15 @@
+classes:
+- system.backupninja.server.single
+- system.xtrabackup.server.single
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.backup
+parameters:
+ _param:
+ backupninja_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ xtrabackup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ backupninja:
+ server:
+ home_dir: /srv/volumes/backup/backupninja
+ xtrabackup:
+ server:
+ backup_dir: /srv/volumes/backup/xtrabackup
\ No newline at end of file
diff --git a/classes/cluster/sl-pike-dvr/infra/config.yml b/classes/cluster/sl-pike-dvr/infra/config.yml
new file mode 100644
index 0000000..c400ce8
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/infra/config.yml
@@ -0,0 +1,195 @@
+classes:
+- service.git.client
+- system.linux.system.single
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+#- 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.aodh
+- system.keystone.client.service.ceilometer
+- system.keystone.client.service.nova21
+- system.keystone.client.service.nova-placement
+- system.keystone.client.service.glare
+- system.keystone.client.service.cinder3
+- system.keystone.client.service.designate
+- system.mysql.client.single
+- system.reclass.storage.system.openstack_dns_cluster
+- system.reclass.storage.system.openstack_control_cluster
+- system.reclass.storage.system.openstack_compute_multi
+- system.reclass.storage.system.openstack_gateway_single
+- system.reclass.storage.system.openstack_dashboard_single
+- system.reclass.storage.system.stacklightv2_server_cluster
+- cluster.sl-pike-dvr.infra.backup.client_common
+- cluster.sl-pike-dvr.openstack.proxy
+- cluster.sl-pike-dvr.stacklight.proxy
+- cluster.sl-pike-dvr
+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
+ salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+ reclass_config_master: 192.168.10.90
+ single_address: 172.16.10.100
+ salt_master_host: 127.0.0.1
+ salt_master_base_environment: prd
+ salt_minion_ca_host: ${linux:network:fqdn}
+ 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_proxy_address}
+ nginx_proxy_openstack_api_heat_cfn:
+ enabled: false
+ salt:
+ master:
+ backup: true
+ reactor:
+ reclass/minion/classify:
+ - salt://reclass/reactor/node_register.sls
+ minion:
+ backup: true
+ 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>>
+ stacklight_monitor_node01:
+ expression: <<node_hostname>>__equals__mon01
+ cluster_param:
+ stacklight_monitor_node01_address:
+ value_template: <<node_control_ip>>
+ stacklight_monitor_node02:
+ expression: <<node_hostname>>__equals__mon02
+ cluster_param:
+ stacklight_monitor_node02_address:
+ value_template: <<node_control_ip>>
+ stacklight_monitor_node03:
+ expression: <<node_hostname>>__equals__mon03
+ cluster_param:
+ stacklight_monitor_node03_address:
+ value_template: <<node_control_ip>>
+ openstack_dashboard:
+ expression: <<node_hostname>>__startswith__prx
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.dashboard
+ - cluster.<<node_cluster>>.openstack.proxy
+ cluster_param:
+ openstack_proxy_node01_address:
+ value_template: <<node_control_ip>>
+ node:
+ openstack_control_node01:
+ classes:
+ - cluster.virtual-mcp-pike-dvr.infra.backup.client_mysql
+ - 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:
+ - cluster.virtual-mcp-pike-dvr.infra.backup.server
+ - service.galera.slave.cluster
+ params:
+ mysql_cluster_role: slave
+ linux_system_codename: xenial
+ stacklight_server_node01:
+ classes:
+ - system.influxdb.server.single
+ - system.influxdb.database.stacklight
+ openstack_compute_node01:
+ params:
+ single_address: 172.16.10.105
+ tenant_address: 10.1.0.105
+ external_address: 10.16.0.105
+ openstack_compute_node02:
+ params:
+ single_address: 172.16.10.106
+ tenant_address: 10.1.0.106
+ external_address: 10.16.0.106
+ openstack_gateway_node01:
+ params:
+ tenant_address: 10.1.0.110
+ external_address: 10.16.0.110
+ openstack_proxy_node01:
+ classes:
+ - cluster.virtual-mcp-pike-dvr.openstack.proxy
+ params:
+ linux_system_codename: xenial
diff --git a/classes/cluster/sl-pike-dvr/infra/init.yml b/classes/cluster/sl-pike-dvr/infra/init.yml
new file mode 100644
index 0000000..b01723d
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/infra/init.yml
@@ -0,0 +1,14 @@
+parameters:
+ linux:
+ network:
+ host:
+ cfg01:
+ address: ${_param:infra_config_address}
+ names:
+ - ${_param:infra_config_hostname}
+ - ${_param:infra_config_hostname}.${_param:cluster_domain}
+ cfg:
+ address: ${_param:infra_config_address}
+ names:
+ - cfg
+ - cfg.${_param:cluster_domain}
diff --git a/classes/cluster/sl-pike-dvr/init.yml b/classes/cluster/sl-pike-dvr/init.yml
new file mode 100644
index 0000000..9417b91
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/init.yml
@@ -0,0 +1,56 @@
+classes:
+- system.linux.network.dynamic_hosts
+- service.grafana.collector
+- system.fluentd
+- system.fluentd.label.default_metric
+- system.fluentd.label.default_metric.prometheus
+- system.fluentd.label.default_output.elasticsearch
+- system.fluentd.label.default_output.drop_event
+- system.linux.system.repo.mcp.extra
+- system.linux.system.single
+- system.linux.system.repo.mcp.apt_mirantis.fluentd
+- system.rsyslog.client.single
+- system.prometheus.collector
+- system.telegraf.agent
+- system.openssh.server.team.lab
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- cluster.sl-pike-dvr.infra
+- cluster.sl-pike-dvr.openstack
+- cluster.sl-pike-dvr.stacklight
+- cluster.overrides
+parameters:
+ _param:
+ cluster_domain: virtual-mcp-pike-dvr.local
+ cluster_name: virtual-mcp-pike-dvr
+ # infra service addresses
+ infra_config_hostname: cfg01
+ infra_config_address: 172.16.10.100
+ # openstack service addresses
+ openstack_database_address: 172.16.10.254
+ openstack_proxy_address: 172.16.10.121
+ openstack_proxy_node01_address: 172.16.10.121
+ openstack_control_address: 172.16.10.254
+ openstack_control_node01_address: 172.16.10.101
+ openstack_control_node02_address: 172.16.10.102
+ openstack_control_node03_address: 172.16.10.103
+ openstack_database_address: ${_param:openstack_control_address}
+ openstack_database_node01_address: ${_param:openstack_control_node01_address}
+ openstack_database_node02_address: ${_param:openstack_control_node02_address}
+ openstack_database_node03_address: ${_param:openstack_control_node03_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_gateway_address: 172.16.10.110
+ openstack_gateway_node01_address: ${_param:openstack_gateway_address}
+ openstack_dns_node01_address: 172.16.10.111
+ openstack_dns_node02_address: 172.16.10.112
+ # stacklight service addresses
+ 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_telemetry_address: ${_param:stacklight_monitor_address}
+ stacklight_log_address: ${_param:stacklight_monitor_address}
+ stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
diff --git a/classes/cluster/sl-pike-dvr/openstack/compute.yml b/classes/cluster/sl-pike-dvr/openstack/compute.yml
new file mode 100644
index 0000000..460df98
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/compute.yml
@@ -0,0 +1,36 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.saltstack_2016_3
+- system.linux.network.hosts
+- system.nova.compute.cluster
+- system.neutron.compute.cluster
+- system.ceilometer.agent.cluster
+- system.linux.network.interface.single_ovs_dvr
+- system.prometheus.exporters.libvirt
+- cluster.sl-pike-dvr
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 1500
+ linux_system_codename: xenial
+ neutron:
+ compute:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ nova:
+ compute:
+ vncproxy_url: http://${_param:cluster_vip_address}:6080
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_node01_address}
+ - host: ${_param:openstack_control_node02_address}
+ - host: ${_param:openstack_control_node03_address}
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ notify_on:
+ state_change: vm_and_task_state
diff --git a/classes/cluster/sl-pike-dvr/openstack/control.yml b/classes/cluster/sl-pike-dvr/openstack/control.yml
new file mode 100644
index 0000000..643c144
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/control.yml
@@ -0,0 +1,140 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.mcp.apt_mirantis.glusterfs
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.saltstack_2016_3
+- 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.volume.backup
+- 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.ceilometer.server.cluster
+- system.ceilometer.server.backend.influxdb
+- system.aodh.server.cluster
+- system.heka.ceilometer_collector.single
+- system.designate.server.cluster
+- system.galera.server.cluster
+- system.galera.server.database.aodh
+- system.galera.server.database.ceilometer
+- system.galera.server.database.cinder
+- system.galera.server.database.glance
+- system.galera.server.database.grafana
+- system.galera.server.database.heat
+- system.galera.server.database.keystone
+- system.galera.server.database.nova
+- system.galera.server.database.designate
+- system.haproxy.proxy.listen.openstack.nova-placement
+- cluster.sl-pike-dvr
+
+parameters:
+ _param:
+ keepalived_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,${_param:stacklight_notification_topic}"
+ designate:
+ pool_manager:
+ enabled: ${_param:designate_pool_manager_enabled}
+ periodic_sync_interval: ${_param:designate_pool_manager_periodic_sync_interval}
+ server:
+ backend:
+ pdns4:
+ api_token: ${_param:designate_pdns_api_key}
+ api_endpoint: ${_param:designate_pdns_api_endpoint}
+ mdns:
+ address: ${_param:designate_mdns_address}
+ port: ${_param:designate_mdns_port}
+ pools:
+ default:
+ description: 'test pool'
+ targets:
+ default:
+ description: 'test target1'
+ default1:
+ type: ${_param:designate_pool_target_type}
+ description: 'test target2'
+ masters: ${_param:designate_pool_target_masters}
+ options:
+ host: ${_param:openstack_dns_node02_address}
+ port: 53
+ api_endpoint: "http://${_param:openstack_dns_node02_address}:${_param:powerdns_webserver_port}"
+ api_token: ${_param:designate_pdns_api_key}
+ quota:
+ zones: ${_param:designate_quota_zones}
+ glance:
+ server:
+ storage:
+ engine: file
+ images: []
+ workers: 1
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ heat:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ neutron:
+ server:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ 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,${_param:stacklight_notification_topic}"
+ cinder:
+ volume:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
+ controller:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
diff --git a/classes/cluster/sl-pike-dvr/openstack/dashboard.yml b/classes/cluster/sl-pike-dvr/openstack/dashboard.yml
new file mode 100644
index 0000000..3d37a7b
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/dashboard.yml
@@ -0,0 +1,19 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.ubuntu
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.saltstack_2016_3
+- system.horizon.server.single
+- cluster.sl-pike-dvr
+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/sl-pike-dvr/openstack/dns.yml b/classes/cluster/sl-pike-dvr/openstack/dns.yml
new file mode 100644
index 0000000..f3538c1
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/dns.yml
@@ -0,0 +1,35 @@
+classes:
+- system.powerdns.server.single
+- cluster.sl-pike-dvr
+
+parameters:
+ powerdns:
+ server:
+ api:
+ enabled: True
+ key: ${_param:designate_pdns_api_key}
+ axfr_ips:
+ ${_param:powerdns_axfr_ips}
+ bind:
+ address: ${_param:single_address}
+ overwrite_supermasters: True
+ supermasters:
+ ${_param:powerdns_supermasters}
+ webserver:
+ enabled: True
+ address: ${_param:single_address}
+ password: ${_param:powerdns_webserver_password}
+ port: ${_param:powerdns_webserver_port}
+ 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
diff --git a/classes/cluster/sl-pike-dvr/openstack/gateway.yml b/classes/cluster/sl-pike-dvr/openstack/gateway.yml
new file mode 100644
index 0000000..3ac6aac
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/gateway.yml
@@ -0,0 +1,21 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.saltstack_2016_3
+- system.linux.network.interface.single_ovs_dvr
+- system.neutron.gateway.cluster
+- cluster.sl-pike-dvr
+parameters:
+ _param:
+ primary_interface: ens4
+ tenant_interface: ens5
+ external_interface: ens6
+ interface_mtu: 9000
+ neutron_gateway_dvr: True
+ neutron_gateway_agent_mode: dvr_snat
+ linux_system_codename: xenial
+ neutron:
+ gateway:
+ notification:
+ driver: messagingv2
+ topics: "notifications,${_param:stacklight_notification_topic}"
diff --git a/classes/cluster/sl-pike-dvr/openstack/init.yml b/classes/cluster/sl-pike-dvr/openstack/init.yml
new file mode 100644
index 0000000..4a7ef7e
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/openstack/init.yml
@@ -0,0 +1,217 @@
+parameters:
+ _param:
+ openstack_version: pike
+ apt_mk_version: nightly
+ cinder_version: ${_param:openstack_version}
+ mcp_repo_version: 1.1
+ openstack_region: RegionOne
+ admin_email: root@localhost
+ cluster_public_host: 172.16.10.254
+ neutron_public_protocol: http
+ cluster_public_protocol: http
+ neutron_control_dvr: True
+ neutron_tenant_network_types: "flat,vxlan"
+ neutron_l3_ha: False
+ neutron_global_physnet_mtu: 1500
+ neutron_external_mtu: 1500
+ neutron_gateway_dvr: True
+ neutron_gateway_agent_mode: dvr_snat
+ neutron_compute_dvr: True
+ neutron_compute_agent_mode: dvr
+ neutron_compute_external_access: True
+ galera_server_cluster_name: openstack_cluster
+ galera_server_maintenance_password: workshop
+ galera_server_admin_password: workshop
+ galera_innodb_read_io_threads: 2
+ galera_innodb_write_io_threads: 2
+ galera_wsrep_slave_threads: 2
+ galera_xtrabackup_parallel: 1
+ galera_error_log_enabled: true
+ cluster_vip_address: 172.16.10.254
+ cluster_local_address: ${_param:single_address}
+ cluster_node01_hostname: ctl01
+ cluster_node01_address: 172.16.10.101
+ cluster_node02_hostname: ctl02
+ cluster_node02_address: 172.16.10.102
+ cluster_node03_hostname: ctl03
+ cluster_node03_address: 172.16.10.103
+ rabbitmq_secret_key: workshop
+ rabbitmq_admin_password: workshop
+ rabbitmq_openstack_password: workshop
+ rabbitmq_cold_password: workshop
+ powerdns_axfr_ips:
+ - ${_param:openstack_control_node01_address}
+ - ${_param:openstack_control_node02_address}
+ - ${_param:openstack_control_node03_address}
+ - 127.0.0.1
+ powerdns_supermasters:
+ - ip: ${_param:openstack_control_node01_address}
+ nameserver: ns1.example.org
+ account: master
+ - ip: ${_param:openstack_control_node02_address}
+ nameserver: ns2.example.org
+ account: master
+ - ip: ${_param:openstack_control_node03_address}
+ nameserver: ns3.example.org
+ account: master
+ powerdns_overwrite_supermasters: True
+ powerdns_webserver_password: gJ6n3gVaYP8eS
+ powerdns_webserver_port: 8081
+ designate_admin_api_enabled: true
+ designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
+ designate_mdns_address: 0.0.0.0
+ designate_mdns_port: 53
+ designate_pdns_api_key: VxK9cMlFL5Ae
+ designate_pdns_api_endpoint: "http://${_param:openstack_dns_node01_address}:${_param:powerdns_webserver_port}"
+ designate_pool_manager_enabled: True
+ designate_pool_manager_periodic_sync_interval: '120'
+ designate_pool_ns_records:
+ - hostname: 'ns1.example.org.'
+ priority: 10
+ - hostname: 'ns2.example.org.'
+ priority: 20
+ - hostname: 'ns3.example.org.'
+ priority: 30
+ designate_pool_nameservers:
+ - host: ${_param:openstack_dns_node01_address}
+ port: 53
+ - host: ${_param:openstack_dns_node02_address}
+ port: 53
+ designate_pool_target_type: pdns4
+ designate_pool_target_masters:
+ - host: ${_param:openstack_control_node01_address}
+ port: 53
+ - host: ${_param:openstack_control_node02_address}
+ port: 53
+ - host: ${_param:openstack_control_node03_address}
+ port: 53
+ designate_pool_target_options:
+ host: ${_param:openstack_dns_node01_address}
+ port: 53
+ api_token: ${_param:designate_pdns_api_key}
+ api_endpoint: ${_param:designate_pdns_api_endpoint}
+ designate_quota_zones: 40
+ designate_version: ${_param:openstack_version}
+ 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
+ ceilometer_version: ${_param:openstack_version}
+ ceilometer_service_host: ${_param:cluster_vip_address}
+ cinder_version: ${_param:openstack_version}
+ cinder_service_host: ${_param:cluster_vip_address}
+ aodh_version: ${_param:openstack_version}
+ aodh_service_host: ${_param:cluster_vip_address}
+ ceilometer_graphite_publisher_host: 172.16.10.107
+ ceilometer_graphite_publisher_port: 2013
+ 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}
+ designate_service_host: ${_param:cluster_vip_address}
+ metadata_password: password
+ mysql_admin_user: root
+ mysql_admin_password: workshop
+ mysql_cinder_password: workshop
+ mysql_ceilometer_password: workshop
+ mysql_glance_password: workshop
+ mysql_grafana_password: workshop
+ mysql_heat_password: workshop
+ mysql_keystone_password: workshop
+ mysql_neutron_password: workshop
+ mysql_nova_password: workshop
+ mysql_aodh_password: workshop
+ mysql_designate_password: workshop
+ keystone_service_token: workshop
+ keystone_admin_password: workshop
+ keystone_aodh_password: workshop
+ keystone_ceilometer_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
+ keystone_designate_password: workshop
+ ceilometer_secret_key: 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
+ mongodb_server_replica_set: ceilometer
+ mongodb_ceilometer_password: cloudlab
+ mongodb_admin_password: cloudlab
+ mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
+ ceilometer_influxdb_password: lmapass
+ openstack_log_appender: true
+ openstack_fluentd_handler_enabled: true
+ linux:
+ network:
+ purge_hosts: true
+ host:
+ prx:
+ address: ${_param:openstack_proxy_address}
+ names:
+ - prx
+ - prx.${_param:cluster_domain}
+ prx01:
+ address: ${_param:openstack_proxy_node01_address}
+ names:
+ - prx01
+ - prx01.${_param:cluster_domain}
+ ctl:
+ address: ${_param:openstack_control_address}
+ names:
+ - ctl
+ - ctl.${_param:cluster_domain}
+ ctl01:
+ address: ${_param:openstack_control_node01_address}
+ names:
+ - ctl01
+ - ctl01.${_param:cluster_domain}
+ ctl02:
+ address: ${_param:openstack_control_node02_address}
+ names:
+ - ctl02
+ - ctl02.${_param:cluster_domain}
+ ctl03:
+ address: ${_param:openstack_control_node03_address}
+ names:
+ - ctl03
+ - ctl03.${_param:cluster_domain}
+ gtw01:
+ address: ${_param:openstack_gateway_address}
+ names:
+ - gtw01
+ - gtw01.${_param:cluster_domain}
+ cmp01:
+ address: 172.16.10.105
+ names:
+ - cmp01
+ - cmp01.${_param:cluster_domain}
+ cmp02:
+ address: 172.16.10.106
+ names:
+ - cmp02
+ - cmp02.${_param:cluster_domain}
+ dns01:
+ address: ${_param:openstack_dns_node01_address}
+ names:
+ - dns01
+ - dns01.${_param:cluster_domain}
+ dns02:
+ address: ${_param:openstack_dns_node02_address}
+ names:
+ - dns02
+ - dns02.${_param:cluster_domain}
+ system:
+ user:
+ root:
+ name: root
+ password: false
diff --git a/classes/cluster/sl-pike-dvr/openstack/proxy.yml b/classes/cluster/sl-pike-dvr/openstack/proxy.yml
new file mode 100644
index 0000000..507d1e5
--- /dev/null
+++ b/classes/cluster/sl-pike-dvr/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.sl-pike-dvr
+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/virtual-mcp-pike-dvr/stacklight/client.yml b/classes/cluster/sl-pike-dvr/stacklight/client.yml
similarity index 100%
rename from classes/cluster/virtual-mcp-pike-dvr/stacklight/client.yml
rename to classes/cluster/sl-pike-dvr/stacklight/client.yml
diff --git a/classes/cluster/virtual-mcp-pike-dvr/stacklight/init.yml b/classes/cluster/sl-pike-dvr/stacklight/init.yml
similarity index 100%
rename from classes/cluster/virtual-mcp-pike-dvr/stacklight/init.yml
rename to classes/cluster/sl-pike-dvr/stacklight/init.yml
diff --git a/classes/cluster/virtual-mcp-pike-dvr/stacklight/proxy.yml b/classes/cluster/sl-pike-dvr/stacklight/proxy.yml
similarity index 94%
rename from classes/cluster/virtual-mcp-pike-dvr/stacklight/proxy.yml
rename to classes/cluster/sl-pike-dvr/stacklight/proxy.yml
index 1bc78f3..957e5cb 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/stacklight/proxy.yml
+++ b/classes/cluster/sl-pike-dvr/stacklight/proxy.yml
@@ -5,7 +5,7 @@
- system.nginx.server.proxy.monitoring.prometheus_server
- system.nginx.server.proxy.monitoring.prometheus_alertmanager
- system.salt.minion.cert.proxy
-- cluster.virtual-mcp-pike-dvr
+- cluster.sl-pike-dvr
parameters:
_param:
nginx_proxy_grafana_port: 15013
diff --git a/classes/cluster/virtual-mcp-pike-dvr/stacklight/server.yml b/classes/cluster/sl-pike-dvr/stacklight/server.yml
similarity index 98%
rename from classes/cluster/virtual-mcp-pike-dvr/stacklight/server.yml
rename to classes/cluster/sl-pike-dvr/stacklight/server.yml
index 1714106..a6e2477 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/stacklight/server.yml
+++ b/classes/cluster/sl-pike-dvr/stacklight/server.yml
@@ -29,7 +29,7 @@
- system.docker.swarm.stack.monitoring.prometheus_global
- system.docker.swarm.stack.monitoring.remote_collector
- system.docker.swarm.stack.dashboard
-- cluster.virtual-mcp-pike-dvr
+- cluster.sl-pike-dvr
parameters:
_param:
heka_amqp_host: ${_param:openstack_control_address}
diff --git a/classes/cluster/virtual-mcp-mitaka-dvr/infra/config.yml b/classes/cluster/virtual-mcp-mitaka-dvr/infra/config.yml
index 6235e8f..07eaa0f 100644
--- a/classes/cluster/virtual-mcp-mitaka-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp-mitaka-dvr/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-mitaka-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp-mitaka-dvr/stacklight/server.yml
index f65ab4c..5a4688c 100644
--- a/classes/cluster/virtual-mcp-mitaka-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-mitaka-dvr/stacklight/server.yml
@@ -47,7 +47,7 @@
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
influxdb_port: 8086
influxdb_admin_password: password
influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp-mitaka-ovs/infra/config.yml b/classes/cluster/virtual-mcp-mitaka-ovs/infra/config.yml
index 7d0a986..fdd6cdd 100644
--- a/classes/cluster/virtual-mcp-mitaka-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp-mitaka-ovs/infra/config.yml
@@ -5,8 +5,8 @@
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.ubuntu
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-newton-dvr/infra/config.yml b/classes/cluster/virtual-mcp-newton-dvr/infra/config.yml
index aa4c25f..0678b6e 100644
--- a/classes/cluster/virtual-mcp-newton-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp-newton-dvr/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-newton-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp-newton-dvr/stacklight/server.yml
index f8444d9..64c6729 100644
--- a/classes/cluster/virtual-mcp-newton-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-newton-dvr/stacklight/server.yml
@@ -47,7 +47,7 @@
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
influxdb_port: 8086
influxdb_admin_password: password
influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml b/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
index da81d4e..e1492eb 100644
--- a/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
@@ -5,8 +5,8 @@
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.ubuntu
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-ocata-dvr-ceph-local/infra/config.yml b/classes/cluster/virtual-mcp-ocata-dvr-ceph-local/infra/config.yml
index 03135b3..83cd6b8 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr-ceph-local/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr-ceph-local/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo_local.mcp.salt
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.reclass.storage.system.ceph_mon_cluster
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml b/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
index 90e94f8..a339f4b 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-ocata-ovs-ceph-local/infra/config.yml b/classes/cluster/virtual-mcp-ocata-ovs-ceph-local/infra/config.yml
index d9c1364..b3b3c76 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs-ceph-local/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs-ceph-local/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo_local.mcp.salt
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.reclass.storage.system.ceph_mon_cluster
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp-ocata-ovs-ceph/infra/config.yml b/classes/cluster/virtual-mcp-ocata-ovs-ceph/infra/config.yml
index 434c89e..3fb6af4 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs-ceph/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs-ceph/infra/config.yml
@@ -1,12 +1,13 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.ubuntu
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.reclass.storage.system.ceph_mon_cluster
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp-ocata-ovs/infra/config.yml b/classes/cluster/virtual-mcp-ocata-ovs/infra/config.yml
index 22dfde8..0b8aa98 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/infra/config.yml b/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/infra/config.yml
index fbacd1d..c42e143 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/infra/config.yml
@@ -1,12 +1,13 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.ubuntu
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.reclass.storage.system.ceph_mon_cluster
- system.reclass.storage.system.ceph_rgw_cluster
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/stacklight/server.yml b/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/stacklight/server.yml
index a21572d..062d79b 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ceph-rgw/stacklight/server.yml
@@ -52,7 +52,7 @@
docker_image_remote_storage_adapter: docker-prod-local.artifactory.mirantis.com/openstack-docker/remote_storage_adapter:${_param:apt_mk_version}
docker_image_remote_collector: docker-prod-local.artifactory.mirantis.com/openstack-docker/heka:${_param:apt_mk_version}
docker_image_prometheus_relay: docker-prod-local.artifactory.mirantis.com/openstack-docker/prometheus_relay:${_param:apt_mk_version}
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
influxdb_port: 8086
influxdb_admin_password: password
influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
index f5600aa..04c2e6f 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
@@ -1,30 +1,28 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
+- system.salt.master.formula.pkg.manila
- 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.ceilometer
- system.keystone.client.service.nova21
- system.keystone.client.service.nova-placement
- system.keystone.client.service.cinder3
- system.keystone.client.service.designate
-- system.mysql.client.single
+- system.keystone.client.service.manila
+- system.keystone.client.service.manila2
- system.reclass.storage.system.openstack_dns_cluster
- system.reclass.storage.system.openstack_control_cluster
- system.reclass.storage.system.openstack_compute_multi
- system.reclass.storage.system.openstack_gateway_single
- system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.stacklightv2_server_cluster
-- cluster.virtual-mcp-pike-dvr-ssl.openstack.proxy
-- cluster.virtual-mcp-pike-dvr-ssl.stacklight.proxy
- cluster.virtual-mcp-pike-dvr-ssl
parameters:
_param:
@@ -46,14 +44,6 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
- nginx:
- server:
- site:
- nginx_proxy_openstack_web:
- proxy:
- host: ${_param:openstack_proxy_address}
- nginx_proxy_openstack_api_heat_cfn:
- enabled: false
salt:
master:
reactor:
@@ -118,21 +108,6 @@
cluster_param:
openstack_gateway_node01_address:
value_template: <<node_control_ip>>
- stacklight_monitor_node01:
- expression: <<node_hostname>>__equals__mon01
- cluster_param:
- stacklight_monitor_node01_address:
- value_template: <<node_control_ip>>
- stacklight_monitor_node02:
- expression: <<node_hostname>>__equals__mon02
- cluster_param:
- stacklight_monitor_node02_address:
- value_template: <<node_control_ip>>
- stacklight_monitor_node03:
- expression: <<node_hostname>>__equals__mon03
- cluster_param:
- stacklight_monitor_node03_address:
- value_template: <<node_control_ip>>
openstack_dashboard:
expression: <<node_hostname>>__startswith__prx
node_class:
@@ -142,6 +117,14 @@
cluster_param:
openstack_proxy_node01_address:
value_template: <<node_control_ip>>
+ openstack_share:
+ expression: <<node_hostname>>__startswith__share
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.share
+ node_param:
+ manila_share_address:
+ value_template: <<node_tenant_ip>>
node:
openstack_control_node01:
classes:
@@ -161,10 +144,6 @@
params:
mysql_cluster_role: slave
linux_system_codename: xenial
- stacklight_server_node01:
- classes:
- - system.influxdb.server.single
- - system.influxdb.database.stacklight
openstack_compute_node01:
params:
single_address: 172.16.10.105
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/init.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/init.yml
index 9d49da0..f3ded54 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/init.yml
@@ -1,23 +1,13 @@
classes:
- system.linux.network.dynamic_hosts
-- service.grafana.collector
-- system.fluentd
-- system.fluentd.label.default_metric
-- system.fluentd.label.default_metric.prometheus
-- system.fluentd.label.default_output.elasticsearch
-- system.fluentd.label.default_output.drop_event
- system.linux.system.repo.mcp.extra
- system.linux.system.single
-- system.linux.system.repo.mcp.apt_mirantis.fluentd
- system.rsyslog.client.single
-- system.prometheus.collector
-- system.telegraf.agent
- system.openssh.server.team.lab
- system.openssh.server.team.tcpcloud
- system.openssh.server.team.mcp_qa
- cluster.virtual-mcp-pike-dvr-ssl.infra
- cluster.virtual-mcp-pike-dvr-ssl.openstack
-- cluster.virtual-mcp-pike-dvr-ssl.stacklight
- cluster.overrides
parameters:
_param:
@@ -27,14 +17,6 @@
# infra service addresses
infra_config_hostname: cfg01
infra_config_address: 172.16.10.100
- # stacklight service addresses
- 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_telemetry_address: ${_param:stacklight_monitor_address}
- stacklight_log_address: ${_param:stacklight_monitor_address}
- stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
salt:
minion:
trusted_ca_minions:
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/compute.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/compute.yml
index 71d7103..157ee33 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/compute.yml
@@ -5,9 +5,7 @@
- system.linux.network.hosts
- system.nova.compute.cluster
- system.neutron.compute.cluster
-- system.ceilometer.agent.cluster
- system.linux.network.interface.single_ovs_dvr
-- system.prometheus.exporters.libvirt
- cluster.virtual-mcp-pike-dvr-ssl
parameters:
_param:
@@ -16,19 +14,9 @@
external_interface: ens6
interface_mtu: 1500
linux_system_codename: xenial
- neutron:
- compute:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
nova:
compute:
vncproxy_url: http://${_param:cluster_vip_address}:6080
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- notify_on:
- state_change: vm_and_task_state
identity:
protocol: https
network:
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
index 8f26b0d..e7e8459 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
@@ -8,6 +8,7 @@
- system.memcached.server.single
- system.rabbitmq.server.cluster
- system.rabbitmq.server.vhost.openstack
+- system.apache.server.site.manila
- system.nginx.server.single
- system.nginx.server.proxy.openstack_api
- system.nginx.server.proxy.openstack.designate
@@ -25,23 +26,19 @@
- system.neutron.control.openvswitch.cluster
- system.cinder.control.cluster
- system.heat.server.cluster
-- system.ceilometer.server.cluster
-- system.ceilometer.server.backend.influxdb
-- system.aodh.server.cluster
-- system.heka.ceilometer_collector.single
- system.designate.server.cluster
- system.galera.server.cluster
-- system.galera.server.database.aodh
-- system.galera.server.database.ceilometer
- system.galera.server.database.cinder
- system.galera.server.database.glance
-- system.galera.server.database.grafana
- system.galera.server.database.heat
- system.galera.server.database.keystone
- system.galera.server.database.nova
- system.galera.server.database.designate
+- system.galera.server.database.manila
- cluster.virtual-mcp-pike-dvr-ssl.openstack.dns
- system.haproxy.proxy.listen.openstack.placement
+- system.haproxy.proxy.listen.openstack.manila
+- system.manila.control.cluster
- cluster.virtual-mcp-pike-dvr-ssl
parameters:
@@ -65,6 +62,8 @@
nginx_proxy_openstack_heat_host: 127.0.0.1
nginx_proxy_openstack_designate_host: 127.0.0.1
nginx_proxy_openstack_placement_host: 127.0.0.1
+ apache_manila_api_address: ${_param:single_address}
+ apache_manila_ssl: ${_param:nginx_proxy_ssl}
apache_keystone_api_host: ${_param:single_address}
apache_keystone_ssl: ${_param:nginx_proxy_ssl}
nginx:
@@ -95,9 +94,6 @@
keystone:
server:
admin_email: ${_param:admin_email}
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
designate:
pool_manager:
enabled: ${_param:designate_pool_manager_enabled}
@@ -138,9 +134,6 @@
engine: file
images: []
workers: 1
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
bind:
address: 127.0.0.1
identity:
@@ -149,9 +142,6 @@
protocol: https
heat:
server:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
bind:
api:
address: 127.0.0.1
@@ -163,9 +153,6 @@
protocol: https
neutron:
server:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
bind:
address: 127.0.0.1
identity:
@@ -188,24 +175,18 @@
protocol: https
vncproxy_url: http://${_param:cluster_vip_address}:6080
workers: 1
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
cinder:
- volume:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
controller:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
identity:
protocol: https
osapi:
host: 127.0.0.1
glance:
protocol: https
+ manila:
+ common:
+ identity:
+ protocol: https
salt:
minion:
cert:
@@ -231,6 +212,8 @@
type: ~
keystone_admin_api:
type: ~
+ manila_api:
+ type: ~
nova_api:
type: ~
nova_metadata_api:
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/gateway.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/gateway.yml
index 55d065c..d95ca5b 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/gateway.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/gateway.yml
@@ -14,8 +14,3 @@
neutron_gateway_dvr: True
neutron_gateway_agent_mode: dvr_snat
linux_system_codename: xenial
- neutron:
- gateway:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
index 4d24b2a..aa2007b 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
@@ -40,6 +40,7 @@
heat_service_protocol: ${_param:cluster_internal_protocol}
cinder_service_protocol: ${_param:cluster_internal_protocol}
designate_service_protocol: ${_param:cluster_internal_protocol}
+ manila_service_protocol: ${_param:cluster_internal_protocol}
neutron_control_dvr: True
neutron_tenant_network_types: "flat,vxlan"
neutron_l3_ha: False
@@ -130,14 +131,10 @@
heat_version: ${_param:openstack_version}
heat_service_host: ${_param:cluster_vip_address}
heat_domain_admin_password: workshop
- ceilometer_version: ${_param:openstack_version}
- ceilometer_service_host: ${_param:cluster_vip_address}
cinder_version: ${_param:openstack_version}
cinder_service_host: ${_param:cluster_vip_address}
- aodh_version: ${_param:openstack_version}
- aodh_service_host: ${_param:cluster_vip_address}
- ceilometer_graphite_publisher_host: 172.16.10.107
- ceilometer_graphite_publisher_port: 2013
+ manila_version: ${_param:openstack_version}
+ manila_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
@@ -149,19 +146,15 @@
mysql_admin_user: root
mysql_admin_password: workshop
mysql_cinder_password: workshop
- mysql_ceilometer_password: workshop
mysql_glance_password: workshop
- mysql_grafana_password: workshop
mysql_heat_password: workshop
mysql_keystone_password: workshop
mysql_neutron_password: workshop
mysql_nova_password: workshop
- mysql_aodh_password: workshop
mysql_designate_password: workshop
+ mysql_manila_password: workshop
keystone_service_token: workshop
keystone_admin_password: workshop
- keystone_aodh_password: workshop
- keystone_ceilometer_password: workshop
keystone_cinder_password: workshop
keystone_glance_password: workshop
keystone_heat_password: workshop
@@ -169,19 +162,12 @@
keystone_neutron_password: workshop
keystone_nova_password: workshop
keystone_designate_password: workshop
- ceilometer_secret_key: workshop
+ keystone_manila_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
- mongodb_server_replica_set: ceilometer
- mongodb_ceilometer_password: cloudlab
- mongodb_admin_password: cloudlab
- mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
- ceilometer_influxdb_password: lmapass
- openstack_log_appender: true
- openstack_fluentd_handler_enabled: true
linux:
network:
purge_hosts: true
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml
new file mode 100644
index 0000000..ad29ff7
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml
@@ -0,0 +1,16 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.storage.loopback_manila
+- system.manila.share
+- system.manila.share.backend.lvm
+- cluster.virtual-mcp-pike-dvr-ssl
+parameters:
+ _param:
+ manila_lvm_devices:
+ - /dev/loop0
+ loopback_device1_size: 20
+ manila:
+ common:
+ identity:
+ protocol: https
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/client.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/client.yml
deleted file mode 100644
index 6417052..0000000
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/client.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-classes:
-- system.docker.client
-- system.elasticsearch.client.single
-- system.grafana.client
-- system.grafana.client.datasource.prometheus
-- system.kibana.client.single
-- cluster.virtual-mcp-pike-dvr-ssl
-parameters:
- _param:
- # Elasticsearch/Kibana client parameters
- stacklight_log_address: ${_param:stacklight_monitor_address}
- # Grafana client parameters
- grafana_address: ${_param:stacklight_monitor_address}
- grafana_port: 15013
- grafana_user: admin
- grafana_password: ${_param:grafana_admin_password}
- grafana_prometheus_address: ${_param:stacklight_monitor_address}
- grafana_prometheus_port: 15016
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/init.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/init.yml
deleted file mode 100644
index 015ea27..0000000
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/init.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-parameters:
- _param:
- prometheus_control_address: ${_param:stacklight_monitor_address}
- heka_elasticsearch_host: ${_param:stacklight_monitor_address}
- elasticsearch_port: 9200
- stacklight_environment: ${_param:cluster_domain}
- stacklight_notification_topic: stacklight_notifications
- grafana_admin_password: admin
- grafana_database_type: mysql
- grafana_database_host: ${_param:openstack_database_address}
- grafana_database_password: ${_param:mysql_grafana_password}
- fluentd_elasticsearch_host: ${_param:stacklight_log_address}
- linux:
- network:
- host:
- mon:
- address: ${_param:stacklight_monitor_address}
- names:
- - mon
- - mon.${_param:cluster_domain}
- mon01:
- address: ${_param:stacklight_monitor_node01_address}
- names:
- - mon01
- - mon01.${_param:cluster_domain}
- mon02:
- address: ${_param:stacklight_monitor_node02_address}
- names:
- - mon02
- - mon02.${_param:cluster_domain}
- mon03:
- address: ${_param:stacklight_monitor_node03_address}
- names:
- - mon03
- - mon03.${_param:cluster_domain}
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/proxy.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/proxy.yml
deleted file mode 100644
index 6a71843..0000000
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/proxy.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-classes:
-- system.nginx.server.single
-- system.nginx.server.proxy.stacklight.grafana
-- system.nginx.server.proxy.stacklight.kibana
-- system.nginx.server.proxy.monitoring.prometheus_server
-- system.nginx.server.proxy.monitoring.prometheus_alertmanager
-- system.salt.minion.cert.proxy
-- cluster.virtual-mcp-pike-dvr-ssl
-parameters:
- _param:
- nginx_proxy_grafana_port: 15013
- nginx_proxy_ssl:
- enabled: true
- authority: ${_param:salt_minion_ca_authority}
- engine: salt
- mode: secure
- salt_minion_ca_host: cfg01.${linux:system:domain}
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/server.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/server.yml
deleted file mode 100644
index 96f565c..0000000
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/stacklight/server.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-classes:
-- system.docker.host
-- system.linux.system.repo.mcp.apt_mirantis.influxdb
-- system.linux.system.repo.mcp.extra
-- system.linux.system.repo.mcp.apt_mirantis.elastic
-- system.linux.system.repo.mcp.apt_mirantis.kibana
-- system.linux.system.repo.mcp.apt_mirantis.docker
-- system.linux.system.repo.docker
-- system.heka.remote_collector.container
-- system.heka.remote_collector.input.amqp
-- system.heka.remote_collector.output.elasticsearch
-- system.heka.remote_collector.output.telegraf
-- system.elasticsearch.server.cluster
-- system.elasticsearch.server.curator
-- system.kibana.server.single
-- system.haproxy.proxy.listen.stacklight.elasticsearch
-- system.haproxy.proxy.listen.stacklight.kibana
-- system.haproxy.proxy.listen.stacklight.influxdb_relay
-- service.haproxy.proxy.single
-- system.influxdb.relay.cluster
-- system.influxdb.server.single
-- system.influxdb.database.stacklight
-- system.influxdb.database.ceilometer
-- system.keepalived.cluster.instance.prometheus_server_vip
-- system.telegraf.agent.remote
-- system.prometheus.server.remote_write.docker
-- system.prometheus.server.alertmanager.dns
-- system.prometheus.server.target.dns
-- system.docker.swarm.stack.monitoring
-- system.docker.swarm.stack.monitoring.remote_collector
-- system.docker.swarm.stack.dashboard
-- cluster.virtual-mcp-pike-dvr-ssl
-parameters:
- _param:
- heka_amqp_host: ${_param:openstack_control_address}
- kibana_elasticsearch_host: ${_param:stacklight_monitor_address}
- keepalived_prometheus_vip_address: ${_param:stacklight_monitor_address}
- keepalived_prometheus_vip_password: 'password'
- keepalived_prometheus_vip_interface: ens4
- cluster_vip_address: ${_param:stacklight_monitor_address}
- cluster_local_address: ${_param:single_address}
- cluster_elasticsearch_port: 9200
- cluster_kibana_port: 5601
- 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
- docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
- docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
- docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
- docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
- influxdb_port: 8086
- influxdb_admin_password: password
- influxdb_stacklight_password: lmapass
- prometheus_influxdb_url: "http://${_param:stacklight_monitor_address}:${_param:influxdb_port}/"
- prometheus_influxdb_db: lma
- prometheus_influxdb_username: lma
- prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
- remote_collector_telegraf_host: monitoring_remote_agent
- linux:
- network:
- interface:
- ens4:
- enabled: true
- type: eth
- proto: static
- address: ${_param:single_address}
- netmask: 255.255.255.0
diff --git a/classes/cluster/virtual-mcp-pike-dvr/.env b/classes/cluster/virtual-mcp-pike-dvr/.env
index 54bad51..13e6475 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/.env
+++ b/classes/cluster/virtual-mcp-pike-dvr/.env
@@ -1 +1 @@
-FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf)
+FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf backupninja)
diff --git a/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_common.yml b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_common.yml
new file mode 100644
index 0000000..79b8f6b
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_common.yml
@@ -0,0 +1,40 @@
+classes:
+- system.backupninja.client.single
+- system.openssh.client.root
+parameters:
+ _param:
+ backupninja_backup_host: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ # for salt-master backup
+ backupninja:
+ client:
+ target:
+ home_dir: /srv/volumes/backup/backupninja
+ engine_opts: "-av --delete --recursive --safe-links"
diff --git a/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_mysql.yml b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_mysql.yml
new file mode 100644
index 0000000..9d0cace
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/client_mysql.yml
@@ -0,0 +1,37 @@
+classes:
+- system.xtrabackup.client.single
+parameters:
+ _param:
+ xtrabackup_remote_server: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ xtrabackup:
+ server:
+ enabled: false
+ backup_dir: /srv/volumes/backup/xtrabackup
diff --git a/classes/cluster/virtual-mcp-pike-dvr/infra/backup/server.yml b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/server.yml
new file mode 100644
index 0000000..8f84903
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr/infra/backup/server.yml
@@ -0,0 +1,15 @@
+classes:
+- system.backupninja.server.single
+- system.xtrabackup.server.single
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.backup
+parameters:
+ _param:
+ backupninja_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ xtrabackup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ backupninja:
+ server:
+ home_dir: /srv/volumes/backup/backupninja
+ xtrabackup:
+ server:
+ backup_dir: /srv/volumes/backup/xtrabackup
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp-pike-dvr/infra/config.yml b/classes/cluster/virtual-mcp-pike-dvr/infra/config.yml
index 348f713..ce5ab70 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/infra/config.yml
@@ -1,32 +1,37 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.openssh.client.lab
-- system.salt.master.api
+#- system.openssh.client.lab
- system.salt.master.pkg
+- system.salt.master.api
+- system.salt.master.formula.pkg.manila
+- system.salt.master.formula.pkg.gnocchi
+- system.salt.master.formula.pkg.panko
- 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.aodh
-- system.keystone.client.service.ceilometer
- system.keystone.client.service.nova21
- system.keystone.client.service.nova-placement
- system.keystone.client.service.glare
- system.keystone.client.service.cinder3
- system.keystone.client.service.designate
-- system.mysql.client.single
+- system.keystone.client.service.manila
+- system.keystone.client.service.manila2
+- system.keystone.client.service.aodh
+- system.keystone.client.service.ceilometer
+- system.keystone.client.service.panko
+- system.keystone.client.service.gnocchi
- system.reclass.storage.system.openstack_dns_cluster
- system.reclass.storage.system.openstack_control_cluster
- system.reclass.storage.system.openstack_compute_multi
- system.reclass.storage.system.openstack_gateway_single
- system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.stacklightv2_server_cluster
-- cluster.virtual-mcp-pike-dvr.openstack.proxy
-- cluster.virtual-mcp-pike-dvr.stacklight.proxy
+- system.reclass.storage.system.openstack_telemetry_cluster
+- cluster.virtual-mcp-pike-dvr.infra.backup.client_common
- cluster.virtual-mcp-pike-dvr
parameters:
_param:
@@ -49,19 +54,14 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
- nginx:
- server:
- site:
- nginx_proxy_openstack_web:
- proxy:
- host: ${_param:openstack_proxy_address}
- nginx_proxy_openstack_api_heat_cfn:
- enabled: false
salt:
master:
+ backup: true
reactor:
reclass/minion/classify:
- salt://reclass/reactor/node_register.sls
+ minion:
+ backup: true
reclass:
storage:
class_mapping:
@@ -121,21 +121,6 @@
cluster_param:
openstack_gateway_node01_address:
value_template: <<node_control_ip>>
- stacklight_monitor_node01:
- expression: <<node_hostname>>__equals__mon01
- cluster_param:
- stacklight_monitor_node01_address:
- value_template: <<node_control_ip>>
- stacklight_monitor_node02:
- expression: <<node_hostname>>__equals__mon02
- cluster_param:
- stacklight_monitor_node02_address:
- value_template: <<node_control_ip>>
- stacklight_monitor_node03:
- expression: <<node_hostname>>__equals__mon03
- cluster_param:
- stacklight_monitor_node03_address:
- value_template: <<node_control_ip>>
openstack_dashboard:
expression: <<node_hostname>>__startswith__prx
node_class:
@@ -145,9 +130,33 @@
cluster_param:
openstack_proxy_node01_address:
value_template: <<node_control_ip>>
+ openstack_share:
+ expression: <<node_hostname>>__startswith__share
+ node_class:
+ value_template:
+ - cluster.<<node_cluster>>.openstack.share
+ node_param:
+ manila_share_address:
+ value_template: <<node_tenant_ip>>
+ openstack_telemetry01:
+ expression: <<node_hostname>>__equals__mdb01
+ cluster_param:
+ openstack_telemetry_node01_address:
+ value_template: <<node_control_ip>>
+ openstack_telemetry02:
+ expression: <<node_hostname>>__equals__mdb02
+ cluster_param:
+ openstack_telemetry_node02_address:
+ value_template: <<node_control_ip>>
+ openstack_telemetry03:
+ expression: <<node_hostname>>__equals__mdb03
+ cluster_param:
+ openstack_telemetry_node03_address:
+ value_template: <<node_control_ip>>
node:
openstack_control_node01:
classes:
+ - cluster.virtual-mcp-pike-dvr.infra.backup.client_mysql
- service.galera.master.cluster
params:
mysql_cluster_role: master
@@ -160,14 +169,11 @@
linux_system_codename: xenial
openstack_control_node03:
classes:
+ - cluster.virtual-mcp-pike-dvr.infra.backup.server
- service.galera.slave.cluster
params:
mysql_cluster_role: slave
linux_system_codename: xenial
- stacklight_server_node01:
- classes:
- - system.influxdb.server.single
- - system.influxdb.database.stacklight
openstack_compute_node01:
params:
single_address: 172.16.10.105
@@ -187,3 +193,15 @@
- cluster.virtual-mcp-pike-dvr.openstack.proxy
params:
linux_system_codename: xenial
+ openstack_telemetry_node01:
+ params:
+ # create resources only from 1 controller
+ # to prevent race conditions
+ ceilometer_create_gnocchi_resources: true
+ redis_cluster_role: 'master'
+ openstack_telemetry_node02:
+ params:
+ redis_cluster_role: 'slave'
+ openstack_telemetry_node03:
+ params:
+ redis_cluster_role: 'slave'
diff --git a/classes/cluster/virtual-mcp-pike-dvr/infra/init.yml b/classes/cluster/virtual-mcp-pike-dvr/infra/init.yml
index b01723d..0dcb951 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/infra/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/infra/init.yml
@@ -1,4 +1,9 @@
parameters:
+ _param:
+ cluster_domain: virtual-mcp-pike-dvr.local
+ cluster_name: virtual-mcp-pike-dvr
+ infra_config_hostname: cfg01
+ infra_config_address: 172.16.10.100
linux:
network:
host:
diff --git a/classes/cluster/virtual-mcp-pike-dvr/init.yml b/classes/cluster/virtual-mcp-pike-dvr/init.yml
index bb497ac..d551411 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/init.yml
@@ -1,56 +1,15 @@
classes:
- system.linux.network.dynamic_hosts
-- service.grafana.collector
-- system.fluentd
-- system.fluentd.label.default_metric
-- system.fluentd.label.default_metric.prometheus
-- system.fluentd.label.default_output.elasticsearch
-- system.fluentd.label.default_output.drop_event
- system.linux.system.repo.mcp.extra
- system.linux.system.single
-- system.linux.system.repo.mcp.apt_mirantis.fluentd
-- system.rsyslog.client.single
-- system.prometheus.collector
-- system.telegraf.agent
- system.openssh.server.team.lab
- system.openssh.server.team.tcpcloud
- system.openssh.server.team.mcp_qa
- cluster.virtual-mcp-pike-dvr.infra
- cluster.virtual-mcp-pike-dvr.openstack
-- cluster.virtual-mcp-pike-dvr.stacklight
- cluster.overrides
parameters:
- _param:
- cluster_domain: virtual-mcp-pike-dvr.local
- cluster_name: virtual-mcp-pike-dvr
- # infra service addresses
- infra_config_hostname: cfg01
- infra_config_address: 172.16.10.100
- # openstack service addresses
- openstack_database_address: 172.16.10.254
- openstack_proxy_address: 172.16.10.121
- openstack_proxy_node01_address: 172.16.10.121
- openstack_control_address: 172.16.10.254
- openstack_control_node01_address: 172.16.10.101
- openstack_control_node02_address: 172.16.10.102
- openstack_control_node03_address: 172.16.10.103
- openstack_database_address: ${_param:openstack_control_address}
- openstack_database_node01_address: ${_param:openstack_control_node01_address}
- openstack_database_node02_address: ${_param:openstack_control_node02_address}
- openstack_database_node03_address: ${_param:openstack_control_node03_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_gateway_address: 172.16.10.110
- openstack_gateway_node01_address: ${_param:openstack_gateway_address}
- openstack_dns_node01_address: 172.16.10.111
- openstack_dns_node02_address: 172.16.10.112
- # stacklight service addresses
- 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_telemetry_address: ${_param:stacklight_monitor_address}
- stacklight_log_address: ${_param:stacklight_monitor_address}
- stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
+ salt:
+ minion:
+ trusted_ca_minions:
+ - cfg01.${linux:system:domain}
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/compute.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/compute.yml
index a435fd9..49644e2 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/compute.yml
@@ -5,9 +5,10 @@
- system.linux.network.hosts
- system.nova.compute.cluster
- system.neutron.compute.cluster
+- system.ceilometer.client.nova_compute
- system.ceilometer.agent.cluster
+- system.ceilometer.agent.polling.default
- system.linux.network.interface.single_ovs_dvr
-- system.prometheus.exporters.libvirt
- cluster.virtual-mcp-pike-dvr
parameters:
_param:
@@ -16,11 +17,6 @@
external_interface: ens6
interface_mtu: 1500
linux_system_codename: xenial
- neutron:
- compute:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
nova:
compute:
vncproxy_url: http://${_param:cluster_vip_address}:6080
@@ -29,8 +25,8 @@
- host: ${_param:openstack_control_node01_address}
- host: ${_param:openstack_control_node02_address}
- host: ${_param:openstack_control_node03_address}
+ neutron:
+ compute:
notification:
driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- notify_on:
- state_change: vm_and_task_state
+ topics: "notifications"
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/control.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/control.yml
index 81c209a..1c3f983 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/control.yml
@@ -7,6 +7,7 @@
- system.memcached.server.single
- system.rabbitmq.server.cluster
- system.rabbitmq.server.vhost.openstack
+- system.apache.server.site.manila
- system.keystone.server.wsgi
- system.keystone.server.cluster
- system.glusterfs.client.cluster
@@ -14,28 +15,31 @@
- system.glusterfs.client.volume.keystone
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
+- system.glusterfs.server.volume.backup
- 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.ceilometer.server.cluster
-- system.ceilometer.server.backend.influxdb
-- system.aodh.server.cluster
-- system.heka.ceilometer_collector.single
- system.designate.server.cluster
- system.galera.server.cluster
-- system.galera.server.database.aodh
-- system.galera.server.database.ceilometer
- system.galera.server.database.cinder
- system.galera.server.database.glance
-- system.galera.server.database.grafana
- system.galera.server.database.heat
- system.galera.server.database.keystone
- system.galera.server.database.nova
- system.galera.server.database.designate
+- system.galera.server.database.manila
+- system.galera.server.database.aodh
+- system.galera.server.database.panko
+- system.galera.server.database.gnocchi
+- system.ceilometer.client
+- system.ceilometer.client.cinder_volume
+- system.ceilometer.client.neutron
- system.haproxy.proxy.listen.openstack.nova-placement
+- system.haproxy.proxy.listen.openstack.manila
+- system.manila.control.cluster
- cluster.virtual-mcp-pike-dvr
parameters:
@@ -62,9 +66,6 @@
keystone:
server:
admin_email: ${_param:admin_email}
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
designate:
pool_manager:
enabled: ${_param:designate_pool_manager_enabled}
@@ -100,19 +101,6 @@
engine: file
images: []
workers: 1
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- heat:
- server:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- neutron:
- server:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
nova:
controller:
networking: dvr
@@ -125,15 +113,3 @@
novncproxy_port: 6080
vncproxy_url: http://${_param:cluster_vip_address}:6080
workers: 1
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- cinder:
- volume:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
- controller:
- notification:
- driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/gateway.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/gateway.yml
index e5aac4e..586579c 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/openstack/gateway.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/gateway.yml
@@ -18,4 +18,4 @@
gateway:
notification:
driver: messagingv2
- topics: "notifications,${_param:stacklight_notification_topic}"
+ topics: "notifications"
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/init.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/init.yml
index 4a7ef7e..23cebad 100644
--- a/classes/cluster/virtual-mcp-pike-dvr/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/init.yml
@@ -1,5 +1,41 @@
parameters:
_param:
+ # openstack service addresses
+ openstack_database_address: 172.16.10.254
+ openstack_proxy_address: 172.16.10.121
+ openstack_proxy_node01_address: 172.16.10.121
+ openstack_control_address: 172.16.10.254
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_control_node01_address: 172.16.10.101
+ openstack_control_node02_address: 172.16.10.102
+ openstack_control_node03_address: 172.16.10.103
+ openstack_database_address: ${_param:openstack_control_address}
+ openstack_database_node01_address: ${_param:openstack_control_node01_address}
+ openstack_database_node02_address: ${_param:openstack_control_node02_address}
+ openstack_database_node03_address: ${_param:openstack_control_node03_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_gateway_address: 172.16.10.110
+ openstack_gateway_node01_address: ${_param:openstack_gateway_address}
+ openstack_dns_node01_address: 172.16.10.111
+ openstack_dns_node02_address: 172.16.10.112
+ openstack_share_node01_address: 172.16.10.97
+ openstack_share_node01_share_address: ${_param:openstack_share_node01_address}
+ openstack_telemetry_address: 172.16.10.250
+ openstack_telemetry_node01_address: 172.16.10.45
+ openstack_telemetry_node02_address: 172.16.10.46
+ openstack_telemetry_node03_address: 172.16.10.47
+ openstack_telemetry_system_codename: xenial
+ openstack_telemetry_hostname: mdb
+ openstack_telemetry_node01_hostname: mdb01
+ openstack_telemetry_node02_hostname: mdb02
+ openstack_telemetry_node03_hostname: mdb03
+ openstack_telemetry_keepalived_password: hf9GQOjG2uPhkJ2Q
+
openstack_version: pike
apt_mk_version: nightly
cinder_version: ${_param:openstack_version}
@@ -7,6 +43,7 @@
openstack_region: RegionOne
admin_email: root@localhost
cluster_public_host: 172.16.10.254
+ telemetry_public_host: ${_param:openstack_telemetry_address}
neutron_public_protocol: http
cluster_public_protocol: http
neutron_control_dvr: True
@@ -30,11 +67,11 @@
cluster_vip_address: 172.16.10.254
cluster_local_address: ${_param:single_address}
cluster_node01_hostname: ctl01
- cluster_node01_address: 172.16.10.101
+ cluster_node01_address: ${_param:openstack_control_node01_address}
cluster_node02_hostname: ctl02
- cluster_node02_address: 172.16.10.102
+ cluster_node02_address: ${_param:openstack_control_node02_address}
cluster_node03_hostname: ctl03
- cluster_node03_address: 172.16.10.103
+ cluster_node03_address: ${_param:openstack_control_node03_address}
rabbitmq_secret_key: workshop
rabbitmq_admin_password: workshop
rabbitmq_openstack_password: workshop
@@ -99,14 +136,22 @@
heat_version: ${_param:openstack_version}
heat_service_host: ${_param:cluster_vip_address}
heat_domain_admin_password: workshop
- ceilometer_version: ${_param:openstack_version}
- ceilometer_service_host: ${_param:cluster_vip_address}
cinder_version: ${_param:openstack_version}
cinder_service_host: ${_param:cluster_vip_address}
+ manila_version: ${_param:openstack_version}
+ manila_service_host: ${_param:cluster_vip_address}
+ panko_version: ${_param:openstack_version}
+ panko_service_host: ${_param:openstack_telemetry_address}
+ ceilometer_version: ${_param:openstack_version}
+ ceilometer_service_host: ${_param:openstack_telemetry_address}
aodh_version: ${_param:openstack_version}
- aodh_service_host: ${_param:cluster_vip_address}
- ceilometer_graphite_publisher_host: 172.16.10.107
- ceilometer_graphite_publisher_port: 2013
+ aodh_service_host: ${_param:openstack_telemetry_address}
+ gnocchi_version: 4.0
+ gnocchi_service_host: ${_param:openstack_telemetry_address}
+ gnocchi_public_host: ${_param:telemetry_public_host}
+ aodh_public_host: ${_param:telemetry_public_host}
+ ceilometer_public_host: ${_param:telemetry_public_host}
+ panko_public_host: ${_param:telemetry_public_host}
nova_version: ${_param:openstack_version}
nova_service_host: ${_param:cluster_vip_address}
nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
@@ -118,19 +163,21 @@
mysql_admin_user: root
mysql_admin_password: workshop
mysql_cinder_password: workshop
- mysql_ceilometer_password: workshop
mysql_glance_password: workshop
mysql_grafana_password: workshop
mysql_heat_password: workshop
mysql_keystone_password: workshop
mysql_neutron_password: workshop
mysql_nova_password: workshop
- mysql_aodh_password: workshop
mysql_designate_password: workshop
+ mysql_manila_password: workshop
+ mysql_ceilometer_password: workshop
+ mysql_panko_password: workshop
+ mysql_aodh_password: workshop
+ mysql_gnocchi_password: workshop
keystone_service_token: workshop
keystone_admin_password: workshop
keystone_aodh_password: workshop
- keystone_ceilometer_password: workshop
keystone_cinder_password: workshop
keystone_glance_password: workshop
keystone_heat_password: workshop
@@ -138,19 +185,20 @@
keystone_neutron_password: workshop
keystone_nova_password: workshop
keystone_designate_password: workshop
- ceilometer_secret_key: workshop
+ keystone_manila_password: workshop
+ keystone_aodh_password: workshop
+ keystone_panko_password: workshop
+ keystone_ceilometer_password: workshop
+ keystone_gnocchi_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
- mongodb_server_replica_set: ceilometer
- mongodb_ceilometer_password: cloudlab
- mongodb_admin_password: cloudlab
- mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
- ceilometer_influxdb_password: lmapass
- openstack_log_appender: true
- openstack_fluentd_handler_enabled: true
+ ceilometer_secret_key: workshop
+ ceilometer_agent_default_polling_interval: 15
+ ceilometer_agent_default_polling_meters:
+ - "*"
linux:
network:
purge_hosts: true
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/share.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/share.yml
new file mode 100644
index 0000000..57625ca
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/share.yml
@@ -0,0 +1,12 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.storage.loopback_manila
+- system.manila.share
+- system.manila.share.backend.lvm
+- cluster.virtual-mcp-pike-ovs
+parameters:
+ _param:
+ manila_lvm_devices:
+ - /dev/loop0
+ loopback_device1_size: 20
diff --git a/classes/cluster/virtual-mcp-pike-dvr/openstack/telemetry.yml b/classes/cluster/virtual-mcp-pike-dvr/openstack/telemetry.yml
new file mode 100644
index 0000000..64411da
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr/openstack/telemetry.yml
@@ -0,0 +1,103 @@
+classes:
+- system.linux.system.repo.ubuntu
+- system.linux.system.repo.glusterfs
+- system.linux.system.repo.mcp.openstack
+- system.memcached.server.single
+- system.apache.server.single
+- system.apache.server.site.gnocchi
+- system.apache.server.site.panko
+- system.glusterfs.server.cluster
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.gnocchi
+- system.glusterfs.server.volume.gnocchi
+- service.redis.server.single
+- system.gnocchi.server.cluster
+- system.gnocchi.common.storage.incoming.redis
+- system.gnocchi.common.storage.file
+- system.gnocchi.common.coordination.redis
+- system.ceilometer.server.cluster
+- system.ceilometer.server.coordination.redis
+- system.aodh.server.cluster
+- system.aodh.server.coordination.redis
+- system.panko.server.cluster
+- system.ceilometer.server.backend.default
+- cluster.virtual-mcp-pike-dvr
+parameters:
+ _param:
+ keepalived_openstack_telemetry_vip_address: ${_param:openstack_telemetry_address}
+ keepalived_openstack_telemetry_vip_password: ${_param:openstack_telemetry_keepalived_password}
+ keepalived_openstack_telemetry_vip_interface: ens3
+ cluster_vip_address: ${_param:openstack_telemetry_address}
+ cluster_local_address: ${_param:single_address}
+ cluster_node01_hostname: ${_param:openstack_telemetry_node01_hostname}
+ cluster_node01_address: ${_param:openstack_telemetry_node01_address}
+ cluster_node02_hostname: ${_param:openstack_telemetry_node02_hostname}
+ cluster_node02_address: ${_param:openstack_telemetry_node02_address}
+ cluster_node03_hostname: ${_param:openstack_telemetry_node03_hostname}
+ cluster_node03_address: ${_param:openstack_telemetry_node03_address}
+ glusterfs_service_host: ${_param:openstack_telemetry_address}
+ gnocchi_glusterfs_service_host: ${_param:glusterfs_service_host}
+ redis_sentinel_node01_address: ${_param:openstack_telemetry_node01_address}
+ redis_sentinel_node02_address: ${_param:openstack_telemetry_node02_address}
+ redis_sentinel_node03_address: ${_param:openstack_telemetry_node03_address}
+ openstack_telemetry_redis_url: redis://${_param:redis_sentinel_node01_address}:26379?sentinel=master_1&sentinel_fallback=${_param:redis_sentinel_node02_address}:26379&sentinel_fallback=${_param:redis_sentinel_node03_address}:26379
+ gnocchi_coordination_url: ${_param:openstack_telemetry_redis_url}
+ gnocchi_storage_incoming_redis_url: ${_param:openstack_telemetry_redis_url}
+ glusterfs_node01_address: ${_param:cluster_node01_address}
+ glusterfs_node02_address: ${_param:cluster_node02_address}
+ glusterfs_node03_address: ${_param:cluster_node03_address}
+ linux:
+ 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: 160
+ redis:
+ server:
+ version: 3.0
+ bind:
+ address: ${_param:single_address}
+ cluster:
+ enabled: True
+ mode: sentinel
+ role: ${_param:redis_cluster_role}
+ quorum: 2
+ master:
+ host: ${_param:cluster_node01_address}
+ port: 6379
+ sentinel:
+ address: ${_param:single_address}
+ apache:
+ server:
+ modules:
+ - wsgi
+ gnocchi:
+ common:
+ database:
+ host: ${_param:openstack_database_address}
+ server:
+ pkgs:
+ # TODO: move python-memcache installation to formula
+ - gnocchi-api
+ - gnocchi-metricd
+ - python-memcache
+ aodh:
+ server:
+ coordination_backend:
+ url: ${_param:openstack_telemetry_redis_url}
+ identity:
+ host: ${_param:openstack_control_address}
+ ceilometer:
+ server:
+ coordination_backend:
+ url: ${_param:openstack_telemetry_redis_url}
+ identity:
+ host: ${_param:openstack_control_address}
diff --git a/classes/cluster/virtual-mcp-pike-ovs-ceph/infra/config.yml b/classes/cluster/virtual-mcp-pike-ovs-ceph/infra/config.yml
index 5500883..006d477 100644
--- a/classes/cluster/virtual-mcp-pike-ovs-ceph/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-ovs-ceph/infra/config.yml
@@ -1,12 +1,13 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.ubuntu
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.reclass.storage.system.ceph_mon_cluster
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp-pike-ovs/.env b/classes/cluster/virtual-mcp-pike-ovs/.env
index 54bad51..13e6475 100644
--- a/classes/cluster/virtual-mcp-pike-ovs/.env
+++ b/classes/cluster/virtual-mcp-pike-ovs/.env
@@ -1 +1 @@
-FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf)
+FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf backupninja)
diff --git a/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_common.yml b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_common.yml
new file mode 100644
index 0000000..79b8f6b
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_common.yml
@@ -0,0 +1,40 @@
+classes:
+- system.backupninja.client.single
+- system.openssh.client.root
+parameters:
+ _param:
+ backupninja_backup_host: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ # for salt-master backup
+ backupninja:
+ client:
+ target:
+ home_dir: /srv/volumes/backup/backupninja
+ engine_opts: "-av --delete --recursive --safe-links"
diff --git a/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_mysql.yml b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_mysql.yml
new file mode 100644
index 0000000..9d0cace
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/client_mysql.yml
@@ -0,0 +1,37 @@
+classes:
+- system.xtrabackup.client.single
+parameters:
+ _param:
+ xtrabackup_remote_server: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ xtrabackup:
+ server:
+ enabled: false
+ backup_dir: /srv/volumes/backup/xtrabackup
diff --git a/classes/cluster/virtual-mcp-pike-ovs/infra/backup/server.yml b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/server.yml
new file mode 100644
index 0000000..8f84903
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-ovs/infra/backup/server.yml
@@ -0,0 +1,15 @@
+classes:
+- system.backupninja.server.single
+- system.xtrabackup.server.single
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.backup
+parameters:
+ _param:
+ backupninja_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ xtrabackup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ backupninja:
+ server:
+ home_dir: /srv/volumes/backup/backupninja
+ xtrabackup:
+ server:
+ backup_dir: /srv/volumes/backup/xtrabackup
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp-pike-ovs/infra/config.yml b/classes/cluster/virtual-mcp-pike-ovs/infra/config.yml
index 3a64332..0cb7cf0 100644
--- a/classes/cluster/virtual-mcp-pike-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-ovs/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
-- system.openssh.client.lab
-- system.salt.master.api
+#- system.openssh.client.lab
- system.salt.master.pkg
+- system.salt.master.api
- system.salt.master.formula.pkg.manila
- system.salt.master.formula.pkg.gnocchi
- system.salt.master.formula.pkg.panko
@@ -29,6 +30,7 @@
- system.reclass.storage.system.openstack_gateway_single
- system.reclass.storage.system.openstack_dashboard_single
- system.reclass.storage.system.openstack_telemetry_cluster
+- cluster.virtual-mcp-pike-ovs.infra.backup.client_common
- cluster.virtual-mcp-pike-ovs
parameters:
_param:
@@ -53,9 +55,12 @@
netmask: 255.255.255.0
salt:
master:
+ backup: true
reactor:
reclass/minion/classify:
- salt://reclass/reactor/node_register.sls
+ minion:
+ backup: true
reclass:
storage:
class_mapping:
@@ -150,6 +155,7 @@
node:
openstack_control_node01:
classes:
+ - cluster.virtual-mcp-pike-ovs.infra.backup.client_mysql
- service.galera.master.cluster
params:
mysql_cluster_role: master
@@ -162,6 +168,7 @@
linux_system_codename: xenial
openstack_control_node03:
classes:
+ - cluster.virtual-mcp-pike-ovs.infra.backup.server
- service.galera.slave.cluster
params:
mysql_cluster_role: slave
diff --git a/classes/cluster/virtual-mcp-pike-ovs/openstack/control.yml b/classes/cluster/virtual-mcp-pike-ovs/openstack/control.yml
index ac9402d..4618332 100644
--- a/classes/cluster/virtual-mcp-pike-ovs/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-pike-ovs/openstack/control.yml
@@ -15,6 +15,7 @@
- system.glusterfs.client.volume.keystone
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
+- system.glusterfs.server.volume.backup
- system.glusterfs.server.cluster
- system.glance.control.cluster
- system.nova.control.cluster
diff --git a/classes/cluster/virtual-mcp-pike-ovs/openstack/gateway.yml b/classes/cluster/virtual-mcp-pike-ovs/openstack/gateway.yml
index 37ca230..4cb8093 100644
--- a/classes/cluster/virtual-mcp-pike-ovs/openstack/gateway.yml
+++ b/classes/cluster/virtual-mcp-pike-ovs/openstack/gateway.yml
@@ -37,11 +37,13 @@
type: eth
external_interface:
enabled: true
- ipflush_onchange: true
name: ${_param:external_interface}
mtu: ${_param:interface_mtu}
proto: manual
- type: eth
+ ovs_port_type: OVSPort
+ type: ovs_port
+ ovs_bridge: br-floating
+ bridge: br-floating
br-floating:
enabled: true
type: ovs_bridge
@@ -69,13 +71,6 @@
type: ovs_port
mtu: ${_param:interface_mtu}
bridge: br-floating
- br-ex:
- enabled: true
- type: bridge
- mtu: ${_param:interface_mtu}
+ proto: static
address: ${_param:external_address}
netmask: 255.255.255.0
- use_interfaces:
- - ${_param:external_interface}
- use_ovs_ports:
- - float-to-ex
diff --git a/classes/cluster/virtual-mcp-pike-ovs/openstack/init.yml b/classes/cluster/virtual-mcp-pike-ovs/openstack/init.yml
index 7c069de..6918620 100644
--- a/classes/cluster/virtual-mcp-pike-ovs/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-pike-ovs/openstack/init.yml
@@ -107,6 +107,9 @@
designate_worker_enabled: true
glance_version: ${_param:openstack_version}
glance_service_host: ${_param:cluster_vip_address}
+ keystone_public_path: '/'
+ keystone_internal_path: '/'
+ keystone_admin_path: '/'
keystone_version: ${_param:openstack_version}
keystone_service_host: ${_param:cluster_vip_address}
heat_version: ${_param:openstack_version}
diff --git a/classes/cluster/virtual-mcp05-dvr/infra/config.yml b/classes/cluster/virtual-mcp05-dvr/infra/config.yml
index ed92a36..d8db7de 100644
--- a/classes/cluster/virtual-mcp05-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp05-dvr/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.tcp_salt
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp05-ovs/infra/config.yml b/classes/cluster/virtual-mcp05-ovs/infra/config.yml
index 6e8be81..7882e02 100644
--- a/classes/cluster/virtual-mcp05-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp05-ovs/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.tcp_salt
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp10-contrail/infra/config.yml b/classes/cluster/virtual-mcp10-contrail/infra/config.yml
index 64fb0a1..f51a706 100755
--- a/classes/cluster/virtual-mcp10-contrail/infra/config.yml
+++ b/classes/cluster/virtual-mcp10-contrail/infra/config.yml
@@ -3,8 +3,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp10-dvr/infra/config.yml b/classes/cluster/virtual-mcp10-dvr/infra/config.yml
index 3eaadc9..8b0c481 100644
--- a/classes/cluster/virtual-mcp10-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp10-dvr/infra/config.yml
@@ -3,8 +3,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp10-ovs/infra/config.yml b/classes/cluster/virtual-mcp10-ovs/infra/config.yml
index dc77ca6..6ea73b6 100644
--- a/classes/cluster/virtual-mcp10-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp10-ovs/infra/config.yml
@@ -3,8 +3,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp11-aio/init.yml b/classes/cluster/virtual-mcp11-aio/init.yml
index 8a2b105..dfbfc10 100755
--- a/classes/cluster/virtual-mcp11-aio/init.yml
+++ b/classes/cluster/virtual-mcp11-aio/init.yml
@@ -4,8 +4,8 @@
- system.linux.system.single
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
- system.sphinx.server.doc.reclass
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml b/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
index ed9bbf6..2199faa 100755
--- a/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp11-contrail/infra/config.yml b/classes/cluster/virtual-mcp11-contrail/infra/config.yml
index 4853abd..580d993 100755
--- a/classes/cluster/virtual-mcp11-contrail/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-contrail/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
index 61dfbf0..40b220c 100755
--- a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
@@ -53,7 +53,7 @@
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
influxdb_port: 8086
influxdb_admin_password: password
influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp11-dvr/infra/config.yml b/classes/cluster/virtual-mcp11-dvr/infra/config.yml
index ad68abd..92da150 100644
--- a/classes/cluster/virtual-mcp11-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-dvr/infra/config.yml
@@ -4,8 +4,8 @@
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
index f529bc6..cd82ee3 100644
--- a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
@@ -53,7 +53,7 @@
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
influxdb_port: 8086
influxdb_admin_password: password
influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
index b90bbe1..2ada67e 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
@@ -14,9 +14,8 @@
kubernetes:
pool:
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
index 813c28a..e2b9819 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
@@ -44,9 +44,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
index f17b9bb..5f6bdf6 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
@@ -31,7 +31,7 @@
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
grafana_admin_password: admin
keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
index 7ee7b30..fe6c867 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
@@ -14,9 +14,8 @@
kubernetes:
pool:
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
index 1640fb7..0588b70 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
@@ -45,9 +45,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
index 0551bab..e19165e 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
@@ -1,5 +1,6 @@
classes:
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.ubuntu
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
index 4408379..27395f0 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
@@ -15,9 +15,8 @@
kubelet:
fail_on_swap: ${_param:kubelet_fail_on_swap}
network:
- cnis:
- - calico
calico:
+ enabled: true
image: ${_param:kubernetes_calico_image}
calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
cni_image: ${_param:kubernetes_calico_cni_image}
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
index 3718aa4..9797bb4 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
@@ -46,9 +46,8 @@
ssl:
enabled: true
network:
- cnis:
- - calico
calico:
+ enabled: true
etcd:
ssl:
enabled: true
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
index e8895b3..1dc5e4c 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
@@ -38,7 +38,7 @@
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
docker_influxdb_image: influxdb:1.2
grafana_admin_password: admin
keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
index 234544f..6594f9c 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
@@ -1,5 +1,6 @@
classes:
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.extra
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.ubuntu
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
index 60c2328..f8f568b 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
@@ -36,9 +36,8 @@
kubelet:
fail_on_swap: ${_param:kubelet_fail_on_swap}
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
config:
api:
host: ${_param:opencontrail_control_address}
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
index 0968833..d2210eb 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
@@ -50,9 +50,8 @@
netchecker:
enabled: ${_param:kubernetes_netchecker_enabled}
network:
- cnis:
- - opencontrail
- contrail:
+ opencontrail:
+ enabled: true
public_ip_range: 185.22.97.128/26
public_network: default-domain:default-project:Public
private_ip_range: 10.150.0.0/16
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
index 3b76c3f..ef53609 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
@@ -38,7 +38,7 @@
docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
- docker_image_grafana: grafana/grafana:4.5.2
+ docker_image_grafana: grafana/grafana:5.0.3
grafana_admin_password: admin
keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
index c1528b4..2f03c3c 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.openstack
- system.linux.system.repo.mcp.salt
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-mcp11-ovs-ironic-ssl/infra/config.yml b/classes/cluster/virtual-mcp11-ovs-ironic-ssl/infra/config.yml
index ad9a18f..516e5db 100644
--- a/classes/cluster/virtual-mcp11-ovs-ironic-ssl/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-ovs-ironic-ssl/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.salt.master.formula.pkg.baremetal
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-ovs-ironic/infra/config.yml b/classes/cluster/virtual-mcp11-ovs-ironic/infra/config.yml
index f62dd25..6f4fbed 100644
--- a/classes/cluster/virtual-mcp11-ovs-ironic/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-ovs-ironic/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.salt.master.formula.pkg.baremetal
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-ovs/infra/config.yml b/classes/cluster/virtual-mcp11-ovs/infra/config.yml
index 237db95..d39e9d6 100644
--- a/classes/cluster/virtual-mcp11-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-ovs/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_common.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_common.yml
new file mode 100644
index 0000000..79b8f6b
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_common.yml
@@ -0,0 +1,40 @@
+classes:
+- system.backupninja.client.single
+- system.openssh.client.root
+parameters:
+ _param:
+ backupninja_backup_host: ${_param:openstack_control_node03_address}
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ # for salt-master backup
+ backupninja:
+ client:
+ target:
+ home_dir: /srv/volumes/backup/backupninja
+ engine_opts: "-av --delete --recursive --safe-links"
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml
new file mode 100644
index 0000000..18cabd8
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/client_mysql.yml
@@ -0,0 +1,38 @@
+classes:
+- system.xtrabackup.client.single
+parameters:
+ _param:
+ xtrabackup_remote_server: ${_param:openstack_control_node03_address}
+ xtrabackup_qpress_source_name: http://${_param:aptly_server_address}:8078/qpress-11-linux-x64.tar
+ root_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEowIBAAKCAQEAxL6/rVgCetsETpZaUmXmkj8cZ1WN0eubH1FvMDOi/La9ZJyT
+ k0C6AYpJnIyEm93pMj5cLm08qRqMW+2pdOhYjcH69yg5MrX5SkRk8jCmIHIYoIbh
+ Qnwbnj3dd3I39ZdfU2FO7u2vlbglVou6ZoQxlJDItuLNtzq6EG+w9eF19e7+OsC6
+ 6iUItp618zfw1l3J/8nKvCGe2RYDf7mJW6XwCl/DwryJmwwzvPgYJ3QMuDD8/HFj
+ lrJ3xjFTXj4b4Ws1XIoy78fFbtiLr4OwqCYkho03u2E5rOOP1qZxZB63sivHMLMO
+ MM5bOAQKbulFNoyALADGYfc7sf0bZ4u9XXDXxQIDAQABAoIBAQCfmc2MJRT97KW1
+ yqpCpX9BrAiymuiNHf+cjEcSZxEUyHkjIRFmJt+9WB0W7ba1anM92vCUiPDojSzH
+ dig9Oi578JxR20NrK8uqv4jUHzrknynzLveVI3CUEcOSnglfJQijbxDFKfOCFPvV
+ FUyE1UATMNBh6+LNfMprgu+exuMWOPnDyUiYQ+WZ0JfuZY8fuaZte4woJJOb9LUu
+ 5rsMG/smIzjpgZ0Z9ZVDMurfq565qhpaXRAqKeIuyht8pacTo31iMQdHB78AvY/3
+ g0z21Gk8k3z0Kr/YFKr2r4FmXY5m/gAUvZly2ZrVQM5XsbTVCzq/JpI5fssNvSbU
+ AKmXzf4RAoGBAOO3d4/cstxERzW6hyOTjZIN1ppR52CsnZTsVPbfd0pCtmzmVZce
+ CtHKdcXSbTwZvvkK09QSWAp3MoSpd0gIOiLU8Wx/R/RIZsu9BlhTS3r3EQLnk72d
+ H/1TTA+j4T/LIYLSojQ1RxvIrHetAD44j732aTwKAHj/SybEAVqNkOB/AoGBAN0u
+ gLcrgqIHGrk4VjWSvlCGymfF40equcx+ud7XhfZDGETUOSahW4dPZ52cjPAkrCBQ
+ MMfcDwSVGsOAjd+mNt11BHUKobnhXwFaWWuyqyn9NmWFbjMbICVh7E3Of5aVN38o
+ lrmo/7LuKMVG7XRwphCv5NkaJmQG4njDyUQWlaW7AoGADCd8wDb9bPhP/LQqBmIX
+ ylXmwHHisaxE9O/wUQT4bwREjGd25gv6c9wkkRx8LBsLsGs9hzI7dMOL9Ly+2x9l
+ SvqmsC3S/1zl77X1Ir2/Z57MT6Vgo1xBmtnZU3Rhz2/eKAdqFPNLClaZrgGT475N
+ HcyLLWMzR0IJFtabY+Puea0CgYA8Zb5wRkldxWLewSuJZZDinGwY+kieAVjLJq/K
+ 0j+ah6fQ48LXcah0wpIgz+cMjHcUO9GWQdk3/x9X03rqX5EL2DBnZYfUIl63F9zj
+ M97ZkHOSNWVqPzX//0Vv2butewG0j3jZKfTo/2/SrxOYgEpYtC9huWpSVi7xm0US
+ erhSkQKBgFIf9JEsfgE57ANhvITZ3ZI0uZXNxZkXQaVg8jvScDi79IIhy9iPzhKC
+ aIIQoDNIlWv1ftCRZ5AlBvVXgvQ/QNrwy48JiQTzWZlb9Ezg8w+olQmSbG6fq7Y+
+ 7r3i+QUZ7RBdOb24QcQ618q54ozNTCB7OywY78ptFzeoBeptiNr1
+ -----END RSA PRIVATE KEY-----
+ xtrabackup:
+ server:
+ enabled: false
+ backup_dir: /srv/volumes/backup/xtrabackup
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/server.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/server.yml
new file mode 100644
index 0000000..8f84903
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/backup/server.yml
@@ -0,0 +1,15 @@
+classes:
+- system.backupninja.server.single
+- system.xtrabackup.server.single
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.backup
+parameters:
+ _param:
+ backupninja_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ xtrabackup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEvr+tWAJ62wROllpSZeaSPxxnVY3R65sfUW8wM6L8tr1knJOTQLoBikmcjISb3ekyPlwubTypGoxb7al06FiNwfr3KDkytflKRGTyMKYgchighuFCfBuePd13cjf1l19TYU7u7a+VuCVWi7pmhDGUkMi24s23OroQb7D14XX17v46wLrqJQi2nrXzN/DWXcn/ycq8IZ7ZFgN/uYlbpfAKX8PCvImbDDO8+BgndAy4MPz8cWOWsnfGMVNePhvhazVcijLvx8Vu2Iuvg7CoJiSGjTe7YTms44/WpnFkHreyK8cwsw4wzls4BApu6UU2jIAsAMZh9zux/Rtni71dcNfF
+ backupninja:
+ server:
+ home_dir: /srv/volumes/backup/backupninja
+ xtrabackup:
+ server:
+ backup_dir: /srv/volumes/backup/xtrabackup
\ No newline at end of file
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
index f72467c..43b9bb9 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo_local.mcp.salt
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
-- system.openssh.client.lab
-- system.salt.master.api
+#- system.openssh.client.lab
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
@@ -24,6 +25,7 @@
- system.reclass.storage.system.openstack_gateway_single
- system.reclass.storage.system.openstack_dashboard_single
- system.reclass.storage.system.stacklightv2_server_cluster
+- cluster.virtual-offline-pike-ovs-dpdk.infra.backup.client_common
- cluster.virtual-offline-pike-ovs-dpdk.openstack.proxy
- cluster.virtual-offline-pike-ovs-dpdk.stacklight.proxy
- cluster.virtual-offline-pike-ovs-dpdk
@@ -58,9 +60,12 @@
enabled: false
salt:
master:
+ backup: true
reactor:
reclass/minion/classify:
- salt://reclass/reactor/node_register.sls
+ minion:
+ backup: true
reclass:
storage:
class_mapping:
@@ -147,6 +152,7 @@
node:
openstack_control_node01:
classes:
+ - cluster.virtual-offline-pike-ovs-dpdk.infra.backup.client_mysql
- service.galera.master.cluster
params:
mysql_cluster_role: master
@@ -159,6 +165,7 @@
linux_system_codename: xenial
openstack_control_node03:
classes:
+ - cluster.virtual-offline-pike-ovs-dpdk.infra.backup.server
- service.galera.slave.cluster
params:
mysql_cluster_role: slave
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml
index 75a6a48..1f8adb0 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml
@@ -15,6 +15,7 @@
- system.glusterfs.client.volume.keystone
- system.glusterfs.server.volume.glance
- system.glusterfs.server.volume.keystone
+- system.glusterfs.server.volume.backup
- system.glusterfs.server.cluster
- system.glance.control.cluster
- system.nova.control.cluster
diff --git a/classes/cluster/virtual-offline-pike-ovs/infra/config.yml b/classes/cluster/virtual-offline-pike-ovs/infra/config.yml
index 18389dc..eae43fa 100644
--- a/classes/cluster/virtual-offline-pike-ovs/infra/config.yml
+++ b/classes/cluster/virtual-offline-pike-ovs/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo_local.mcp.salt
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy
diff --git a/classes/cluster/virtual-pike-ovs-dpdk/infra/config.yml b/classes/cluster/virtual-pike-ovs-dpdk/infra/config.yml
index 4c55eee..f895a17 100644
--- a/classes/cluster/virtual-pike-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-pike-ovs-dpdk/infra/config.yml
@@ -1,11 +1,12 @@
classes:
- service.git.client
- system.linux.system.single
+- system.linux.system.single.debian
- system.linux.system.repo.mcp.salt
- system.linux.system.repo.mcp.apt_mirantis.openstack
- system.openssh.client.lab
-- system.salt.master.api
- system.salt.master.pkg
+- system.salt.master.api
- system.reclass.storage.salt
- system.salt.minion.ca.salt_master
- system.salt.minion.cert.proxy