Bug 1844: LTS Support

Updates base to Ubuntu 20.04
Updates python to 3.8
Updates pip dependencies to more recent versions
Adds apt cache to stage 2 dockerfile

Fixes bug 1844

Change-Id: I66a80d649fa5beaaf0821c9e307ca7215ede9fd4
Signed-off-by: beierlm <mark.beierl@canonical.com>
diff --git a/requirements.txt b/requirements.txt
index 30dabd5..b8a375f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,150 +1,3 @@
-aiohttp==3.6.2
-    # via -r requirements.in
-async-timeout==3.0.1
-    # via aiohttp
-attrs==20.3.0
-    # via
-    #   aiohttp
-    #   jsonschema
-certifi==2020.12.5
-    # via requests
-chardet==3.0.4
-    # via
-    #   aiohttp
-    #   requests
-cheroot==8.5.2
-    # via cherrypy
-cherrypy==18.6.0
-    # via -r requirements.in
-debtcollector==2.2.0
-    # via
-    #   oslo.config
-    #   oslo.utils
-    #   python-keystoneclient
-idna==2.10
-    # via
-    #   requests
-    #   yarl
-iso8601==0.1.14
-    # via
-    #   keystoneauth1
-    #   oslo.utils
-jaraco.classes==3.2.1
-    # via jaraco.collections
-jaraco.collections==3.2.0
-    # via cherrypy
-jaraco.functools==3.2.1
-    # via
-    #   cheroot
-    #   jaraco.text
-    #   tempora
-jaraco.text==3.5.0
-    # via jaraco.collections
-jsonschema==3.2.0
-    # via -r requirements.in
-keystoneauth1==4.3.1
-    # via python-keystoneclient
-more-itertools==8.7.0
-    # via
-    #   cheroot
-    #   cherrypy
-    #   jaraco.classes
-    #   jaraco.functools
-msgpack==1.0.2
-    # via oslo.serialization
-multidict==4.7.6
-    # via
-    #   aiohttp
-    #   yarl
-netaddr==0.8.0
-    # via
-    #   oslo.config
-    #   oslo.utils
-netifaces==0.10.9
-    # via oslo.utils
-os-service-types==1.7.0
-    # via keystoneauth1
-oslo.config==8.5.0
-    # via python-keystoneclient
-oslo.i18n==5.0.1
-    # via
-    #   oslo.config
-    #   oslo.utils
-    #   python-keystoneclient
-oslo.serialization==4.1.0
-    # via python-keystoneclient
-oslo.utils==4.8.0
-    # via
-    #   oslo.serialization
-    #   python-keystoneclient
-packaging==20.9
-    # via oslo.utils
-pbr==5.5.1
-    # via
-    #   debtcollector
-    #   keystoneauth1
-    #   os-service-types
-    #   oslo.i18n
-    #   oslo.serialization
-    #   oslo.utils
-    #   python-keystoneclient
-    #   stevedore
-portend==2.7.1
-    # via cherrypy
-pyparsing==2.4.7
-    # via
-    #   oslo.utils
-    #   packaging
-pyrsistent==0.17.3
-    # via jsonschema
-python-keystoneclient==4.2.0
-    # via -r requirements.in
-pytz==2021.1
-    # via
-    #   oslo.serialization
-    #   oslo.utils
-    #   tempora
-pyyaml==5.4.1
-    # via
-    #   -r requirements.in
-    #   oslo.config
-requests==2.25.1
-    # via
-    #   -r requirements.in
-    #   keystoneauth1
-    #   oslo.config
-    #   python-keystoneclient
-rfc3986==1.4.0
-    # via oslo.config
-six==1.15.0
-    # via
-    #   cheroot
-    #   debtcollector
-    #   jsonschema
-    #   keystoneauth1
-    #   oslo.i18n
-    #   python-keystoneclient
-    #   tacacs-plus
-stevedore==3.3.0
-    # via
-    #   keystoneauth1
-    #   oslo.config
-    #   python-keystoneclient
-tacacs-plus==2.6
-    # via -r requirements.in
-tempora==4.0.1
-    # via portend
-urllib3==1.26.4
-    # via requests
-wrapt==1.12.1
-    # via debtcollector
-yarl==1.6.3
-    # via aiohttp
-zc.lockfile==2.0
-    # via cherrypy
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
 # Copyright 2018 Telefonica S.A.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -158,3 +11,156 @@
 # 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.
