Switch gates to OVN by default.

Also, rearrange tests files.

Job hierarchy looks as follows:

- kuryr-kubernetes-base (base tempest job)
  - kuryr-kubernetes-base-ovn (derived from base for neutron OVN)
    - kuryr-kubernetes-tempest-amphora
    - kuryr-kubernetes-octavia-base (ovn-octavia-provider)
      - kuryr-kubernetes-tempest (alias for the parent,
        used in projects kuryr-tempest-plugin and os-vif)
      - kuryr-kubernetes-tempest-ovn-provider-ovn (alias for the parent,
        used in project ovn-octavia-provider)
      - kuryr-kubernetes-tempest-systemd
        - kuryr-kubernetes-tempest-centos-7 (this one is probably
          broken)
      - kuryr-kubernetes-tempest-defaults (default settings for
        kuryr-kubernetes, so OVN + amphora + default set of handlers,
        default subnet and sg drivers)
      - kuryr-kubernetes-tempest-ipv6
      - kuryr-kubernetes-tempest-dual-stack
      - kuryr-kubernetes-tempest-lower-constraints
      - kuryr-kubernetes-tempest-l2
      - kuryr-kubernetes-tempest-pools-namespace
      - kuryr-kubernetes-tempest-crio (currently broken)
      - kuryr-kubernetes-tempest-multinode
        - kuryr-kubernetes-tempest-multinode-ha
  - kuryr-kubernetes-base-ovs (derived from base for neutron OVS)
    - kuryr-kubernetes-octavia-base-ovs (amphora)
      - kuryr-kubernetes-tempest-ipv6-ovs
      - kuryr-kubernetes-tempest-amphora-ovs
      - kuryr-kubernetes-tempest-multinode-ovs
- kuryr-kubernetes-e2e-np (base devstack job)

For convenience, tempest jobs are in two files: one for multinode jobs,
and one for one node jobs. Network policy job is in its own file, since
it have different parent (devstack).

Change-Id: I198f138feb9bd7b6cc659ac8cd788cddd5be9439
This commit is contained in:
Roman Dobosz 2021-07-30 11:26:34 +02:00
parent 195c8e3abd
commit 2085524f33
8 changed files with 704 additions and 555 deletions

View File

