Add cid nodes into offline pike dpdk
Change-Id: I8c08f0f674537b6215b82f5b4b4edec76adb1b0b
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/init.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/init.yml
new file mode 100644
index 0000000..36c6046
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/init.yml
@@ -0,0 +1,91 @@
+classes:
+ - system.linux.system.haveged
+ - system.linux.system.repo_local.mcp.apt_mirantis.docker
+ - system.linux.system.repo_local.mcp.extra
+ - system.linux.system.repo.mcp.apt_mirantis.ubuntu
+ - system.linux.system.repo.mcp.apt_mirantis.glusterfs
+ - system.linux.system.repo.mcp.apt_mirantis.saltstack
+ - system.glusterfs.client.cluster
+ - system.glusterfs.client.volume.aptly
+ - system.glusterfs.client.volume.gerrit
+ - system.glusterfs.client.volume.jenkins
+ - system.glusterfs.client.volume.registry
+ - system.glusterfs.client.volume.salt_pki
+ - system.glusterfs.client.volume.mysql
+ - system.glusterfs.client.volume.openldap
+ #- system.glusterfs.client.volume.salt
+ # Docker
+ - system.docker.host
+
+ # Generate aptly-publisher config to use for jenkins slaves
+ - system.aptly.client.publisher
+
+ # Keepalived
+ - system.keepalived.cluster.instance.cicd_control_vip
+
+ # HAProxy
+ - system.salt.minion.cert.proxy.cicd
+ - system.haproxy.proxy.single
+ - system.haproxy.proxy.listen.cicd.aptly
+ - system.haproxy.proxy.listen.cicd.gerrit
+ - system.haproxy.proxy.listen.cicd.jenkins
+ - system.haproxy.proxy.listen.docker.registry
+ - system.haproxy.proxy.listen.docker.visualizer
+ - system.haproxy.proxy.listen.openldap
+ - system.haproxy.proxy.listen.phpldapadmin
+ - system.haproxy.proxy.listen.mysql
+ - system.haproxy.proxy.listen.stats
+ - cluster.virtual-offline-pike-ovs-dpdk.infra
+parameters:
+ _param:
+ apt_mk_version: proposed
+ admin_email: root@localhost
+ cluster_node01_name: ${_param:cicd_control_node01_hostname}
+ cluster_node01_address: ${_param:cicd_control_node01_address}
+ cluster_node02_name: ${_param:cicd_control_node02_hostname}
+ cluster_node02_address: ${_param:cicd_control_node02_address}
+ cluster_node03_name: ${_param:cicd_control_node03_hostname}
+ cluster_node03_address: ${_param:cicd_control_node03_address}
+ keepalived_vip_virtual_router_id: 180
+ keepalived_vip_password: r00tme
+ keepalived_vip_interface: ens4
+ cluster_vip_address: ${_param:control_vip_address}
+ control_vip_address: ${_param:cicd_control_address}
+ jenkins_slave_user_id: 10000
+ jenkins_slave_group_id: ${_param:jenkins_slave_user_id}
+ # Docker images and versions
+ docker_registry_http_secret: aikemee4AhK0Eechai2eh6aa3eeWiet9
+ # CI/CD service databases
+ mysql_admin_password: r00tme
+ mysql_gerrit_password: r00tme
+ nginx_proxy_gerrit_server_site_host: ${_param:cluster_public_host}
+ nginx_proxy_gerrit_server_site_port: 8070
+ gerrit_http_listen_url: proxy-https://*:8080/
+ gerrit_pipeline_library_repo: http://${_param:aptly_server_address}:8088/pipeline-library.git
+ gerrit_mk_pipelines_repo: http://${_param:aptly_server_address}:8088/mk-pipelines.git
+ # Proxy
+ cluster_ssl_certificate:
+ enabled: true
+ pem_file: /etc/haproxy/ssl/${_param:cluster_public_host}-all.pem
+ haproxy_bind_address: ${_param:cluster_vip_address}
+ haproxy_mysql_source_port: 13306
+ aptly:
+ publisher:
+ source:
+ registry: ${_param:aptly_server_address}:5000
+ image: aptly-publisher:${_param:apt_mk_version}
+ docker:
+ host:
+ insecure_registries:
+ - ${_param:aptly_server_address}:5000
+ linux:
+ system:
+ package:
+ ca-certificates-java:
+ version: latest
+ directory:
+ /var/lib/jenkins/:
+ user: ${_param:jenkins_slave_user_id}
+ group: ${_param:jenkins_slave_group_id}
+
+
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/leader.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/leader.yml
new file mode 100644
index 0000000..fbaf2c0
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/leader.yml
@@ -0,0 +1,77 @@
+classes:
+ - service.python.environment
+ # Services
+ - system.docker.client
+ # Docker services
+ - system.docker.swarm.stack.docker
+ - system.docker.swarm.stack.gerrit
+ - system.docker.swarm.stack.jenkins
+ - system.docker.swarm.stack.ldap
+ # Jenkins
+ - system.jenkins.client
+ - system.jenkins.client.credential.gerrit
+ - system.jenkins.client.credential.salt
+ # Jobs
+ - system.jenkins.client.job.aptly
+ - system.jenkins.client.job.git-mirrors.downstream.pipelines
+ - system.jenkins.client.job.deploy.openstack
+ - system.jenkins.client.job.deploy.update
+ - system.jenkins.client.job.validate
+ # Security
+ - system.jenkins.client.security.ldap
+ - system.jenkins.client.security.matrix
+ # Slaves
+ - system.jenkins.client.node
+ # OpenLDAP
+ - system.openldap.client
+ - system.openldap.client.people.admin
+
+ # Gerrit
+ - system.gerrit.client
+ - system.gerrit.client.project.ci
+
+ - system.docker.swarm.master
+
+ - cluster.virtual-offline-pike-ovs-dpdk.cicd.control
+
+parameters:
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
+
+ _param:
+ # Jenkins
+ jenkins_slave_user: admin
+ jenkins_client_user: admin
+ jenkins_slave_password: ${_param:jenkins_admin_password}
+ jenkins_client_password: ${_param:jenkins_admin_password}
+ jenkins_admin_email: ${_param:admin_email}
+ aptly_api_port: 8080
+ aptly_public_port: 80
+ #jenkins_admin_public_key: ${_param:jenkins_admin_public_key_generated}
+ #jenkins_admin_private_key: ${_param:jenkins_admin_private_key_generated}
+ # Jobs params
+ jenkins_gerrit_url: ssh://admin@${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_ssh_bind_port}
+ jenkins_offline_deployment: "true"
+ jenkins_aptly_api_url: http://${_param:aptly_server_address}:${_param:aptly_api_port}
+ jenkins_aptly_url: http://${_param:aptly_server_address}:${_param:aptly_public_port}
+ jenkins_aptly_storages: "local"
+
+ # Gerrit
+ gerrit_admin_email: ${_param:admin_email}
+ gerrit_public_host: https://${_param:nginx_proxy_gerrit_server_site_host}:${_param:nginx_proxy_gerrit_server_site_port}
+ gerrit_admin_public_key: ${_param:jenkins_admin_public_key}
+ gerrit_admin_private_key: ${_param:jenkins_admin_private_key}
+ gerrit_auth_type: LDAP
+ gerrit_ldap_server: "ldap://${_param:cluster_vip_address}"
+ gerrit_ldap_bind_user: "cn=admin,${_param:openldap_dn}"
+ gerrit_ldap_bind_password: ${_param:openldap_admin_password}
+ gerrit_ldap_account_base: ou=people,${_param:openldap_dn}
+ gerrit_ldap_group_base: ou=groups,${_param:openldap_dn}
+
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/manager.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/manager.yml
new file mode 100644
index 0000000..4f1db94
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/control/manager.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.docker.swarm.manager
+ - cluster.virtual-offline-pike-ovs-dpdk.cicd.control
+parameters:
+ linux:
+ network:
+ interface:
+ ens4:
+ enabled: true
+ type: eth
+ proto: static
+ address: ${_param:single_address}
+ netmask: 255.255.255.0
\ No newline at end of file
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/init.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/init.yml
new file mode 100644
index 0000000..f0e2416
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/init.yml
@@ -0,0 +1,158 @@
+parameters:
+ _param:
+ cicd_control_address: 172.16.10.80
+ cicd_control_node01_address: 172.16.10.91
+ cicd_control_node02_address: 172.16.10.92
+ cicd_control_node03_address: 172.16.10.93
+ cicd_control_hostname: cid
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt_minion_ca_host: cid01.${_param:cluster_domain}
+ git_pipeline_library_upstream: http://${_param:aptly_server_address}:8088/pipeline-library
+ git_mk_pipelines_upstream: http://${_param:aptly_server_address}:8088/Mirantis/mk-pipelines
+ control_vip_address: 172.16.10.254
+ glusterfs_service_host: ${_param:control_vip_address}
+ docker_image_registry: ${_param:aptly_server_address}:5000/mirantis/external/registry:${_param:apt_mk_version}
+ docker_image_compose: ${_param:aptly_server_address}:5000/mirantis/external/compose:${_param:apt_mk_version}
+ docker_image_visualizer: ${_param:aptly_server_address}:5000/mirantis/external/visualizer:${_param:apt_mk_version}
+ docker_image_gerrit: ${_param:aptly_server_address}:5000/mirantis/cicd/gerrit:${_param:apt_mk_version}
+ docker_image_mysql: ${_param:aptly_server_address}:5000/mirantis/cicd/mysql:${_param:apt_mk_version}
+ docker_image_jenkins: ${_param:aptly_server_address}:5000/mirantis/cicd/jenkins:${_param:apt_mk_version}
+ docker_image_jenkins_slave: ${_param:aptly_server_address}:5000/mirantis/cicd/jnlp-slave:${_param:apt_mk_version}
+ docker_image_openldap: ${_param:aptly_server_address}:5000/mirantis/external/openldap:${_param:apt_mk_version}
+ docker_image_phpldapadmin: ${_param:aptly_server_address}:5000/mirantis/cicd/phpldapadmin:${_param:apt_mk_version}
+ aptly_publisher_image: ${_param:aptly_server_address}:5000/mirantis/cicd/aptly-publisher:${_param:apt_mk_version}
+ docker_image_aptly:
+ base: ${_param:aptly_server_address}:5000/mirantis/cicd/aptly:${_param:apt_mk_version}
+ api: ${_param:aptly_server_address}:5000/mirantis/cicd/aptly-api:${_param:apt_mk_version}
+ public: ${_param:aptly_server_address}:5000/mirantis/cicd/aptly-public:${_param:apt_mk_version}
+ # OpenLDAP
+ openldap_organisation: "${_param:cluster_name}"
+ openldap_dn: "dc=virtual-offline-pike-ovs-dpdk,dc=local"
+ openldap_domain: "virtual-offline-pike-ovs-dpdk.local"
+ openldap_admin_password: r00tme
+ openldap_config_password: r00tme
+ openldap_readonly_password: r00tme
+ # Jenkins
+ jenkins_admin_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD3hnJDKW4R+aXxdaSJSQmV4a6tRmRI1CECkccApr0h15dXGhgeRyrtMsXKpVkQpweQX+75rJHVcNvHpCsR3wLhS/vgOowQh+Xc7bvl9MzoYBGUw5VZyRD4HoHrp2FEUHQqwnOYubFdHBnOi6HZDdf1axFzjmymQX/XvuAd4vCmtW/wumaJ6tH/VlM57ik5jsWwKQIQZl7ODmlGusycuD5QEPade+cHEijGbLtRyMrP+BFJAzVmav2jeu1CtLD8AaKHB+mtfbHYhFkYhLlmFenztbB9S2kJhuSDjB4c8Xxj3N0O1rhKAJPi2o4LS8boa38EnTz55wq02/DxNMSgs9H0BFKK5qRuhaG4GBvwYC9HR/uzH4abFdNAr2kBLMbAo49qwJL4dfyY87T3JLSEUpg1Ycr31A2e1v8kBOCMipFOkOwlVm1F2P178YJmCcIl2NnzIvfI7SKvVgjgmoxfDZu55CMqf+W6hlMrchhGvXmTDFNfW7cr8ak4GCgZLUIkzWPRcgfwLN+328JhCgGeHfSkQBzMD4sZR0yw3Pc939gMXkRIsfDNnTJ8qZTDkiYfktUt3pRp8AudqQ++cf95nf2lTOyGehXkn7oHGAQfJ9mlSOTTM/e9shtT+jqsB5HW0BRVqtsm7cvyhYKQZCfWOhInBg4hfK5rJVGjCSLckTa4jQ==
+ jenkins_admin_private_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ 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
+ -----END RSA PRIVATE KEY-----
+ jenkins_admin_password: ${_param:openldap_admin_password}
+ jenkins_security_ldap_server: ${_param:cicd_control_address}
+ salt_api_password: 'hovno12345!'
+ jenkins_security_ldap_root_dn: ${_param:openldap_dn}
+ jenkins_security_ldap_manager_dn: "cn=admin,${_param:openldap_dn}"
+ jenkins_security_ldap_manager_password: ${_param:openldap_admin_password}
+ # Gerrit
+ gerrit_admin_password: ${_param:openldap_admin_password}
+
+ # Aptly
+ aptly_gpg_keypair_id: none
+ aptly_gpg_passphrase: none
+ aptly_server_secure: false
+ aptly_gpg_private_key: none
+ aptly_gpg_public_key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ mQENBFnU98YBCACdTxOkxAJJQaQ4B9sEsh9s4MMOMxPSCwvzgGbk6HECDBhz2auF
+ FfVydNbjLfoih8qdaLSmBQg8+FtdYJHEG1lekeiUETOxJnkhUFXq85KGNj9BbGBr
+ m3/6Jo58pdMNdUMurAs807STvH3iTAhYymggX1u9GyjKbv24p2KMGuK1gC3W04NG
+ qOQX3iwjmBWq87fX7tNLafptCq5A9TAv4Dvt1XZgGCiLI+EcPyfgNB1W/+EOOkFu
+ jFdM43nm0YE3Bf4uuVR/u0REprYJfChdS6qYYgI3n2LuPyi9WMVVee+1RZmTwFcB
+ cS53h+gq1GHOhj+YOwm3+ctmIoTNi26siutdABEBAAG0Kk1pcmFudGlzIE9mZmxp
+ bmUgQXB0bHkgPGluZm9AbWlyYW50aXMuY29tPokBOAQTAQIAIgUCWdT3xgIbAwYL
+ CQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQpIXB3agnLgS9wQf7B2LiR4wQh7Vq
+ Vwx1dKrhj0AXF7jSYfYJ/vtV6mXb0AxAxC3BVoW+KLPB+W9lHCXBRYXf1pJZIYcx
+ v0rTGeqzpcxVmMIT1E4OAmZp8pFlBsFNTERG2z01kdnd3oddF3GSiP1cTg2+c9hJ
+ UGJR0tAbPXDm0dXhuDD428IuSx5o4bdNdCshPYRe/P3CGG+KrySLL0/06UU2I5Mx
+ f4pctRouWfrQDA6sIS+P58NKwIpXdWj1pPogJzVUJqHHyAUM8Ri+AZoXtKjqXAqN
+ QNCd/xPaL9dtGxKTMDDKHvqyF5MpU3eYcEFIi79nunfC6Iaw+Izo+hYpiBlb2s6Q
+ kCgR2y/f17kBDQRZ1PfGAQgA1NqQorh2cvogoU4DbRwnQKZDCCt4WnbvcJf8WZw7
+ sINbqJm3pd/UjVwcPG0GFe9w7/eEdKv6N/fVMJYo/Dj34j2waN46sIBBaXi8pPuC
+ rs/fV+KFGmdXNrOED8LeJ835+6eAm3W/930P1o/Rncfi7ANQr4nuSkzCoXhwo9n8
+ RX70L1pYtGw1v3qMaDBKHGpZ0ZqSewSlQYclWG5EKg6ecR0wnLK9W62b5uExbexh
+ 7d+W22NTZ9j7SVfwHG4IleZ03B+ak0NqlKpdEA9+8QLdrQsqFN8qDHqJ46ag+5xt
+ pAPmw1S2va7Gkr0BMxzdxwA5d4ZauevaEKTi5NLGdNZuHQARAQABiQEfBBgBAgAJ
+ BQJZ1PfGAhsMAAoJEKSFwd2oJy4E5R4H/3XjYvsalh2g4iYEOjZ1Ld55AA+NDlnp
+ eXJfEOlhxdnAvkTc1CfKdT3qaN5hG0m7sVowaeVbf4cDNwIQy+R75V73h2DQpno3
+ 746DDC0C2jRzDBwKrUU9Y/du3REcq4kMCnhtVBMSX6rbJoxSFdCzLu/XJd9oeXbb
+ kObIeoe9FWIrswFB4NUhTHLn1bk5p8zsVbsRm3jl6ofoQmFKFoK6FauuNeB+Fc/1
+ UdMpUb1Y9dpE/akgRm/79NRHKA4plQ2X/CGZu+KIw4XVn/0ilU8FbsX+KXcp8ui0
+ XRqg8z44wtlroFTrnR+DgqplsellsrM+xGtZb9VrjFLeP89jzhrBWgE=
+ =GLje
+ -----END PGP PUBLIC KEY BLOCK-----
+ linux:
+ network:
+ host:
+ cid:
+ address: ${_param:cicd_control_address}
+ names:
+ - ${_param:cicd_control_hostname}
+ - ${_param:cicd_control_hostname}.${_param:cluster_domain}
+ cid01:
+ address: ${_param:cicd_control_node01_address}
+ names:
+ - ${_param:cicd_control_node01_hostname}
+ - ${_param:cicd_control_node01_hostname}.${_param:cluster_domain}
+ cid02:
+ address: ${_param:cicd_control_node02_address}
+ names:
+ - ${_param:cicd_control_node02_hostname}
+ - ${_param:cicd_control_node02_hostname}.${_param:cluster_domain}
+ cid03:
+ address: ${_param:cicd_control_node03_address}
+ names:
+ - ${_param:cicd_control_node03_hostname}
+ - ${_param:cicd_control_node03_hostname}.${_param:cluster_domain}
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/worker.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/worker.yml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/cicd/worker.yml
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 6f58513..645612b 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/config.yml
@@ -4,12 +4,17 @@
- system.linux.system.single.debian
- system.linux.system.repo.mcp.apt_mirantis.saltstack
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
-#- system.openssh.client.lab
+- system.linux.system.repo_local.mcp.salt
+- system.linux.system.repo_local.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.percona
+- system.linux.system.repo.mcp.apt_mirantis.ubuntu
+- system.linux.system.repo.mcp.apt_mirantis.glusterfs
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.salt_pki
- system.salt.master.pkg
- system.salt.master.api
- 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.keystone.client.single
@@ -23,14 +28,19 @@
- system.keystone.client.service.gnocchi
- system.gnocchi.client
- system.gnocchi.client.v1.archive_policy.default
+- system.reclass.storage.salt
- 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.openstack_telemetry_cluster
+- system.reclass.storage.system.cicd_control_cluster
+- service.jenkins.client
+- system.jenkins.client.credential.salt
+- system.jenkins.client.job.deploy.openstack
+- cluster.virtual-offline-pike-ovs-dpdk.infra
- cluster.virtual-offline-pike-ovs-dpdk.infra.backup.client_common
-- cluster.virtual-offline-pike-ovs-dpdk
parameters:
_param:
reclass_data_repository: https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab
@@ -41,7 +51,12 @@
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}
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ jenkins_git_url: 'git@cfg01:/home/repo'
+ jenkins_gerrit_url: ${_param:jenkins_git_url}
+ salt_api_password: 'hovno12345!'
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins_pipeline_library_url: git@cfg01:/home/repo/mcp-ci/pipeline-library
salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
linux:
network:
@@ -52,6 +67,19 @@
proto: static
address: ${_param:single_address}
netmask: 255.255.255.0
+ jenkins:
+ client:
+ lib:
+ pipeline-library:
+ url: ${_param:jenkins_pipeline_library_url}
+ branch: ${_param:jenkins_pipelines_branch}
+ master:
+ host: ${_param:salt_master_host}
+ port: 8081
+ password: r00tme
+ globalenvprop:
+ OFFLINE_DEPLOYMENT:
+ value: "true"
salt:
master:
backup: true
@@ -163,6 +191,21 @@
cluster_param:
openstack_telemetry_node03_address:
value_template: <<node_control_ip>>
+ cicd_control_node01:
+ expression: <<node_hostname>>__equals__cid01
+ cluster_param:
+ cicd_control_node01_address:
+ value_template: <<node_control_ip>>
+ cicd_control_node02:
+ expression: <<node_hostname>>__equals__cid02
+ cluster_param:
+ cicd_control_node02_address:
+ value_template: <<node_control_ip>>
+ cicd_control_node03:
+ expression: <<node_hostname>>__equals__cid03
+ cluster_param:
+ cicd_control_node03_address:
+ value_template: <<node_control_ip>>
node:
openstack_control_node01:
classes:
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/init.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/init.yml
index b01723d..da495f8 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/init.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/infra/init.yml
@@ -1,4 +1,111 @@
+classes:
+- system.linux.network.dynamic_hosts
+- system.linux.system.repo_local.mcp.extra
+- system.linux.system.repo.mcp.apt_mirantis.saltstack
+- system.linux.system.repo.mcp.apt_mirantis.ubuntu
+- system.linux.system.repo_local.mcp.apt_mirantis.openstack
+- system.linux.system.single
+- system.linux.system.single.debian
+- system.watchdog.server
+- system.rsyslog.client.single
+- system.openssh.server.team.lab
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- system.auditd.server.ciscat
+- system.salt.minion.single
+- system.rsyslog.client.single
+- cluster.virtual-offline-pike-ovs-dpdk.openstack
+- cluster.virtual-offline-pike-ovs-dpdk.cicd
parameters:
+ _param:
+ cluster_domain: virtual-offline-pike-ovs-dpdk.local
+ cluster_name: virtual-offline-pike-ovs-dpdk
+ infra_config_hostname: cfg01
+ local_repos: true
+ apt_mk_version: proposed
+ openstack_version: pike
+ jenkins_pipelines_branch: '${_param:apt_mk_version}'
+ # new in 2018.7+
+ linux_system_repo_url: http://${_param:local_repo_url}/${_param:apt_mk_version}/
+ #
+ local_repo_url: mirror.mcp.mirantis.local.test
+ linux_repo_refresh_db: true
+ aptly_server_address: 10.170.0.226
+ docker_compose_image: ${_param:aptly_server_address}:5000/compose:1.8.0
+ # infra service addresses
+ infra_config_address: 172.16.10.100
+ # openstack service addresses
+ 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_gateway_address: 172.16.10.110
+ 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}
+ glusterfs_node01_address: ${_param:openstack_control_node01_address}
+ glusterfs_node02_address: ${_param:openstack_control_node02_address}
+ glusterfs_node03_address: ${_param:openstack_control_node03_address}
+ openstack_gateway_address: 172.16.10.110
+ openstack_gateway_node01_address: ${_param:openstack_gateway_address}
+ remote_rsyslog_host: 127.0.0.3
+ remote_rsyslog_port: 10514
+ salt_minion_ca_host: ${_param:infra_config_hostname}.${_param:cluster_domain}
+ rsyslog:
+ client:
+ run_user: syslog
+ run_group: adm
+ enabled: true
+ rainerscript:
+ module:
+ imfile: {}
+ input:
+ imfile:
+ nginx:
+ File: "/var/log/nginx/*.log"
+ Tag: "nginx__"
+ Severity: "notice"
+ Facility: "local0"
+ PersistStateInterval: "0"
+ Ruleset: "myapp_logs"
+ apache2:
+ File: "/var/log/apache2/*.log"
+ Tag: "apache2__"
+ Severity: "notice"
+ Facility: "local0"
+ Ruleset: "myapp_logs"
+ PersistStateInterval: "0"
+ rabbitmq:
+ File: "/var/log/rabbitmq/*.log"
+ Tag: "rabbitmq__"
+ Severity: "notice"
+ Facility: "local0"
+ PersistStateInterval: "0"
+ Ruleset: "myapp_logs"
+ template:
+ ImfileFilePath:
+ parameter:
+ type: string
+ string: "<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%$.suffix%%msg:::sp-if-no-1st-sp%%msg%\n"
+ ruleset:
+ remote_logs:
+ description: 'action(type="omfwd" Target="${_param:remote_rsyslog_host}" Port="${_param:remote_rsyslog_port}" Protocol="udp" Template="ImfileFilePath")'
+ myapp_logs:
+ description: 'set $.suffix=re_extract($!metadata!filename, "(.*)/([^/]*[^/.log])", 0, 2, "all.log"); call remote_logs'
+ output:
+ remote:
+ somehost.domain:
+ action: "@${_param:remote_rsyslog_host}:${_param:remote_rsyslog_port}"
+ filter: "*.*"
+ enabled: true
+ salt:
+ minion:
+ trusted_ca_minions:
+ - ${_param:salt_minion_ca_host}
linux:
network:
host:
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/init.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/init.yml
deleted file mode 100644
index 84fdfce..0000000
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/init.yml
+++ /dev/null
@@ -1,95 +0,0 @@
-classes:
-- system.linux.network.dynamic_hosts
-- system.linux.system.repo_local.mcp.extra
-- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- system.linux.system.repo.mcp.apt_mirantis.ubuntu
-- system.linux.system.single
-- system.linux.system.single.debian
-- system.watchdog.server
-- system.rsyslog.client.single
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.auditd.server.ciscat
-- cluster.virtual-offline-pike-ovs-dpdk.infra
-- cluster.virtual-offline-pike-ovs-dpdk.openstack
-
-parameters:
- _param:
- cluster_domain: virtual-offline-pike-ovs-dpdk.local
- cluster_name: virtual-offline-pike-ovs-dpdk
- infra_config_hostname: cfg01
- local_repos: true
- # new in 2018.7+
- linux_system_repo_url: http://${_param:local_repo_url}/${_param:apt_mk_version}/
- #
- local_repo_url: mirror.mcp.mirantis.local.test
- linux_repo_refresh_db: true
- aptly_server_address: 10.170.0.226
- # infra service addresses
- infra_config_address: 172.16.10.100
- # openstack service addresses
- 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_gateway_address: 172.16.10.110
- 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}
- # stacklight service addresses
- openstack_gateway_address: 172.16.10.110
- openstack_gateway_node01_address: ${_param:openstack_gateway_address}
- remote_rsyslog_host: 127.0.0.3
- remote_rsyslog_port: 10514
- rsyslog:
- client:
- run_user: syslog
- run_group: adm
- enabled: true
- rainerscript:
- module:
- imfile: {}
- input:
- imfile:
- nginx:
- File: "/var/log/nginx/*.log"
- Tag: "nginx__"
- Severity: "notice"
- Facility: "local0"
- PersistStateInterval: "0"
- Ruleset: "myapp_logs"
- apache2:
- File: "/var/log/apache2/*.log"
- Tag: "apache2__"
- Severity: "notice"
- Facility: "local0"
- Ruleset: "myapp_logs"
- PersistStateInterval: "0"
- rabbitmq:
- File: "/var/log/rabbitmq/*.log"
- Tag: "rabbitmq__"
- Severity: "notice"
- Facility: "local0"
- PersistStateInterval: "0"
- Ruleset: "myapp_logs"
- template:
- ImfileFilePath:
- parameter:
- type: string
- string: "<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%$.suffix%%msg:::sp-if-no-1st-sp%%msg%\n"
- ruleset:
- remote_logs:
- description: 'action(type="omfwd" Target="${_param:remote_rsyslog_host}" Port="${_param:remote_rsyslog_port}" Protocol="udp" Template="ImfileFilePath")'
- myapp_logs:
- description: 'set $.suffix=re_extract($!metadata!filename, "(.*)/([^/]*[^/.log])", 0, 2, "all.log"); call remote_logs'
- output:
- remote:
- somehost.domain:
- action: "@${_param:remote_rsyslog_host}:${_param:remote_rsyslog_port}"
- filter: "*.*"
- enabled: true
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/compute.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/compute.yml
index 85e9a29..633c0ae 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/compute.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/compute.yml
@@ -12,7 +12,7 @@
- system.ceilometer.client.nova_compute
- system.ceilometer.agent.telemetry.cluster
- system.ceilometer.agent.polling.default
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
- system.nova.compute.nfv.hugepages
- system.nova.compute.nfv.cpu_pinning
- system.neutron.compute.nfv.dpdk
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 757102c..5c41cab 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/control.yml
@@ -17,6 +17,13 @@
- system.glusterfs.server.volume.keystone
- system.glusterfs.server.volume.backup
- system.glusterfs.server.cluster
+- system.glusterfs.server.volume.aptly
+- system.glusterfs.server.volume.gerrit
+- system.glusterfs.server.volume.jenkins
+- system.glusterfs.server.volume.mysql
+- system.glusterfs.server.volume.openldap
+- system.glusterfs.server.volume.registry
+- system.glusterfs.server.cluster
- system.glance.control.cluster
- system.nova.control.cluster
- system.neutron.control.openvswitch.cluster
@@ -38,7 +45,7 @@
- system.ceilometer.client.cinder_volume
- system.ceilometer.client.neutron
- system.haproxy.proxy.listen.openstack.nova-placement
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
_param:
keepalived_vip_interface: ens4
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dashboard.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dashboard.yml
index 2c20b03..24f2b4b 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dashboard.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dashboard.yml
@@ -4,7 +4,7 @@
- system.linux.system.repo_local.mcp.extra
- system.linux.system.repo.mcp.apt_mirantis.saltstack
- system.horizon.server.single
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
_param:
horizon_site_branding: OpenStack Dashboard
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dns.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dns.yml
index ca49ae6..4fca292 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dns.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/dns.yml
@@ -1,6 +1,6 @@
classes:
- system.powerdns.server.single
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
powerdns:
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/gateway.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/gateway.yml
index 2dea160..afbe64b 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/gateway.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/gateway.yml
@@ -3,7 +3,7 @@
- system.linux.system.repo_local.mcp.extra
- system.linux.system.repo.mcp.apt_mirantis.saltstack
- system.neutron.gateway.cluster
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
_param:
primary_interface: ens4
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/proxy.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/proxy.yml
index a760bea..730f074 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/proxy.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/proxy.yml
@@ -4,7 +4,7 @@
- system.nginx.server.proxy.openstack_vnc
- system.nginx.server.proxy.openstack_web
- system.salt.minion.cert.proxy
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
_param:
cluster_public_host: ${_param:openstack_proxy_address}
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/share.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/share.yml
index c804e24..c1c831b 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/share.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/share.yml
@@ -4,7 +4,7 @@
- system.linux.system.repo_local.mcp.apt_mirantis.openstack
- system.linux.system.repo_local.mcp.extra
- system.linux.system.repo.mcp.apt_mirantis.saltstack
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
linux:
diff --git a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/telemetry.yml b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/telemetry.yml
index db23a37..b664387 100644
--- a/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/telemetry.yml
+++ b/classes/cluster/virtual-offline-pike-ovs-dpdk/openstack/telemetry.yml
@@ -23,7 +23,7 @@
- system.aodh.server.coordination.redis
- system.panko.server.cluster
- system.ceilometer.server.backend.gnocchi
-- cluster.virtual-offline-pike-ovs-dpdk
+- cluster.virtual-offline-pike-ovs-dpdk.infra
parameters:
_param:
gnocchi_statsd_resource_id: 07f26121-5777-48ba-8a0b-d70468133dd9