From b9574a0aa48efbce368eeada68662f5b56ead251 Mon Sep 17 00:00:00 2001 From: Federico Ressi Date: Wed, 30 Sep 2020 13:53:39 +0200 Subject: [PATCH] Remove DevStack support from tobiko repository - Use Tobiko project as default tests directory on zuul jobs - Remove DevStack plugin Change-Id: I3f1ab818d835bb5db050d6cbe64dc20fc98b6610 --- Vagrantfile | 123 ---------------- devstack/README.rst | 26 ---- devstack/plugin.sh | 171 ----------------------- devstack/settings | 43 ------ devstack/vagrant/local.conf | 74 ---------- devstack/vagrant/ovn-local.conf | 97 ------------- devstack/vagrant/provision.bash | 53 ------- playbooks/devstack/post.yaml | 6 - playbooks/devstack/pre.yaml | 12 -- playbooks/devstack/run.yaml | 20 --- roles/tobiko-zuul/vars/main.yaml | 2 +- vagrant/devstack/local.conf | 30 ---- vagrant/devstack/provision.yaml | 22 --- zuul.d/devstack.yaml | 231 ------------------------------- zuul.d/nodes.yaml | 72 ---------- zuul.d/project.yaml | 9 -- 16 files changed, 1 insertion(+), 990 deletions(-) delete mode 100644 Vagrantfile delete mode 100644 devstack/README.rst delete mode 100644 devstack/plugin.sh delete mode 100644 devstack/settings delete mode 100644 devstack/vagrant/local.conf delete mode 100644 devstack/vagrant/ovn-local.conf delete mode 100755 devstack/vagrant/provision.bash delete mode 100644 playbooks/devstack/post.yaml delete mode 100644 playbooks/devstack/pre.yaml delete mode 100644 playbooks/devstack/run.yaml delete mode 100644 vagrant/devstack/local.conf delete mode 100644 vagrant/devstack/provision.yaml delete mode 100644 zuul.d/devstack.yaml diff --git a/Vagrantfile b/Vagrantfile deleted file mode 100644 index fc40b5d30..000000000 --- a/Vagrantfile +++ /dev/null @@ -1,123 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! -VAGRANTFILE_API_VERSION = "2" - -# Customize the count of CPU cores on the VM -CPUS = 4 - -# Customize the amount of memory on the VM -MEMORY = ENV.fetch("VM_SIZE", "4096").to_i - -# Every Vagrant development environment requires a box. You can search for -# boxes at https://vagrantcloud.com/search. -BOX = ENV.fetch("VM_BOX", "generic/centos8") - -# Machine host name -HOSTNAME = "tobiko" - -# Top vagrantfile dir -VAGRANTFILE_DIR = File.dirname(__FILE__) - -# Source provision playbook -PROVISION_PLAYBOOK = ENV.fetch( - "PROVISION_PLAYBOOK", "#{VAGRANTFILE_DIR}/vagrant/devstack/provision.yaml") - -# Host IP address to be assigned to OpenStack in DevStack -HOST_IP = "192.168.33.10" - -# Red Hat supscription parameters -REDHAT_ACTIVATIONKEY = ENV.fetch("REDHAT_ACTIVATIONKEY", "") -REDHAT_USERNAME = ENV.fetch("REDHAT_USERNAME", "") -REDHAT_PASSWORD = ENV.fetch("REDHAT_PASSWORD", "") - -# Local directory from where look for devstack project -DEVSTACK_SRC_DIR = ENV.fetch( - "DEVSTACK_SRC_DIR", "#{File.dirname(VAGRANTFILE_DIR)}/devstack") - -# Local directory from where looking for tobiko project files -TOBIKO_SRC_DIR = ENV.fetch("TOBIKO_SRC_DIR", VAGRANTFILE_DIR) - -# Local directory from where looking for requirements project files -REQUIREMENTS_SRC_DIR = ENV.fetch( - "REQUIREMENTS_SRC_DIR", "#{File.dirname(VAGRANTFILE_DIR)}/requirements") - -# All Vagrant configuration is done below. The "2" in Vagrant.configure -# configures the configuration version (we support older styles for -# backwards compatibility). Please don't change it unless you know what -# you're doing. -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # The most common configuration options are documented and commented below. - # For a complete reference, please see the online documentation at - # https://docs.vagrantup.com. - - # Every Vagrant development environment requires a box. You can search for - # boxes at https://vagrantcloud.com/search. - config.vm.box = BOX - # config.vm.box_version = "< 3.0" - config.vm.hostname = HOSTNAME - - # Disable automatic box update checking. If you disable this, then - # boxes will only be checked for updates when the user runs - # `vagrant box outdated`. This is not recommended. - # config.vm.box_check_update = false - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine. In the example below, - # accessing "localhost:8080" will access port 80 on the guest machine. - # NOTE: This will enable public access to the opened port - # config.vm.network "forwarded_port", guest: 80, host: 8080 - - # Create a forwarded port mapping which allows access to a specific port - # within the machine from a port on the host machine and only allow access - # via 127.0.0.1 to disable public access - # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" - - # Create a private network, which allows host-only access to the machine - # using a specific IP. - config.vm.network "private_network", ip: HOST_IP - - # Create a public network, which generally matched to bridged network. - # Bridged networks make the machine appear as another physical device on - # your network. - # config.vm.network "public_network" - - # Share an additional folder to the guest VM. The first argument is - # the path on the host to the actual folder. The second argument is - # the path on the guest to mount the folder. And the optional third - # argument is a set of non-required options. - # config.vm.synced_folder "../data", "/vagrant_data" - - # Provider-specific configuration so you can fine-tune various - # backing providers for Vagrant. These expose provider-specific options. - # Example for VirtualBox: - # - config.vm.provider "virtualbox" do |vb| - # Display the VirtualBox GUI when booting the machine - vb.gui = false - - vb.cpus = CPUS - vb.memory = MEMORY - end - - config.vm.provider "libvirt" do |libvirt| - libvirt.cpus = CPUS - libvirt.memory = MEMORY - end - - # Run provision playbook - config.vm.provision "ansible" do |ansible| - ansible.limit = 'all' - ansible.playbook = PROVISION_PLAYBOOK - ansible.extra_vars = ansible.extra_vars = { - 'redhat_activationkey' => REDHAT_ACTIVATIONKEY, - 'redhat_username' => REDHAT_USERNAME, - 'redhat_password' => REDHAT_PASSWORD, - 'devstack_src_dir' => DEVSTACK_SRC_DIR, - 'requirements_src_dir' => REQUIREMENTS_SRC_DIR, - 'tobiko_src_dir' => TOBIKO_SRC_DIR, - } - end - -end diff --git a/devstack/README.rst b/devstack/README.rst deleted file mode 100644 index fb9efaa05..000000000 --- a/devstack/README.rst +++ /dev/null @@ -1,26 +0,0 @@ -==================== -Enabling in Devstack -==================== - -**WARNING**: the stack.sh script must be run in a disposable VM that is not -being created automatically, see the README.md file in the "devstack" -repository. See contrib/vagrant to create a vagrant VM. - -1. Download DevStack:: - - git clone https://opendev.org/openstack/devstack.git - cd devstack - -2. Add this repo as an external repository:: - - > cat local.conf - [[local|localrc]] - enable_plugin tobiko https://opendev.org/x/tobiko - -3. Tobiko require Heat to be enabled, so heat should be also enabled:: - - [[local|localrc]] - enable_plugin heat https://opendev.org/openstack/heat - - -3. Run ``stack.sh`` diff --git a/devstack/plugin.sh b/devstack/plugin.sh deleted file mode 100644 index 60229df26..000000000 --- a/devstack/plugin.sh +++ /dev/null @@ -1,171 +0,0 @@ -# Directory where this plugin.sh file is -TOBIKO_PLUGIN_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) - - -function install_tobiko_deps { - if [ "${TOBIKO_BINDEP}" != "" ]; then - install_python3 - install_bindep "${TOBIKO_DIR}/bindep.txt" test - fi -} - - -function configure_tobiko { - # Ensure any user can write to log file - local log_dir=$(dirname ${TOBIKO_LOG_FILE}) - if ! [ -d "${log_dir}" ]; then - sudo mkdir -p "${log_dir}" - fi - if ! [ -w "${TOBIKO_LOG_FILE}" ]; then - sudo touch "${TOBIKO_LOG_FILE}" - sudo chmod ugo+rw "${TOBIKO_LOG_FILE}" - fi - - # Write configuration to a new temporary file - local tobiko_conf_file=$(mktemp) - if [ -f "${TOBIKO_CONF_FILE}" ]; then - # Start from existing tobiko.conf file - cp "${TOBIKO_CONF_FILE}" "${tobiko_conf_file}" - fi - - configure_tobiko_default "${tobiko_conf_file}" - configure_tobiko_cirros "${tobiko_conf_file}" - configure_tobiko_glance "${tobiko_conf_file}" - configure_tobiko_keystone "${tobiko_conf_file}" - configure_tobiko_nova "${tobiko_conf_file}" - configure_tobiko_neutron "${tobiko_conf_file}" - - echo_summary "Apply changes to actual ${TOBIKO_CONF_FILE} file." - sudo mkdir -p $(dirname "${TOBIKO_CONF_FILE}") - sudo mv "${tobiko_conf_file}" "${TOBIKO_CONF_FILE}" - sudo chmod ugo+r "${TOBIKO_CONF_FILE}" - - echo "${TOBIKO_CONF_FILE} file content:" - echo -------------------------------- - cat "${TOBIKO_CONF_FILE}" - echo -------------------------------- -} - - -function configure_tobiko_cirros { - echo_summary "Write [cirros] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - iniset_nonempty "${tobiko_conf_file}" cirros name "${TOBIKO_CIRROS_IMAGE_NAME}" - iniset_nonempty "${tobiko_conf_file}" cirros url "${TOBIKO_CIRROS_IMAGE_URL}" - iniset_nonempty "${tobiko_conf_file}" cirros file "${TOBIKO_CIRROS_IMAGE_FILE}" - iniset_nonempty "${tobiko_conf_file}" cirros username "${TOBIKO_CIRROS_USERNAME}" - iniset_nonempty "${tobiko_conf_file}" cirros password "${TOBIKO_CIRROS_PASSWORD}" -} - - -function configure_tobiko_default { - echo_summary "Write [DEFAULT] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - iniset ${tobiko_conf_file} DEFAULT debug "${TOBIKO_DEBUG}" - iniset ${tobiko_conf_file} DEFAULT log_dir $(dirname "${TOBIKO_LOG_FILE}") - iniset ${tobiko_conf_file} DEFAULT log_file $(basename "${TOBIKO_LOG_FILE}") -} - - -function configure_tobiko_glance { - echo_summary "Write [glance] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - iniset_nonempty "${tobiko_conf_file}" glance image_dir "${TOBIKO_GLANCE_IMAGE_DIR}" -} - - -function configure_tobiko_keystone { - echo_summary "Write [keystone] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - local api_version=${IDENTITY_API_VERSION} - if [ "${api_version}" == '2' ]; then - local auth_url=${KEYSTONE_AUTH_URI/v2.0} - else - local auth_url=${KEYSTONE_AUTH_URI_V3:-${KEYSTONE_AUTH_URI/v3}} - fi - - local project_id=$(get_or_create_project \ - "${TOBIKO_KEYSTONE_PROJECT_NAME}" \ - "${TOBIKO_KEYSTONE_PROJECT_DOMAIN_NAME}") - - local user_id=$(get_or_create_user \ - "${TOBIKO_KEYSTONE_USERNAME}" \ - "${TOBIKO_KEYSTONE_PASSWORD}" \ - "${TOBIKO_KEYSTONE_USER_DOMAIN_NAME}") - - local user_project_role_id=$(get_or_add_user_project_role \ - "${TOBIKO_KEYSTONE_USER_ROLE}" \ - "${user_id}" \ - "${project_id}") - - local user_domain_role_id=$(get_or_add_user_domain_role \ - "${TOBIKO_KEYSTONE_USER_ROLE}" \ - "${user_id}" \ - "${TOBIKO_KEYSTONE_USER_DOMAIN_NAME}") - - iniset "${tobiko_conf_file}" keystone cloud_name "${TOBIKO_KEYSTONE_CLOUD_NAME}" - iniset "${tobiko_conf_file}" keystone api_version "${api_version}" - iniset "${tobiko_conf_file}" keystone auth_url "${auth_url}" - iniset "${tobiko_conf_file}" keystone username "${TOBIKO_KEYSTONE_USERNAME}" - iniset "${tobiko_conf_file}" keystone password "${TOBIKO_KEYSTONE_PASSWORD}" - iniset "${tobiko_conf_file}" keystone project_name "${TOBIKO_KEYSTONE_PROJECT_NAME}" - - if [ "${api_version}" != '2' ]; then - iniset "${tobiko_conf_file}" keystone domain_name "${TOBIKO_KEYSTONE_DOMAIN_NAME}" - iniset "${tobiko_conf_file}" keystone user_domain_name \ - "${TOBIKO_KEYSTONE_USER_DOMAIN_NAME}" - iniset "${tobiko_conf_file}" keystone project_domain_name \ - "${TOBIKO_KEYSTONE_PROJECT_DOMAIN_NAME}" - iniset "${tobiko_conf_file}" keystone trust_id "${TOBIKO_KEYSTONE_TRUST_ID}" - fi -} - - -function configure_tobiko_nova { - echo_summary "Write [nova] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - # Write key_file - local key_file=${TOBIKO_NOVA_KEY_FILE:-} - if [ "${key_file}" != "" ]; then - iniset "${tobiko_conf_file}" nova key_file "${key_file}" - fi -} - - -function configure_tobiko_neutron { - echo_summary "Write [neutron] section to ${TOBIKO_CONF_FILE}" - local tobiko_conf_file=$1 - - # Write floating network - local floating_network=${TOBIKO_NEUTRON_FLOATING_NETWORK} - if [ "${floating_network}" != "" ]; then - iniset "${tobiko_conf_file}" neutron floating_network "${floating_network}" - fi -} - - -function iniset_nonempty { - # Calls iniset only when option value is not an empty string - if [ -n "$4" ]; then - iniset "$@" - fi -} - - -if [[ "$1" == "stack" ]]; then - case "$2" in - install) - echo_summary "Installing Tobiko dependencies" - install_tobiko_deps - ;; - test-config) - echo_summary "Configuring Tobiko test cases" - configure_tobiko - ;; - esac -fi diff --git a/devstack/settings b/devstack/settings deleted file mode 100644 index f4c4fd1d4..000000000 --- a/devstack/settings +++ /dev/null @@ -1,43 +0,0 @@ -define_plugin tobiko -plugin_requires tobiko heat - -# --- General settings ---- -TOBIKO_REPO=${TOBIKO_REPO:-${GIT_BASE}/x/tobiko.git} -GITREPO["tobiko"]=${TOBIKO_REPO} -TOBIKO_VERSION=${TOBIKO_BRANCH:-master} -GITBRANCH["tobiko"]=${TOBIKO_VERSION} -TOBIKO_DIR=${TOBIKO_DIR:-${DEST}/tobiko} -GITDIR["tobiko"]=${TOBIKO_DIR} - -TOBIKO_CONF_FILE=${TOBIKO_CONF_FILE:-/etc/tobiko/tobiko.conf} -TOBIKO_DEBUG=${TOBIKO_DEBUG:-True} -TOBIKO_LOG_FILE=${TOBIKO_LOG_FILE:-${LOGDIR}/tobiko.log} - -TOBIKO_BINDEP=${BINDEP_CMD:+-bindep} - -# --- Glance settings --- -TOBIKO_GLANCE_IMAGE_DIR=${TOBIKO_GLANCE_IMAGE_DIR:-} - -# --- Cirros image settings --- -TOBIKO_CIRROS_IMAGE_NAME=${TOBIKO_CIRROS_IMAGE_NAME:-} -TOBIKO_CIRROS_IMAGE_URL=${TOBIKO_CIRROS_IMAGE_URL:-} -TOBIKO_CIRROS_IMAGE_FILE=${TOBIKO_CIRROS_IMAGE_FILE:-} -TOBIKO_CIRROS_USERNAME=${TOBIKO_CIRROS_USERNAME:-} -TOBIKO_CIRROS_PASSWORD=${TOBIKO_CIRROS_PASSWORD:-} - -# --- Keystone settings --- -# See ``lib/keystone`` where these users and tenants are set up -TOBIKO_KEYSTONE_CLOUD_NAME=${TOBIKO_KEYSTONE_CLOUD_NAME:-devstack-admin} -TOBIKO_KEYSTONE_USERNAME=${TOBIKO_KEYSTONE_USERNAME:-${ADMIN_USERNAME:-admin}} -TOBIKO_KEYSTONE_PASSWORD=${TOBIKO_KEYSTONE_PASSWORD:-${ADMIN_PASSWORD:-secret}} -TOBIKO_KEYSTONE_PROJECT_NAME=${TOBIKO_KEYSTONE_PROJECT_NAME:-${ADMIN_TENANT_NAME:-admin}} -TOBIKO_KEYSTONE_USER_DOMAIN_NAME=${TOBIKO_KEYSTONE_USER_DOMAIN_NAME:-${ADMIN_DOMAIN_NAME:-Default}} -TOBIKO_KEYSTONE_PROJECT_DOMAIN_NAME=${TOBIKO_KEYSTONE_PROJECT_DOMAIN_NAME:-${ADMIN_DOMAIN_NAME:-Default}} -TOBIKO_KEYSTONE_TRUST_ID=${TOBIKO_KEYSTONE_TRUST_ID:-} -TOBIKO_KEYSTONE_USER_ROLE=${TOBIKO_KEYSTONE_USER_ROLE:-admin} - -# --- Nova settings --- -TOBIKO_NOVA_KEY_FILE=${TOBIKO_NOVA_KEY_FILE:-} - -# --- Neutron settings --- -TOBIKO_NEUTRON_FLOATING_NETWORK=${TOBIKO_NEUTRON_FLOATING_NETWORK:-${PUBLIC_NETWORK_NAME}} diff --git a/devstack/vagrant/local.conf b/devstack/vagrant/local.conf deleted file mode 100644 index eaffaa0ed..000000000 --- a/devstack/vagrant/local.conf +++ /dev/null @@ -1,74 +0,0 @@ -[[local|localrc]] - -MULTI_HOST=0 - -# Configure IPS -HOST_IP=172.18.161.6 -SERVICE_HOST=172.18.161.6 -MYSQL_HOST=172.18.161.6 -RABBIT_HOST=172.18.161.6 -GLANCE_HOSTPORT=172.18.161.6:9292 - -# Configure passwords -ADMIN_PASSWORD=secret -DATABASE_PASSWORD=secret -RABBIT_PASSWORD=secret -SERVICE_PASSWORD=secret - -# Use python 3 -USE_PYTHON3=true - - -# Configure Heat -------------------------------------------------------------- - -enable_plugin heat https://git.openstack.org/openstack/heat - -# Configure Glance ------------------------------------------------------------ - -# download and register a VM image that heat can launch -# IMAGE_URL_SITE="https://download.fedoraproject.org" -# IMAGE_URL_PATH="/pub/fedora/linux/releases/29/Cloud/x86_64/images/" -# IMAGE_URL_FILE="Fedora-Cloud-Base-29-1.2.x86_64.qcow2" -# IMAGE_URLS+=","$IMAGE_URL_SITE$IMAGE_URL_PATH$IMAGE_URL_FILE - -# Configure Nova -------------------------------------------------------------- - -# DEFAULT_INSTANCE_TYPE=ds512M - - -# Configure Neutron ----------------------------------------------------------- - -enable_service neutron -NETWORK_API_EXTENSIONS=address-scope,agent,allowed-address-pairs,auto-allocated-topology,availability_zone,binding,default-subnetpools,dhcp_agent_scheduler,dns-domain-ports,dns-integration,dvr,empty-string-filtering,ext-gw-mode,external-net,extra_dhcp_opt,extraroute,filter-validation,fip-port-details,flavors,ip-substring-filtering,l3-flavors,l3-ha,l3_agent_scheduler,logging,metering,multi-provider,net-mtu,net-mtu-writable,network-ip-availability,network_availability_zone,pagination,port-security,project-id,provider,qos,qos-bw-minimum-ingress,qos-fip,quotas,quota_details,rbac-policies,router,router_availability_zone,security-group,port-mac-address-regenerate,port-security-groups-filtering,segment,service-type,sorting,standard-attr-description,standard-attr-revisions,standard-attr-segment,standard-attr-timestamp,standard-attr-tag,subnet_allocation,trunk,trunk-details,uplink-status-propagation - -## Neutron options -Q_USE_SECGROUP=True -FLOATING_RANGE="172.18.161.0/24" -IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/22" -Q_FLOATING_ALLOCATION_POOL=start=172.18.161.200,end=172.18.161.254 -PUBLIC_NETWORK_GATEWAY=172.18.161.1 -PUBLIC_INTERFACE=eth1 - -# Open vSwitch provider networking configuration -Q_USE_PROVIDERNET_FOR_PUBLIC=True -OVS_PHYSICAL_BRIDGE=br-ex -PUBLIC_BRIDGE=br-ex -OVS_BRIDGE_MAPPINGS=public:br-ex - -IP_VERSION=4 - -# enable IPv6 -# IP_VERSION=4+6 -# IPV6_RA_MODE=slaac -# IPV6_ADDRESS_MODE=slaac -# IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56 -# IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1 - -# Configure Octavia ----------------------------------------------------------- - -enable_plugin octavia https://opendev.org/openstack/octavia -ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api - -# Configure Tobiko ------------------------------------------------------------ - -enable_plugin tobiko /vagrant diff --git a/devstack/vagrant/ovn-local.conf b/devstack/vagrant/ovn-local.conf deleted file mode 100644 index 624a6eeb8..000000000 --- a/devstack/vagrant/ovn-local.conf +++ /dev/null @@ -1,97 +0,0 @@ -[[local|localrc]] - -MULTI_HOST=0 - -# Configure IPS -HOST_IP=172.18.161.6 -SERVICE_HOST=172.18.161.6 -MYSQL_HOST=172.18.161.6 -RABBIT_HOST=172.18.161.6 -GLANCE_HOSTPORT=172.18.161.6:9292 - -# Configure passwords -ADMIN_PASSWORD=secret -DATABASE_PASSWORD=secret -RABBIT_PASSWORD=secret -SERVICE_PASSWORD=secret - -# Use python 3 -USE_PYTHON3=true - - -# Configure Heat -------------------------------------------------------------- - -enable_plugin heat https://git.openstack.org/openstack/heat - -# Configure Glance ------------------------------------------------------------ - -# download and register a VM image that heat can launch -# IMAGE_URL_SITE="https://download.fedoraproject.org" -# IMAGE_URL_PATH="/pub/fedora/linux/releases/29/Cloud/x86_64/images/" -# IMAGE_URL_FILE="Fedora-Cloud-Base-29-1.2.x86_64.qcow2" -# IMAGE_URLS+=","$IMAGE_URL_SITE$IMAGE_URL_PATH$IMAGE_URL_FILE - -# Configure Nova -------------------------------------------------------------- - -# DEFAULT_INSTANCE_TYPE=ds512M -disable_service n-net - - -# Configure Neutron ----------------------------------------------------------- - -# Enable services that are required by OVN. -enable_plugin neutron https://opendev.org/openstack/neutron -enable_service q-svc -enable_service q-trunk -enable_service q-dns -#enable_service q-qos - -# Disable Neutron agents not used with OVN. -disable_service q-agt -disable_service q-l3 -disable_service q-dhcp -disable_service q-meta - -# enable_service neutron -NETWORK_API_EXTENSIONS=address-scope,agent,allowed-address-pairs,auto-allocated-topology,availability_zone,binding,default-subnetpools,dhcp_agent_scheduler,dns-domain-ports,dns-integration,dvr,empty-string-filtering,ext-gw-mode,external-net,extra_dhcp_opt,extraroute,filter-validation,fip-port-details,flavors,ip-substring-filtering,l3-flavors,l3-ha,l3_agent_scheduler,logging,metering,multi-provider,net-mtu,net-mtu-writable,network-ip-availability,network_availability_zone,pagination,port-security,project-id,provider,qos,qos-bw-minimum-ingress,qos-fip,quotas,quota_details,rbac-policies,router,router_availability_zone,security-group,port-mac-address-regenerate,port-security-groups-filtering,segment,service-type,sorting,standard-attr-description,standard-attr-revisions,standard-attr-segment,standard-attr-timestamp,standard-attr-tag,subnet_allocation,trunk,trunk-details,uplink-status-propagation - -## Neutron options -Q_USE_SECGROUP=True -FLOATING_RANGE="172.18.161.0/24" -IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/22" -Q_FLOATING_ALLOCATION_POOL=start=172.18.161.200,end=172.18.161.254 -PUBLIC_NETWORK_GATEWAY=172.18.161.1 -PUBLIC_INTERFACE=eth1 - -# Open vSwitch provider networking configuration -Q_USE_PROVIDERNET_FOR_PUBLIC=True -OVS_PHYSICAL_BRIDGE=br-ex -PUBLIC_BRIDGE=br-ex -OVS_BRIDGE_MAPPINGS=public:br-ex - -IP_VERSION=4 - -# enable IPv6 -# IP_VERSION=4+6 -# IPV6_RA_MODE=slaac -# IPV6_ADDRESS_MODE=slaac -# IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56 -# IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1 - - -# Configure OVN --------------------------------------------------------------- - -enable_plugin networking-ovn https://opendev.org/openstack/networking-ovn -enable_service ovn-northd -enable_service ovn-controller -enable_service networking-ovn-metadata-agent - - -# Configure Octavia ----------------------------------------------------------- - -enable_plugin octavia https://opendev.org/openstack/octavia -ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api - -# Configure Tobiko ------------------------------------------------------------ - -enable_plugin tobiko /vagrant diff --git a/devstack/vagrant/provision.bash b/devstack/vagrant/provision.bash deleted file mode 100755 index eedf8bd9a..000000000 --- a/devstack/vagrant/provision.bash +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -set -eux - - -if [ -r "./provisionrc" ]; then - echo "Load parameters from RC file" - source "./provisionrc" || true -fi - -echo "Process script parameters and set default values when needed" -export PROVISION_DIR=${PROVISION_DIR:-$(cd "$(dirname "$0")" && pwd)} -export GIT_BASE=${OPENSTACK_GIT_BASE:-https://git.openstack.org} -export DEVSTACK_GIT_REPO=${DEVSTACK_GIT_REPO:-${GIT_BASE}/openstack-dev/devstack} -export DEVSTACK_GIT_BRANCH=${DEVSTACK_GIT_BRANCH:-stable/queens} -export DEST=${DEVSTACK_DEST_DIR:-/opt/stack} -export DEVSTACK_SRC_DIR=${DEVSTACK_SRC_DIR:-${DEST}/devstack} -export TOBIKO_SRC_DIR=${TOBIKO_SRC_DIR:-/vagrant} -export HOST_IP=${DEVSTACK_HOST_IP:-172.18.161.6} -export DEVSTACK_CONF_FILENAME=${DEVSTACK_CONF_FILENAME:-local.conf} - -echo "Provisioning DevStack on host $(hostname) as user ${USER}" -echo "Current directory is $(pwd)" - -echo "Make sure stack user has rigths to write to ${DEST} folder" -sudo chown -fR "${USER}.${USER}" "${DEST}" -sudo chmod ug+rwx "${DEST}" - -if ! which git; then - echo "Install Git" - sudo yum install -y git -fi - -if ! which python3; then - echo "Install Git" - # DevStack is not able to install Python3 on its own on CentOS 7 - sudo yum install -y python3 -fi - -if ! [ -d "${DEVSTACK_SRC_DIR}" ]; then - - echo "Download DevStack source files from ${DEVSTACK_GIT_REPO}#${DEVSTACK_GIT_BRANCH}" - mkdir -p $(basename "${DEVSTACK_SRC_DIR}") - git clone "${DEVSTACK_GIT_REPO}" -b "${DEVSTACK_GIT_BRANCH}" "${DEVSTACK_SRC_DIR}" -fi - -echo "Configure DevStack" -cp "${PROVISION_DIR}/${DEVSTACK_CONF_FILENAME}" "${DEVSTACK_SRC_DIR}/local.conf" - -cd "${DEVSTACK_SRC_DIR}" -echo "Run DevStack from directory: $(pwd)" - -./stack.sh diff --git a/playbooks/devstack/post.yaml b/playbooks/devstack/post.yaml deleted file mode 100644 index 6baaff6d4..000000000 --- a/playbooks/devstack/post.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -- hosts: tempest - roles: - - tobiko-zuul - - tobiko-collect diff --git a/playbooks/devstack/pre.yaml b/playbooks/devstack/pre.yaml deleted file mode 100644 index 4b2bcb57f..000000000 --- a/playbooks/devstack/pre.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- - -- hosts: tempest - roles: - - tobiko-zuul - - tobiko-configure - - -- hosts: all - roles: - - role: multi-node-setup - - role: orchestrate-devstack diff --git a/playbooks/devstack/run.yaml b/playbooks/devstack/run.yaml deleted file mode 100644 index 6e37a2b48..000000000 --- a/playbooks/devstack/run.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2018 Red Hat -# -# 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. - ---- - -- hosts: tempest - roles: - - tobiko-zuul - - tobiko-run diff --git a/roles/tobiko-zuul/vars/main.yaml b/roles/tobiko-zuul/vars/main.yaml index b2d5528b9..d36b6a94a 100644 --- a/roles/tobiko-zuul/vars/main.yaml +++ b/roles/tobiko-zuul/vars/main.yaml @@ -2,5 +2,5 @@ tobiko_dir: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/x/tobiko'].src_dir }}" -test_dir: '{{ ansible_user_dir }}/{{ zuul.project.src_dir }}' +test_dir: '{{ tobiko_dir }}' test_collect_dir: '{{ zuul.executor.log_root }}' diff --git a/vagrant/devstack/local.conf b/vagrant/devstack/local.conf deleted file mode 100644 index 7e518af3a..000000000 --- a/vagrant/devstack/local.conf +++ /dev/null @@ -1,30 +0,0 @@ -[[local|localrc]] -ADMIN_PASSWORD=secret -DATABASE_PASSWORD=$ADMIN_PASSWORD -RABBIT_PASSWORD=$ADMIN_PASSWORD -SERVICE_PASSWORD=$ADMIN_PASSWORD - -LOGFILE=/opt/stack/devstack/stack.log -LOG_COLOR=False - - -# Disable unrequired services ------------------------------------------------- - -disable_service horizon -disable_service tempest - - -# Configure Neutron ----------------------------------------------------------- - -HOST_IP=192.168.33.10 -IP_VERSION=4 - - -# Configure Heat -------------------------------------------------------------- - -enable_plugin heat https://git.openstack.org/openstack/heat - - -# Configure Tobiko ------------------------------------------------------------ - -enable_plugin tobiko https://git.openstack.org/x/tobiko diff --git a/vagrant/devstack/provision.yaml b/vagrant/devstack/provision.yaml deleted file mode 100644 index 1065968bb..000000000 --- a/vagrant/devstack/provision.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- - -- hosts: all - vars: - tobiko_src_dir: "{{ playbook_dir | realpath | dirname | dirname }}" - - pre_tasks: - - name: "update APT database" - apt: - update_cache: yes - cache_valid_time: 3600 - become: yes - when: - - ansible_os_family == 'Debian' - - roles: - - - tobiko-copy-resolv-conf - - tobiko-redhat-subscription - - tobiko-ensure-ssh-keys - - tobiko-ensure-python3 - - tobiko-devstack diff --git a/zuul.d/devstack.yaml b/zuul.d/devstack.yaml deleted file mode 100644 index dd496e0b2..000000000 --- a/zuul.d/devstack.yaml +++ /dev/null @@ -1,231 +0,0 @@ -- job: - name: tobiko-devstack-base - parent: devstack - abstract: true - description: | - Base Tobiko devstack job. - - This job provides the base for both the single and multi-node - test setup. To run a multi-node test inherit from tobiko-devstack and - set the nodeset to a multi-node one. - required-projects: - - openstack/devstack-gate - - openstack/heat - - openstack/neutron - - openstack/requirements - - openstack/validations-libs - - x/tobiko - timeout: 7200 - vars: - devstack_localrc: - MULTI_HOST: 0 - LOG_COLOR: false - NETWORK_API_EXTENSIONS: address-scope,agent,allowed-address-pairs,auto-allocated-topology,availability_zone,binding,default-subnetpools,dhcp_agent_scheduler,dns-domain-ports,dns-integration,dvr,empty-string-filtering,ext-gw-mode,external-net,extra_dhcp_opt,extraroute,filter-validation,fip-port-details,flavors,ip-substring-filtering,l3-flavors,l3-ha,l3_agent_scheduler,logging,metering,multi-provider,net-mtu,net-mtu-writable,network-ip-availability,network_availability_zone,pagination,port-security,project-id,provider,qos,qos-bw-minimum-ingress,qos-fip,quotas,quota_details,rbac-policies,router,router_availability_zone,security-group,port-mac-address-regenerate,port-security-groups-filtering,segment,service-type,sorting,standard-attr-description,standard-attr-revisions,standard-attr-segment,standard-attr-timestamp,standard-attr-tag,subnet_allocation,trunk,trunk-details,uplink-status-propagation - devstack_plugins: - heat: https://opendev.org/openstack/heat.git - neutron: https://opendev.org/openstack/neutron.git - tobiko: https://opendev.org/x/tobiko.git - devstack_services: - heat: true - h-api: true - h-api-cfn: true - h-eng: true - n-cpu: true - # NOTE(slaweq): we need to enable it as "legacy" service because for Fedora job - # it has to be disabled. If it would be disabled as "neutron-dns: false" then it - # devstack would consider that neutron-legacy isn't used and would not load proper - # files - q-dns: true - # see bug #1860753 (https://bugs.launchpad.net/devstack/+bug/1860753) - memory_tracker: false - neutron-qos: true - neutron-segments: true - neutron-trunk: true - neutron-uplink-status-propagation: true - tempest: false - tls-proxy: false - # NOTE(slaweq): Swift can't run with python3 currently - s-account: false - s-container: false - s-object: false - s-proxy: false - # NOTE(slaweq): without Swift, c-bak cannot run (in the Gate at least) - c-bak: false - devstack_local_conf: - post-config: - $NEUTRON_CONF: - QUOTAS: - quota_router: 100 - quota_floatingip: 500 - quota_security_group: 100 - quota_security_group_rule: 1000 - $NOVA_CONF: - quota: - instances: 20 - zuul_copy_output: - '{{ stage_dir }}/stackviz': logs - extensions_to_txt: - conf: true - log: true - yaml: true - yml: true - test_log_debug: true - test_case_timeout: 1200 - tobiko_dir: '/opt/stack/tobiko' - tox_run_tests_timeout: 3600 - upper_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt' - - pre-run: playbooks/devstack/pre.yaml - run: playbooks/devstack/run.yaml - post-run: playbooks/devstack/post.yaml - irrelevant-files: - - ^.*\.rst$ - - ^doc/ - - ^infrared_plugin/ - - ^releasenotes/ - - ^report/ - - ^tobiko/tests/unit/ - - -- job: - name: tobiko-devstack-octavia - parent: tobiko-devstack-base - abstract: true - description: | - Base Tobiko devstack job to be used with Octavia. - - required-projects: - - openstack/barbican - - openstack/diskimage-builder - - openstack/octavia - - openstack/octavia-lib - - openstack/python-barbicanclient - - openstack/tripleo-image-elements - timeout: 7800 - vars: - devstack_services: - # Octavia - octavia: true - o-cw: true - o-hk: true - o-hm: true - o-api: true - zuul_copy_output: - '/var/log/dib-build/': logs - '/var/log/octavia-tenant-traffic.log': logs - '/var/log/octavia-amphora.log': logs - extensions_to_txt: - conf: true - log: true - yaml: true - yml: true - - -- job: - name: tobiko-devstack - parent: tobiko-devstack-octavia - abstract: true - - -- job: - name: tobiko-devstack-functional - parent: tobiko-devstack - description: | - Base Tobiko devstack job to execute functional tests. - vars: - test_workflow: functional - irrelevant-files: - - ^.*\.rst$ - - ^doc/ - - ^infrared_plugin/ - - ^releasenotes/ - - ^report/ - - ^tobiko/tests/faults/ - - ^tobiko/tests/scenario/ - - ^tobiko/tests/unit/ - - -- job: - name: tobiko-devstack-functional-centos-8 - parent: tobiko-devstack-functional - nodeset: devstack-single-node-centos-8 - voting: true - - -- job: - name: tobiko-devstack-functional-ubuntu-focal - parent: tobiko-devstack-functional - nodeset: openstack-single-node-focal - voting: false - - -- job: - name: tobiko-devstack-multinode - parent: tobiko-devstack - abstract: true - description: Base Tobiko devstack job with multinode. - vars: - topology: multinode - devstack_localrc: - ENABLE_FILE_INJECTION: true - MULTI_HOST: 1 - devstack_services: - n-cpu: false - group-vars: - subnode: - devstack_services: - c-vol: true - dstat: true - heat: false - h-api: false - h-api-cfn: false - h-eng: false - n-api-meta: true - placement-client: true - n-cpu: true - neutron-agent: true - # see bug #1860753 (https://bugs.launchpad.net/devstack/+bug/1860753) - memory_tracker: false - q-agt: true - q-l3: true - q-meta: true - tls-proxy: false - - -- job: - name: tobiko-devstack-faults - parent: tobiko-devstack-multinode - abstract: true - description: | - Base Tobiko devstack job to execute scenario+faults+scenario test cases. - vars: - test_workflow: faults - irrelevant-files: - - ^.*\.rst$ - - ^doc/ - - ^infrared_plugin/ - - ^releasenotes/ - - ^report/ - - ^tobiko/tests/functional/ - - ^tobiko/tests/unit/ - - -- job: - name: tobiko-devstack-faults-centos-8 - parent: tobiko-devstack-faults - nodeset: tobiko-three-node-centos-8 - voting: false - - -- job: - name: tobiko-devstack-faults-ubuntu-focal - parent: tobiko-devstack-faults - nodeset: tobiko-three-node-focal - voting: false - vars: - devstack_services: - tls-proxy: true - group-vars: - subnode: - devstack_services: - tls-proxy: true diff --git a/zuul.d/nodes.yaml b/zuul.d/nodes.yaml index c94dee45a..990b65896 100644 --- a/zuul.d/nodes.yaml +++ b/zuul.d/nodes.yaml @@ -35,75 +35,3 @@ - name: subnodes nodes: - secondary - - -- nodeset: - name: tobiko-three-node-centos-8 - nodes: - - name: controller - label: centos-8 - - name: compute1 - label: centos-8 - - name: compute2 - label: centos-8 - - groups: - # Node where tests are executed and test results collected - - name: tempest - nodes: - - controller - # Nodes running the compute service - - name: compute - nodes: - - compute1 - - compute2 - # Nodes that are not the controller - - name: subnode - nodes: - - compute1 - - compute2 - # Switch node for multinode networking setup - - name: switch - nodes: - - controller - # Peer nodes for multinode networking setup - - name: peers - nodes: - - compute1 - - compute2 - - -- nodeset: - name: tobiko-three-node-focal - nodes: - - name: controller - label: ubuntu-focal - - name: compute1 - label: ubuntu-focal - - name: compute2 - label: ubuntu-focal - - groups: - # Node where tests are executed and test results collected - - name: tempest - nodes: - - controller - # Nodes running the compute service - - name: compute - nodes: - - compute1 - - compute2 - # Nodes that are not the controller - - name: subnode - nodes: - - compute1 - - compute2 - # Switch node for multinode networking setup - - name: switch - nodes: - - controller - # Peer nodes for multinode networking setup - - name: peers - nodes: - - compute1 - - compute2 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 2d6a3fd6a..7fa2b94c7 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -14,10 +14,6 @@ check: jobs: - - tobiko-devstack-functional-centos-8 - - tobiko-devstack-functional-ubuntu-focal - - tobiko-devstack-faults-centos-8 - - tobiko-devstack-faults-ubuntu-focal - tobiko-tox-infrared-centos-7 - tobiko-tox-infrared-centos-8 - tobiko-tox-infrared-fedora-latest @@ -25,14 +21,9 @@ gate: jobs: - - tobiko-devstack-functional-centos-8 - tobiko-tox-infrared-centos-8 periodic: jobs: - - tobiko-devstack-functional-centos-8 - - tobiko-devstack-functional-ubuntu-focal - - tobiko-devstack-faults-centos-8 - - tobiko-devstack-faults-ubuntu-focal - tobiko-tripleo-functional - tobiko-tripleo-faults