Add model with openstack ocata and cicd

Change-Id: I9089916ffd9aa8193d85a9785156693fc5192526
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
new file mode 100644
index 0000000..357d459
--- /dev/null
+++ b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
@@ -0,0 +1,155 @@
+
+classes:
+  - system.linux.system.haveged
+  - 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.openldap
+ #- system.glusterfs.client.volume.salt
+  # Docker
+  - system.docker.host
+
+  # Generate aptly-publisher config to use for jenkins slaves
+  - system.aptly.client.publisher
+
+  # Docker services
+  - system.docker.swarm.stack.aptly
+  - system.docker.swarm.stack.docker
+  - system.docker.swarm.stack.gerrit
+  - system.docker.swarm.stack.jenkins
+  - system.docker.swarm.stack.ldap
+
+  # 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-mcp-ocata-cicd
+
+parameters:
+  _param:
+    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: TLrAYaAbAEZwXsp1
+    keepalived_vip_interface: ens3
+    cluster_vip_address: ${_param:control_vip_address}
+    control_vip_address: ${_param:cicd_control_address}
+    cluster_public_host: ${_param:control_vip_address}
+    salt_api_password: Dnx3fapzHIcGuURdDck3DPv78V3ehwue
+    # Docker images and versions
+    docker_registry_http_secret: jvJRsYDEPts2HdNk
+    # CI/CD service databases
+    mysql_admin_password: TSi6AgDGv2nZjblQ
+    mysql_gerrit_password: f6XRcwSNHTh8zCuS
+
+    # 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
+    salt_minion_ca_host: cfg01.${_param:cluster_domain}
+
+    # Aptly
+    aptly_gpg_keypair_id: none
+    aptly_gpg_passphrase: none
+    aptly_server_secure: false
+    aptly_gpg_public_key: none
+    aptly_gpg_private_key: none
+    # OpenLDAP
+    openldap_organisation: "${_param:cluster_name}"
+    openldap_dn: "virtual-mcp-ocata-cicd,dc=local"
+    openldap_domain: "virtual-mcp-ocata-cicd.local"
+    openldap_admin_password: UdTuP7GPPTaCoPSV
+    openldap_config_password: RQK8h0F3aNdvv26U
+    openldap_readonly_password: myMSnD6mn8ziUP2S
+
+    # Jenkins
+    jenkins_slave_user: admin
+    jenkins_client_user: admin
+    jenkins_admin_password: ${_param:openldap_admin_password}
+    jenkins_security_ldap_server: ${_param:cluster_vip_address}
+    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}
+    jenkins_slave_password: ${_param:jenkins_admin_password}
+    jenkins_client_password: ${_param:jenkins_admin_password}
+    jenkins_admin_email: ${_param:admin_email}
+    jenkins_admin_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3PNQbFye7OC13h7esNT+LXtIKOZbmSmQdj2wrVW1nwFQBodgG2XFJUyKwVZ3gCqS68sN0kOzqix/R4oOL2lm1vZX69Mx3mON6fkvMdgpaEE78VH/SAiuUhCLP83Ic1QRp55uriZ0a1Pa91kqqXnqWLQX7NK4oTtps1sukxg+WVyT55jnwJ8F4a2HIgf+heZNunfw1NlQI6tGXwdiTON7agVybodtRQZctB3/6rQrxKFT9No5BYrEtt2sEg4xBl/XvhbBIyKmi2URgSOplpezGGJcVHTCddRRP0st4etsh39I8H0qzwWnufgYr1dGCr7AOt0grQOUaAKivjK/PV7IL
+    jenkins_admin_private_key: |
+      -----BEGIN RSA PRIVATE KEY-----
+      MIIEpQIBAAKCAQEAtzzUGxcnuzgtd4e3rDU/i17SCjmW5kpkHY9sK1VtZ8BUAaHY
+      BtlxSVMisFWd4AqkuvLDdJDs6osf0eKDi9pZtb2V+vTMd5jjen5LzHYKWhBO/FR/
+      0gIrlIQiz/NyHNUEaeebq4mdGtT2vdZKql56li0F+zSuKE7abNbLpMYPllck+eY5
+      8CfBeGthyIH/oXmTbp38NTZUCOrRl8HYkzje2oFcm6HbUUGXLQd/+q0K8ShU/TaO
+      QWKxLbdrBIOMQZf174WwSMipotlEYEjqZaXsxhiXFR0wnXUUT9LLeHrbId/SPB9K
+      s8Fp7n4GK9XRgq+wDrdIK0DlGgCor4yvz1eyCwIDAQABAoIBAB3a5Vw8m5afgpj1
+      HfILAv18R5Cu7W08Na+zTJaK5rZ+2bEiY4ZKK3EdAIvmh0CXu1tSbpIxgsh8PoT9
+      +RzySKeZ6jPnauEZoga1SThZCzq9aYEna2QWQm+CUAG90pvsAToYKH78fwJ+LG2l
+      2qiDmEmbsFvLq4yZvHD7VlbUhnmiFm1kzPPa2SdeimYl0TlOKOMS/l0UkG0isMEQ
+      3dGR3GOCA9az7UAuBvB0rAhOjWUfDEFGeKYlZ9kHgK6r7eYMA0Ij7eIbZYvE0tAE
+      slhhevDbrnEpzD3XClSmco62RhRIhvS639Q09IksA+yLBFLnjVOtEsWroD4iFDPI
+      4kLTewECgYEA6x6i5YlY5Mxsq7S22d4XcSafd7FJm7FNZeM+8/aPeQjSunXby5rD
+      pYQBYGZG9pNuJ6R6hxunlWiTmzkogZLoWqDfTrjjJ7qnYpA/6NS97jdDBq8o5lIb
+      LWFLn86QyuLUFLUzPbeBsAfiRAoKm6qdmwCMNHEuleLOGVUdTx84PksCgYEAx4Kr
+      8jvyRazRQtbYWTvMViHs7w5tYRUI7NZ35DfI2nJA/VRWfCvK7F/QpgFfeEB3vBVM
+      +s9HBiJ23cqS44Iw/WhGMdoXSXFqiz6Ry8oQ0LXl1ed1eq8Bq/Y6qbGpgUv6QdYX
+      DDE2vezsq4jcmFVRCKexCTVKgf/bSN8VhSLfA0ECgYEAsP1w9oU7y5AvRdpVww+y
+      adT/OiTVGkSP1OEJ5LB4NE52AzLxcAVivdfvCVg0ly1IQMNKESa6Mnh0lOakHVYv
+      Xvm24BXBuYiCtGmOEoEDMK2c4Q0+JpMsLi8NtJDU4kV6DNSSbCUVlSN6Kmm8ro3y
+      8lmpMVj6Do6bQuqVk5gWyJ0CgYEApTU6p1smkrW5jyyTeMkAuu5a4dZDktm1S1GJ
+      dA0RoHpuAJjfCPHGlpf9EgofAVf5DmFhHmuX96eAYMbHfeeoI58+STe8gs+NF4MX
+      ffZ0mC+YA9onuRDERJ6gEzcQEwZUVEIxUaJLH1ja3mx1pxs3AADEo8hiS2YQMraw
+      fk/S9kECgYEAmB1tL0F796xtfaeNwQ35FZW2gpWvJLrBfO5vkXrA8JFhldW5LHr0
+      7xy+goivnFtD2rvCMNOVWdGT4yEftajz6vXsXLr2XQ8X3HH8O0BIqWyobguQs3t0
+      d4sWoM2Qt45r+B/UoLMPmkjtebmQe+gKbdv8rv+FWPAckc7L7MCkveA=
+      -----END RSA PRIVATE KEY-----
+    # Jobs params
+    jenkins_gerrit_url: ssh://admin@${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_ssh_bind_port}
+    jenkins_aptly_api_url: http://${_param:haproxy_aptly_api_bind_host}:${_param:haproxy_aptly_api_bind_port}
+    jenkins_aptly_url: http://${_param:haproxy_aptly_public_bind_host}:${_param:haproxy_aptly_public_bind_port}
+    # Gerrit
+    gerrit_admin_password: ${_param:openldap_admin_password}
+    gerrit_admin_email: ${_param:admin_email}
+    gerrit_public_host: http://${_param:haproxy_gerrit_bind_host}:${_param:haproxy_gerrit_bind_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}
+
+  linux:
+    system:
+      package:
+        ca-certificates-java:
+          version: latest
+    network:
+      interface:
+        ens3:
+          enabled: true
+          type: eth
+          proto: static
+          address: ${_param:single_address}
+          netmask: 255.255.255.0