diff --git a/.gitreview b/.gitreview
index a95e0fb..ad2e175 100644
--- a/.gitreview
+++ b/.gitreview
@@ -3,4 +3,4 @@
 port=29418
 project=voltha-system-tests.git
 defaultremote=origin
-defaultbranch=master
+defaultbranch=remove-robot-patching
diff --git a/Makefile b/Makefile
index cf6ca33..58625fc 100644
--- a/Makefile
+++ b/Makefile
@@ -510,7 +510,7 @@
 ## -----------------------------------------------------------------------
 ## Intent: Parameterized test target
 ## -----------------------------------------------------------------------
-voltha-bbsim-test: venv-activate-patched
+voltha-bbsim-test: venv-activate-script
 	$(call run-robot-test,tests/bbsim)
 
 rwcore-restart-single-kind: ROBOT_MISC_ARGS += -X -i functionalANDrwcore-restart $(ROBOT_DEBUG_LOG_OPT)
@@ -657,7 +657,7 @@
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-voltha-test: venv-activate-patched
+voltha-test: venv-activate-script
 	$(call run-robot-test,tests/functional)
 
 bbsim-dmi-hw-management-test: ROBOT_MISC_ARGS +=  -e notreadyDMI -i functionalDMI -e bbsimUnimplementedDMI
@@ -672,7 +672,7 @@
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-voltha-dmi-test: venv-activate-patched
+voltha-dmi-test: venv-activate-script
 	$(call run-robot-test,tests/dmi-interface)
 
 # target to invoke single ONU pm data scenarios in ATT workflow
@@ -712,7 +712,7 @@
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
-voltha-pm-data-test: venv-activate-patched
+voltha-pm-data-test: venv-activate-script
 # ROBOT_PM_CONFIG_FILE= is differnet
 #	$(call run-robot-test,tests/pm-data)
 
@@ -886,7 +886,7 @@
 voltha-onu-robustness-tests: ROBOT_FILE := Voltha_ONUErrorTests.robot
 voltha-onu-robustness-tests: openonu-go-adapter-tests
 
-software-upgrade-test: venv-activate-patched
+software-upgrade-test: venv-activate-script
 	$(activate) \
 	  && cd tests/software-upgrades \
 	  && robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
@@ -894,7 +894,7 @@
 voltha-dt-test: ROBOT_MISC_ARGS += -e notready  --noncritical non-critical
 
 ## CHECK
-voltha-dt-test: venv-activate-patched
+voltha-dt-test: venv-activate-script
 	$(activate) \
 	  && cd tests/dt-workflow \
 	  && robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
@@ -902,7 +902,7 @@
 voltha-tt-test: ROBOT_MISC_ARGS += -e notready  --noncritical non-critical
 
 ## CHECK
-voltha-tt-test: venv-activate-patched
+voltha-tt-test: venv-activate-script
 	$(activate) \
 	  && cd tests/tt-workflow \
 	  && robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
@@ -910,28 +910,28 @@
 voltha-tim-test: ROBOT_MISC_ARGS += -e notready  --noncritical non-critical
 
 ## Check
-voltha-tim-test: venv-activate-patched
+voltha-tim-test: venv-activate-script
 	$(activate) \
 	  && cd tests/tim-workflow \
 	  && robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
 
 ## CHECK
-voltha-scale-test: venv-activate-patched
+voltha-scale-test: venv-activate-script
 	$(activate) \
 	  && cd tests/scale \
 	  && robot $(ROBOT_MISC_ARGS) Voltha_Scale_Tests.robot
 
 ## CHECK
-openonu-go-adapter-tests: venv-activate-patched
+openonu-go-adapter-tests: venv-activate-script
 	$(activate) \
 	  && cd tests/openonu-go-adapter \
 	  && robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
 
 voltha-bbf-adapter-test: ROBOT_MISC_ARGS += -e notready  --noncritical non-critical
