From f86c0ff48fcfce9304d3dae519be27671d7f134f Mon Sep 17 00:00:00 2001
From: Mark Goddard <mark@stackhpc.com>
Date: Thu, 22 Feb 2018 16:55:24 +0000
Subject: [PATCH] Use queens version of dependencies

Use queens release of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services

Changes to kolla inventory files were made by comparing the multinode
inventory in kolla-ansible with the overcloud-services and
overcloud-components templates.

Kolla ansible added the concept of inner-compute and external-compute,
and these groups have been added to the top-level inventory.

We also synchronise globals.yml and kolla enablement flags.

Change-Id: I87b052f777567226e41294b955f736040e55e102
Story: 2001863
Task: 14315
---
 ansible/group_vars/all/bifrost                |   4 +-
 ansible/group_vars/all/ipa                    |   8 +-
 ansible/group_vars/all/kolla                  |  18 +-
 .../kolla-ansible/templates/globals.yml.j2    | 222 +++++++++++++-----
 .../templates/overcloud-components.j2         |  18 +-
 .../templates/overcloud-services.j2           |  50 +++-
 .../templates/overcloud-top-level.j2          |   4 +
 ansible/roles/kolla-ansible/vars/main.yml     |  19 +-
 doc/source/release-notes.rst                  |   2 +
 etc/kayobe/kolla.yml                          |  20 +-
 tox.ini                                       |   4 +-
 zuul.d/jobs.yaml                              |   2 +-
 12 files changed, 281 insertions(+), 90 deletions(-)

diff --git a/ansible/group_vars/all/bifrost b/ansible/group_vars/all/bifrost
index 0b456dda..fe947dc2 100644
--- a/ansible/group_vars/all/bifrost
+++ b/ansible/group_vars/all/bifrost
@@ -5,10 +5,10 @@
 # Bifrost installation.
 
 # URL of Bifrost source code repository.
-kolla_bifrost_source_url: "https://github.com/stackhpc/bifrost"
+kolla_bifrost_source_url: "https://git.openstack.org/openstack/bifrost"
 
 # Version (branch, tag, etc.) of Bifrost source code repository.
-kolla_bifrost_source_version: "stackhpc/pike"
+kolla_bifrost_source_version: "stable/queens"
 
 ###############################################################################
 # Diskimage-builder configuration.
diff --git a/ansible/group_vars/all/ipa b/ansible/group_vars/all/ipa
index d505caf0..3742ae41 100644
--- a/ansible/group_vars/all/ipa
+++ b/ansible/group_vars/all/ipa
@@ -8,10 +8,10 @@
 ipa_build_images: False
 
 # URL of IPA source repository.
-ipa_build_source_url: "https://github.com/openstack/ironic-python-agent"
+ipa_build_source_url: "https://git.openstack.org/openstack/ironic-python-agent"
 
 # Version of IPA source repository.
-ipa_build_source_version: "stable/pike"
+ipa_build_source_version: "stable/queens"
 
 # URL of IPA upper constraints file.
 ipa_build_upper_constraints_file_url:
@@ -63,13 +63,13 @@ ipa_build_dib_git_elements: []
 ipa_images_kernel_name: "ipa.vmlinuz"
 
 # URL of Ironic deployment kernel image to download.
-ipa_kernel_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe-stable-pike.vmlinuz"
+ipa_kernel_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe-stable-queens.vmlinuz"
 
 # Name of Ironic deployment ramdisk image to register in Glance.
 ipa_images_ramdisk_name: "ipa.initramfs"
 
 # URL of Ironic deployment ramdisk image to download.
-ipa_ramdisk_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem-stable-pike.cpio.gz"
+ipa_ramdisk_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem-stable-queens.cpio.gz"
 
 ###############################################################################
 # Ironic Python Agent (IPA) deployment configuration.
diff --git a/ansible/group_vars/all/kolla b/ansible/group_vars/all/kolla
index 7a2c42f6..dfe89dd7 100644
--- a/ansible/group_vars/all/kolla
+++ b/ansible/group_vars/all/kolla
@@ -9,11 +9,11 @@ kolla_ctl_install_type: source
 kolla_source_path: "{{ source_checkout_path ~ '/kolla' }}"
 
 # URL of Kolla source code repository if type is 'source'.
