summaryrefslogtreecommitdiffstats
path: root/ci/kolla_patches/5.0.0/0000-kolla-odl-ovsdpdk.patch
blob: 3bf3f85ad48c37ff1a3acc3c86b18ff53d587239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
diff --git a/contrib/template-override/ovs-dpdk.j2 b/contrib/template-override/ovs-dpdk.j2
index 7dea1b7..2bc6c5e 100644
--- a/contrib/template-override/ovs-dpdk.j2
+++ b/contrib/template-override/ovs-dpdk.j2
@@ -46,6 +46,9 @@
 
 {{ macros.install_packages(ovs_dpdk_packages | customizable("packages")) }}
 
+RUN mkdir -p /lib/modules/$(uname -r)
+RUN ln -s /usr/src/kernels/$(uname -r) /lib/modules/$(uname -r)/build
+
 ADD plugins-archive /
 RUN ln -s /plugins/ovsdpdk-plugin-ovs-archive-*/ /ovs \
     && ln -s /plugins/ovsdpdk-plugin-dpdk-archive-*/ /dpdk
@@ -64,7 +67,7 @@ WORKDIR "/dpdk/build"
                            "s/CONFIG_RTE_BUILD_SHARED_LIB=.*$/CONFIG_RTE_BUILD_SHARED_LIB=n/"])
 }}
 
-RUN make -j $(nproc) EXTRA_CFLAGS='-O2 -fPIC' \
+RUN make -j $(nproc) EXTRA_CFLAGS='-O2 -fPIC -Wno-maybe-uninitialized' \
     && make install
 WORKDIR /ovs
 RUN ./boot.sh \
diff --git a/docker/base/grafana.repo b/docker/base/grafana.repo
index dc8d30b..58fee69 100644
--- a/docker/base/grafana.repo
+++ b/docker/base/grafana.repo
@@ -2,6 +2,6 @@
 name=grafana
 baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
 repo_gpgcheck=1
-enabled=1
+enabled=0
 gpgcheck=1
 gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
diff --git a/docker/base/opendaylight.repo b/docker/base/opendaylight.repo
index 8c0c299..a78b119 100644
--- a/docker/base/opendaylight.repo
+++ b/docker/base/opendaylight.repo
@@ -1,5 +1,5 @@
 [opendaylight]
 name=CentOS CBS OpenDaylight Release Repository
-baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-6-release/x86_64/os/
+baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-6-candidate/x86_64/os/
 enabled=1
 gpgcheck=0
