diff --git a/jjb/pipeline/tost-deploy-fluentbit.groovy b/jjb/pipeline/tost-deploy-fluentbit.groovy
deleted file mode 100644
index 2925236..0000000
--- a/jjb/pipeline/tost-deploy-fluentbit.groovy
+++ /dev/null
@@ -1,107 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        rancher_token = credentials("${params.rancher_cli_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install rancher
-                wget https://github.com/rancher/cli/releases/download/v2.4.5/rancher-linux-amd64-v2.4.5.tar.gz
-                tar -xvf rancher-linux-amd64-v2.4.5.tar.gz
-                mv rancher-v2.4.5/rancher /usr/local/bin
-
-                rm rancher-linux-amd64-v2.4.5.tar.gz
-                rm -rf rancher-v2.4.5
-                # Test Kubectl & Rancher
-                KUBE_CONFIG=$KUBECONFIG kubectl get nodes
-                rancher --version
-                '''
-            }
-        }
-    stage('Init git') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://@${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                fi
-
-                """
-                }
-            }
-        }
-
-        stage('Login Rancher') {
-            steps {
-                sh '''
-                rancher login ${rancher_server} --token ${rancher_token} --context ${rancher_context}:${rancher_project}
-                '''
-             }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh '''
-                for app in $(rancher apps ls -q | grep -E '(fluentbit)'); do rancher apps delete $app; done
-
-                until [ "$(rancher apps ls -q | grep -E '(fluentbit)')" = "" ]; do echo "wait deleted apps"; rancher apps ls ; sleep 1; done
-                '''
-             }
-        }
-       stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh '''
-                cd ${workspace}/${git_repo}/deployment-configs/aether/apps/${config_env}/
-                until rancher apps install --answers fluentbit-ans.yml --namespace ${fluentbit_ns} cattle-global-data:fluent-fluent-bit fluentbit; do :; done
-                apps=$(rancher apps -q | grep fluentbit)
-                for app in $apps; do until rancher wait $app --timeout 20; do :; done; rancher apps ls; done
-                '''
-             }
-        }
-
-    }
-    post {
-        always {
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-      }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-onos.groovy b/jjb/pipeline/tost-deploy-onos.groovy
deleted file mode 100644
index 24a7914..0000000
--- a/jjb/pipeline/tost-deploy-onos.groovy
+++ /dev/null
@@ -1,134 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        onos_password = credentials("${params.onos_password}")
-        git_password = credentials("${params.git_password_env}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install yq
-                wget https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64 -O /usr/bin/yq &&\
-                chmod +x /usr/bin/yq
-                yq --help
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install terraform
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-    stage('Init Terraform') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    cp onos.yaml tmp.yaml
-
-cat <<EOF >> config.yaml
-config:
-  review: ${config_review}
-  patchset: ${config_patchset}
-EOF
-
-                    yq merge tmp.yaml config.yaml > onos.yaml
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Remove resources') {
-            options {
-                timeout(time: 300, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                pvcs=\$(kubectl -n onos-tost get pvc -lapp=onos-tost-atomix -o name)
-                for pv in \${pvcs}; do kubectl -n onos-tost delete \${pv}; done
-
-                kubectl -n ${onos_ns} delete secret onos-git-secret || true
-                kubectl -n ${onos_ns} delete secret onos-secret || true
-                """
-             }
-        }
-        stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Push Secrets') {
-            steps {
-                sh """
-
-                kubectl -n ${onos_ns} create secret generic onos-git-secret --from-literal=username=${git_user} --from-literal=password=${git_password}
-                kubectl -n ${onos_ns} create secret generic onos-secret --from-literal=username=${onos_user} --from-literal=password=${onos_password}
-                """
-            }
-        }
-
-    }
-    post {
-        always {
-
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-shared.groovy b/jjb/pipeline/tost-deploy-shared.groovy
deleted file mode 100644
index 2869696..0000000
--- a/jjb/pipeline/tost-deploy-shared.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        registry_password = credentials("${params.registry_password_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Test Kubectl & Rancher
-                kubectl get nodes
-                '''
-            }
-        }
-        stage('Perform Terraform') {
-             steps {
-                sh """
-                kubectl -n ${target_namespace} create secret docker-registry aether-registry-credential  --docker-server=${registry_server} --docker-username=${registry_user} --docker-password=${registry_password}
-                """
-             }
-        }
-    }
-    post {
-        always {
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-stratum.groovy b/jjb/pipeline/tost-deploy-stratum.groovy
deleted file mode 100644
index c662f37..0000000
--- a/jjb/pipeline/tost-deploy-stratum.groovy
+++ /dev/null
@@ -1,119 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        git_password = credentials("${params.git_password_env}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install yq
-                wget https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64 -O /usr/bin/yq &&\
-                chmod +x /usr/bin/yq
-                yq --help
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install terraform
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-    stage('Init Terraform') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF >> ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    cp stratum.yaml tmp.yaml
-
-cat <<EOF >> config.yaml
-config:
-  review: ${config_review}
-  patchset: ${config_patchset}
-EOF
-
-                    yq merge tmp.yaml config.yaml > stratum.yaml
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                kubectl -n ${stratum_ns} delete secret stratum-git-secret || true
-                """
-             }
-        }
-        stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Push Secrets') {
-            steps {
-                sh """
-
-                kubectl -n ${stratum_ns} create secret generic stratum-git-secret --from-literal=username=${git_user} --from-literal=password=${git_password}
-
-                """
-            }
-        }
-
-    }
-    post {
-        always {
-
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-telegraf.groovy b/jjb/pipeline/tost-deploy-telegraf.groovy
deleted file mode 100644
index ac61496..0000000
--- a/jjb/pipeline/tost-deploy-telegraf.groovy
+++ /dev/null
@@ -1,91 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-        stage('Init Terraform') {
-            steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://@${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    git checkout FETCH_HEAD
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-       stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}'  -var 'project_name=tost'  -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-
-    }
-    post {
-        always {
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-      }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy.groovy b/jjb/pipeline/tost-deploy.groovy
deleted file mode 100644
index 2eba5ad..0000000
--- a/jjb/pipeline/tost-deploy.groovy
+++ /dev/null
@@ -1,163 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Test Kubectl & Rancher
-                kubectl get nodes
-
-                # Install
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                '''
-            }
-        }
-
-        stage('Init Terraform') {
-            steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-
-                """
-                }
-            }
-        }
-        stage('Perform Terraform') {
-             steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var-file=app_map.tfvars -auto-approve
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var-file=app_map.tfvars -auto-approve
-
-                """
-             }
-        }
-
-        stage('Install shared resources') {
-            steps {
-                sh(script: "date -u")
-                    build(job: "${params.job_name}-shared")
-            }
-        }
-        stage('Parallel Stage') {
-            parallel {
-                stage('onos') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-onos")
-                    }
-                }
-                stage('stratum') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-stratum")
-                    }
-                }
-                stage('telegraf') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-telegraf")
-                    }
-                }
-            }
-        }
-    stage('E2E Testing') {
-            options {
-                timeout(time: 120, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                echo ${params.target_server}
-                timestamp=\$(date +%s)
-                if [ ! -z "${params.target_server}" ]; then
-                    kubectl delete --wait=true ds -l test=e2e || true
-cat <<EOF > test.yaml
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
-  name: ping-test-\${timestamp}
-  labels:
-    test: e2e-\${timestamp}
-spec:
-  selector:
-    matchLabels:
-      test: e2e-\${timestamp}
-  template:
-    metadata:
-      labels:
-        test: e2e-\${timestamp}
-    spec:
-      hostNetwork: true
-      terminationGracePeriodSeconds: 5
-      initContainers:
-      - name: ping-test
-        image: alpine:3.12.0
-        command: ["sh", "-c", "until ping  ${params.target_server} -c1 -W 4; do echo 'ping retry'; sleep 3; done;"]
-      containers:
-      - name: ping-test-wait
-        image: alpine:3.12.0
-        command: ["sh", "-c", "sleep 100000"]
-      restartPolicy: Always
-EOF
-                    kubectl apply -f test.yaml
-                    number=\$(kubectl get --no-headers ds -ltest=e2e-\${timestamp} -o custom-columns=':.status.desiredNumberScheduled')
-                    echo "\${number}"
-                    until [ \${number} -eq \$(kubectl get pods -l test=e2e-\${timestamp} --no-headers  -o custom-columns=':.status.phase' | grep Running | wc -l) ]; do echo 'wait ping completed'; sleep 5; done;
-                fi
-                """
-             }
-        }
-    }
-    post {
-        always {
-            sh """
-            if [ ! -z "${params.target_server}" ]; then
-                kubectl delete -f test.yaml
-            fi
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/tost.yaml b/jjb/tost.yaml
deleted file mode 100644
index 76125a0..0000000
--- a/jjb/tost.yaml
+++ /dev/null
@@ -1,373 +0,0 @@
-- project:
-    name: deploy-menlo-tost-dev
-    rancher_cluster: "tost-dev"
-    k8s_config: "tost-dev-k8s"
-    config_env: "menlo-tost-dev"
-    terraform_dir: "developing/ace-menlo"
-    #remove after migrating to terraform
-    rancher_context: "c-lggdr"
-    rancher_project: "p-npzjd"
-    rancher_server: "https://testing.aether.onlab.us/"
-    rancher_cli_api: "rancher_dev_token"
-    jobs:
-      - "deploy"
-      - "deploy-shared"
-      - "deploy-onos"
-      - "deploy-stratum"
-      - "deploy-telegraf"
-      - "deploy-fluentbit"
-
-- project:
-    name: deploy-menlo-production
-    rancher_cluster: "production-edge-onf-menlo"
-    k8s_config: "tost-prod-k8s"
-    config_env: "menlo-prd"
-    terraform_dir: "production/ace-menlo"
-    rancher_api: "rancher_prod_terraform"
-    #remove after migrating to terraform
-    rancher_context: "c-5cfd8"
-    rancher_project: "p-htfwq"
-    rancher_server: "https://aether.onlab.us/"
-    rancher_cli_api: "rancher_prod_token"
-    scm_type: "prod-scm"
-    jobs:
-      - "deploy"
-      - "deploy-onos"
-      - "deploy-shared"
-      - "deploy-stratum"
-      - "deploy-telegraf"
-      - "deploy-fluentbit"
-
-- job-template:
-    name: "{name}-onos"
-    id: "deploy-onos"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-onos.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: git_password_env
-          default: "gerrit_password"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: onos_catalog_name
-          default: "onos"
-      - string:
-          name: onos_ns
-          default: "tost"
-      - string:
-          name: onos_user
-          default: "onos"
-      - string:
-          name: onos_password
-          default: "onos_password"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-stratum"
-    id: "deploy-stratum"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-stratum.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: git_password_env
-          default: "gerrit_password"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: stratum_ns
-          default: "tost"
-      - string:
-          name: stratum_catalog_name
-          default: "stratum"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-telegraf"
-    id: "deploy-telegraf"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-telegraf.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: telegraf_ns
-          default: "tost"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-fluentbit"
-    id: "deploy-fluentbit"
-    # Remove after migrating to Terraform
-    rancher_cli_api: "rancher_dev_token"
-    # End of parametes
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-fluentbit.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      # Remove after migrating to Terraform
-      - string:
-          name: rancher_cli_env
-          default: "{rancher_cli_api}"
-      - string:
-          name: rancher_server
-          default: "{rancher_server}"
-      - string:
-          name: rancher_context
-          default: "{rancher_context}"
-      - string:
-          name: rancher_project
-          default: "{rancher_project}"
-      # End of parametes
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: fluentbit_ns
-          default: "logging"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}"
-    id: "deploy"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    rancher_api: "Rancher_Dev_Terraform"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: job_name
-          default: "{name}"
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: target_server
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-
-- job-template:
-    name: "{name}-shared"
-    id: "deploy-shared"
-    registry_server: "registry.aetherproject.org"
-    registry_user: "admin"
-    target_namespace: "tost"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-shared.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: job_name
-          default: "{name}"
-      - string:
-          name: registry_server
-          default: "{registry_server}"
-      - string:
-          name: registry_user
-          default: "{registry_user}"
-      - string:
-          name: registry_password_env
-          default: "aether_registry_password"
-      - string:
-          name: target_namespace
-          default: "{target_namespace}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