-kolla_source_url: "https://github.com/stackhpc/kolla"
+kolla_source_url: "https://git.openstack.org/openstack/kolla"
 
 # Version (branch, tag, etc.) of Kolla source code repository if type is
 # 'source'.
-kolla_source_version: "stackhpc/pike"
+kolla_source_version: "stable/queens"
 
 # Path to virtualenv in which to install kolla.
 kolla_venv: "{{ virtualenv_path ~ '/kolla' }}"
@@ -31,11 +31,11 @@ kolla_ansible_ctl_install_type: source
 kolla_ansible_source_path: "{{ lookup('env', 'KOLLA_SOURCE_PATH') | default(lookup('env', 'PWD') ~ '/src/kolla-ansible', true) }}"
 
 # URL of Kolla Ansible source code repository if type is 'source'.
-kolla_ansible_source_url: "https://github.com/stackhpc/kolla-ansible"
+kolla_ansible_source_url: "https://git.openstack.org/openstack/kolla-ansible"
 
 # Version (branch, tag, etc.) of Kolla Ansible source code repository if type
 # is 'source'.
-kolla_ansible_source_version: "stackhpc/pike"
+kolla_ansible_source_version: "stable/queens"
 
 # Path to virtualenv in which to install kolla-ansible.
 kolla_ansible_venv: "{{ lookup('env', 'KOLLA_VENV_PATH') | default(lookup('env', 'PWD') ~ '/venvs/kolla-ansible', true) }}"
@@ -56,7 +56,7 @@ kolla_base_distro: "centos"
 kolla_install_type: "binary"
 
 # Docker namespace to use for Kolla images.
-kolla_docker_namespace: "stackhpc"
+kolla_docker_namespace: "kolla"
 
 # Url of docker registry to use for Kolla images.
 kolla_docker_registry:
@@ -68,7 +68,7 @@ kolla_docker_registry_username:
 kolla_docker_registry_password:
 
 # Kolla OpenStack release version. This should be a Docker image tag.
-kolla_openstack_release: "5.0.0"
+kolla_openstack_release: "queens"
 
 # Dict mapping names of sources to their definitions for
 # kolla_install_type=source. See kolla.common.config for details.
@@ -260,6 +260,8 @@ kolla_overcloud_inventory_top_level_group_map:
 kolla_overcloud_inventory_kolla_top_level_groups:
   - "control"
   - "network"
+  - "inner-compute"
+  - "external-compute"
   - "compute"
   - "monitoring"
   - "storage"
@@ -281,8 +283,8 @@ kolla_enable_tls_external: "no"
 # Whether debug logging is enabled.
 kolla_openstack_logging_debug: "False"
 
-# Upper constraints file for the stable/pike branch of Kolla
-kolla_upper_constraints_file: "https://raw.githubusercontent.com/openstack/requirements/stable/pike/upper-constraints.txt"
+# Upper constraints file for installation of Kolla.
+kolla_upper_constraints_file: "https://raw.githubusercontent.com/openstack/requirements/stable/queens/upper-constraints.txt"
 
 ###############################################################################
 # Kolla feature flag configuration.
diff --git a/ansible/roles/kolla-ansible/templates/globals.yml.j2 b/ansible/roles/kolla-ansible/templates/globals.yml.j2
index e6dc0d2e..91863972 100644
--- a/ansible/roles/kolla-ansible/templates/globals.yml.j2
+++ b/ansible/roles/kolla-ansible/templates/globals.yml.j2
@@ -2,17 +2,18 @@
 # {{ ansible_managed }}
 
 # You can use this file to override _any_ variable throughout Kolla.
-# Additional options can be found in the 'kolla/ansible/group_vars/all.yml' file.
-# Default value of all the commented parameters are shown here, To override
-# the default value uncomment the parameter and change its value.
+# Additional options can be found in the
+# 'kolla-ansible/ansible/group_vars/all.yml' file. Default value of all the
+# commented parameters are shown here, To override the default value uncomment
+# the parameter and change its value.
 
-###################
+###############
 # Kolla options
-###################
+###############
 # Valid options are [ COPY_ONCE, COPY_ALWAYS ]
 config_strategy: "COPY_ALWAYS"
 
-# Valid options are [ centos, fedora, oraclelinux, ubuntu ]
+# Valid options are ['centos', 'debian', 'oraclelinux', 'rhel', 'ubuntu']
 kolla_base_distro: "{{ kolla_base_distro }}"
 
 # Valid options are [ binary, source ]
