Merge "Mirror reorganisation"
diff --git a/haproxy/proxy/listen/cicd/jenkins.yml b/haproxy/proxy/listen/cicd/jenkins.yml
index 150fac0..93a9fdd 100644
--- a/haproxy/proxy/listen/cicd/jenkins.yml
+++ b/haproxy/proxy/listen/cicd/jenkins.yml
@@ -13,7 +13,7 @@
           mode: http
           options:
             - forwardfor
-            - httpchk
+            - httpchk get /login
             - httpclose
             - httplog
           balance: source
diff --git a/jenkins/client/job/deploy/lab/deploy.yml b/jenkins/client/job/deploy/lab/deploy.yml
index 4a18e8e..0dc136c 100644
--- a/jenkins/client/job/deploy/lab/deploy.yml
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -83,6 +83,10 @@
                 type: text
                 default: ""
                 description: "YAML with overrides for Salt deployment"
+              FORMULA_PKG_REVISION:
+                type: string
+                default: ""
+                description: "Formulas revision to install on Salt Master bootstrap stage"
 
               # aws api
               AWS_STACK_REGION:
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
index 7bc2f79..b5c2d40 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
@@ -16,25 +16,25 @@
             credentials: "gerrit"
             script: pipelines/mcp-k8s-test-pipeline.groovy
             trigger:
-              gerrit:
-                project:
-                  kubernetes/kubernetes:
-                    branches:
-                      - compare_type: "ANT"
-                        name: "**"
-                message:
-                  build_successful: "Build successful"
-                  build_unstable: "Build unstable"
-                  build_failure: "Build failed"
-                event:
-                  patchset:
-                    - created:
-                        excludeDrafts: false
-                        excludeTrivialRebase: false
-                        excludeNoCodeChange: false
-                  comment:
-                    - addedContains:
-                        commentAddedCommentContains: '(recheck|reverify)'
+          gerrit:
+            project:
+              kubernetes/kubernetes:
+                branches:
+                  - compare_type: "ANT"
+                    name: "**"
+            message:
+              build_successful: "Build successful"
+              build_unstable: "Build unstable"
+              build_failure: "Build failed"
+            event:
+              patchset:
+                - created:
+                    excludeDrafts: false
+                    excludeTrivialRebase: false
+                    excludeNoCodeChange: false
+              comment:
+                - addedContains:
+                    commentAddedCommentContains: '(recheck|reverify)'
           param:
             KUBE_DOCKER_REGISTRY:
               type: string
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 13a9881..e60fe22 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -64,6 +64,9 @@
               MAX_CPU_PER_JOB:
                 type: string
                 default: "2"
+              RECLASS_IGNORE_CLASS_NOTFOUND:
+                type: boolean
+                default: "{{reclass_ignore_class_notfound}}"
               LEGACY_TEST_MODE:
                 type: boolean
                 default: "{{legacy_test_mode}}"
@@ -199,6 +202,9 @@
             MAX_CPU_PER_JOB:
               type: string
               default: "2"
+            RECLASS_IGNORE_CLASS_NOTFOUND:
+              type: boolean
+              default: "false"
             LEGACY_TEST_MODE:
               type: boolean
               default: "false"
diff --git a/keystone/server/wsgi.yml b/keystone/server/wsgi.yml
index 1a949e9..f62c1cc 100644
--- a/keystone/server/wsgi.yml
+++ b/keystone/server/wsgi.yml
@@ -18,7 +18,7 @@
           log:
             custom:
               format: >-