diff --git a/docker/neutron/neutron-bgp-dragent/Dockerfile.j2 b/docker/neutron/neutron-bgp-dragent/Dockerfile.j2
deleted file mode 100644
index a43d3d7..0000000
--- a/docker/neutron/neutron-bgp-dragent/Dockerfile.j2
+++ /dev/null
@@ -1,36 +0,0 @@
-FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
-LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
-
-{% block neutron_bgp_dragent_header %}{% endblock %}
-
-{% import "macros.j2" as macros with context %}
-
-{% if install_type == 'binary' %}
-    {% if base_distro in ['centos', 'oraclelinux', 'rhel']  %}
-RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
-    && /bin/false
-    {% elif base_distro in ['ubuntu', 'debian'] %}
-        {% set neutron_bgp_dragent_packages = [
-            'neutron-bgp-dragent'
-        ] %}
-    {% endif %}
-
-{{ macros.install_packages(neutron_bgp_dragent_packages | customizable("packages")) }}
-
-{% elif install_type == 'source'  %}
-
-ADD neutron-bgp-dragent-archive /neutron-bgp-dragent-source
-
-    {% set neutron_bgp_dragent_pip_packages = [
-        '/neutron_dynamic_routing'
-    ] %}
-
-RUN ln -s neutron-bgp-dragent-source/* neutron_dynamic_routing \
-    && {{ macros.install_pip(neutron_bgp_dragent_pip_packages | customizable("pip_packages")) }}
-
-{% endif %}
-
-{% block neutron_bgp_dragent_footer %}{% endblock %}
-{% block footer %}{% endblock %}
-
-USER neutron
diff --git a/docker/neutron/neutron-server-opendaylight/0d741cb.diff b/docker/neutron/neutron-server-opendaylight/0d741cb.diff
new file mode 100644
index 0000000..36e79a1
--- /dev/null
+++ b/docker/neutron/neutron-server-opendaylight/0d741cb.diff
@@ -0,0 +1,44 @@
+diff --git a/networking_odl/common/callback.py b/networking_odl/common/callback.py
+index d669d21..d2de1ab 100644
+--- a/networking_odl/common/callback.py
++++ b/networking_odl/common/callback.py
+@@ -19,6 +19,7 @@
+ from neutron_lib.callbacks import registry
+ from neutron_lib.callbacks import resources
+ from oslo_log import log as logging
++from oslo_utils import excutils
+ 
+ from networking_odl.common import constants as odl_const
+ 
+@@ -88,8 +89,15 @@
+ 
+         copy_kwargs = kwargs.copy()
+         copy_kwargs.pop('context')
+-        callback(context, odl_ops, odl_res_type, res_id, odl_res_dict,
+-                 **copy_kwargs)
++        try:
++            callback(context, odl_ops, odl_res_type, res_id, odl_res_dict,
++                     **copy_kwargs)
++        except Exception:
++            # In case of precommit, neutron registry notification caller
++            # doesn't log its exception. In networking-odl case, we don't
++            # normally throw exception. So log it here for debug
++            with excutils.save_and_reraise_exception():
++                LOG.exception("exceptions in callback")
+ 
+     def sg_callback_precommit(self, resource, event, trigger, **kwargs):
+         self._sg_callback(self._precommit, resource, event, trigger, **kwargs)
+diff --git a/networking_odl/db/db.py b/networking_odl/db/db.py
+index 0e62013..9b96a0a 100644
+--- a/networking_odl/db/db.py
++++ b/networking_odl/db/db.py
+@@ -51,7 +51,8 @@
+         models.OpenDaylightJournal.operation == odl_const.ODL_DELETE
+     ).all()
+ 
+-    return (row for row in rows if parent_id in row.data)
++    return (row for row in rows
++            if row.data is not None and parent_id in row.data)
+ 
+ 
+ def get_all_db_rows(session):
diff --git a/docker/neutron/neutron-server-opendaylight/Dockerfile.j2 b/docker/neutron/neutron-server-opendaylight/Dockerfile.j2
index 354596f..5b17ecc 100644
--- a/docker/neutron/neutron-server-opendaylight/Dockerfile.j2
+++ b/docker/neutron/neutron-server-opendaylight/Dockerfile.j2
@@ -9,6 +9,7 @@ USER root
 
 {% if install_type == 'binary' %}
     {% set neutron_server_opendaylight_packages = [
+        'patch',
         'python-networking-odl',
         'python-networking-bgpvpn',
         'python-networking-l2gw'
@@ -16,6 +17,10 @@ USER root
 
 {{ macros.install_packages(neutron_server_opendaylight_packages | customizable("packages")) }}
 
+# Please see https://review.openstack.org/#/c/533706/
+COPY 0d741cb.diff /tmp/
+RUN patch -d /usr/lib/python2.7/site-packages/ -p1 < /tmp/0d741cb.diff
+
 {% elif install_type == 'source' %}
 
 ADD plugins-archive /
diff --git a/docker/opendaylight/Dockerfile.j2 b/docker/opendaylight/Dockerfile.j2
index 8a005b3..e54e4c9 100644
--- a/docker/opendaylight/Dockerfile.j2
+++ b/docker/opendaylight/Dockerfile.j2
@@ -8,19 +8,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
 {{ macros.configure_user(name='odl') }}
 
 {% block opendaylight_install %}
-
-{% set opendaylight_packages = ['opendaylight'] %}
-{% if base_distro in ['debian', 'ubuntu'] %}
-# NOTE(egonzalez): ODL fails to install in debian family images with
-# existing odl user. First install odl and then allow usage of
-# install_packages macro for custom configs.
-    {% block debian_opendaylight_install_fix_block %}
-        {{ macros.debian_opendaylight_existing_user_fix() }}
-    {% endblock %}
-{% endif %}
-
-{{ macros.install_packages(opendaylight_packages | customizable("packages")) }}
-
+RUN yum install -y https://nexus.opendaylight.org/content/repositories/opendaylight-carbon-epel-7-x86_64-devel/org/opendaylight/integration-packaging/opendaylight/6.3.0-0.1.20180108snap438.el7.noarch/opendaylight-6.3.0-0.1.20180108snap438.el7.noarch.rpm
 {% endblock %}
 
 COPY extend_start.sh /usr/local/bin/kolla_extend_start