-voltha-bbf-adapter-test: venv-activate-patched
+voltha-bbf-adapter-test: venv-activate-script
 	$(call run-robot-test,tests/bbf-adapter)
 
-voltha-memory-leak-test: venv-activate-patched
+voltha-memory-leak-test: venv-activate-script
 	$(call run-robot-test,tests/memory-leak)
 
 ##----------------##
@@ -943,7 +943,7 @@
 # tidy target will be more useful once issue with removing leading comments
 # is resolved: https://github.com/robotframework/robotframework/issues/3263
 # -----------------------------------------------------------------------
-tidy-robot: venv-activate-patched
+tidy-robot: venv-activate-script
 	$(activate) && python -m robot.tidy --inplace $(ROBOT_FILES)
 
 ## Variables for gendocs
@@ -965,7 +965,7 @@
 # -----------------------------------------------------------------------
 .PHONY: gendocs lint test
 # In future explore use of --docformat REST - integration w/Sphinx?
-gendocs: venv-activate-patched
+gendocs: venv-activate-script
 
 	$(call banner-enter)
 
@@ -998,7 +998,7 @@
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
 clean-all sterile :: clean
-	$(RM) -r venv-activate-patched
+	$(RM) -r venv-activate-script
 
 # -----------------------------------------------------------------------
 # -----------------------------------------------------------------------
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 4df4c4c..b93ba1d 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -42,7 +42,6 @@
 include $(ONF_MAKEDIR)/commands/include.mk   # Tools and local installers
 
 include $(ONF_MAKEDIR)/virtualenv.mk#        # lint-{jjb,python} depends on venv
-include $(ONF_MAKEDIR)/patches/include.mk#   # Patch when python 3.10+ in use
 include $(ONF_MAKEDIR)/lint/include.mk
 
 include $(ONF_MAKEDIR)/gerrit/include.mk
diff --git a/makefiles/lint/robot/install.mk b/makefiles/lint/robot/install.mk
index b1f871c..d6cc842 100644
--- a/makefiles/lint/robot/install.mk
+++ b/makefiles/lint/robot/install.mk
@@ -28,7 +28,7 @@
 ## Intent: Install rflint python virtualenv package
 ## -----------------------------------------------------------------------
 $(lint-robot-cmd) : lint-robot-install
-lint-robot-install: venv-activate-patched
+lint-robot-install:
     # Verify package mentioned in requirements.txt
     # grep 'robotframework-lint' requirements.txt
 	$(activate) && pip freeze | grep 'robotframework-lint'
@@ -42,4 +42,3 @@
 	@echo
 
 # [EOF]
