Apply upstream patches 59/37159/2
authorMichael Polenchuk <mpolenchuk@mirantis.com>
Tue, 11 Jul 2017 07:41:08 +0000 (11:41 +0400)
committerMichael Polenchuk <mpolenchuk@mirantis.com>
Tue, 11 Jul 2017 12:44:43 +0000 (16:44 +0400)
For opendaylight support:
  * neutron formula
  * reclass system model

Plus missing apply of haproxy state.

Change-Id: Ic9e3672b51d5331656d636c44c3f891e49437e23
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
mcp/config/states/openstack
mcp/patches/1a2c7f23.diff [new file with mode: 0644]
mcp/patches/1f59df54.diff [new file with mode: 0644]
mcp/patches/patch.sh [new file with mode: 0755]
mcp/patches/patches.list [new file with mode: 0644]
mcp/scripts/salt.sh

index 1946af5..5455163 100755 (executable)
@@ -3,6 +3,7 @@ salt -I 'rabbitmq:server' cmd.run "rabbitmqctl status"
 
 salt -I 'mysql:server' state.sls mysql
 salt -I 'memcached:server' state.sls memcached
+salt -I 'haproxy:proxy' state.sls haproxy
 
 salt -I 'keystone:server' state.sls keystone.server
 salt -I 'keystone:server' service.restart apache2
