4b332cf3af
As a step to improve testing capabilities of our gates, this commit enhances DevStack with support for deploying coredns in our K8s cluster. The idea here is to be able to run any tests that are referring to services by <namespace>.<service-name>, in particular upstream K8s tests. The tricky part here is that on gate VM's an instance of unbound DNS is running on 127.0.0.1:53. As in DevStack-deployed Kuryr pods doesn't support IPv6, we couldn't just take IPv6 addresses of upstream DNS from unbound configuration and use them in coredns pods. Instead the coredns instance is running on host networking and binds to $HOST_IP:53, which is also used as value of kubelet's --cluster-dns option, while forwarding any upstream DNS requests to the local unbound instance. This isn't perfectly how it would be set up in production environment, but should be close enough for our purposes. This change only affects DevStack, so it's completely safe from release point of view. coredns gets enabled only on gates running Kubernetes as OpenShift gates run openshift-dns already. Change-Id: Icdab52a6229b2209f58e26e4d885f551883727b5 Partial-Implements: blueprint k8s-upstream-tests
87 lines
2.7 KiB
YAML
87 lines
2.7 KiB
YAML
# 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-base
|
|
parent: devstack-tempest
|
|
description: Base kuryr-kubernetes-job
|
|
required-projects:
|
|
- openstack-infra/devstack-gate
|
|
- openstack/devstack-plugin-container
|
|
- openstack/kuryr-kubernetes
|
|
- openstack/kuryr-tempest-plugin
|
|
- openstack/tempest
|
|
post-run: playbooks/copy-k8s-logs.yaml
|
|
host-vars:
|
|
controller:
|
|
devstack_plugins:
|
|
kuryr-kubernetes: https://git.openstack.org/openstack/kuryr-kubernetes
|
|
devstack-plugin-container: https://git.openstack.org/openstack/devstack-plugin-container
|
|
kuryr-tempest-plugin: https://git.openstack.org/openstack/kuryr-tempest-plugin
|
|
vars:
|
|
tempest_test_regex: '^(kuryr_tempest_plugin.tests.)'
|
|
tox_envlist: 'all'
|
|
devstack_localrc:
|
|
KURYR_K8S_API_PORT: 8080
|
|
TEMPEST_PLUGINS: '/opt/stack/kuryr-tempest-plugin'
|
|
Q_BUILD_OVS_FROM_GIT: true
|
|
KURYR_K8S_CLOUD_PROVIDER: false
|
|
ETCD_USE_RAMDISK: true
|
|
devstack_services:
|
|
# TODO(dmellado):Temporary workaround until proper fix
|
|
base: 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: 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-api: true
|
|
kubernetes-controller-manager: true
|
|
kubernetes-scheduler: true
|
|
kubelet: true
|
|
kuryr-kubernetes: true
|
|
kuryr-daemon: true
|
|
coredns: true
|
|
zuul_copy_output:
|
|
'{{ devstack_log_dir }}/kubernetes': 'logs'
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^contrib/.*$
|