-
diff --git a/makefiles/patches/README.md b/makefiles/patches/README.md
deleted file mode 100644
index 56455c1..0000000
--- a/makefiles/patches/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Howto create a python 3.10+ patch
-
-1) Checkout voltha-docs
-2) cd voltha-docs
-3) make venv
-4) make patch-init
-5) modify the file to be patched beneath staging/${relative_path_to_patch}
-6) make patch-create PATCH_PATH=${relative_path_to_patch}
-    o This will create patches/${relative_path_to_patch}/patch
-7) Verify
-    o make sterile
-    o make venv
-
-# Howto apply python 3.10+ patches
-
-See repo:voltha-docs for a working example.
-
-1) Modify Makefile
-2) Add target
-
-# [EOF]
\ No newline at end of file
diff --git a/makefiles/patches/help.mk b/makefiles/patches/help.mk
deleted file mode 100644
index d43e119..0000000
--- a/makefiles/patches/help.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- makefile -*-
-# -----------------------------------------------------------------------
-# Copyright 2017-2024 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# -----------------------------------------------------------------------
-
-ifdef VERBOSE
-  help :: help-patches
-else
-  help ::
-	@echo
-	@echo "[PATCHES] - helper on the road to python 3.10+ based testing"
-	@echo '  see also: help-patches'
-endif
-
-help-patches:
-	@echo
-	@echo "[PATCHES] - helper on the road to python 3.10+ based testing"
-	@echo "  patch-apply          Apply patches to the virtualenv directory"
-	@echo "  patch-create"
-	@echo "  patch-gather         Gather a list of potential patch sources"
-	@echo "  patch-init           Clone the virtualenv directory for patch creation."
-
-
-
-
-help-trailer ::
-	@echo "[SEE ALSO] patches-help"
-
-help-verbose ::
-	$(HIDE)$(MAKE) --no-print-directory help VERBOSE=1
-
-# [EOF]
diff --git a/makefiles/patches/include.mk b/makefiles/patches/include.mk
deleted file mode 100644
index 7aa581a..0000000
--- a/makefiles/patches/include.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*- makefile -*-
-# -----------------------------------------------------------------------
-# Copyright 2022-2024 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# -----------------------------------------------------------------------
-
-include $(ONF_MAKEDIR)/patches/help.mk
-
-patch-gather-args += --exclude=Makefile
-patch-gather-args += --exclude-dir=vault
-patch-gather-args += --exclude-dir=makefiles
-patch-gather-args += --exclude-dir=staging
-patch-gather-args += --exclude-dir=patches
-
-# patch-gather-args += -e 'from collections import'
-patch-gather-args += '-e' 'from collections import Mapping'
-patch-gather-args += '-e' 'from collections import MutableMapping'
-
-# Defined by [Mm]akefile or makefiles/virtualenv.mk
-venv-name   ?= $(error $(MAKE) venv-name= is required)
-
-PATCH_PATH  ?= $(error $(MAKE) PATCH_PATH= is required)
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-patch-gather:
-	grep -r $(patch-gather-args)
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-patch-diff:
-	$(HIDE)diff -qr staging $(venv-name) \
-	    | awk '{print "# diff -Naur "$$2" "$$4}' \
-	    | tee $@.log
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-patch-create:
-	mkdir -p patches/$(PATCH_PATH)
-	diff -Naur staging/$(PATCH_PATH) $(venv-name)/$(PATCH_PATH) | tee patches/$(PATCH_PATH)/patch
-	exit 1
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-patch-init:
-	find "$(venv-name)" -name '__pycache__' -type d -print0 \
-	    | xargs -I'{}' --null --no-run-if-empty $(RM) -r {}
-	mkdir -p staging
-	rsync -rv --checksum "$(venv-name)/." "staging/."
-	@echo "Modify files beneath staging/ to create a patch source"
-
-# [SEE ALSO]
-# ---------------------------------------------------------------------------
-# https://bobbyhadz.com/blog/python-importerror-cannot-import-name-mapping-from-collections
-# ---------------------------------------------------------------------------
-# [EOF]
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index 8beef54..c5c0ba7 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -61,18 +61,6 @@
 ## Intent: Explicit named installer target w/o dependencies.
 ##         Makefile targets should depend on venv-activate-script.
 ## -----------------------------------------------------------------------
-venv-activate-patched := $(venv-activate-script).patched
-venv-activate-patched : $(venv-activate-patched)
-$(venv-activate-patched) : $(venv-activate-script)
-	$(call banner-enter,Target $@)
-	$(onf-mk-top)/../patches/python_310_migration.sh --venv "$(venv-name)" 'apply'
-	touch $@
-	$(call banner-leave,Target $@)
-
-## -----------------------------------------------------------------------
-## Intent: Explicit named installer target w/o dependencies.
-##         Makefile targets should depend on venv-activate-script.
-## -----------------------------------------------------------------------
 venv: $(venv-activate-script)
 
 ## -----------------------------------------------------------------------