@ -13,9 +13,115 @@
# limitations under the License.
- job:
name: kuryr-kubernetes-tempest-base
name: kuryr-kubernetes-base
parent: devstack-tempest
description: Base kuryr-kubernetes-job
description: |
Base Kuryr Kubernetes tempest job. There are neither Neutron nor Octavia
services, its meant to be extended.
required-projects:
- openstack/devstack-gate
- openstack/devstack-plugin-container
- openstack/kuryr-kubernetes
- openstack/kuryr-tempest-plugin
- openstack/tempest
timeout: 10800
post-run: playbooks/copy-k8s-logs.yaml
host-vars:
controller:
devstack_plugins:
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
kuryr-tempest-plugin: https://opendev.org/openstack/kuryr-tempest-plugin
vars:
# Default swap size got shrinked to 1 GB, it's way too small for us.
configure_swap_size: 8192
tempest_test_regex: '^(kuryr_tempest_plugin.tests.)'
tempest_test_timeout: 1800
tox_envlist: 'all'
tempest_plugins:
- kuryr-tempest-plugin
devstack_localrc:
ENABLE_TLS: true
ETCD_USE_RAMDISK: true
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
devstack_services:
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
coredns: false
# Need to disable dstat due to bug https://github.com/dstat-real/dstat/pull/162
dstat: false
etcd3: true
g-api: true
g-reg: true
key: true
kubernetes-master: true
kuryr-daemon: true
kuryr-kubernetes: true
mysql: true
n-api-meta: true
n-api: true
n-cond: true
n-cpu: true
n-sch: true
placement-api: true
placement-client: true
rabbit: true
s-account: false
s-container: false
s-object: false
s-proxy: false
tempest: true
zuul_copy_output:
'{{ devstack_log_dir }}/kubernetes': 'logs'
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^contrib/.*$
- job:
name: kuryr-kubernetes-base-ovn
parent: kuryr-kubernetes-base
description: Base kuryr-kubernetes-job with OVN
required-projects:
- openstack/neutron
timeout: 10800
post-run: playbooks/copy-k8s-logs.yaml
host-vars:
controller:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
vars:
network_api_extensions_common:
- tag-ports-during-bulk-creation
devstack_localrc:
KURYR_NEUTRON_DEFAULT_ROUTER: kuryr-router
KURYR_ENFORCE_SG_RULES: false
ML2_L3_PLUGIN: ovn-router,trunk,qos
OVN_BRANCH: v20.06.2
OVN_BUILD_FROM_SOURCE: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
VAR_RUN_PATH: /usr/local/var/run
devstack_services:
neutron-tag-ports-during-bulk-creation: true
neutron: true
q-qos: true
q-trunk: true
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
'/home/zuul/np_sctp_kubetest.log': 'logs'
- job:
name: kuryr-kubernetes-base-ovs
parent: kuryr-kubernetes-base
description: Base kuryr-kubernetes-job with OVS
required-projects:
- openstack/devstack-gate
- openstack/devstack-plugin-container
@ -28,150 +134,116 @@
host-vars:
controller:
devstack_plugins:
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
kuryr-tempest-plugin: https://opendev.org/openstack/kuryr-tempest-plugin
neutron: https://opendev.org/openstack/neutron
vars:
# Default swap size got shrinked to 1 GB, it's way too small for us.
configure_swap_size: 8192
tempest_test_regex: '^(kuryr_tempest_plugin.tests.)'
tempest_test_timeout: 1800
tox_envlist: 'all'
network_api_extensions_common:
- tag-ports-during-bulk-creation
tempest_plugins:
- kuryr-tempest-plugin
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
ML2_L3_PLUGIN: router
KURYR_K8S_API_PORT: 6443
KURYR_K8S_CLOUD_PROVIDER: false
ETCD_USE_RAMDISK: true
USE_PYTHON3: true
devstack_services:
# TODO(dmellado):Temporary workaround until proper fix
base: false
# Need to disable dstat due to bug https://github.com/dstat-real/dstat/pull/162
dstat: false
s-account: false
s-container: false
s-object: false
s-proxy: false
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
tempest: true
neutron-tag-ports-during-bulk-creation: true
neutron: true
ovn-controller: false
ovn-northd: false
q-ovn-metadata-agent: false
ovs-vswitchd: false
ovsdb-server: false
neutron: true
q-agt: true
q-dhcp: true
q-l3: true
q-svc: true
q-meta: true
key: true
mysql: true
rabbit: true
n-api: true
n-api-meta: true
n-cpu: true
n-cond: true
n-sch: true
placement-api: true
placement-client: true
g-api: true
g-reg: true
etcd3: true
kubernetes-master: true
kuryr-kubernetes: true
kuryr-daemon: true
coredns: false
neutron-tag-ports-during-bulk-creation: true
q-ovn-metadata-agent: false
q-svc: true
q-trunk: true
devstack_localrc:
KURYR_ENFORCE_SG_RULES: true
ML2_L3_PLUGIN: router
Q_AGENT: openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
Q_ML2_TENANT_NETWORK_TYPE: vxlan
zuul_copy_output:
'{{ devstack_log_dir }}/kubernetes': 'logs'
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^contrib/.*$
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
- job:
name: kuryr-kubernetes-k8s-base
parent: devstack
description: Base kuryr-kubernetes-job without tempest
name: kuryr-kubernetes-octavia-base
parent: kuryr-kubernetes-base-ovn
description: |
Kuryr-Kubernetes tempest job using octavia
required-projects:
- openstack/devstack-plugin-container
- openstack/kuryr-kubernetes
- openstack/neutron
post-run: playbooks/copy-k8s-logs.yaml
- openstack/octavia
- openstack/python-octaviaclient
- openstack/ovn-octavia-provider
- openstack/octavia-tempest-plugin
pre-run: playbooks/get_amphora_tarball.yaml
host-vars:
controller:
devstack_plugins:
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
neutron: https://opendev.org/openstack/neutron
octavia: https://opendev.org/openstack/octavia
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
vars:
network_api_extensions_common:
- tag-ports-during-bulk-creation
tempest_plugins:
- kuryr-tempest-plugin
- octavia-tempest-plugin
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
ML2_L3_PLUGIN: router
KURYR_K8S_API_PORT: 6443
Q_BUILD_OVS_FROM_GIT: true
KURYR_K8S_CLOUD_PROVIDER: false
ETCD_USE_RAMDISK: true
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: ovn
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
KURYR_LB_ALGORITHM: SOURCE_IP_PORT
OCTAVIA_AMP_IMAGE_FILE: /tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2
OCTAVIA_AMP_IMAGE_NAME: test-only-amphora-x64-haproxy-ubuntu-bionic
OCTAVIA_AMP_IMAGE_SIZE: 3
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
# TODO(dmellado):Temporary workaround until proper fix
base: false
# Need to disable dstat due to bug https://github.com/dstat-real/dstat/pull/162
dstat: false
s-account: false
s-container: false
s-object: false
s-proxy: false
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
neutron: true
q-agt: true
q-dhcp: true
q-l3: true
q-svc: true
q-meta: true
key: true
mysql: true
rabbit: true
n-api: true
n-api-meta: true
n-cpu: true
n-cond: true
n-sch: true
placement-api: true
placement-client: true
g-api: true
g-reg: true
etcd3: true
kubernetes-master: true
kuryr-kubernetes: true
kuryr-daemon: true
coredns: false
neutron-tag-ports-during-bulk-creation: true
zuul_copy_output:
'{{ devstack_log_dir }}/kubernetes': 'logs'
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^contrib/.*$
octavia: true
o-api: true
o-cw: true
o-da: true
o-hk: true
o-hm: true
- job:
name: kuryr-kubernetes-octavia-base-ovs
parent: kuryr-kubernetes-base-ovs
description: |
Kuryr-Kubernetes tempest job using octavia
required-projects:
- openstack/octavia
- openstack/python-octaviaclient
- openstack/octavia-tempest-plugin
pre-run: playbooks/get_amphora_tarball.yaml
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
vars:
tempest_plugins:
- kuryr-tempest-plugin
- octavia-tempest-plugin
devstack_localrc:
OCTAVIA_AMP_IMAGE_FILE: /tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2
OCTAVIA_AMP_IMAGE_NAME: test-only-amphora-x64-haproxy-ubuntu-bionic
OCTAVIA_AMP_IMAGE_SIZE: 3
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
octavia: true
o-api: true
o-cw: true
o-hk: true
o-hm: true

