[stable/2023.1] Transition to Tox (#1641)

diff --git a/tox.ini b/tox.ini
index 74bc9b5..b0787f3 100644
--- a/tox.ini
+++ b/tox.ini
@@ -9,8 +9,6 @@
   OS_STDERR_CAPTURE=1
   OS_TEST_TIMEOUT=160
   PYTHONDONTWRITEBYTECODE=1
-deps =
-  -r{toxinidir}/test-requirements.txt
 passenv =
   KUBECONFIG
 
@@ -53,11 +51,29 @@
   python3 {toxinidir}/build/sync-charts.py --check
   python3 {toxinidir}/build/lint-jobs.py
 
+[testenv:py3]
+deps =
+  pytest-ansible
+commands =
+  pytest tests/unit
+
+[testenv:molecule-venv]
+passenv =
+  ATMOSPHERE_NETWORK_BACKEND
+deps =
+  molecule
+commands =
+  molecule {posargs}
+
 [testenv:molecule-keycloak]
+deps =
+  {[testenv:molecule-venv]deps}
 commands =
   molecule test -s keycloak
 
 [testenv:molecule-csi-{rbd,local-path-provisioner}]
+deps =
+  {[testenv:molecule-venv]deps}
 setenv =
   rbd: MOLECULE_CSI_DRIVER = rbd
   local-path-provisioner: MOLECULE_CSI_DRIVER = local-path-provisioner
@@ -65,6 +81,12 @@
   molecule test -s csi
 
 [testenv:molecule-aio-{openvswitch,ovn}]
+deps =
+  {[testenv:molecule-venv]deps}
+  kubernetes
+  oslotest
+  stestr
+  testscenarios
 setenv =
   ATMOSPHERE_DEBUG = false
   openvswitch: ATMOSPHERE_NETWORK_BACKEND = openvswitch
@@ -89,3 +111,11 @@
 commands =
   rm -rf doc/build/html doc/build/doctrees
   sphinx-autobuild doc/source doc/build/html
+
+[testenv:build-manila-image]
+deps =
+  diskimage-builder==3.28.0
+allowlist_externals =
+  bash
+commands =
+  bash {toxinidir}/build/build-manila-image.sh