diff --git a/patches/README.md b/patches/README.md
deleted file mode 100644
index f3302b9..0000000
--- a/patches/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Migration support for python 3.10+
-
-## Intent
-
-Applications of patches will enable local use of newer python versions
-available with a recent OS install or package manager installation.
-Makefile targets will fail out of the box w/o modifying collection imports.
-
-Create new patches as needed to help testing along.
-Eventually this hierarchy can be dismantled once the latest interpreter
-is generally in use.
-
-## patches/
-
-This directory contains patch files that can be directly applied to sources
-in the python virtualenv directory.  Patches are created to support use of
-three python version variants for the robot ramework:
-    python 2x       (deprecated)
-    python >= 3.10  (collections.abc required)
-    python < 3.10   (collections.abc optional)
-
-
-# .venv/
-
-Makefile will first create a python virtualenv directory to selectively
-use packages.  After setup patches are applied to venv (as a transition)
-to fully enable support for local interpreter use for newer OS installs.
-
-
-# staging/
-
-The staging directory is used for comparison with the .venv directory
-to generate patches.  Populate the directory with a copy of a cleanly
-patched virtual interpreter then modify files benath/ staging to generate
-a patch from.
-
-% make sterile
-% make .venv
-% mkdir staging
-% rsync -rv --checksum .venv/. staging/.
-[NOTE] Make python 3.10+ migration edits beneath staging as needed
-% make patch-gather
-% make sterile
-% make lint
-
-
-# makefile targets
-
-make patch-gather:
-   * gather a list of potential sources to edit.
-
-make patch-apply:
-   * Gather a list of patch files.
-   * Apply each in turn to sources in the virtualenv directory.
-
-
-# Verify installation
-   * make lint -or- make test
-
-# [EOF]
\ No newline at end of file
diff --git a/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch b/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
deleted file mode 100644
index ae8619a..0000000
--- a/patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- vault/lib/python3.10/site-packages/robot/utils/normalizing.py	2022-11-26 06:59:47.438751606 -0500
-+++ .venv/lib/python3.10/site-packages/robot/utils/normalizing.py	2022-11-26 06:57:29.960476182 -0500
-@@ -13,10 +13,7 @@
- #  See the License for the specific language governing permissions and
- #  limitations under the License.
- 
--try: # python >= 3.10
--    from collections.abc import MutableMapping
--except ImportError: # python 2x
--    from collections import MutableMapping
-+from collections import MutableMapping
- 
- from .platform import IRONPYTHON, PY_VERSION, PY3
- from .robottypes import is_dict_like, is_unicode
diff --git a/patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch b/patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch
deleted file mode 100644
index d1aa540..0000000
--- a/patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- vault/lib/python3.10/site-packages/robot/utils/robottypes3.py	2022-11-26 07:00:17.126386733 -0500
-+++ .venv/lib/python3.10/site-packages/robot/utils/robottypes3.py	2022-11-26 06:57:29.956476232 -0500
-@@ -13,12 +13,7 @@
- #  See the License for the specific language governing permissions and
- #  limitations under the License.
- 
--try: # python >= 3.10
--    from collections.abc import Mapping
--    from collections     import UserString
--except ImportError: # python 2x
--    from collections import Mapping, UserString
--
-+from collections import Mapping, UserString
- from io import IOBase
- 
- from .platform import RERAISED_EXCEPTIONS
diff --git a/patches/python_310_migration.sh b/patches/python_310_migration.sh
deleted file mode 100755
index b522caa..0000000
--- a/patches/python_310_migration.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------
-# Copyright 2022-2024 Open Networking Foundation (ONF) and the ONF Contributors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# -----------------------------------------------------------------------
-
-##-------------------##
-##---]  GLOBALS  [---##
-##-------------------##
-set -euo pipefail
-
-## -----------------------------------------------------------------------
-## Intent: Display script documentation.
-## -----------------------------------------------------------------------
-function show_help()
-{
-    cat <<EOH
-Usage: $0
-  apply    Patch virtualenv python modules by version (3.10+).
-  backup   Create a tarball for work-in-progress.
-  gather   Display a list of potential source files to patch.
-
-  --venv   Installed venv directory to patch (override default)
-  --help   This message
-
-See Also
-  patches/README.md       Howto create a patch file.
-
-EOH
-    exit 0
-}
-
-##----------------##
-##---]  MAIN  [---##
-##----------------##
-declare dst='.venv'  # "vst_venv"
-declare src="staging"
-declare pat="patches"
-
-## -----------------------
-## Slurp available patches
-## -----------------------
-pushd "$pat" >/dev/null
-readarray -t fyls < <(find . -name 'patch' -print)
-popd         >/dev/null
-
-if [ $# -eq 0 ]; then set -- apply; fi
-
-while [ $# -gt 0 ]; do
-    opt="$1"; shift
-    case "$opt" in
-
-	-*help) show_help ;;
-	-*venv) dst="$1"; shift ;;
-
-	apply)
-	    pushd "$dst" >/dev/null || { echo "pushd $dst failed"; exit 1; }
-	    for fyl in "${fyls[@]}";
-	    do
-		path="${fyl%/*}"
-
-		# Conditional install, jenkins may not support interpreter yet.
-		if [ ! -e "$path" ]; then
-		    echo "[SKIP] $path"
-		    continue
-		fi
-		
-		echo "[APPLY] $path"
-		patch -R -p1 < "../$pat/${path}/patch"
-	    done
-	    popd >/dev/null || { echo "popd $dst failed"; exit 1; }
-	    ;;
-
-	backup)
-	    mkdir ~/backups
-	    pushd "$src" || { echo "pushd $dst failed"; exit 1; }
-	    tar czvf ~/backups/vault."$(date '+%Y%m%d%H%M%S')" "${fyls[@]}"
-	    popd || { echo "popd $dst failed"; exit 1; }
-	    ;;
-
-	gather)
-	    for fyl in "${fyls[@]}";
-	    do
-		patchDir="$pat/$fyl"
-		mkdir -p "$patchDir"
-		diff -Naur "$src/$fyl" "$dst/$fyl" | tee "$pat/$fyl/patch"
-	    done
-	    find "$pat" -print
-	    ;;
-
-	help) show_help ;;
-
-	*)
-	    echo "ERROR: Unknown action [$opt]"
-	    exit 1
-	    ;;
-    esac
-
-    echo
-done
-
-# [EOF]
diff --git a/requirements.txt b/requirements.txt
index 1f0dfaf..4223aa6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20,24 +20,20 @@
 
 virtualenv
 