139
.zuul.d/k8s-np-e2e.yaml Normal file
View File

@ -0,0 +1,139 @@
# Copyright 2021 Red Hat, Inc.
#
# 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.
- job:
name: kuryr-kubernetes-e2e-np
parent: devstack
description: |
Kuryr-Kubernetes job with OVN and Octavia provider OVN running k8s network policy e2e tests
required-projects:
- openstack/devstack-plugin-container
- openstack/kuryr-kubernetes
- openstack/neutron
- openstack/octavia
- openstack/ovn-octavia-provider
- openstack/python-octaviaclient
pre-run: playbooks/get_amphora_tarball.yaml
post-run:
- playbooks/run_k8s_e2e_tests.yaml
- playbooks/copy-k8s-logs.yaml
post-timeout: 7200
host-vars:
controller:
devstack_plugins:
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
neutron: https://opendev.org/openstack/neutron
octavia: https://opendev.org/openstack/octavia
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
vars:
network_api_extensions_common:
- tag-ports-during-bulk-creation
devstack_localrc:
ETCD_USE_RAMDISK: true
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_ENFORCE_SG_RULES: false
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: ovn
KURYR_K8S_API_PORT: 6443
KURYR_K8S_CLOUD_PROVIDER: false
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
KURYR_LB_ALGORITHM: SOURCE_IP_PORT
KURYR_NEUTRON_DEFAULT_ROUTER: kuryr-router
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
ML2_L3_PLUGIN: ovn-router,trunk,qos
OCTAVIA_AMP_IMAGE_FILE: "/tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2"
OCTAVIA_AMP_IMAGE_NAME: "test-only-amphora-x64-haproxy-ubuntu-bionic"
OCTAVIA_AMP_IMAGE_SIZE: 3
OVN_BRANCH: v20.06.2
OVN_BUILD_FROM_SOURCE: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
PHYSICAL_NETWORK: public
Q_AGENT: ovn
Q_BUILD_OVS_FROM_GIT: true
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
VAR_RUN_PATH: /usr/local/var/run
devstack_services:
# TODO(dmellado):Temporary workaround until proper fix
base: false
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
coredns: false
# Need to disable dstat due to bug https://github.com/dstat-real/dstat/pull/162
dstat: false
etcd3: true
g-api: true
g-reg: true
key: true
kubernetes-master: true
kuryr-daemon: true
kuryr-kubernetes: true
mysql: true
n-api-meta: true
n-api: true
n-cond: true
n-cpu: true
n-sch: true
neutron-tag-ports-during-bulk-creation: true
neutron: true
o-api: true
o-cw: true
o-da: true
o-hk: true
o-hm: true
octavia: true
ovn-controller: true
ovn-northd: true
placement-api: true
placement-client: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-ovn-metadata-agent: true
q-qos: true
q-svc: true
q-trunk: true
rabbit: true
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
kubetest_version: v1.20.2
np_parallel_number: 2
gopkg: go1.15.2.linux-amd64.tar.gz
np_sleep: 30
zuul_copy_output:
'/home/zuul/np_kubetest.log': 'logs'
'/home/zuul/np_sctp_kubetest.log': 'logs'
'{{ devstack_log_dir }}/kubernetes': 'logs'
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^contrib/.*$
voting: false