diff --git a/mcp/patches/1a2c7f23.diff b/mcp/patches/1a2c7f23.diff
new file mode 100644 (file)
index 0000000..27ef916
--- /dev/null
@@ -0,0 +1,99 @@
+From 1a2c7f23229050b1694565c5e2ee13146001eb18 Mon Sep 17 00:00:00 2001
+From: Michael Polenchuk <mpolenchuk@mirantis.com>
+Date: Thu, 29 Jun 2017 12:05:25 +0400
+Subject: [PATCH] Bring in opendaylight support
+
+Change-Id: Ie9073fafccba336f94b1996bd85c98d7a7f5060b
+---
+
+diff --git a/neutron/files/ocata/ml2_conf.ini b/neutron/files/ocata/ml2_conf.ini
+index 0d48951..347eb15 100644
+--- a/neutron/files/ocata/ml2_conf.ini
++++ b/neutron/files/ocata/ml2_conf.ini
+@@ -269,3 +269,11 @@
+ # Use ipset to speed-up the iptables based security groups. Enabling ipset
+ # support requires that ipset is installed on L2 agent node. (boolean value)
+ #enable_ipset = true
++
++{%- if server.backend.engine == "opendaylight" %}
++[ml2_odl]
++port_binding_controller = network-topology
++url = http://{{ server.backend.host }}:{{ server.backend.rest_api_port }}/controller/nb/v2/neutron
++username = {{ server.backend.user }}
++password = {{ server.backend.password }}
++{%- endif %}
+diff --git a/neutron/files/ocata/neutron-generic.conf.Debian b/neutron/files/ocata/neutron-generic.conf.Debian
+index 5b7058d..bc438b9 100644
+--- a/neutron/files/ocata/neutron-generic.conf.Debian
++++ b/neutron/files/ocata/neutron-generic.conf.Debian
+@@ -33,7 +33,7 @@
+ #auth_strategy = keystone
+ auth_strategy = keystone
+-{% if neutron.backend.engine == "ml2" %}
++{% if neutron.backend.engine in ["ml2", "opendaylight"] %}
+ core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
+diff --git a/neutron/files/ocata/neutron-server b/neutron/files/ocata/neutron-server
+index 54f6ceb..1682ee0 100644
+--- a/neutron/files/ocata/neutron-server
++++ b/neutron/files/ocata/neutron-server
+@@ -7,10 +7,10 @@
+ # neutron.conf
+ #NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini"
+-{%- if server.backend.engine == "ml2" %}
++{%- if server.backend.engine in ["ml2", "opendaylight"] %}
+ NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"
+ {%- endif %}
+ {%- if server.backend.engine == "contrail" %}
+ NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/opencontrail/ContrailPlugin.ini"
+-{%- endif %}
+\ No newline at end of file
++{%- endif %}
+diff --git a/neutron/files/ocata/neutron-server.conf.Debian b/neutron/files/ocata/neutron-server.conf.Debian
+index e320ca4..d6de235 100644
+--- a/neutron/files/ocata/neutron-server.conf.Debian
++++ b/neutron/files/ocata/neutron-server.conf.Debian
+@@ -39,7 +39,7 @@
+ core_plugin = neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
+ service_plugins = neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2
+-{% elif server.backend.engine == "ml2" %}
++{% elif server.backend.engine in ["ml2", "opendaylight"] %}
+ core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
+@@ -831,7 +831,7 @@
+ # Deprecated group/name - [DEFAULT]/sql_connection
+ # Deprecated group/name - [DATABASE]/sql_connection
+ # Deprecated group/name - [sql]/connection
+-{% if server.backend.engine == "ml2" %}
++{% if server.backend.engine in ["ml2", "opendaylight"] %}
+ connection = {{ server.database.engine }}+pymysql://{{ server.database.user }}:{{ server.database.password }}@{{ server.database.host }}/{{ server.database.name }}?charset=utf8
+ {% else %}
+ connection = sqlite:////var/lib/neutron/neutron.sqlite
+@@ -2194,3 +2194,8 @@
+ {% include "neutron/files/"+server.version+"/ContrailPlugin.ini" %}
+ {% endif %}
++
++{%- if server.backend.engine == "opendaylight" %}
++[ovs]
++ovsdb_connection = {{ server.backend.ovsdb_connection }}
++{%- endif %}
+diff --git a/neutron/server.sls b/neutron/server.sls
+index 0b3a6be..7a6bd23 100644
+--- a/neutron/server.sls
++++ b/neutron/server.sls
+@@ -64,7 +64,7 @@
+ {%- endif %}
+-{% if server.backend.engine == "ml2" %}
++{% if server.backend.engine in ["ml2", "opendaylight"] %}
+ /etc/neutron/plugins/ml2/ml2_conf.ini:
+   file.managed:
diff --git a/mcp/patches/1f59df54.diff b/mcp/patches/1f59df54.diff
new file mode 100644 (file)
index 0000000..9d1c6fe
--- /dev/null
@@ -0,0 +1,98 @@
+From 1f59df548f3e1461cc0ebf70c29a89205385eb20 Mon Sep 17 00:00:00 2001
+From: Michael Polenchuk <mpolenchuk@mirantis.com>
+Date: Thu, 29 Jun 2017 12:22:42 +0400
+Subject: [PATCH] Bring in opendaylight support
+
+Change-Id: I3efec9a8b586a6c75b1c1635ad2a7024d73d9ad2
+---
+
+diff --git a/neutron/control/opendaylight/cluster.yml b/neutron/control/opendaylight/cluster.yml
+new file mode 100644
+index 0000000..4133650
+--- /dev/null
++++ b/neutron/control/opendaylight/cluster.yml
+@@ -0,0 +1,19 @@
++classes:
++- service.keepalived.cluster.single
++- service.haproxy.proxy.single
++- service.neutron.control.cluster
++- system.haproxy.proxy.listen.openstack.neutron
++- system.neutron.control.openvswitch.cluster
++parameters:
++  neutron:
++    server:
++      backend:
++        engine: opendaylight
++        host: ${_param:opendaylight_service_host}
++        rest_api_port: 8282
++        user: admin
++        password: admin
++        ovsdb_connection: tcp:127.0.0.1:6639
++        mechanism:
++          ovs:
++            driver: opendaylight_v2
+diff --git a/neutron/control/opendaylight/single.yml b/neutron/control/opendaylight/single.yml
+new file mode 100644
+index 0000000..19af585
+--- /dev/null
++++ b/neutron/control/opendaylight/single.yml
+@@ -0,0 +1,16 @@
++classes:
++- service.neutron.control.single
++- system.neutron.control.openvswitch.single
++parameters:
++  neutron:
++    server:
++      backend:
++        engine: opendaylight
++        host: ${_param:opendaylight_service_host}
++        rest_api_port: 8282
++        user: admin
++        password: admin
++        ovsdb_connection: tcp:127.0.0.1:6639
++        mechanism:
++          ovs:
++            driver: opendaylight_v2
+diff --git a/neutron/gateway/opendaylight/single.yml b/neutron/gateway/opendaylight/single.yml
+new file mode 100644
+index 0000000..29c8d95
+--- /dev/null
++++ b/neutron/gateway/opendaylight/single.yml
+@@ -0,0 +1,8 @@
++classes:
++- service.neutron.gateway.single
++parameters:
++  neutron:
++    gateway:
++      backend:
++        engine: opendaylight
++        ovsdb_connection: tcp:127.0.0.1:6639
+diff --git a/opendaylight/server/single.yml b/opendaylight/server/single.yml
+new file mode 100644
+index 0000000..3d11872
+--- /dev/null
++++ b/opendaylight/server/single.yml
+@@ -0,0 +1,2 @@
++classes:
++- service.opendaylight.server.single
+diff --git a/reclass/storage/system/opendaylight_control_single.yml b/reclass/storage/system/opendaylight_control_single.yml
+new file mode 100644
+index 0000000..890ff59
+--- /dev/null
++++ b/reclass/storage/system/opendaylight_control_single.yml
+@@ -0,0 +1,15 @@
++parameters:
++  _param:
++    opendaylight_control_hostname: odl01
++  reclass:
++    storage:
++      node:
++        opendaylight_control_node01:
++          name: ${_param:opendaylight_control_hostname}
++          domain: ${_param:cluster_domain}
++          classes:
++          - cluster.${_param:cluster_name}.opendaylight.control
++          params:
++            salt_master_host: ${_param:reclass_config_master}
++            linux_system_codename: ${_param:linux_system_codename}
++            single_address: ${_param:opendaylight_service_host}
diff --git a/mcp/patches/patch.sh b/mcp/patches/patch.sh
new file mode 100755 (executable)
index 0000000..9f9cdea
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ -r "$1" ]; then
+  while IFS=': ' read -r p_dest p_file; do
+    patch -d $p_dest -p1 < /root/fuel/mcp/patches/$p_file
+  done < $1
+fi
+
diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
new file mode 100644 (file)
index 0000000..a36bc06
--- /dev/null
@@ -0,0 +1,2 @@
+/srv/salt/env/prd: 1a2c7f23.diff
+/srv/salt/reclass/classes/system: 1f59df54.diff
index 9378b6c..c876450 100755 (executable)
@@ -25,6 +25,8 @@ ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END
   cp -r /root/fuel/mcp/salt-formulas/* /usr/share/salt-formulas/env
   cd /srv/salt/reclass/classes/service && ln -s /usr/share/salt-formulas/reclass/service/opendaylight
 
+  cd /root/fuel/mcp/patches && ./patch.sh patches.list
+
   salt '*' saltutil.refresh_pillar
   salt '*' saltutil.sync_all