+
+
+aiohttp==3.6.2
+    # via -r requirements.in
+async-timeout==3.0.1
+    # via aiohttp
+attrs==21.4.0
+    # via
+    #   aiohttp
+    #   jsonschema
+certifi==2021.10.8
+    # via requests
+chardet==3.0.4
+    # via aiohttp
+charset-normalizer==2.0.10
+    # via requests
+cheroot==8.6.0
+    # via cherrypy
+cherrypy==18.6.1
+    # via -r requirements.in
+debtcollector==2.4.0
+    # via
+    #   oslo.config
+    #   oslo.utils
+    #   python-keystoneclient
+idna==3.3
+    # via
+    #   requests
+    #   yarl
+importlib-resources==5.4.0
+    # via
+    #   jaraco.text
+    #   jsonschema
+iso8601==1.0.2
+    # via
+    #   keystoneauth1
+    #   oslo.utils
+jaraco.classes==3.2.1
+    # via jaraco.collections
+jaraco.collections==3.5.1
+    # via cherrypy
+jaraco.functools==3.5.0
+    # via
+    #   cheroot
+    #   jaraco.text
+    #   tempora
+jaraco.text==3.6.0
+    # via jaraco.collections
+jsonschema==4.4.0
+    # via -r requirements.in
+keystoneauth1==4.4.0
+    # via python-keystoneclient
+more-itertools==8.12.0
+    # via
+    #   cheroot
+    #   cherrypy
+    #   jaraco.classes
+    #   jaraco.functools
+msgpack==1.0.3
+    # via oslo.serialization
+multidict==4.7.6
+    # via
+    #   aiohttp
+    #   yarl
+netaddr==0.8.0
+    # via
+    #   oslo.config
+    #   oslo.utils
+netifaces==0.11.0
+    # via oslo.utils
+os-service-types==1.7.0
+    # via keystoneauth1
+oslo.config==8.7.1
+    # via python-keystoneclient
+oslo.i18n==5.1.0
+    # via
+    #   oslo.config
+    #   oslo.utils
+    #   python-keystoneclient
+oslo.serialization==4.2.0
+    # via python-keystoneclient
+oslo.utils==4.12.0
+    # via
+    #   oslo.serialization
+    #   python-keystoneclient
+packaging==21.3
+    # via oslo.utils
+pbr==5.8.0
+    # via
+    #   debtcollector
+    #   keystoneauth1
+    #   os-service-types
+    #   oslo.i18n
+    #   oslo.serialization
+    #   oslo.utils
+    #   python-keystoneclient
+    #   stevedore
+portend==3.1.0
+    # via cherrypy
+pyparsing==3.0.6
+    # via
+    #   oslo.utils
+    #   packaging
+pyrsistent==0.18.1
+    # via jsonschema
+python-keystoneclient==4.4.0
+    # via -r requirements.in
+pytz==2021.3
+    # via
+    #   oslo.serialization
+    #   oslo.utils
+    #   tempora
+pyyaml==5.4.1
+    # via
+    #   -r requirements.in
+    #   oslo.config
+requests==2.27.1
+    # via
+    #   -r requirements.in
+    #   keystoneauth1
+    #   oslo.config
+    #   python-keystoneclient
+rfc3986==2.0.0
+    # via oslo.config
+six==1.16.0
+    # via
+    #   cheroot
+    #   keystoneauth1
+    #   python-keystoneclient
+    #   tacacs-plus
+stevedore==3.5.0
+    # via
+    #   keystoneauth1
+    #   oslo.config
+    #   python-keystoneclient
+tacacs-plus==2.6
+    # via -r requirements.in
+tempora==5.0.0
+    # via portend
+urllib3==1.26.8
+    # via requests
+wrapt==1.13.3
+    # via debtcollector
+yarl==1.7.2
+    # via aiohttp
+zc.lockfile==2.0
+    # via cherrypy
+zipp==3.7.0
+    # via importlib-resources
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools