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