diff --git a/files/apts/glance b/files/apts/glance
index a05e9f2ea7..26826a53c7 100644
--- a/files/apts/glance
+++ b/files/apts/glance
@@ -1,5 +1,10 @@
 gcc
+libffi-dev          # testonly
+libmysqlclient-dev  # testonly
+libpq-dev           # testonly
+libssl-dev          # testonly
 libxml2-dev
+libxslt1-dev        # testonly
 python-dev
 python-eventlet
 python-routes
@@ -10,3 +15,4 @@ python-wsgiref
 python-pastedeploy
 python-xattr
 python-iso8601
+zlib1g-dev           # testonly
diff --git a/files/rpms/glance b/files/rpms/glance
index 0f113eaa01..dd66171f7a 100644
--- a/files/rpms/glance
+++ b/files/rpms/glance
@@ -1,5 +1,10 @@
 gcc
+libffi-devel        # testonly
 libxml2-devel
+libxslt-devel       # testonly
+mysql-devel         # testonly
+openssl-devel       # testonly
+postgresql-devel    # testonly
 python-argparse
 python-devel
 python-eventlet
@@ -9,3 +14,4 @@ python-routes
 python-sqlalchemy
 python-wsgiref
 pyxattr
+zlib-devel          # testonly
diff --git a/functions b/functions
index 087a0ea844..5546defa22 100644
--- a/functions
+++ b/functions
@@ -317,16 +317,36 @@ function get_packages() {
                 continue
             fi
 
+            # Assume we want this package
+            package=${line%#*}
+            inst_pkg=1
+
+            # Look for # dist:xxx in comment
             if [[ $line =~ (.*)#.*dist:([^ ]*) ]]; then
                 # We are using BASH regexp matching feature.
                 package=${BASH_REMATCH[1]}
                 distros=${BASH_REMATCH[2]}
                 # In bash ${VAR,,} will lowecase VAR
-                [[ ${distros,,} =~ ${DISTRO,,} ]] && echo $package
-                continue
+                # Look for a match in the distro list
+                if [[ ! ${distros,,} =~ ${DISTRO,,} ]]; then
+                    # If no match then skip this package
+                    inst_pkg=0
+                fi
             fi
 
-            echo ${line%#*}
+            # Look for # testonly in comment
+            if [[ $line =~ (.*)#.*testonly.* ]]; then
+                package=${BASH_REMATCH[1]}
+                # Are we installing test packages? (test for the default value)
+                if [[ $INSTALL_TESTONLY_PACKAGES = "False" ]]; then
+                    # If not installing test packages the skip this package
+                    inst_pkg=0
+                fi
+            fi
+
+            if [[ $inst_pkg = 1 ]]; then
+                echo $package
+            fi
         done
         IFS=$OIFS
     done
diff --git a/stackrc b/stackrc
index c81906ac8c..8b97536b50 100644
--- a/stackrc
+++ b/stackrc
@@ -275,6 +275,9 @@ USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN}
 # Set default screen name
 SCREEN_NAME=${SCREEN_NAME:-stack}
 
+# Do not install packages tagged with 'testonly' by default
+INSTALL_TESTONLY_PACKAGES=${INSTALL_TESTONLY_PACKAGES:-False}
+
 # Local variables:
 # mode: shell-script
 # End: