Add a new tempest job with a mock datasource
In this tempest job, the mock datasource is used to create an entity graph with ~20,000 vertices. This job will contain tests for init procedure, processes, restarts, multiple api calls. Other data sources are disabled. Heat, Telemetry, Mistral are not installed. Depends-On: I9c4c329983bbe5930de5484fa6932b318746ed5c Depends-On: Ice708f4aaf6132e4e8a7ae6352112f8b563b95b8 Change-Id: I6fd5c70efa6f722461d36c1cd1aa94352e6e4596
This commit is contained in:
parent
5e37cca8a0
commit
b73d66e166
37
.zuul.yaml
37
.zuul.yaml
@ -3,10 +3,13 @@
|
|||||||
jobs:
|
jobs:
|
||||||
- vitrage-dsvm-api-py27
|
- vitrage-dsvm-api-py27
|
||||||
- vitrage-dsvm-datasources-py27
|
- vitrage-dsvm-datasources-py27
|
||||||
|
- vitrage-dsvm-mock-py27
|
||||||
- vitrage-dsvm-api-py35:
|
- vitrage-dsvm-api-py35:
|
||||||
branches: ^(?!stable/(newton|ocata|pike)).*$
|
branches: ^(?!stable/(newton|ocata|pike)).*$
|
||||||
- vitrage-dsvm-datasources-py35:
|
- vitrage-dsvm-datasources-py35:
|
||||||
branches: ^(?!stable/(newton|ocata|pike)).*$
|
branches: ^(?!stable/(newton|ocata|pike)).*$
|
||||||
|
- vitrage-dsvm-mock-py35:
|
||||||
|
branches: ^(?!stable/(newton|ocata|pike)).*$
|
||||||
- openstack-tox-lower-constraints
|
- openstack-tox-lower-constraints
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
@ -87,3 +90,37 @@
|
|||||||
- ^.*\.rst$
|
- ^.*\.rst$
|
||||||
- ^doc/.*$
|
- ^doc/.*$
|
||||||
- ^releasenotes/.*$
|
- ^releasenotes/.*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: vitrage-dsvm-mock-py27
|
||||||
|
parent: legacy-dsvm-base
|
||||||
|
voting: false
|
||||||
|
run: playbooks/legacy/vitrage-dsvm-mock-py27/run.yaml
|
||||||
|
post-run: playbooks/legacy/vitrage-dsvm-mock-py27/post.yaml
|
||||||
|
timeout: 7800
|
||||||
|
required-projects:
|
||||||
|
- openstack-infra/devstack-gate
|
||||||
|
- openstack/python-vitrageclient
|
||||||
|
- openstack/vitrage
|
||||||
|
- openstack/vitrage-tempest-plugin
|
||||||
|
irrelevant-files:
|
||||||
|
- ^.*\.rst$
|
||||||
|
- ^doc/.*$
|
||||||
|
- ^releasenotes/.*$
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: vitrage-dsvm-mock-py35
|
||||||
|
parent: legacy-dsvm-base
|
||||||
|
voting: false
|
||||||
|
run: playbooks/legacy/vitrage-dsvm-mock-py35/run.yaml
|
||||||
|
post-run: playbooks/legacy/vitrage-dsvm-mock-py35/post.yaml
|
||||||
|
timeout: 7800
|
||||||
|
required-projects:
|
||||||
|
- openstack-infra/devstack-gate
|
||||||
|
- openstack/python-vitrageclient
|
||||||
|
- openstack/vitrage
|
||||||
|
- openstack/vitrage-tempest-plugin
|
||||||
|
irrelevant-files:
|
||||||
|
- ^.*\.rst$
|
||||||
|
- ^doc/.*$
|
||||||
|
- ^releasenotes/.*$
|
||||||
|
70
devstack/gate_hook_mock.sh
Normal file
70
devstack/gate_hook_mock.sh
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright 2018 - Nokia
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
export DEVSTACK_GATE_INSTALL_TESTONLY=1
|
||||||
|
export DEVSTACK_GATE_TEMPEST=1
|
||||||
|
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
|
||||||
|
export KEEP_LOCALRC=1
|
||||||
|
|
||||||
|
DEVSTACK_LOCAL_CONFIG+=$'\nenable_plugin vitrage git://git.openstack.org/openstack/vitrage'
|
||||||
|
DEVSTACK_LOCAL_CONFIG+=$'\nenable_plugin vitrage-tempest-plugin git://git.openstack.org/openstack/vitrage-tempest-plugin'
|
||||||
|
|
||||||
|
# we don't want swift
|
||||||
|
DEVSTACK_LOCAL_CONFIG+=$'\ndisable_service s-account s-container s-object s-proxy'
|
||||||
|
|
||||||
|
DEVSTACK_LOCAL_CONFIG+="$(cat <<EOF
|
||||||
|
|
||||||
|
|
||||||
|
[[post-config|\$NOVA_CONF]]
|
||||||
|
[DEFAULT]
|
||||||
|
notification_topics = notifications,vitrage_notifications
|
||||||
|
notification_driver = messagingv2
|
||||||
|
|
||||||
|
[[post-config|\$CINDER_CONF]]
|
||||||
|
[DEFAULT]
|
||||||
|
notification_topics = notifications,vitrage_notifications
|
||||||
|
notification_driver = messagingv2
|
||||||
|
|
||||||
|
[[post-config|\$VITRAGE_CONF]]
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
verbose = true
|
||||||
|
debug = false
|
||||||
|
notifiers = nova,webhook
|
||||||
|
|
||||||
|
[datasources]
|
||||||
|
types=mock_graph_datasource
|
||||||
|
path=vitrage.tests.mocks
|
||||||
|
snapshots_interval=60
|
||||||
|
|
||||||
|
[mock_graph_datasource]
|
||||||
|
networks=100
|
||||||
|
zones_per_cluster=4
|
||||||
|
hosts_per_zone=16
|
||||||
|
zabbix_alarms_per_host=8
|
||||||
|
instances_per_host=50
|
||||||
|
ports_per_instance=3
|
||||||
|
volumes_per_instance=2
|
||||||
|
vitrage_alarms_per_instance=0
|
||||||
|
tripleo_controllers=3
|
||||||
|
zabbix_alarms_per_controller=1
|
||||||
|
|
||||||
|
[persistency]
|
||||||
|
enable_persistency=true
|
||||||
|
EOF
|
||||||
|
)"
|
||||||
|
|
||||||
|
export DEVSTACK_LOCAL_CONFIG
|
||||||
|
$BASE/new/devstack-gate/devstack-vm-gate.sh
|
80
playbooks/legacy/vitrage-dsvm-mock-py27/post.yaml
Normal file
80
playbooks/legacy/vitrage-dsvm-mock-py27/post.yaml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
- hosts: primary
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*nose_results.html
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*testr_results.html.gz
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/.testrepository/tmp*
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*testrepository.subunit.gz
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}/tox'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/.tox/*/log/*
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/logs/**
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
51
playbooks/legacy/vitrage-dsvm-mock-py27/run.yaml
Normal file
51
playbooks/legacy/vitrage-dsvm-mock-py27/run.yaml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
- hosts: all
|
||||||
|
name: Autoconverted job legacy-vitrage-dsvm-mock-py27 from old job gate-vitrage-dsvm-mock-py27-ubuntu-xenial
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: Ensure legacy workspace directory
|
||||||
|
file:
|
||||||
|
path: '{{ ansible_user_dir }}/workspace'
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- shell:
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
cat > clonemap.yaml << EOF
|
||||||
|
clonemap:
|
||||||
|
- name: openstack-infra/devstack-gate
|
||||||
|
dest: devstack-gate
|
||||||
|
EOF
|
||||||
|
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
||||||
|
git://git.openstack.org \
|
||||||
|
openstack-infra/devstack-gate
|
||||||
|
executable: /bin/bash
|
||||||
|
chdir: '{{ ansible_user_dir }}/workspace'
|
||||||
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
||||||
|
|
||||||
|
- shell:
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
export PYTHONUNBUFFERED=true
|
||||||
|
export PROJECTS="openstack/python-vitrageclient $PROJECTS"
|
||||||
|
export PROJECTS="openstack/vitrage $PROJECTS"
|
||||||
|
export PROJECTS="openstack/vitrage-tempest-plugin $PROJECTS"
|
||||||
|
|
||||||
|
export DEVSTACK_GATE_USE_PYTHON3=False
|
||||||
|
|
||||||
|
function gate_hook {
|
||||||
|
source $BASE/new/vitrage/devstack/gate_hook_mock.sh
|
||||||
|
}
|
||||||
|
export -f gate_hook
|
||||||
|
|
||||||
|
function post_test_hook {
|
||||||
|
source $BASE/new/vitrage-tempest-plugin/devstack/post_test_hook.sh 'mock'
|
||||||
|
}
|
||||||
|
export -f post_test_hook
|
||||||
|
|
||||||
|
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
|
||||||
|
./safe-devstack-vm-gate-wrap.sh
|
||||||
|
executable: /bin/bash
|
||||||
|
chdir: '{{ ansible_user_dir }}/workspace'
|
||||||
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
80
playbooks/legacy/vitrage-dsvm-mock-py35/post.yaml
Normal file
80
playbooks/legacy/vitrage-dsvm-mock-py35/post.yaml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
- hosts: primary
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*nose_results.html
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*testr_results.html.gz
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/.testrepository/tmp*
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=**/*testrepository.subunit.gz
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}/tox'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/.tox/*/log/*
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
||||||
|
|
||||||
|
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||||
|
synchronize:
|
||||||
|
src: '{{ ansible_user_dir }}/workspace/'
|
||||||
|
dest: '{{ zuul.executor.log_root }}'
|
||||||
|
mode: pull
|
||||||
|
copy_links: true
|
||||||
|
verify_host: true
|
||||||
|
rsync_opts:
|
||||||
|
- --include=/logs/**
|
||||||
|
- --include=*/
|
||||||
|
- --exclude=*
|
||||||
|
- --prune-empty-dirs
|
51
playbooks/legacy/vitrage-dsvm-mock-py35/run.yaml
Normal file
51
playbooks/legacy/vitrage-dsvm-mock-py35/run.yaml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
- hosts: all
|
||||||
|
name: Autoconverted job legacy-vitrage-dsvm-mock-py35 from old job gate-vitrage-dsvm-mock-py35-ubuntu-xenial-nv
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: Ensure legacy workspace directory
|
||||||
|
file:
|
||||||
|
path: '{{ ansible_user_dir }}/workspace'
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- shell:
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
cat > clonemap.yaml << EOF
|
||||||
|
clonemap:
|
||||||
|
- name: openstack-infra/devstack-gate
|
||||||
|
dest: devstack-gate
|
||||||
|
EOF
|
||||||
|
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
||||||
|
git://git.openstack.org \
|
||||||
|
openstack-infra/devstack-gate
|
||||||
|
executable: /bin/bash
|
||||||
|
chdir: '{{ ansible_user_dir }}/workspace'
|
||||||
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
||||||
|
|
||||||
|
- shell:
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
export PYTHONUNBUFFERED=true
|
||||||
|
export PROJECTS="openstack/python-vitrageclient $PROJECTS"
|
||||||
|
export PROJECTS="openstack/vitrage $PROJECTS"
|
||||||
|
export PROJECTS="openstack/vitrage-tempest-plugin $PROJECTS"
|
||||||
|
|
||||||
|
export DEVSTACK_GATE_USE_PYTHON3=True
|
||||||
|
|
||||||
|
function gate_hook {
|
||||||
|
source $BASE/new/vitrage/devstack/gate_hook_mock.sh
|
||||||
|
}
|
||||||
|
export -f gate_hook
|
||||||
|
|
||||||
|
function post_test_hook {
|
||||||
|
source $BASE/new/vitrage-tempest-plugin/devstack/post_test_hook.sh 'mock'
|
||||||
|
}
|
||||||
|
export -f post_test_hook
|
||||||
|
|
||||||
|
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
|
||||||
|
./safe-devstack-vm-gate-wrap.sh
|
||||||
|
executable: /bin/bash
|
||||||
|
chdir: '{{ ansible_user_dir }}/workspace'
|
||||||
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
Loading…
Reference in New Issue
Block a user