aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_object.pp
blob: 414a06ba9a5abea107022cb5cf06c0c5fef3ace0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Copyright 2015 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

if hiera('step') >= 4 {
  hiera_include('object_classes', [])
}

$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_object', hiera('step')])
package_manifest{$package_manifest_name: ensure => present}
fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
####################################
# job configuration for qtip
####################################
- project:
    name: qtip-ci-jobs

    project: 'qtip'

#--------------------------------
# BRANCH ANCHORS
#--------------------------------
    master: &master
        stream: master
        branch: '{stream}'
        gs-pathname: ''
    brahmaputra: &brahmaputra
        stream: brahmaputra
        branch: 'stable/{stream}'
        gs-pathname: '{stream}'
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
#        brahmaputra
#--------------------------------
    pod:
        - dell-pod1:
            installer: compass
            auto-trigger-name: 'qtip-daily-dell-pod1-trigger'
            <<: *brahmaputra
        - orange-pod2:
            installer: joid
            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
            <<: *brahmaputra
#--------------------------------
#        master
#--------------------------------
        - juniper-pod1:
            installer: joid
            <<: *master
            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
#      - zte-pod1:   #would be confirmed with the ZTE lab by tomorrow
#            installer: fuel
#            <<: *master

#--------------------------------
    jobs:
        - 'qtip-{installer}-{pod}-daily-{stream}'

################################
# job templates
################################
- job-template:
    name: 'qtip-{installer}-{pod}-daily-{stream}'

    disabled: false

    parameters:
        - project-parameter:
            project: '{project}'
        - '{pod}-defaults'
        - '{installer}-defaults'
        - string:
            name: DEPLOY_SCENARIO
            default: 'os-nosdn-nofeature-ha'

    scm:
        - git-scm:
              credentials-id: '{ssh-credentials}'
              refspec: ''
              branch: '{branch}'

    triggers:
        - '{auto-trigger-name}'

    builders:
        - 'qtip-cleanup'
        - 'qtip-set-env'
        - 'qtip-run-suite'
        - 'qtip-pushtoDB'

    publishers:
        - email:
            recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com

###########################
#biuilder macros
###########################
- builder:
    name: qtip-set-env
    builders:
        - shell: |
            #!/bin/bash
            echo "Qtip: Start Docker and prepare environment"
            envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
            suite="TEST_CASE=all"
            docker pull opnfv/qtip:latest
            cmd=" docker run -id -e $envs -e $suite opnfv/qtip:latest /bin/bash"
            echo "Qtip: Running docker run command: ${cmd}"
            ${cmd}
            docker ps -a
            container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
             if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
                echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
                exit 1
            fi
- builder:
    name: qtip-run-suite
    builders:
        - shell: |
            #!/bin/bash
            container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
            if [[ ! -z ${container_id} ]]; then
                echo "The container ID is: ${container_id}"
                QTIP_REPO=/home/opnfv/repos/qtip
                docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
            else
                echo "Container ID not available"
            fi

- builder:
    name: qtip-pushtoDB
    builders:
        - shell: |
            #!/bin/bash

            echo "Pushing available results to DB"
            echo "The container id is:"
            container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
            if [[ ! -z ${container_id} ]]; then
                echo "The condiner ID is: ${container_id}"
                QTIP_REPO=/home/opnfv/repos/qtip
                docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh
            else
                echo "Container ID not available"
            fi

- builder:
    name: qtip-cleanup
    builders:
        - shell: |
            #!/bin/bash

            echo "Cleaning up QTIP  docker containers/images..."
            # Remove previous running containers if exist
            if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
                echo "Removing existing opnfv/qtip containers..."
                running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}')
                docker stop ${running_containers}
                all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
                docker rm ${all_containers}
            fi

            # Remove existing images if exist
            if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then
                echo "Docker images to remove:"
                docker images | head -1 && docker images | grep opnfv/qtip
                image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}'))
                for tag in "${image_tags[@]}"; do
                    echo "Removing docker image opnfv/qtip:$tag..."
                    docker rmi opnfv/qtip:$tag
                done
            fi

#################
#trigger macros
#################

- trigger:
    name: 'qtip-daily-dell-pod1-trigger'
    triggers:
        - timed: '0 3 * * *'

#- trigger:
#    name: 'qtip-daily-juniper-pod1-trigger'
#    triggers:
#        - timed : '0 0 * * *'

#- trigger:
#   name: 'qtip-dailty-orange-fr-pod2-trigger'
#   triggers:
#       - timed : ' 0 0 * * *'