@@ -21,9 +22,13 @@ kolla_install_type: "{{ kolla_install_type }}"
 # Valid option is Docker repository tag
 openstack_release: "{{ kolla_openstack_release }}"
 
+# Location of configuration overrides
+node_custom_config: "{{ kolla_node_custom_config_path }}"
+
 # This should be a VIP, an unused IP on your network that will float between
-# the hosts running keepalived for high-availability. When running an All-In-One
-# without haproxy and keepalived, this should be the first IP on your
+# the hosts running keepalived for high-availability. If you want to run an
+# All-In-One without haproxy and keepalived, you can set enable_haproxy to no
+# in "OpenStack options" section, and set this value to the IP of your
 # 'network_interface' as set in the Networking section below.
 kolla_internal_vip_address: "{{ kolla_internal_vip_address }}"
 
@@ -43,13 +48,9 @@ kolla_external_vip_address: "{{ kolla_external_vip_address }}"
 # kolla_external_vip_address.
 kolla_external_fqdn: "{{ kolla_external_fqdn }}"
 
-# Path to directory on control host containing Kolla custom configuration
-# files.
-node_custom_config: "{{ kolla_node_custom_config_path }}"
-
-####################
+################
 # Docker options
-####################
+################
 ### Example: Private repository with authentication
 
 #docker_registry: "172.16.0.10:4000"
@@ -62,11 +63,22 @@ docker_registry_username: "{{ kolla_docker_registry_username }}"
 docker_registry_password: "{{ kolla_docker_registry_password }}"
 {% endif %}
 
+###################
+# Messaging options
+###################
+# Below is an example of an separate backend that provides brokerless
+# messaging for oslo.messaging RPC communications
 
+#om_rpc_transport: "amqp"
+#om_rpc_user: "{% raw %}{{ qdrouterd_user }}{% endraw %}"
+#om_rpc_password: "{% raw %}{{ qdrouterd_password }}{% endraw %}"
+#om_rpc_port: "{% raw %}{{ qdrouterd_port }}{% endraw %}"
+#om_rpc_group: "qdrouterd"
 
-####################
-# Networking options
-####################
+
+##############################
+# Neutron - Networking Options
+##############################
 # This interface is what all your api services will be bound to by default.
 # Additionally, all vxlan/tunnel and storage network traffic will go over this
 # interface by default. This interface must contain an IPv4 address.