View File

@ -1,151 +0,0 @@
# Copyright 2018 Red Hat, Inc.
#
# 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.
- job:
name: kuryr-kubernetes-tempest-octavia-base
parent: kuryr-kubernetes-tempest-base
description: |
Kuryr-Kubernetes tempest job using octavia
required-projects:
- openstack/octavia
- openstack/python-octaviaclient
- openstack/octavia-tempest-plugin
pre-run: playbooks/get_amphora_tarball.yaml
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin.git
vars:
tempest_plugins:
- kuryr-tempest-plugin
- octavia-tempest-plugin
devstack_localrc:
OCTAVIA_AMP_IMAGE_FILE: "/tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2"
OCTAVIA_AMP_IMAGE_SIZE: 3
OCTAVIA_AMP_IMAGE_NAME: "test-only-amphora-x64-haproxy-ubuntu-bionic"
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
kuryr-daemon: true
octavia: true
o-api: true
o-cw: true
o-hk: true
o-hm: true
- job:
name: kuryr-kubernetes-tempest-systemd
parent: kuryr-kubernetes-tempest-octavia-base
description: |
Kuryr-Kubernetes tempest job using octavia and running kuryr as systemd
services
vars:
devstack_localrc:
KURYR_K8S_CONTAINERIZED_DEPLOYMENT: false
- job:
name: kuryr-kubernetes-tempest-centos-7
parent: kuryr-kubernetes-tempest-systemd
nodeset: openstack-centos-7-single-node
voting: false
- job:
name: kuryr-kubernetes-tempest
parent: kuryr-kubernetes-tempest-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized
- job:
name: kuryr-kubernetes-tempest-ipv6
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with IPv6 pod
and service networks
vars:
devstack_localrc:
KURYR_IPV6: true
voting: false
- job:
name: kuryr-kubernetes-tempest-dual-stack
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with dual stack
pod and service networks
vars:
devstack_localrc:
KURYR_DUAL_STACK: true
voting: false
- job:
name: kuryr-kubernetes-tempest-lower-constraints
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with
requirments from lower-constraints.txt
vars:
devstack_localrc:
KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS: true
voting: false
- job:
name: kuryr-kubernetes-tempest-l2
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest job using octavia in l2 mode, kuryr containerized
vars:
devstack_localrc:
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
- job:
name: kuryr-kubernetes-tempest-pools-namespace
description: |
Tempest with containers, port pools and namespace subnet driver
parent: kuryr-kubernetes-tempest
vars:
devstack_localrc:
KURYR_SUBNET_DRIVER: namespace
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_SG_DRIVER: policy
KURYR_USE_PORT_POOLS: true
KURYR_POD_VIF_DRIVER: neutron-vif
KURYR_VIF_POOL_DRIVER: neutron
KURYR_CONFIGMAP_MODIFIABLE: true
- job:
name: kuryr-kubernetes-tempest-network-policy
description: |
Tempest with Octavia, containers and network policy driver
parent: kuryr-kubernetes-tempest
vars:
devstack_localrc:
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
- job:
name: kuryr-kubernetes-tempest-crio
parent: kuryr-kubernetes-tempest
vars:
devstack_localrc:
CONTAINER_ENGINE: crio
voting: false

View File

@ -16,28 +16,26 @@
name: kuryr-kubernetes-tempest-jobs
check:
jobs:
- kuryr-kubernetes-tempest-systemd
- kuryr-kubernetes-tempest
- kuryr-kubernetes-tempest-defaults
- kuryr-kubernetes-tempest-systemd
- kuryr-kubernetes-tempest-lower-constraints
- kuryr-kubernetes-tempest-ovn
- kuryr-kubernetes-tempest-network-policy
- kuryr-kubernetes-tempest-multinode
- kuryr-kubernetes-tempest-multinode-ovn
- kuryr-kubernetes-tempest-multinode-ovs
- kuryr-kubernetes-tempest-ipv6
- kuryr-kubernetes-tempest-ovn-ipv6
- kuryr-kubernetes-tempest-ovn-provider-ovn
- kuryr-kubernetes-e2e-np-ovn-provider-ovn
- kuryr-kubernetes-tempest-ipv6-ovs
- kuryr-kubernetes-tempest-amphora
- kuryr-kubernetes-tempest-amphora-ovs
- kuryr-kubernetes-e2e-np
gate:
jobs:
- kuryr-kubernetes-tempest-systemd
- kuryr-kubernetes-tempest
- kuryr-kubernetes-tempest-ovn
- kuryr-kubernetes-tempest-network-policy
- kuryr-kubernetes-tempest-systemd
- kuryr-kubernetes-tempest-amphora
experimental:
jobs:
- kuryr-kubernetes-tempest-l2
- kuryr-kubernetes-tempest-pools-namespace
- kuryr-kubernetes-tempest-ovn-systemd
- kuryr-kubernetes-tempest-multinode-ha
- kuryr-kubernetes-tempest-crio
- kuryr-kubernetes-tempest-dual-stack

