kuryr-kubernetes/.zuul.d/base.yaml
Michał Dulko 4b332cf3af Add option to deploy coredns
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
2019-03-15 11:01:12 +01:00

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/.*$