diff --git a/.zuul.yaml b/.zuul.yaml index 5f838f9b1..1c0f36287 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -3,18 +3,19 @@ parent: devstack-tempest description: Zun Devstack tempest base job timeout: 4200 - required-projects: + required-projects: &base_required_projects - openstack/devstack - openstack/devstack-plugin-container - openstack/kuryr-libnetwork - openstack/zun - openstack/zun-tempest-plugin - openstack/python-zunclient - irrelevant-files: + - openstack/tempest + irrelevant-files: &base_irrelevant_files - ^.*\.rst$ - ^doc/.*$ - ^api-ref/.*$ - vars: + vars: &base_vars tox_envlist: all-plugin tempest_test_regex: zun_tempest_plugin.tests.tempest.api devstack_localrc: @@ -71,6 +72,22 @@ s-container: false s-proxy: false +- job: + name: zun-tempest-docker-sql-ipv6-only + parent: devstack-tempest-ipv6 + description: | + Zun devstack tempest tests job for IPv6-only deployment + irrelevant-files: *base_irrelevant_files + required-projects: *base_required_projects + timeout: 4200 + vars: + <<: *base_vars + devstack_services: + s-account: false + s-object: false + s-container: false + s-proxy: false + - job: name: zun-tempest-multinode-docker-sql parent: zun-tempest-base-multinode @@ -113,6 +130,7 @@ jobs: - zun-tempest-docker-sql - zun-tempest-py3-docker-sql + - zun-tempest-docker-sql-ipv6-only - zun-tempest-multinode-docker-sql - zun-fullstack: voting: false @@ -123,4 +141,5 @@ jobs: - zun-tempest-docker-sql - zun-tempest-py3-docker-sql + - zun-tempest-docker-sql-ipv6-only - zun-tempest-multinode-docker-sql diff --git a/devstack/lib/zun b/devstack/lib/zun index a87ed73db..457b6ee6a 100644 --- a/devstack/lib/zun +++ b/devstack/lib/zun @@ -80,7 +80,7 @@ ZUN_DB_TYPE=${ZUN_DB_TYPE:-sql} ZUN_ETCD_VERSION=${ZUN_ETCD_VERSION:-v3.0.13} ZUN_ETCD_PORT=${ZUN_ETCD_PORT:-2379} ZUN_WEBSOCKET_PROXY_PORT=${ZUN_WEBSOCKET_PROXY_PORT:-6784} -ZUN_WEBSOCKET_PROXY_IP=${ZUN_WEBSOCKET_PROXY_IP:-0.0.0.0} +ZUN_WEBSOCKET_PROXY_IP=${ZUN_WEBSOCKET_PROXY_IP:-$(ipv6_unquote $SERVICE_LISTEN_ADDRESS)} if is_ubuntu; then UBUNTU_RELEASE_BASE_NUM=`lsb_release -r | awk '{print $2}' | cut -d '.' -f 1` fi @@ -177,7 +177,13 @@ function create_zun_conf { iniset $ZUN_CONF DEFAULT container_driver docker.driver.DockerDriver fi iniset $ZUN_CONF DEFAULT debug "$ENABLE_DEBUG_LOG_LEVEL" - iniset $ZUN_CONF DEFAULT my_ip "$HOST_IP" + if [[ $SERVICE_IP_VERSION == 6 ]]; then + iniset $ZUN_CONF DEFAULT my_ip "$HOST_IPV6" + iniset $ZUN_CONF docker docker_remote_api_host "$HOST_IPV6" + else + iniset $ZUN_CONF DEFAULT my_ip "$HOST_IP" + iniset $ZUN_CONF docker docker_remote_api_host "$HOST_IP" + fi iniset $ZUN_CONF DEFAULT default_cpu 0 iniset $ZUN_CONF DEFAULT default_memory 0 iniset $ZUN_CONF DEFAULT default_disk 0 @@ -188,7 +194,6 @@ function create_zun_conf { iniset $ZUN_CONF websocket_proxy base_url "ws://${SERVICE_HOST}:${ZUN_WEBSOCKET_PROXY_PORT}/" iniset $ZUN_CONF api host_ip "$ZUN_SERVICE_HOST" iniset $ZUN_CONF api port "$ZUN_SERVICE_PORT" - iniset $ZUN_CONF docker docker_remote_api_host "$HOST_IP" iniset $ZUN_CONF keystone_auth auth_type password iniset $ZUN_CONF keystone_auth username zun diff --git a/devstack/settings b/devstack/settings index a4a442960..b9d26f789 100644 --- a/devstack/settings +++ b/devstack/settings @@ -18,7 +18,7 @@ DOCKER_CLUSTER_STORE=${DOCKER_CLUSTER_STORE:-etcd://$SERVICE_HOST:$ETCD_PORT} # Enable Zun services -if [[ ${HOST_IP} == ${SERVICE_HOST} ]]; then +if [[ ${HOST_IP} == ${SERVICE_HOST} ]] || [[ "[${HOST_IPV6}]" == "${SERVICE_HOST}" ]]; then enable_service zun-api enable_service zun-compute enable_service zun-wsproxy