Run pip check at end of devstack

The new pip depsolver is coming this summer. Until it's ready,
run pip check at the end of devstack to make sure we're not
somehow installing conflicting package versions. We shouldn't
be, because of constraints, but if we are, better to know and
start figuring it out.

Change-Id: Id98f0848ff5a252d93e5f8029df2d069924d603f
diff --git a/inc/python b/inc/python
index 52ad565..20f3c60 100644
--- a/inc/python
+++ b/inc/python
@@ -111,6 +111,30 @@
     $xtrace
 }
 
+
+function pip_check {
+    time_start "pip_check"
+
+    if [[ -n ${PIP_VIRTUAL_ENV:=} && -d ${PIP_VIRTUAL_ENV} ]]; then
+        local cmd_pip=$PIP_VIRTUAL_ENV/bin/pip
+    else
+        local cmd_pip
+        if python3_enabled; then
+            echo "Using python $PYTHON3_VERSION to check pip install because python3_enabled=True"
+            cmd_pip=$(get_pip_command $PYTHON3_VERSION)
+        else
+            echo "Using python $PYTHON2_VERSION to check pip install because python3_enabled=False"
+            cmd_pip=$(get_pip_command $PYTHON2_VERSION)
+        fi
+    fi
+
+    $cmd_pip check
+    result=$?
+
+    time_stop "pip_check"
+    return $result
+}
+
 # Wrapper for ``pip install`` to set cache and proxy environment variables
 # Uses globals ``OFFLINE``, ``PIP_VIRTUAL_ENV``,
 # ``PIP_UPGRADE``, ``*_proxy``,
diff --git a/stack.sh b/stack.sh
index 9879bd4..352112a 100755
--- a/stack.sh
+++ b/stack.sh
@@ -1421,6 +1421,9 @@
 # Check the status of running services
 service_check
 
+# Run pip check to make sure we're forward compatible with the pip depsolver.
+pip_check
+
 # Configure nova cellsv2
 # ----------------------