diff --git a/ansible/roles/kolla-ansible/templates/globals.yml.j2 b/ansible/roles/kolla-ansible/templates/globals.yml.j2
index 05fc332d9b5ce67aeb7705c367b74961b9061878..adf4fa1b4166beb4624e25bfcb2366ce673e4f82 100644
--- a/ansible/roles/kolla-ansible/templates/globals.yml.j2
+++ b/ansible/roles/kolla-ansible/templates/globals.yml.j2
@@ -69,6 +69,8 @@ docker_registry_username: "{{ kolla_docker_registry_username }}"
 docker_registry_password: "{{ kolla_docker_registry_password }}"
 {% endif %}
 
+#docker_configure_for_zun: "no"
+
 ###################
 # Messaging options
 ###################
@@ -98,9 +100,33 @@ docker_registry_password: "{{ kolla_docker_registry_password }}"
 # NOTE: Most network interfaces are configured via the inventory and are
 # therefore not set here.
 
+# Configure the address family (AF) per network.
+# Valid options are [ ipv4, ipv6 ]
+#network_address_family: "ipv4"
+#api_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#storage_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#cluster_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#swift_storage_address_family: "{% raw %}{{ storage_address_family }}{% endraw %}"
+#swift_replication_address_family: "{% raw %}{{ swift_storage_address_family }}{% endraw %}"
+#migration_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#tunnel_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#octavia_network_address_family: "{% raw %}{{ api_address_family }}{% endraw %}"
+#bifrost_network_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+#dns_address_family: "{% raw %}{{ network_address_family }}{% endraw %}"
+
 # Valid options are [ openvswitch, linuxbridge ]
 neutron_plugin_agent: "openvswitch"
 
+# Valid options are [ internal, infoblox ]
+#neutron_ipam_driver: "internal"
+
+# Configure Neutron upgrade option, currently Kolla support
+# two upgrade ways for Neutron: legacy_upgrade and rolling_upgrade
+# The variable "neutron_enable_rolling_upgrade: yes" is meaning rolling_upgrade
+# were enabled and opposite
+# Neutron rolling upgrade were enable by default
+#neutron_enable_rolling_upgrade: "yes"
+
 # Comma-separated names of neutron ML2 type drivers.
 {% if kolla_neutron_ml2_type_drivers %}
 neutron_type_drivers: {{ kolla_neutron_ml2_type_drivers | join(',') }}
