odl: Make odl_hostconfig patching idempotent 57/69557/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Wed, 15 Jan 2020 17:05:55 +0000 (18:05 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 16 Jan 2020 08:53:30 +0000 (09:53 +0100)
Although rarely, ODL hostconfig patching for py3 compatibility
silently fails, leading to fatal errors in later deploy stages.
Skip said patch if already applied, respectively fail if the patch
can't be applied.

Change-Id: I1addf17f61fa01055c0db83056870a7e7b8d3a42
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
mcp/config/states/opendaylight

index eb6cc65..ae8b4cc 100755 (executable)
@@ -21,5 +21,7 @@ wait_for 5.0 "salt -I 'opendaylight:server' state.sls opendaylight"
 wait_for 20 "salt --out yaml -C 'I@neutron:server and *01*' network.connect $(odl bind_ip) $(odl rest_port) | fgrep -q 'result: true'"
 
 # https://bugs.launchpad.net/networking-odl/+bug/1822559
+FILE=/usr/lib/python3/dist-packages/networking_odl/cmd/set_ovs_hostconfigs.py
+PFILE=/var/tmp/odl_hostconfig.patch
 salt -I 'linux:network:bridge:openvswitch' pkg.install python3-networking-odl
-salt -I 'linux:network:bridge:openvswitch' file.patch /usr/lib/python3/dist-packages/networking_odl/cmd/set_ovs_hostconfigs.py /var/tmp/odl_hostconfig.patch || true
+salt -I 'linux:network:bridge:openvswitch' cmd.run "patch -R -s --dry-run $FILE < $PFILE || patch $FILE < $PFILE"