View File

@ -1,186 +0,0 @@
# Copyright 2018 Red Hat, Inc.
#
# 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.
- job:
name: kuryr-kubernetes-tempest-ovn
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest job using OVN
required-projects:
- openstack/neutron
host-vars:
controller:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
vars:
devstack_localrc:
Q_AGENT: ovn
ML2_L3_PLUGIN: ovn-router,trunk,qos
OVN_DBS_LOG_LEVEL: dbg
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
VAR_RUN_PATH: /usr/local/var/run
PHYSICAL_NETWORK: public
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_BUILD_FROM_SOURCE: true
ENABLE_CHASSIS_AS_GW: true
OVN_BRANCH: v20.06.1
KURYR_NEUTRON_DEFAULT_ROUTER: kuryr-router
ENABLE_TLS: True
devstack_services:
ovn-northd: true
ovn-controller: true
q-ovn-metadata-agent: true
q-svc: true
q-agt: false
q-l3: false
q-dhcp: false
q-meta: false
q-trunk: true
q-qos: true
ovs-vswitchd: true
ovsdb-server: true
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
- job:
name: kuryr-kubernetes-tempest-ovn-systemd
parent: kuryr-kubernetes-tempest-ovn
description: |
Kuryr-Kubernetes tempest job using OVN and Containerized
vars:
devstack_localrc:
KURYR_K8S_CONTAINERIZED_DEPLOYMENT: false
- job:
name: kuryr-kubernetes-tempest-ovn-ipv6
parent: kuryr-kubernetes-tempest-ovn
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with OVN and
IPv6 pod and service networks
vars:
devstack_localrc:
KURYR_IPV6: true
- job:
name: kuryr-kubernetes-tempest-ovn-provider-ovn
parent: kuryr-kubernetes-tempest-ovn
description: |
Kuryr-Kubernetes tempest job using OVN, CNI daemon, Containerized, Octavia provider OVN, and Network Policy drivers
required-projects:
- openstack/ovn-octavia-provider
host-vars:
controller:
devstack_plugins:
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
vars:
devstack_services:
o-da: true
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
devstack_localrc:
ENABLE_CHASSIS_AS_GW: true
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: ovn
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
KURYR_ENFORCE_SG_RULES: false
KURYR_LB_ALGORITHM: SOURCE_IP_PORT
KURYR_SUBNET_DRIVER: namespace
KURYR_SG_DRIVER: policy
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
- job:
name: kuryr-kubernetes-e2e-np-ovn-provider-ovn
parent: kuryr-kubernetes-k8s-base
description: |
Kuryr-Kubernetes job with OVN and Octavia provider OVN running k8s network policy e2e tests
required-projects:
- openstack/neutron
- openstack/octavia
- openstack/python-octaviaclient
- openstack/ovn-octavia-provider
pre-run: playbooks/get_amphora_tarball.yaml
post-run: playbooks/run_k8s_e2e_tests.yaml
post-timeout: 7200
host-vars:
controller:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
octavia: https://opendev.org/openstack/octavia
ovn-octavia-provider: https://opendev.org/openstack/ovn-octavia-provider
vars:
devstack_localrc:
OCTAVIA_AMP_IMAGE_FILE: "/tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2"
OCTAVIA_AMP_IMAGE_SIZE: 3
OCTAVIA_AMP_IMAGE_NAME: "test-only-amphora-x64-haproxy-ubuntu-bionic"
Q_AGENT: ovn
ML2_L3_PLUGIN: ovn-router,trunk,qos
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
VAR_RUN_PATH: /usr/local/var/run
PHYSICAL_NETWORK: public
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_BUILD_FROM_SOURCE: true
ENABLE_CHASSIS_AS_GW: true
OVN_BRANCH: v20.06.2
KURYR_NEUTRON_DEFAULT_ROUTER: kuryr-router
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: ovn
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
KURYR_ENFORCE_SG_RULES: false
KURYR_LB_ALGORITHM: SOURCE_IP_PORT
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
devstack_services:
octavia: true
o-api: true
o-cw: true
o-hk: true
o-hm: true
o-da: true
ovn-northd: true
ovn-controller: true
q-ovn-metadata-agent: true
q-svc: true
q-agt: false
q-l3: false
q-dhcp: false
q-meta: false
q-trunk: true
q-qos: true
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
kubetest_version: v1.20.2
np_parallel_number: 2
gopkg: go1.15.2.linux-amd64.tar.gz
np_sleep: 30
zuul_copy_output:
'/home/zuul/np_kubetest.log': 'logs'
'/home/zuul/np_sctp_kubetest.log': 'logs'
voting: false

