Run console proxies per cell instead of globally

Along with converting to the database backend for console token auth,
the console proxies need to run per cell instead of globally. This way,
the instance UUID isn't needed in the access url as users will be
handed an access url local to the cell their instances is in. With
console proxies sharded across cells, a large cloud will no longer have
a bottleneck of one console proxy for the entire deployment.

This also disables the novnc tempest tests with a TODO to re-enable
them once the nova patch series that converts from the nova-consoleauth
backend -> cell database backend lands.

Change-Id: I67894a31b887a93de26f3d2d8a1fa84be5b9ea89
diff --git a/lib/tempest b/lib/tempest
index 3b39dae..d22bb95 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -386,7 +386,14 @@
         iniset $TEMPEST_CONFIG compute-feature-enabled volume_multiattach True
     fi
 
-    if is_service_enabled n-novnc; then
+    # TODO(melwitt): If we're running per-cell console proxies, the novnc tests
+    # won't work until the nova patch series lands that converts from the
+    # nova-consoleauth backend -> cell database backend. So disable them unless
+    # we're running Cells v1. Cells v1 will never support the cell database
+    # backend, so it will always run with a global nova-consoleauth.
+    # Once the patch that converts from the nova-consoleauth backend -> cell
+    # database backend lands, we can re-enable the novnc tests for Cells v2.
+    if is_service_enabled n-novnc && is_service_enabled n-cell; then
         iniset $TEMPEST_CONFIG compute-feature-enabled vnc_console True
     fi