From 1de9e330de9fd509fcdbe04c4722951b3acf199c Mon Sep 17 00:00:00 2001
From: Sean Dague <sean@dague.net>
Date: Wed, 7 Oct 2015 08:46:13 -0400
Subject: [PATCH] add big warning for extras.d usage

This adds a warning for extras.d usage. This will give us something to
keep an eye on in logstash to build up the list of projects that will
break at Mitaka-1.

This also makes the deprecated handling done through a function, which
will hopefully make it more consistent in the future.

Change-Id: Icd393bc3e7095fe58be0fd13ef74fece3aa5c5f1
---
 functions-common | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/functions-common b/functions-common
index cfe0c8d4ba..ee5c5cd03c 100644
--- a/functions-common
+++ b/functions-common
@@ -179,6 +179,12 @@ function die_if_not_set {
     $xtrace
 }
 
+function deprecated {
+    local text=$1
+    DEPRECATED_TEXT+="\n$text"
+    echo "WARNING: $text"
+}
+
 # Prints line number and "message" in error format
 # err $LINENO "message"
 function err {
@@ -1728,6 +1734,16 @@ function run_phase {
     if [[ -d $TOP_DIR/extras.d ]]; then
         for i in $TOP_DIR/extras.d/*.sh; do
             [[ -r $i ]] && source $i $mode $phase
+            # NOTE(sdague): generate a big warning about using
+            # extras.d in an unsupported way which will let us track
+            # unsupported usage in the gate.
+            local exceptions="50-ironic.sh 60-ceph.sh 80-tempest.sh"
+            local extra=$(basename $i)
+            if [[ ! ( $exceptions =~ "$extra" ) ]]; then
+                deprecated "extras.d support is being removed in Mitaka-1"
+                deprecated "jobs for project $extra will break after that point"
+                deprecated "please move project to a supported devstack plugin model"
+            fi
         done
     fi
     # the source phase corresponds to settings loading in plugins