-                %v:%p %h %l %u %t \"%r\" %>s %D %O \"%{Referer}i\" \"%{User-Agent}i\"
+                %v:%p %{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %D %O \"%{Referer}i\" \"%{User-Agent}i\"
 
       modules:
         - wsgi
diff --git a/maas/region/single.yml b/maas/region/single.yml
index d3227ca..2bf9469 100644
--- a/maas/region/single.yml
+++ b/maas/region/single.yml
@@ -1,5 +1,6 @@
 classes:
   - service.maas.region.single
+  - service.maas.cluster.single
   - service.maas.region.vendor_repo
 parameters:
   _param:
diff --git a/neutron/compute/nfv/dpdk.yml b/neutron/compute/nfv/dpdk.yml
index 90f9095..3f05d53 100644
--- a/neutron/compute/nfv/dpdk.yml
+++ b/neutron/compute/nfv/dpdk.yml
@@ -1,6 +1,4 @@
 parameters:
-  _param:
-    compute_dpdk_driver: uio
   linux:
     network:
       bridge: openvswitch
diff --git a/neutron/control/cluster.yml b/neutron/control/cluster.yml
index 9beed6b..47928b6 100644
--- a/neutron/control/cluster.yml
+++ b/neutron/control/cluster.yml
@@ -3,6 +3,7 @@
 - service.haproxy.proxy.single
 - service.neutron.control.cluster
 - system.haproxy.proxy.listen.openstack.neutron
+- system.galera.server.database.neutron
 parameters:
   linux:
     system:
@@ -10,20 +11,6 @@
         python-pymysql:
           fromrepo: ${_param:openstack_version}
           version: latest
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:cluster_local_address}
-            rights: all
   haproxy:
     proxy:
       listen:
diff --git a/neutron/control/opencontrail/cluster.yml b/neutron/control/opencontrail/cluster.yml
index caaaf6d..d85e554 100644
--- a/neutron/control/opencontrail/cluster.yml
+++ b/neutron/control/opencontrail/cluster.yml
@@ -3,21 +3,8 @@
 - service.haproxy.proxy.single
 - service.neutron.control.cluster
 - system.haproxy.proxy.listen.openstack.neutron
+- system.galera.server.database.neutron
 parameters:
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:cluster_local_address}
-            rights: all
   neutron:
     server:
       dns_domain: ${_param:cluster_domain}
diff --git a/neutron/control/opencontrail/single.yml b/neutron/control/opencontrail/single.yml
index 0c2841b..4bbd8f8 100644
--- a/neutron/control/opencontrail/single.yml
+++ b/neutron/control/opencontrail/single.yml
@@ -1,20 +1,7 @@
 classes:
 - service.neutron.control.single
+- system.galera.server.database.neutron
 parameters:
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:cluster_local_address}
-            rights: all
   neutron:
     server:
       dns_domain: ${_param:cluster_domain}
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index c840e9a..54db248 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -2,6 +2,7 @@
 - service.keepalived.cluster.single
 - service.haproxy.proxy.single
 - service.neutron.control.cluster
+- system.galera.server.database.neutron
 parameters:
   _param:
     neutron_control_dvr: True
@@ -37,20 +38,6 @@
           - host: ${_param:openstack_message_queue_node01_address}
           - host: ${_param:openstack_message_queue_node02_address}
           - host: ${_param:openstack_message_queue_node03_address}
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:cluster_local_address}
-            rights: all
   haproxy:
     proxy:
       listen:
diff --git a/neutron/control/openvswitch/single.yml b/neutron/control/openvswitch/single.yml
index 1b830f6..bdc050d 100644
--- a/neutron/control/openvswitch/single.yml
+++ b/neutron/control/openvswitch/single.yml
@@ -1,5 +1,6 @@
 classes:
 - service.neutron.control.single
+- system.galera.server.database.neutron
 parameters:
   _param:
     neutron_control_dvr: True
@@ -33,17 +34,3 @@
       message_queue:
         members:
           - host: ${_param:openstack_message_queue_node01_address}
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:cluster_local_address}
-            rights: all
\ No newline at end of file
diff --git a/neutron/control/single.yml b/neutron/control/single.yml
index e412f36..7f02325 100644
--- a/neutron/control/single.yml
+++ b/neutron/control/single.yml
@@ -1,5 +1,6 @@
 classes:
 - service.neutron.control.single
+- system.galera.server.database.neutron
 parameters:
   linux:
     system:
@@ -11,18 +12,3 @@
     server:
       database:
         host: ${_param:single_address}
-  mysql:
-    server:
-      database:
-        neutron:
-          encoding: utf8
-          users:
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: '%'
-            rights: all
-          - name: neutron
-            password: ${_param:mysql_neutron_password}
-            host: ${_param:single_address}
-            rights: all
-