Merge "Ironic system upgrade metadata"
diff --git a/defaults/init.yml b/defaults/init.yml
index 6c30995..ef1fe8c 100644
--- a/defaults/init.yml
+++ b/defaults/init.yml
@@ -9,6 +9,7 @@
 - system.defaults.linux_system_repo
 - system.defaults.linux_system_file
 - system.defaults.git
+- system.defaults.jenkins
 - system.defaults.maas
 - system.defaults.openstack
 - system.defaults.galera
diff --git a/defaults/jenkins.yml b/defaults/jenkins.yml
new file mode 100644
index 0000000..36bcbfb
--- /dev/null
+++ b/defaults/jenkins.yml
@@ -0,0 +1,5 @@
+parameters:
+  _param:
+    jenkins_master_port: 8081
+    jenkins_master_protocol: http
+    jenkins_pipelines_branch: "master"
diff --git a/docker/swarm/stack/jenkins/slave_base.yml b/docker/swarm/stack/jenkins/slave_base.yml
index 3af4cc3..91601ab 100644
--- a/docker/swarm/stack/jenkins/slave_base.yml
+++ b/docker/swarm/stack/jenkins/slave_base.yml
@@ -3,7 +3,6 @@
 parameters:
   _param:
     jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
     jenkins_master_url: http://${_param:jenkins_master_host}:${_param:jenkins_master_port}
     jenkins_slave_user: ${_param:jenkins_client_user}
     jenkins_slave_password: ${_param:jenkins_client_password}
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
index caaffe6..d343e28 100644
--- a/ironic/api/cluster.yml
+++ b/ironic/api/cluster.yml
@@ -41,3 +41,4 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
index 3264453..0e5d61e 100644
--- a/ironic/api/single.yml
+++ b/ironic/api/single.yml
@@ -39,3 +39,4 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/ironic/conductor/cluster.yml b/ironic/conductor/cluster.yml
index 7a4d4ff..b733a87 100644
--- a/ironic/conductor/cluster.yml
+++ b/ironic/conductor/cluster.yml
@@ -4,6 +4,8 @@
 - service.ironic.conductor.cluster
 - system.ironic.upgrade
 parameters:
+  _param:
+    ironic_conductor_api_url_protocol: 'http'
   linux:
     system:
       package:
@@ -12,7 +14,7 @@
           version: latest
   ironic:
     conductor:
-      api_url: 'http://${_param:cluster_baremetal_vip_address}:6385'
+      api_url: '${_param:ironic_conductor_api_url_protocol}://${_param:cluster_baremetal_vip_address}:6385'
       database:
         x509:
           enabled: ${_param:openstack_mysql_x509_enabled}
@@ -37,6 +39,7 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
       automated_clean: true
       erase_devices_priority: 0
       erase_devices_metadata_priority: 1
@@ -46,3 +49,4 @@
         - ipmitool-shellinabox
         - ipmitool-socat
         - no-console
+      pxe_append_params: 'nofb nomodeset vga=normal ipa-insecure=1'
diff --git a/ironic/conductor/single.yml b/ironic/conductor/single.yml
index 0b51ca4..752f1cf 100644
--- a/ironic/conductor/single.yml
+++ b/ironic/conductor/single.yml
@@ -38,6 +38,7 @@
           secret_key: ${_param:ironic_memcache_secret_key}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
       automated_clean: true
       erase_devices_priority: 0
       erase_devices_metadata_priority: 1
@@ -47,3 +48,4 @@
         - ipmitool-shellinabox
         - ipmitool-socat
         - no-console
+      pxe_append_params: 'nofb nomodeset vga=normal ipa-insecure=1'
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index 4f0b3f4..d5b7875 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -8,9 +8,7 @@
     jenkins_client_user: none
     jenkins_client_password: none
     jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
     jenkins_aptly_storages: "local"
-    jenkins_pipelines_branch: "master"
   jenkins:
     client:
       master:
diff --git a/jenkins/slave/init.yml b/jenkins/slave/init.yml
index c445c14..20dc641 100644
--- a/jenkins/slave/init.yml
+++ b/jenkins/slave/init.yml
@@ -9,8 +9,6 @@
     jenkins_slave_user: none
     jenkins_slave_password: none
     jenkins_master_host: ${_param:control_vip_address}
-    jenkins_master_port: 8081
-    jenkins_master_protocol: http
   java:
     environment:
       headless: true
diff --git a/linux/system/single/mcp.yml b/linux/system/single/mcp.yml
index a77459d..e8ca938 100644
--- a/linux/system/single/mcp.yml
+++ b/linux/system/single/mcp.yml
@@ -13,6 +13,8 @@
           net.ipv4.tcp_keepalive_probes: 8
           fs.file-max: 124165
           net.core.somaxconn: 4096
+          net.core.netdev_budget: 600
+          net.core.netdev_budget_usecs: 5000
           vm.swappiness: 10
           net.nf_conntrack_max: 1048576
           net.ipv4.tcp_retries2: 5
diff --git a/neutron/client/service/contrail_public.yml b/neutron/client/service/contrail_public.yml
new file mode 100644
index 0000000..211582e
--- /dev/null
+++ b/neutron/client/service/contrail_public.yml
@@ -0,0 +1,22 @@
+classes:
+- service.neutron.client
+parameters:
+  neutron:
+    client:
+      server:
+        admin_identity:
+          endpoint_type: internalURL
+          network:
+            public:
+              tenant: admin
+              shared: False
+              router_external: True
+              admin_state_up: True
+              subnet:
+                public-subnet:
+                  cidr: ${_param:openstack_public_neutron_subnet_cidr}
+                  allocation_pools:
+                    - start: ${_param:openstack_public_neutron_subnet_allocation_start}
+                      end: ${_param:openstack_public_neutron_subnet_allocation_end}
+                  gateway_ip: ${_param:openstack_public_neutron_subnet_gateway}
+                  enable_dhcp: False
diff --git a/neutron/client/service/contrail_public_v2.yml b/neutron/client/service/contrail_public_v2.yml
new file mode 100644
index 0000000..b94bb98
--- /dev/null
+++ b/neutron/client/service/contrail_public_v2.yml
@@ -0,0 +1,21 @@
+classes:
+- service.neutron.client
+parameters:
+  neutron:
+    client:
+      resources:
+        v2:
+          admin_identity:
+            network:
+              public:
+                shared: False
+                router_external: True
+                subnet:
+                  public-subnet:
+                    cidr: ${_param:openstack_public_neutron_subnet_cidr}
+                    gateway_ip: ${_param:openstack_public_neutron_subnet_gateway}
+                    allocation_pools:
+                      - start: ${_param:openstack_public_neutron_subnet_allocation_start}
+                        end: ${_param:openstack_public_neutron_subnet_allocation_end}
+                    enable_dhcp: False
+                    ip_version: 4