From a4343527d64cd793643fce8c174f7b4b484fe7d1 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Thu, 26 Jul 2018 14:46:24 -0400 Subject: Update OVS in overcloud This bug fix is not present in the RDO versions of OVS: https://bugzilla.redhat.com/show_bug.cgi?id=1544892 The impact of this is that traffic sent through a patch port (like from br-int to br-ex) will not be sent correctly with OF groups (which ODL uses). This would cause tenant vlan traffic not to work in our case. Change-Id: Ia477b174118dcd2d7fb24189c2d093218eb97053 Signed-off-by: Tim Rozet --- apex/common/constants.py | 2 ++ apex/overcloud/deploy.py | 33 ++++++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) (limited to 'apex') diff --git a/apex/common/constants.py b/apex/common/constants.py index 9c6b2a24..d855222c 100644 --- a/apex/common/constants.py +++ b/apex/common/constants.py @@ -68,3 +68,5 @@ VALID_DOCKER_SERVICES = { DOCKERHUB_OOO = 'https://registry.hub.docker.com/v2/repositories' \ '/tripleomaster/' KUBESPRAY_URL = 'https://github.com/kubernetes-incubator/kubespray.git' +CUSTOM_OVS = 'http://artifacts.opnfv.org/apex/random/openvswitch-2.9.0-9' \ + '.el7fdn.x86_64.rpm' diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py index 439848f8..2f58e8a4 100644 --- a/apex/overcloud/deploy.py +++ b/apex/overcloud/deploy.py @@ -344,15 +344,30 @@ def prep_image(ds, ns, img, tmp_dir, root_pw=None, docker_tag=None, if root_pw: pw_op = "password:{}".format(root_pw) virt_cmds.append({con.VIRT_PW: pw_op}) - if ds_opts['sfc'] and dataplane == 'ovs': - virt_cmds.extend([ - {con.VIRT_RUN_CMD: "yum -y install " - "/root/ovs/rpm/rpmbuild/RPMS/x86_64/" - "{}".format(OVS_NSH_KMOD_RPM)}, - {con.VIRT_RUN_CMD: "yum downgrade -y " - "/root/ovs/rpm/rpmbuild/RPMS/x86_64/" - "{}".format(OVS_NSH_RPM)} - ]) + + if dataplane == 'ovs': + if ds_opts['sfc']: + virt_cmds.extend([ + {con.VIRT_RUN_CMD: "yum -y install " + "/root/ovs/rpm/rpmbuild/RPMS/x86_64/" + "{}".format(OVS_NSH_KMOD_RPM)}, + {con.VIRT_RUN_CMD: "yum downgrade -y " + "/root/ovs/rpm/rpmbuild/RPMS/x86_64/" + "{}".format(OVS_NSH_RPM)} + ]) + elif sdn == 'opendaylight': + # FIXME(trozet) remove this after RDO is updated with fix for + # https://bugzilla.redhat.com/show_bug.cgi?id=1544892 + ovs_file = os.path.basename(con.CUSTOM_OVS) + ovs_url = con.CUSTOM_OVS.replace(ovs_file, '') + utils.fetch_upstream_and_unpack(dest=tmp_dir, url=ovs_url, + targets=[ovs_file]) + virt_cmds.extend([ + {con.VIRT_UPLOAD: "{}:/root/".format(os.path.join(tmp_dir, + ovs_file))}, + {con.VIRT_RUN_CMD: "yum downgrade -y /root/{}".format( + ovs_file)} + ]) if dataplane == 'fdio': # Patch neutron with using OVS external interface for router # and add generic linux NS interface driver -- cgit 1.2.3-korg