248
.zuul.d/tempest-jobs.yaml Normal file
View File

@ -0,0 +1,248 @@
# Copyright 2018 Red Hat, Inc.
#
# 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.
- job:
name: kuryr-kubernetes-tempest
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized
- job:
name: kuryr-kubernetes-tempest-ovn-provider-ovn
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes alias for kuryr kubernetes tempest test.
Because of the change we introduced in switching over to Neutron OVN
and Octavia OVN provider, this can be removed after updating
ovn-octavia-provider zuul project.
- job:
name: kuryr-kubernetes-tempest-systemd
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job using octavia and running kuryr as systemd
services
vars:
devstack_localrc:
KURYR_K8S_CONTAINERIZED_DEPLOYMENT: false
- job:
name: kuryr-kubernetes-tempest-centos-7
parent: kuryr-kubernetes-tempest-systemd
nodeset: openstack-centos-7-single-node
voting: false
- job:
name: kuryr-kubernetes-tempest-defaults
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with OVN,
Octavias amphora, default set of handlers, default SG driver and default
subnet driver.
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
vars:
devstack_localrc:
KURYR_ENABLED_HANDLERS: ''
KURYR_ENFORCE_SG_RULES: true
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: default
KURYR_K8S_OCTAVIA_MEMBER_MODE: L3
KURYR_LB_ALGORITHM: ROUND_ROBIN
KURYR_SG_DRIVER: default
KURYR_SUBNET_DRIVER: default
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver'
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
q-trunk: true
o-da: false
voting: true
- job:
name: kuryr-kubernetes-tempest-ipv6
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with IPv6 pod
and service networks using OVN and Octavia Amphora
# TODO(gryf): investigate why NP does not work with IPv6
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
vars:
devstack_localrc:
KURYR_ENABLED_HANDLERS: ''
KURYR_ENFORCE_SG_RULES: true
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: default
KURYR_IPV6: true
KURYR_K8S_OCTAVIA_MEMBER_MODE: L3
KURYR_LB_ALGORITHM: ROUND_ROBIN
KURYR_SG_DRIVER: default
KURYR_SUBNET_DRIVER: default
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver'
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
q-trunk: true
o-da: false
voting: false
- job:
name: kuryr-kubernetes-tempest-ipv6-ovs
parent: kuryr-kubernetes-octavia-base-ovs
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with IPv6 pod
and service networks based on OVS
# TODO(gryf): investigate why NP does not work with IPv6
vars:
devstack_localrc:
KURYR_ENABLED_HANDLERS: ''
KURYR_IPV6: true
KURYR_SG_DRIVER: default
KURYR_SUBNET_DRIVER: default
devstack_services:
q-trunk: false
voting: false
- job:
name: kuryr-kubernetes-tempest-dual-stack
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with dual stack
pod and service networks
vars:
devstack_localrc:
KURYR_DUAL_STACK: true
voting: false
- job:
name: kuryr-kubernetes-tempest-lower-constraints
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with
requirments from lower-constraints.txt
vars:
devstack_localrc:
KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS: true
voting: false
- job:
name: kuryr-kubernetes-tempest-l2
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest job using octavia in l2 mode, kuryr containerized
vars:
devstack_localrc:
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
- job:
name: kuryr-kubernetes-tempest-pools-namespace
parent: kuryr-kubernetes-octavia-base
description: |
Tempest with containers, port pools and namespace subnet driver
vars:
devstack_localrc:
KURYR_SUBNET_DRIVER: namespace
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_SG_DRIVER: policy
KURYR_USE_PORT_POOLS: true
KURYR_POD_VIF_DRIVER: neutron-vif
KURYR_VIF_POOL_DRIVER: neutron
KURYR_CONFIGMAP_MODIFIABLE: true
- job:
name: kuryr-kubernetes-tempest-crio
parent: kuryr-kubernetes-octavia-base
vars:
devstack_localrc:
CONTAINER_ENGINE: crio
voting: false
- job:
name: kuryr-kubernetes-tempest-amphora
parent: kuryr-kubernetes-base-ovn
required-projects:
- openstack/octavia
- openstack/python-octaviaclient
- openstack/octavia-tempest-plugin
pre-run: playbooks/get_amphora_tarball.yaml
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
vars:
tempest_plugins:
- kuryr-tempest-plugin
- octavia-tempest-plugin
devstack_localrc:
KURYR_ENFORCE_SG_RULES: true
OCTAVIA_AMP_IMAGE_FILE: /tmp/test-only-amphora-x64-haproxy-ubuntu-bionic.qcow2
OCTAVIA_AMP_IMAGE_NAME: test-only-amphora-x64-haproxy-ubuntu-bionic
OCTAVIA_AMP_IMAGE_SIZE: 3
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
octavia: true
o-api: true
o-cw: true
o-hk: true
o-hm: true
voting: false
- job:
name: kuryr-kubernetes-tempest-amphora-ovs
parent: kuryr-kubernetes-octavia-base-ovs
vars:
devstack_localrc:
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: amphora
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver'
voting: false