@@ -117,8 +143,34 @@ neutron_tenant_network_types: {{ kolla_neutron_ml2_tenant_network_types | join('
 # keepalived options
 ####################
 # Arbitrary unique number from 0..255
+# This should be changed from the default in the event of a multi-region deployment
+# where the VIPs of different regions reside on a common subnet.
 #keepalived_virtual_router_id: "51"
 
+###################
+# Dimension options
+###################
+# This is to provide an extra option to deploy containers with Resource constraints.
+# We call it dimensions here.
+# The dimensions for each container are defined by a mapping, where each dimension value should be a
+# string.
+# Reference_Docs
+# https://docs.docker.com/config/containers/resource_constraints/
+# eg:
+# <container_name>_dimensions:
+#    blkio_weight:
+#    cpu_period:
+#    cpu_quota:
+#    cpu_shares:
+#    cpuset_cpus:
+#    cpuset_mems:
+#    mem_limit:
+#    mem_reservation:
+#    memswap_limit:
+#    kernel_memory:
+#    ulimits:
+
+
 
 #############
 # TLS options
@@ -130,6 +182,15 @@ kolla_enable_tls_external: {{ kolla_enable_tls_external | bool }}
 kolla_external_fqdn_cert: "{{ kolla_external_fqdn_cert }}"
 kolla_external_fqdn_cacert: "{{ kolla_external_fqdn_cacert }}"
 
+################
+# Region options
+################
+# Use this option to change the name of this region.
+#openstack_region_name: "RegionOne"
+
+# Use this option to define a list of region names - only needs to be configured
+# in a multi-region deployment, and then only in the *first* region.
+#multiple_regions_names: ["{% raw %}{{ openstack_region_name }}{% endraw %}"]
 
 ##############
 # OpenDaylight
@@ -154,6 +215,16 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 {% endif %}
 {% endfor %}
 
+##################
+# RabbitMQ options
+##################
+# Options passed to RabbitMQ server startup script via the
+# RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS environment var.
+# See Kolla Ansible docs RabbitMQ section for details.
+# These are appended to args already provided by Kolla Ansible
+# to configure IPv6 in RabbitMQ server.
+#rabbitmq_server_additional_erl_args: ""
+
 ##############
 # Ceph options
 ##############
@@ -180,8 +251,11 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 #enable_ceph_rgw_keystone: "no"
 
 # Set the pgs and pgps for pool
-#ceph_pool_pg_num: 128
-#ceph_pool_pgp_num: 128
+# WARNING! These values are dependant on the size and shape of your cluster -
+# the default values are not suitable for production use. Please refer to the
+# Kolla Ceph documentation for more information.
+#ceph_pool_pg_num: 8
+#ceph_pool_pgp_num: 8
 
 #############################
 # Keystone - Identity Options
@@ -190,6 +264,10 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # Valid options are [ fernet ]
 #keystone_token_provider: 'fernet'
 
+#keystone_admin_user: "admin"
+
+#keystone_admin_project: "admin"
+
 # Interval to rotate fernet keys by (in seconds). Must be an interval of
 # 60(1 min), 120(2 min), 180(3 min), 240(4 min), 300(5 min), 360(6 min),
 # 600(10 min), 720(12 min), 900(15 min), 1200(20 min), 1800(30 min),
@@ -197,26 +275,26 @@ 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 %}"
-
-
-#######################
-# 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_file: "yes"
 #glance_backend_swift: "no"
+#glance_backend_vmware: "no"
+#enable_glance_image_cache: "no"
+# Configure glance upgrade option.
+# Due to this feature being experimental in glance,
+# the default value is "no".
+#glance_enable_rolling_upgrade: "no"
 
+####################
+# Osprofiler options
+####################
+# valid values: ["elasticsearch", "redis"]
+#osprofiler_backend: "elasticsearch"
 
 ##################
 # Barbican options
@@ -237,6 +315,8 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # Valid options are [ file, ceph ]
 #gnocchi_backend_storage: "{% raw %}{{ 'ceph' if enable_ceph|bool else 'file' }}{% endraw %}"
 
+# Valid options are [redis, '']
+#gnocchi_incoming_storage: "{% raw %}{{ 'redis' if enable_redis | bool else '' }}{% endraw %}"
 
 ################################
 # Cinder - Block Storage Options
@@ -245,12 +325,25 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 #cinder_backend_ceph: "{% raw %}{{ enable_ceph }}{% endraw %}"
 #cinder_backend_vmwarevc_vmdk: "no"
 #cinder_volume_group: "cinder-volumes"
+# Valid options are [ '', redis, etcd ]
+#cinder_coordination_backend: "{% raw %}{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}{% endraw %}"
 
 # Valid options are [ nfs, swift, ceph ]
 #cinder_backup_driver: "ceph"
 #cinder_backup_share: ""
 #cinder_backup_mount_options_nfs: ""
 
+#######################
+# Cloudkitty options
+#######################
+# Valid option is gnocchi
+#cloudkitty_collector_backend: "gnocchi"
+# Valid options are 'sqlalchemy' or 'influxdb'. The default value is
+# 'influxdb', which matches the default in Cloudkitty since the Stein release.
+# When the backend is "influxdb", we also enable Influxdb.
+# Also, when using 'influxdb' as the backend, we trigger the configuration/use
+# of Cloudkitty storage backend version 2.
+#cloudkitty_storage_backend: "influxdb"
 
 ###################
 # Designate options
@@ -258,6 +351,8 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # Valid options are [ bind9 ]
 #designate_backend: "bind9"
 #designate_ns_record: "sample.openstack.org"
+# Valid options are [ '', redis, etcd ]
+#designate_coordination_backend: "{% raw %}{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}{% endraw %}"
 
 ########################
 # Nova - Compute Options
@@ -270,6 +365,18 @@ enable_{{ feature_flag }}: {{ hostvars[inventory_hostname]['kolla_enable_' ~ fea
 # The number of fake driver per compute node
 #num_nova_fake_per_node: 5
 
+# The flag "nova_safety_upgrade" need to be consider when
+# "nova_enable_rolling_upgrade" is enabled. The "nova_safety_upgrade"
+# controls whether the nova services are all stopped before rolling
+# upgrade to the new version, for the safety and availability.
+# If "nova_safety_upgrade" is "yes", that will stop all nova services (except
+# nova-compute) for no failed API operations before upgrade to the
+# new version. And opposite.
+#nova_safety_upgrade: "no"
+
+# Valid options are [ none, novnc, spice, rdp ]
+#nova_console: "novnc"
+
 #################
 # Hyper-V options
 #################
@@ -298,6 +405,18 @@ ironic_dnsmasq_default_gateway: {{ kolla_inspector_default_gateway }}
 ironic_inspector_kernel_cmdline_extras:
 {{ kolla_inspector_extra_kernel_options | to_nice_yaml }}
 {% endif %}
+# PXE bootloader file for Ironic Inspector, relative to /tftpboot.
+#ironic_dnsmasq_boot_file: "pxelinux.0"
+
+# Configure ironic upgrade option, due to currently kolla support
+# two upgrade ways for ironic: legacy_upgrade and rolling_upgrade
+# The variable "ironic_enable_rolling_upgrade: yes" is meaning rolling_upgrade
+# were enabled and opposite
+# Rolling upgrade were enable by default
+#ironic_enable_rolling_upgrade: "yes"
+
+# List of extra kernel parameters passed to the kernel used during inspection
+#ironic_inspector_kernel_cmdline_extras: []
 
 ######################################
 # Manila - Shared File Systems Options
@@ -328,15 +447,22 @@ ironic_inspector_kernel_cmdline_extras:
 # filesystems' labels prepared for swift.
 #swift_devices_name: "KOLLA_SWIFT_DATA"
 
+# Configure swift upgrade option, due to currently kolla support
+# two upgrade ways for swift: legacy_upgrade and rolling_upgrade
+# The variable "swift_enable_rolling_upgrade: yes" is meaning rolling_upgrade
+# were enabled and opposite
+# Rolling upgrade were enable by default
+#swift_enable_rolling_upgrade: "yes"
+
 
 ################################################
 # Tempest - The OpenStack Integration Test Suite
 ################################################
-# following value must be set when enable tempest
-tempest_image_id:
-tempest_flavor_ref_id:
-tempest_public_network_id:
-tempest_floating_network_name:
+# The following values must be set when enabling tempest
+#tempest_image_id:
+#tempest_flavor_ref_id:
+#tempest_public_network_id:
+#tempest_floating_network_name:
 
 # tempest_image_alt_id: "{% raw %}{{ tempest_image_id }}{% endraw %}"
 # tempest_flavor_ref_alt_id: "{% raw %}{{ tempest_flavor_ref_id }}{% endraw %}"
@@ -360,6 +486,38 @@ tempest_floating_network_name:
 #xenserver_username:
 #xenserver_connect_protocol:
 
+############
+# Prometheus
+############
+#enable_prometheus_haproxy_exporter: "{% raw %}{{ enable_haproxy | bool }}{% endraw %}"
+#enable_prometheus_mysqld_exporter: "{% raw %}{{ enable_mariadb | bool }}{% endraw %}"
+#enable_prometheus_node_exporter: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+#enable_prometheus_cadvisor: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+#enable_prometheus_memcached: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+#enable_prometheus_alertmanager: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+#enable_prometheus_ceph_mgr_exporter: "{% raw %}{{ enable_prometheus | bool and enable_ceph | bool }}{% endraw %}"
+#enable_prometheus_openstack_exporter: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+#enable_prometheus_elasticsearch_exporter: "{% raw %}{{ enable_prometheus | bool and enable_elasticsearch | bool }}{% endraw %}"
+#enable_prometheus_blackbox_exporter: "{% raw %}{{ enable_prometheus | bool }}{% endraw %}"
+
+# List of extra parameters passed to prometheus. You can add as many to the list.
+#prometheus_cmdline_extras:
+
+#########
+# Freezer
+#########
+# Freezer can utilize two different database backends, elasticsearch or mariadb.
+# Elasticsearch is preferred, however it is not compatible with the version deployed
+# by kolla-ansible. You must first setup an external elasticsearch with 2.3.0.
+# By default, kolla-ansible deployed mariadb is the used database backend.
+#freezer_database_backend: "mariadb"
+
+##########
+# Telegraf
+##########
+# Configure telegraf to use the docker daemon itself as an input for
+# telemetry data.
+#telegraf_enable_docker_input: "no"
 
 #####################################
 # Bifrost - Bare Metal Provisioning
diff --git a/ansible/roles/kolla-ansible/templates/overcloud-components.j2 b/ansible/roles/kolla-ansible/templates/overcloud-components.j2
index a3434f329306d448e981187378816f12eaf5dfe8..212f9ed46b3d047c166ec3893167e05dc54466f1 100644
--- a/ansible/roles/kolla-ansible/templates/overcloud-components.j2
+++ b/ansible/roles/kolla-ansible/templates/overcloud-components.j2
@@ -158,6 +158,9 @@ control
 [magnum:children]
 control
 
+[qinling:children]
+control
+
 [sahara:children]
 control
 
diff --git a/ansible/roles/kolla-ansible/templates/overcloud-services.j2 b/ansible/roles/kolla-ansible/templates/overcloud-services.j2
index fe093bb9f0bba9c2e008f4da29ce8b4133d48492..9377968f66c35657be6c860550cefed761e25a61 100644
--- a/ansible/roles/kolla-ansible/templates/overcloud-services.j2
+++ b/ansible/roles/kolla-ansible/templates/overcloud-services.j2
@@ -25,9 +25,6 @@ nova
 [nova-super-conductor:children]
 nova
 
-[nova-consoleauth:children]
-nova
-
 [nova-novncproxy:children]
 nova
 
@@ -61,9 +58,6 @@ neutron
 [neutron-l3-agent:children]
 neutron
 
-[neutron-lbaas-agent:children]
-neutron
-
 [neutron-metadata-agent:children]
 neutron
 
@@ -272,6 +266,13 @@ magnum
 [magnum-conductor:children]
 magnum
 
+# Qinling
+[qinling-api:children]
+qinling
+
+[qinling-engine:children]
+qinling
+
 # Sahara
 [sahara-api:children]
 sahara
@@ -526,3 +527,15 @@ monitoring
 
 [prometheus-elasticsearch-exporter:children]
 elasticsearch
+
+[prometheus-blackbox-exporter:children]
+monitoring
+
+[masakari-api:children]
+control
+
+[masakari-engine:children]
+control
+
+[masakari-monitors:children]
+compute
diff --git a/ansible/roles/kolla-ansible/vars/main.yml b/ansible/roles/kolla-ansible/vars/main.yml
index 19dc6a80b804ab1f74eac839db2b12586d6cf87f..4bc14628d909ec970840d583be1f39b1e9fafde4 100644
--- a/ansible/roles/kolla-ansible/vars/main.yml
+++ b/ansible/roles/kolla-ansible/vars/main.yml
@@ -74,40 +74,78 @@ kolla_feature_flags:
   - aodh
   - barbican
   - blazar
+  - cadf_notifications
   - ceilometer
+  - ceilometer_ipmi
+  - cells
   - central_logging
   - ceph
   - ceph_mds
-  - ceph_nfs
   - ceph_rgw
+  - ceph_nfs
+  - ceph_dashboard
   - chrony
   - cinder
-  - cinder_backend_hnas_iscsi
+  - cinder_backup
   - cinder_backend_hnas_nfs
   - cinder_backend_iscsi
   - cinder_backend_lvm
   - cinder_backend_nfs
   - cinder_backend_zfssa_iscsi
+  - cinder_backend_quobyte
   - cloudkitty
   - collectd
   - congress
+  - cyborg
   - designate
+  - destroy_images
   - elasticsearch
   - etcd
   - fluentd
   - freezer
+  - glance
   - gnocchi
   - grafana
   - haproxy
   - heat
   - horizon
+  - horizon_blazar
+  - horizon_cloudkitty
+  - horizon_congress
+  - horizon_designate
+  - horizon_fwaas
+  - horizon_freezer
+  - horizon_heat
+  - horizon_ironic
+  - horizon_karbor
+  - horizon_magnum
+  - horizon_manila
+  - horizon_masakari
+  - horizon_mistral
+  - horizon_murano
+  - horizon_neutron_vpnaas
+  - horizon_octavia
+  - horizon_qinling
+  - horizon_sahara
+  - horizon_searchlight
+  - horizon_senlin
+  - horizon_solum
+  - horizon_tacker
+  - horizon_trove
+  - horizon_vitrage
+  - horizon_watcher
+  - horizon_zun
+  - hyperv
   - influxdb
   - ironic
   - ironic_ipxe
   - ironic_neutron_agent
   - ironic_pxe_uefi
-  - kafka
+  - iscsid
   - karbor
+  - kafka
+  - keepalived
+  - keystone
   - kibana
   - kuryr
   - magnum
@@ -117,28 +155,47 @@ kolla_feature_flags:
   - manila_backend_cephfs_native
   - manila_backend_cephfs_nfs
   - mariadb
+  - mariabackup
+  - masakari
+  - memcached
   - mistral
-  - mongodb
   - monasca
-  - murano
+  - mongodb
   - multipathd
-  - neutron_agent_ha
-  - neutron_bgp_dragent
+  - murano
+  - neutron
+  - neutron_vpnaas
+  - neutron_sriov
   - neutron_dvr
   - neutron_fwaas
-  - neutron_lbaas
-  - neutron_provider_networks
   - neutron_qos
+  - neutron_agent_ha
+  - neutron_bgp_dragent
+  - neutron_provider_networks
   - neutron_segments
-  - neutron_sriov
-  - neutron_vpnaas
+  - neutron_sfc
+  - neutron_metering
+  - neutron_infoblox_ipam_agent
+  - neutron_port_forwarding
+  - nova
   - nova_serialconsole_proxy
+  - nova_ssh
   - octavia
+  - onos
+  - opendaylight
+  - openstack_core
+  - openvswitch
+  - outward_rabbitmq
+  - ovs_dpdk
   - osprofiler
   - panko
+  - placement
   - prometheus
   - qdrouterd
+  - qinling
+  - rabbitmq
   - rally
+  - redis
   - sahara
   - searchlight
   - senlin
@@ -146,13 +203,14 @@ kolla_feature_flags:
   - solum
   - storm
   - swift
+  - swift_s3api
   - tacker
   - telegraf
   - tempest
   - trove
+  - trove_singletenant
   - vitrage
   - vmtp
   - watcher
-  - xtrabackup
   - zookeeper
   - zun