Merge "remove repo definition from system classes"
diff --git a/.releasenotes/notes/oss-cluster-60617c0d44ca6c0a.yaml b/.releasenotes/notes/oss-cluster-60617c0d44ca6c0a.yaml
new file mode 100644
index 0000000..3dddf61
--- /dev/null
+++ b/.releasenotes/notes/oss-cluster-60617c0d44ca6c0a.yaml
@@ -0,0 +1,9 @@
+---
+prelude: >
+  Implemented the OSS nodes definition for standalone OSS deployments
+
+features:
+  - Implemented the OSS nodes definition for standalone OSS deployments.
+    Now, deployment engineers have ability to switch the placement of the OSS
+    services that are by default binded to StackLight monitoring nodes.
+
diff --git a/aptly/server/mirror/ubuntu/trusty/docker_legacy.yml b/aptly/server/mirror/ubuntu/trusty/docker_legacy.yml
new file mode 100644
index 0000000..a686566
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/docker_legacy.yml
@@ -0,0 +1,20 @@
+parameters:
+  _param:
+    mirror_docker-trusty_source: 'https://apt.dockerproject.org/repo'
+    mirror_docker-trusty_distribution: ubuntu-trusty
+    mirror_docker-trusty_components: main
+    mirror_docker-trusty_gpgkeys:
+      - 58118E89F3A912897C070ADBF76221572C52609D
+  aptly:
+    server:
+      mirror:
+        docker-trusty-legacy:
+          source: ${_param:mirror_docker-trusty_source}
+          distribution: ${_param:mirror_docker-trusty_distribution}
+          components: ${_param:mirror_docker-trusty_components}
+          architectures: amd64
+          gpgkeys: ${_param:mirror_docker-trusty_gpgkeys}
+          publisher:
+            component: docker-legacy
+            distributions:
+              - ubuntu-trusty/nightly
\ No newline at end of file
diff --git a/aptly/server/mirror/ubuntu/xenial/docker_legacy.yml b/aptly/server/mirror/ubuntu/xenial/docker_legacy.yml
new file mode 100644
index 0000000..f58a974
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/docker_legacy.yml
@@ -0,0 +1,20 @@
+parameters:
+  _param:
+    mirror_docker-xenial_source: 'https://apt.dockerproject.org/repo'
+    mirror_docker-xenial_distribution: ubuntu-xenial
+    mirror_docker-xenial_components: main
+    mirror_docker-xenial_gpgkeys:
+      - 58118E89F3A912897C070ADBF76221572C52609D
+  aptly:
+    server:
+      mirror:
+        docker-xenial-legacy:
+          source: ${_param:mirror_docker-xenial_source}
+          distribution: ${_param:mirror_docker-xenial_distribution}
+          components: ${_param:mirror_docker-xenial_components}
+          architectures: amd64
+          gpgkeys: ${_param:mirror_docker-xenial_gpgkeys}
+          publisher:
+            component: docker-legacy
+            distributions:
+              - ubuntu-xenial/${_param:apt_mk_version}
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index 2430724..699ea82 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -71,6 +71,9 @@
             - name: docker
               upload_source_package: false
               dist: trusty
+            - name: dogtag
+              upload_source_package: false
+              dist: trusty
             - name: dovecot
               upload_source_package: false
               dist: trusty
@@ -374,6 +377,9 @@
             - name: docker
               upload_source_package: true
               dist: xenial
+            - name: dogtag
+              upload_source_package: true
+              dist: xenial
             - name: dovecot
               upload_source_package: true
               dist: xenial
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 892ca76..236e4d6 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -29,6 +29,7 @@
             - name: dekapod
             - name: devops-portal
             - name: docker
+            - name: dogtag
             - name: dovecot
             - name: elasticsearch
             - name: etcd
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 1cc904d..5e7e82b 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -153,6 +153,12 @@
               RECLASS_MODEL_BRANCH:
                 type: string
                 default: master
+              SYSTEM_GIT_URL:
+                type: string
+                default: ""
+              SYSTEM_GIT_REF:
+                type: string
+                default: ""
               PARALLEL_NODE_GROUP_SIZE:
                 type: string
                 default: "1"
diff --git a/linux/system/repo_local/docker_legacy.yml b/linux/system/repo_local/docker_legacy.yml
new file mode 100644
index 0000000..d12cc0d
--- /dev/null
+++ b/linux/system/repo_local/docker_legacy.yml
@@ -0,0 +1,9 @@
+parameters:
+  linux:
+    system:
+      repo:
+        docker:
+          refresh_db: ${_param:linux_repo_refresh_db}
+          source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} docker-legacy"
+          architectures: amd64
+          key_url: "http://${_param:local_repo_url}/public.gpg"
\ No newline at end of file
diff --git a/reclass/storage/system/oss_cluster.yml b/reclass/storage/system/oss_cluster.yml
new file mode 100644
index 0000000..71d42ce
--- /dev/null
+++ b/reclass/storage/system/oss_cluster.yml
@@ -0,0 +1,43 @@
+parameters:
+  _param:
+    oss_node01_hostname: mon01
+    oss_node02_hostname: mon02
+    oss_node03_hostname: mon03
+    oss_system_codename: xenial
+  reclass:
+    storage:
+      node:
+        stacklight_server_node01:
+          name: ${_param:oss_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - system.docker.swarm.master
+          - cluster.${_param:cluster_name}.oss.client
+          - cluster.${_param:cluster_name}.oss.server
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:oss_system_codename}
+            single_address: ${_param:oss_node01_address}
+            keepalived_vip_priority: 103
+        stacklight_server_node02:
+          name: ${_param:oss_node02_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - system.docker.swarm.manager
+          - cluster.${_param:cluster_name}.oss.server
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:oss_system_codename}
+            single_address: ${_param:oss_node02_address}
+            keepalived_vip_priority: 102
+        stacklight_server_node03:
+          name: ${_param:oss_node03_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - system.docker.swarm.manager
+          - cluster.${_param:cluster_name}.oss.server
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: ${_param:oss_system_codename}
+            single_address: ${_param:oss_node03_address}
+            keepalived_vip_priority: 101