View File

@ -14,9 +14,88 @@
- job:
name: kuryr-kubernetes-tempest-multinode
parent: kuryr-kubernetes-tempest
parent: kuryr-kubernetes-octavia-base
description: |
Kuryr-Kubernetes tempest multinode job
Kuryr-Kubernetes tempest multinode job with OVN
nodeset: openstack-two-node-focal
host-vars:
controller:
devstack_plugins:
octavia: https://opendev.org/openstack/octavia
octavia-tempest-plugin: https://opendev.org/openstack/octavia-tempest-plugin
group-vars:
subnode:
devstack_plugins:
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
devstack_services:
c-bak: false
c-vol: false
dstat: false
kubernetes-master: false
kubernetes-worker: true
kuryr-daemon: true
kuryr-kubernetes: false
neutron: true
ovn-northd: false
ovn-octavia-provider: true
placement-client: true
q-svc: false
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_localrc:
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_ENFORCE_SG_RULES: false
KURYR_EP_DRIVER_OCTAVIA_PROVIDER: ovn
KURYR_K8S_OCTAVIA_MEMBER_MODE: L2
KURYR_LB_ALGORITHM: SOURCE_IP_PORT
KURYR_NEUTRON_DEFAULT_ROUTER: kuryr-router
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
OVN_BRANCH: v20.06.2
OVN_BUILD_FROM_SOURCE: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
VAR_RUN_PATH: /usr/local/var/run
vars:
tempest_test_regex: '^(kuryr_tempest_plugin.tests.scenario.test_cross_ping_multi_worker.TestCrossPingScenarioMultiWorker)'
devstack_localrc:
KURYR_K8S_MULTI_WORKER_TESTS: true
devstack_local_conf:
post-config:
$OCTAVIA_CONF:
controller_worker:
amp_active_retries: 9999
api_settings:
enabled_provider_drivers: amphora:'Octavia Amphora driver',ovn:'Octavia OVN driver'
health_manager:
failover_threads: 2
health_update_threads: 2
stats_update_threads: 2
devstack_services:
kubernetes-master: true
kubernetes-worker: false
kuryr-daemon: true
kuryr-kubernetes: true
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
voting: false
- job:
name: kuryr-kubernetes-tempest-multinode-ovs
parent: kuryr-kubernetes-octavia-base-ovs
description: |
Kuryr-Kubernetes tempest multinode job with OVS
nodeset: openstack-two-node-focal
group-vars:
subnode:
@ -43,97 +122,25 @@
q-ovn-metadata-agent: false
q-svc: false
devstack_localrc:
KURYR_ENABLED_HANDLERS: vif,endpoints,service,namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork,kuryrport,kuryrloadbalancer
KURYR_ENFORCE_SG_RULES: true
KURYR_SG_DRIVER: policy
KURYR_SUBNET_DRIVER: namespace
ML2_L3_PLUGIN: router
Q_AGENT: openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
Q_ML2_TENANT_NETWORK_TYPE: vxlan
USE_PYTHON3: true
vars:
tempest_test_regex: '^(kuryr_tempest_plugin.tests.scenario.test_cross_ping_multi_worker.TestCrossPingScenarioMultiWorker)'
devstack_localrc:
KURYR_K8S_API_URL: "https://${SERVICE_HOST}:${KURYR_K8S_API_PORT}"
KURYR_K8S_MULTI_WORKER_TESTS: True
USE_PYTHON3: true
devstack_services:
dstat: false
kubernetes-master: true
kubernetes-worker: false
kuryr-daemon: true
kuryr-kubernetes: true
voting: false
- job:
name: kuryr-kubernetes-tempest-multinode-ovn
parent: kuryr-kubernetes-tempest
description: |
Kuryr-Kubernetes tempest multinode job using OVN
nodeset: openstack-two-node-focal
group-vars:
subnode:
devstack_plugins:
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
kuryr-kubernetes: https://opendev.org/openstack/kuryr-kubernetes
devstack_services:
c-bak: false
c-vol: false
dstat: false
kubernetes-master: false
kubernetes-worker: true
kuryr-daemon: true
kuryr-kubernetes: false
neutron: true
ovn-controller: true
ovn-northd: false
ovs-vswitchd: true
ovsdb-server: true
placement-client: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-ovn-metadata-agent: true
q-svc: false
devstack_localrc:
ML2_L3_PLUGIN: ovn-router,trunk,qos
Q_AGENT: ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
USE_PYTHON3: true
vars:
tempest_test_regex: '^(kuryr_tempest_plugin.tests.scenario.test_cross_ping_multi_worker.TestCrossPingScenarioMultiWorker)'
neutron: true
devstack_localrc:
KURYR_K8S_API_URL: "https://${SERVICE_HOST}:${KURYR_K8S_API_PORT}"
KURYR_K8S_MULTI_WORKER_TESTS: True
ML2_L3_PLUGIN: ovn-router,trunk,qos
Q_AGENT: ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
USE_PYTHON3: true
devstack_services:
dstat: false
kubernetes-master: true
kubernetes-worker: false
kuryr-daemon: true
kuryr-kubernetes: true
ovn-controller: true
ovn-northd: true
ovs-vswitchd: true
ovsdb-server: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-ovn-metadata-agent: true
q-qos: true
q-svc: true
q-trunk: true
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
KURYR_K8S_MULTI_WORKER_TESTS: true
voting: false
- job:

