diff --git a/common/recipes-devtools/python/python-gevent/0001-gevent-py279-ssl-wrap.patch b/common/recipes-devtools/python/python-gevent/0001-gevent-py279-ssl-wrap.patch
deleted file mode 100644
index 3edf243..0000000
--- a/common/recipes-devtools/python/python-gevent/0001-gevent-py279-ssl-wrap.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/gevent/ssl.py  2015-03-13 05:44:39.000000000 +0800
-+++ b/gevent/ssl.py  2015-03-13 05:44:24.000000000 +0800
-@@ -19,6 +19,25 @@
- except AttributeError:
-     _ssl = __ssl__._ssl2
-
-+import inspect
-+
-+
-+def new_sslwrap(sock, server_side=False, keyfile=None, certfile=None, cert_reqs=__ssl__.CERT_NONE, ssl_version=__ssl__.PROTOCOL_SSLv23, ca_certs=None, ciphers=None):
-+    context = __ssl__.SSLContext(ssl_version)
-+    context.verify_mode = cert_reqs or __ssl__.CERT_NONE
-+    if ca_certs:
-+        context.load_verify_locations(ca_certs)
-+    if certfile:
-+        context.load_cert_chain(certfile, keyfile)
-+    if ciphers:
-+        context.set_ciphers(ciphers)
-+
-+    caller_self = inspect.currentframe().f_back.f_locals['self']
-+    return context._wrap_socket(sock, server_side=server_side, ssl_sock=caller_self)
-+
-+if not hasattr(_ssl, 'sslwrap'):
-+    _ssl.sslwrap = new_sslwrap
-+
- import sys
- import errno
- from gevent.socket import socket, _fileobject, timeout_default
diff --git a/common/recipes-devtools/python/python-gevent/0002-gevent-eat-ssl-self-cert-errors.patch b/common/recipes-devtools/python/python-gevent/0002-gevent-eat-ssl-self-cert-errors.patch
deleted file mode 100644
index 36990e8..0000000
--- a/common/recipes-devtools/python/python-gevent/0002-gevent-eat-ssl-self-cert-errors.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/gevent/ssl.py	2016-11-02 13:17:37.917401795 -0500
-+++ b/gevent/newssl.py	2016-11-02 13:17:23.085401962 -0500
-@@ -334,6 +334,8 @@ class SSLSocket(socket):
-                         raise
-                     sys.exc_clear()
-                     self._wait(self._write_event, timeout_exc=_SSLErrorHandshakeTimeout)
-+                elif ex.reason in ['SSLV3_ALERT_CERTIFICATE_EXPIRED', 'TLSV1_ALERT_UNKNOWN_CA']:
-+                    return None
-                 else:
-                     raise
-
-     def connect(self, addr):
-         """Connects to remote ADDR, and then wraps the connection in
diff --git a/common/recipes-devtools/python/python-gevent/libev-config-guess.patch b/common/recipes-devtools/python/python-gevent/libev-config-guess.patch
deleted file mode 100644
index 2380528..0000000
--- a/common/recipes-devtools/python/python-gevent/libev-config-guess.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/libev/config.guess	2016-06-09 00:16:50.616787488 -0400
-+++ b/libev/config.guess	2016-06-09 00:18:30.441578080 -0400
-@@ -921,6 +921,9 @@ EOF
-     ppc64:Linux:*:*)
- 	echo powerpc64-unknown-linux-gnu
- 	exit ;;
-+    ppc64le:Linux:*:*)
-+	echo powerpc64le-unknown-linux-gnu
-+	exit ;;
-     alpha:Linux:*:*)
- 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- 	  EV5)   UNAME_MACHINE=alphaev5 ;;
diff --git a/common/recipes-devtools/python/python-gevent_%.bbappend b/common/recipes-devtools/python/python-gevent_%.bbappend
deleted file mode 100644
index 4dd9786..0000000
--- a/common/recipes-devtools/python/python-gevent_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://libev-config-guess.patch"
-SRC_URI += "file://0001-gevent-py279-ssl-wrap.patch"
-SRC_URI += "file://0002-gevent-eat-ssl-self-cert-errors.patch"
diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample
index 3f9182d..1fbaa52 100644
--- a/conf/bblayers.conf.sample
+++ b/conf/bblayers.conf.sample
@@ -12,7 +12,6 @@
   ##OEROOT##/import-layers/meta-openembedded/meta-networking \
   ##OEROOT##/import-layers/meta-openembedded/meta-python \
   ##OEROOT##/import-layers/meta-openembedded/meta-webserver \
-  ##OEROOT##/import-layers/meta-virtualization \
   ##OEROOT##/meta-phosphor \
   "
 BBLAYERS_NON_REMOVABLE ?= " \
@@ -22,5 +21,4 @@
   ##OEROOT##/import-layers/meta-openembedded/meta-networking \
   ##OEROOT##/import-layers/meta-openembedded/meta-python \
   ##OEROOT##/import-layers/meta-openembedded/meta-webserver \
-  ##OEROOT##/import-layers/meta-virtualization \
   "