-flake8==3.8.2
-pexpect==4.8.0
-pylint==2.5.2
-yamllint==1.23.0
+flake8
+pexpect
+pylint
+yamllint
 
 # -----------------------------------------------------------------------
 # https://pypi.org/project/robotframework/#history
 # -----------------------------------------------------------------------
-robotframework==3.1.2                    # 2019-05-24
-# robotframework==6.1.1                    # 2019-05-24
-robotframework-kafkalibrary==0.0.3
-robotframework-lint==1.0
-robotframework-requests==0.7.0
-robotframework-sshlibrary==3.8.0
-
-# replace when we can use upstream (needs python 3.6)
-git+https://github.com/zdw/robotframework-importresource@b81b87aabaee0594e966687b41e3674b866f28ee
-cord-robot==2.1.10
+robotframework
+robotframework-kafkalibrary
+robotframework-lint
+robotframework-requests
+robotframework-sshlibrary
+cord-robot
 
 # -----------------------------------------------------------------------
 # https://pypi.org/project/robotframework-tidy/#history
@@ -50,12 +46,12 @@
 # -----------------------------------------------------------------------
 # robotframework-robocop
 
-matplotlib==3.3.4
-requests==2.24.0
+matplotlib
+requests
 grpc-robot>=2.9.3
 kafka-robot>=2.3.2
 voltha-protos>=4.2.0
-protobuf>=3.15.7,<3.20.0
+protobuf
 protobuf3-to-dict>=0.1.5
 device-management-interface>=1.2.1
 