View File

@ -49,6 +49,7 @@ function ovs_bind_for_kubelet {
local service_subnet_cidr
local pod_subnet_gw
local cidrs
local _sp_id=${KURYR_NEUTRON_DEFAULT_SUBNETPOOL_ID}
project_id="$1"
port_number="$2"
@ -95,10 +96,31 @@ function ovs_bind_for_kubelet {
KURYR_POD_SUBNETS_IDS=(${KURYR_NEUTRON_DEFAULT_POD_SUBNET}-IPv4)
fi
if [[ -z ${KURYR_SUBNETPOOLS_IDS} ]]; then
# NOTE(gryf): In case we are missing KURYR_SUBNETPOOLS_IDS variable
# populated, which probably means, that kuryr-kubernetes service is
# not enabled, but if kuryr-daemon service is enabled (which is the
# case for multi node setup, where worker nodes should have it
# enabled), we need to have it filled.
export KURYR_SUBNETPOOLS_IDS=()
export KURYR_ETHERTYPES=()
if [[ "$KURYR_IPV6" == "False" ]]; then
export KURYR_ETHERTYPE=IPv4
KURYR_ETHERTYPES+=("IPv4")
KURYR_SUBNETPOOLS_IDS+=(${_sp_id:-${SUBNETPOOL_V4_ID}})
else
KURYR_ETHERTYPES+=("IPv6")
KURYR_SUBNETPOOLS_IDS+=($(openstack \
--os-cloud devstack-admin \
--os-region "${REGION_NAME}" \
subnet pool show ${SUBNETPOOL_KURYR_NAME_V6} -c id -f value))
fi
fi
for i in "${!KURYR_SERVICE_SUBNETS_IDS[@]}"; do
pod_subnet_gw=$(openstack subnet show "${KURYR_POD_SUBNETS_IDS[$i]}" \
-c gateway_ip -f value)
if [[ "$KURYR_SUBNET_DRIVER" == "namespace" ]]; then
if is_service_enabled kuryr-kubernetes && [[ "$KURYR_SUBNET_DRIVER" == "namespace" ]]; then
cidrs=$(openstack subnet pool show "${KURYR_SUBNETPOOLS_IDS[$i]}" -c prefixes -f value)
subnetpool_cidr=$(python3 -c "print(${cidrs}[0])")
sudo ip route add "$subnetpool_cidr" via "$pod_subnet_gw" dev "$ifname"