@@ -134,9 +146,9 @@ neutron_tenant_network_types: {{ kolla_neutron_ml2_tenant_network_types | join('
 #keepalived_virtual_router_id: "51"
 
 
-####################
+#############
 # TLS options
-####################
+#############
 # To provide encryption and authentication on the kolla_external_vip_interface,
 # TLS can be enabled.  When TLS is enabled, certificates must be provided to
 # allow clients to perform authentication.
@@ -144,14 +156,20 @@ kolla_enable_tls_external: {{ kolla_enable_tls_external | bool }}
 kolla_external_fqdn_cert: "{{ kolla_external_fqdn_cert }}"
 
 
-####################
+##############
+# OpenDaylight
+##############
+#enable_opendaylight_qos: "no"
+#enable_opendaylight_l3: "yes"
+
+###################
 # OpenStack options
-####################
+###################
 # Use these options to set the various log levels across all OpenStack projects
 # Valid options are [ True, False ]
 openstack_logging_debug: {{ kolla_openstack_logging_debug | bool }}
 
-# Valid options are [ novnc, spice ]
+# Valid options are [ none, novnc, spice, rdp ]
 #nova_console: "novnc"
 
 # OpenStack services can be enabled or disabled with these options
@@ -161,12 +179,21 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 {% endif %}
 {% endfor %}
 
-###################
+##############
 # Ceph options
-###################
+##############
 # Ceph can be setup with a caching to improve performance. To use the cache you
 # must provide separate disks than those for the OSDs
 #ceph_enable_cache: "no"
+
+# Set to no if using external Ceph without cephx.
+#external_ceph_cephx_enabled: "yes"
+
+# Ceph is not able to determine the size of a cache pool automatically,
+# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
+#ceph_target_max_bytes: ""
+#ceph_target_max_objects: ""
+
 # Valid options are [ forward, none, writeback ]
 #ceph_cache_mode: "writeback"
 
@@ -174,10 +201,16 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # Valid options are [ erasure, replicated ]
 #ceph_pool_type: "replicated"
 
+# Integrate ceph rados object gateway with openstack keystone
+#enable_ceph_rgw_keystone: "no"
 
-#######################
-# Keystone options
-#######################
+# Set the pgs and pgps for pool
+#ceph_pool_pg_num: 128
+#ceph_pool_pgp_num: 128
+
+#############################
+# Keystone - Identity Options
+#############################
 
 # Valid options are [ uuid, fernet ]
 #keystone_token_provider: 'uuid'
@@ -189,65 +222,119 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # 28800(8 hour), 43200(12 hour), 86400(1 day), 604800(1 week).
 #fernet_token_expiry: 86400
 
+#######################
+# Nova options
+#######################
+#nova_backend_ceph: "{% raw %}{{ enable_ceph }}{% endraw %}"
+
 
 #######################
-# Glance options
+# Horizon options
 #######################
+#horizon_backend_database: "no"
+
+########################
+# Glance - Image Options
+########################
 # Configure image backend.
 #glance_backend_file: "yes"
 #glance_backend_ceph: "no"
+#glance_backend_vmware: "no"
+#glance_backend_swift: "no"
 
-#######################
-# Ceilometer options
-#######################
-# Valid options are [ mongodb, mysql, gnocchi ]
-#ceilometer_database_type: "mongodb"
 
+##################
+# Barbican options
+##################
+# Valid options are [ simple_crypto, p11_crypto ]
+#barbican_crypto_plugin: "simple_crypto"
+#barbican_library_path: "/usr/lib/libCryptoki2_64.so"
 
-#######################
+################
+## Panko options
+################
+# Valid options are [ mongodb, mysql ]
+#panko_database_type: "mysql"
+
+#################
 # Gnocchi options
-#######################
+#################
 # Valid options are [ file, ceph ]
 #gnocchi_backend_storage: "{% raw %}{{ 'ceph' if enable_ceph|bool else 'file' }}{% endraw %}"
 
 
-#######################
-# Cinder options
-#######################
+################################
+# Cinder - Block Storage Options
+################################
 # Enable / disable Cinder backends
 #cinder_backend_ceph: "{% raw %}{{ enable_ceph }}{% endraw %}"
-
+#cinder_backend_vmwarevc_vmdk: "no"
 #cinder_volume_group: "cinder-volumes"
 
-
-#######################
-# Nova options
-#######################
-#nova_backend_ceph: "{% raw %}{{ enable_ceph }}{% endraw %}"
+# Valid options are [ nfs, swift, ceph ]
+#cinder_backup_driver: "ceph"
+#cinder_backup_share: ""
+#cinder_backup_mount_options_nfs: ""
 
 
-#######################
-# Horizon options
-#######################
-#horizon_backend_database: "no"
+###################
+# Designate options
+###################
+# Valid options are [ bind9 ]
+#designate_backend: "bind9"
+#designate_ns_record: "sample.openstack.org"
 
+########################
+# Nova - Compute Options
+########################
+#nova_backend_ceph: "{% raw %}{{ enable_ceph }}{% endraw %}"
 
-#######################################
+# Valid options are [ qemu, kvm, vmware, xenapi ]
+#nova_compute_virt_type: "kvm"
+
+# The number of fake driver per compute node
+#num_nova_fake_per_node: 5
+
+#################
+# Hyper-V options
+#################
+# Hyper-V can be used as hypervisor
+#hyperv_username: "user"
+#hyperv_password: "password"
+#vswitch_name: "vswitch"
+# URL from which Nova Hyper-V MSI is downloaded
+#nova_msi_url: "https://www.cloudbase.it/downloads/HyperVNovaCompute_Beta.msi"
+
+#############################
+# Horizon - Dashboard Options
+#############################
+#horizon_backend_database: "{% raw %}{{ enable_murano | bool }}{% endraw %}"
+
+#############################
+# Ironic options
+#############################
+#ironic_dnsmasq_dhcp_range:
+
+######################################
 # Manila - Shared File Systems Options
-#######################################
-# Valid options are [ True, False ]
-#driver_handles_share_servers: "True"
-
-
-##################################
+######################################
+# HNAS backend configuration
+#hnas_ip:
+#hnas_user:
+#hnas_password:
+#hnas_evs_id:
+#hnas_evs_ip:
+#hnas_file_system_name:
+
+################################
 # Swift - Object Storage Options
-##################################
+################################
 # Swift expects block devices to be available for storage. Two types of storage
 # are supported: 1 - storage device with a special partition name and filesystem
 # label, 2 - unpartitioned disk  with a filesystem. The label of this filesystem
 # is used to detect the disk which Swift will be using.
 
-# Swift support two mathcing modes, valid options are [ prefix, strict ]
+# Swift support two matching modes, valid options are [ prefix, strict ]
 #swift_devices_match_mode: "strict"
 
 # This parameter defines matching pattern: if "strict" mode was selected,
@@ -270,13 +357,32 @@ tempest_floating_network_name:
 # tempest_image_alt_id: "{% raw %}{{ tempest_image_id }}{% endraw %}"
 # tempest_flavor_ref_alt_id: "{% raw %}{{ tempest_flavor_ref_id }}{% endraw %}"
 
+###################################
+# VMware - OpenStack VMware support
+###################################
+#vmware_vcenter_host_ip:
+#vmware_vcenter_host_username:
+#vmware_vcenter_host_password:
+#vmware_datastore_name:
+#vmware_vcenter_name:
+#vmware_vcenter_cluster_name:
+
+#######################################
+# XenAPI - Support XenAPI for XenServer
+#######################################
+# XenAPI driver use HIMN(Host Internal Management Network)
+# to communicate with XenServer host.
+#xenserver_himn_ip:
+#xenserver_username:
+#xenserver_connect_protocol:
+
 
 #####################################
 # Bifrost - Bare Metal Provisioning
 #####################################
 
 # The Bifrost deployment image only supports a source installation.
-bifrost_deploy_image: "{% raw %}{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-source-bifrost-deploy{% endraw %}"
+bifrost_install_type: source
 
 
 ############################################
diff --git a/ansible/roles/kolla-ansible/templates/overcloud-components.j2 b/ansible/roles/kolla-ansible/templates/overcloud-components.j2
index 6a08a3e5..bbe37b52 100644
--- a/ansible/roles/kolla-ansible/templates/overcloud-components.j2
+++ b/ansible/roles/kolla-ansible/templates/overcloud-components.j2
@@ -15,7 +15,7 @@ monitoring
 # You can explicitly specify which hosts run each project by updating the
 # groups in the sections below. Common services are grouped together.
 [chrony-server:children]
-control
+haproxy
 
 [chrony:children]
 control
@@ -32,6 +32,7 @@ monitoring
 
 [etcd:children]
 control
+compute
 
 [influxdb:children]
 monitoring
@@ -77,6 +78,9 @@ control
 [outward-rabbitmq:children]
 control
 
+[qdrouterd:children]
+control
+
 [mongodb:children]
 control
 
@@ -97,6 +101,9 @@ network
 compute
 manila-share
 
+[opendaylight:children]
+network
+
 [cinder:children]
 control
 
@@ -176,6 +183,9 @@ control
 [vmtp:children]
 control
 
+[vitrage:children]
+control
+
 [watcher:children]
 control
 
@@ -203,5 +213,11 @@ control
 [skydive:children]
 monitoring
 
+[redis:children]
+control
+
+[blazar:children]
+control
+
 [zookeeper:children]
 control
diff --git a/ansible/roles/kolla-ansible/templates/overcloud-services.j2 b/ansible/roles/kolla-ansible/templates/overcloud-services.j2
index a616d3cb..88076b24 100644
--- a/ansible/roles/kolla-ansible/templates/overcloud-services.j2
+++ b/ansible/roles/kolla-ansible/templates/overcloud-services.j2
@@ -74,6 +74,15 @@ neutron
 neutron
 
 # Ceph
+[ceph-mds:children]
+ceph
+
+[ceph-mgr:children]
+ceph
+
+[ceph-nfs:children]
+ceph
+
 [ceph-mon:children]
 ceph
 
@@ -238,18 +247,12 @@ mistral
 mistral
 
 # Ceilometer
-[ceilometer-api:children]
-ceilometer
-
 [ceilometer-central:children]
 ceilometer
 
 [ceilometer-notification:children]
 ceilometer
 
-[ceilometer-collector:children]
-ceilometer
-
 [ceilometer-compute:children]
 compute
 
@@ -348,9 +351,12 @@ designate
 [designate-central:children]
 designate
 
-[designate-mdns:children]
+[designate-producer:children]
 designate
 
+[designate-mdns:children]
+network
+
 [designate-worker:children]
 designate
 
@@ -378,3 +384,33 @@ skydive
 [skydive-agent:children]
 compute
 network
+
+# Tacker
+[tacker-server:children]
+tacker
+
+[tacker-conductor:children]
+tacker
+
+# Vitrage
+[vitrage-api:children]
+vitrage
+
+[vitrage-notifier:children]
+vitrage
+
+[vitrage-graph:children]
+vitrage
+
+[vitrage-collector:children]
+vitrage
+
+[vitrage-ml:children]
+vitrage
+
+# Blazar
+[blazar-api:children]
+blazar
+
+[blazar-manager:children]
+blazar
diff --git a/ansible/roles/kolla-ansible/templates/overcloud-top-level.j2 b/ansible/roles/kolla-ansible/templates/overcloud-top-level.j2
index 1d57cc65..50a2e6a3 100644
--- a/ansible/roles/kolla-ansible/templates/overcloud-top-level.j2
+++ b/ansible/roles/kolla-ansible/templates/overcloud-top-level.j2
@@ -66,3 +66,7 @@ ansible_python_interpreter={{ kolla_ansible_target_venv }}/bin/python
 
 {% endif %}
 {% endfor %}
+
+[compute:children]
+inner-compute
+external-compute
diff --git a/ansible/roles/kolla-ansible/vars/main.yml b/ansible/roles/kolla-ansible/vars/main.yml
index 15888bdb..6cb220df 100644
--- a/ansible/roles/kolla-ansible/vars/main.yml
+++ b/ansible/roles/kolla-ansible/vars/main.yml
@@ -58,9 +58,12 @@ kolla_overcloud_inventory: "{{ kolla_overcloud_inventory_custom or kolla_overclo
 kolla_feature_flags:
   - aodh
   - barbican
+  - blazar
   - ceilometer
   - central_logging
   - ceph
+  - ceph_mds
+  - ceph_nfs
   - ceph_rgw
   - cinder
   - cinder_backend_hnas_iscsi
@@ -68,12 +71,14 @@ kolla_feature_flags:
   - cinder_backend_iscsi
   - cinder_backend_lvm
   - cinder_backend_nfs
+  - cinder_backend_zfssa_iscsi
   - cloudkitty
   - collectd
   - congress
   - designate
   - elasticsearch
   - etcd
+  - fluentd
   - freezer
   - gnocchi
   - grafana
@@ -82,6 +87,7 @@ kolla_feature_flags:
   - horizon
   - influxdb
   - ironic
+  - ironic_pxe_uefi
   - kafka
   - karbor
   - kibana
@@ -90,23 +96,28 @@ kolla_feature_flags:
   - manila
   - manila_backend_generic
   - manila_backend_hnas
+  - manila_backend_cephfs_native
+  - manila_backend_cephfs_nfs
   - mistral
   - mongodb
   - monasca
   - murano
   - multipathd
+  - neutron_agent_ha
+  - neutron_bgp_dragent
   - neutron_dvr
   - neutron_fwaas
   - neutron_lbaas
+  - neutron_provider_networks
   - neutron_qos
-  - neutron_agent_ha
+  - neutron_segments
+  - neutron_sriov
   - neutron_vpnaas
-  - neutron_bgp_dragent
-  - neutron_provider_networks
   - nova_serialconsole_proxy
   - octavia
   - osprofiler
   - panko
+  - qdrouterd
   - rally
   - sahara
   - searchlight
@@ -118,6 +129,8 @@ kolla_feature_flags:
   - telegraf
   - tempest
   - trove
+  - vitrage
+  - vmtp
   - watcher
   - zookeeper
   - zun
diff --git a/doc/source/release-notes.rst b/doc/source/release-notes.rst
index 03ef155c..da3cf71f 100644
--- a/doc/source/release-notes.rst
+++ b/doc/source/release-notes.rst
@@ -5,6 +5,8 @@ Release Notes
 In Development
 ==============
 
+Kayobe 4.0.0 will be based on the Queens release of OpenStack.
+
 Features
 --------
 
diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml
index 568e71c5..dafdade7 100644
--- a/etc/kayobe/kolla.yml
+++ b/etc/kayobe/kolla.yml
@@ -146,10 +146,13 @@
 
 #kolla_enable_aodh:
 #kolla_enable_barbican:
+#kolla_enable_blazar:
 #kolla_enable_cadf_notifications:
 #kolla_enable_ceilometer:
 #kolla_enable_central_logging:
 #kolla_enable_ceph:
+#kolla_enable_ceph_mds:
+#kolla_enable_ceph_nfs:
 #kolla_enable_ceph_rgw:
 #kolla_enable_cinder:
 #kolla_enable_cinder_backend_hnas_iscsi:
@@ -157,10 +160,12 @@
 #kolla_enable_cinder_backend_iscsi:
 #kolla_enable_cinder_backend_lvm:
 #kolla_enable_cinder_backend_nfs:
+#kolla_enable_cinder_backend_zfssa_iscsi:
 #kolla_enable_cloudkitty:
 #kolla_enable_congress:
 #kolla_enable_designate:
 #kolla_enable_etcd:
+#kolla_enable_fluentd:
 #kolla_enable_freezer:
 #kolla_enable_gnocchi:
 #kolla_enable_grafana:
@@ -169,6 +174,7 @@
 #kolla_enable_horizon:
 #kolla_enable_influxdb:
 #kolla_enable_ironic:
+#kolla_enable_ironic_pxe_uefi:
 #kolla_enable_iscsid:
 #kolla_enable_karbor:
 #kolla_enable_kuryr:
@@ -176,23 +182,28 @@
 #kolla_enable_manila:
 #kolla_enable_manila_backend_generic:
 #kolla_enable_manila_backend_hnas:
+#kolla_enable_manila_backend_cephfs_native:
+#kolla_enable_manila_backend_cephfs_nfs:
 #kolla_enable_mistral:
 #kolla_enable_monasca:
 #kolla_enable_mongodb:
 #kolla_enable_multipathd:
 #kolla_enable_murano:
-#kolla_enable_neutron_vpnaas:
+#kolla_enable_neutron_agent_ha:
+#kolla_enable_neutron_bgp_dragent:
 #kolla_enable_neutron_dvr:
 #kolla_enable_neutron_fwaas:
 #kolla_enable_neutron_lbaas:
-#kolla_enable_neutron_qos:
-#kolla_enable_neutron_agent_ha:
-#kolla_enable_neutron_bgp_dragent:
 #kolla_enable_neutron_provider_networks:
+#kolla_enable_neutron_qos:
+#kolla_enable_neutron_segments:
+#kolla_enable_neutron_sriov:
+#kolla_enable_neutron_vpnaas:
 #kolla_enable_nova_serialconsole_proxy:
 #kolla_enable_octavia:
 #kolla_enable_osprofiler:
 #kolla_enable_panko:
+#kolla_enable_qdrouterd:
 #kolla_enable_rally:
 #kolla_enable_sahara:
 #kolla_enable_searchlight:
@@ -204,6 +215,7 @@
 #kolla_enable_telegraf:
 #kolla_enable_tempest:
 #kolla_enable_trove:
+#kolla_enable_vitrage:
 #kolla_enable_vmtp:
 #kolla_enable_watcher:
 #kolla_enable_zun:
diff --git a/tox.ini b/tox.ini
index c241b1d5..f92d825c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -17,7 +17,7 @@ setenv =
    OS_STDERR_CAPTURE=1
    OS_TEST_TIMEOUT=60
 deps =
-    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
+    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/queens}
     -r{toxinidir}/requirements.txt
     -r{toxinidir}/test-requirements.txt
 commands = stestr run {posargs}
@@ -98,7 +98,7 @@ commands =
 
 [testenv:docs]
 deps =
-    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
+    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/queens}
     -r{toxinidir}/requirements.txt
     -r{toxinidir}/doc/requirements.txt
 commands = sphinx-build -b html doc/source doc/build/html
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 4c9c78b5..e930aaa6 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -24,7 +24,7 @@
     timeout: 3600
     required-projects:
       - name: openstack/requirements
-        override-checkout: stable/pike
+        override-checkout: stable/queens
     vars:
       tox_envlist: molecule
 
-- 
GitLab