Add marconi support to devstack

Marconi has an optional dependency on keystone for authentication. This
code was tested with everything enabled and also with the following
localrc:

    STACK_USER=fedora
    SERVICE_TOKEN=secrete
    ADMIN_PASSWORD=secrete
    MYSQL_PASSWORD=secrete
    RABBIT_PASSWORD=secrete
    SERVICE_PASSWORD=secrete

    disable_all_services
    enable_service qpid
    enable_service key
    enable_service mysql
    enable_service marconi-server

Implements blueprint marconi-devstack-integration
Implements blueprint devstack-support

Change-Id: I13495bcc5c5eb66cee641894e9f84a0089460c8b
diff --git a/extras.d/70-marconi.sh b/extras.d/70-marconi.sh
new file mode 100644
index 0000000..a96a4c5
--- /dev/null
+++ b/extras.d/70-marconi.sh
@@ -0,0 +1,29 @@
+# marconi.sh - Devstack extras script to install Marconi
+
+if is_service_enabled marconi-server; then
+    if [[ "$1" == "source" ]]; then
+        # Initial source
+        source $TOP_DIR/lib/marconi
+    elif [[ "$1" == "stack" && "$2" == "install" ]]; then
+        echo_summary "Installing Marconi"
+        install_marconiclient
+        install_marconi
+    elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
+        echo_summary "Configuring Marconi"
+        configure_marconi
+        configure_marconiclient
+
+        if is_service_enabled key; then
+            create_marconi_accounts
+        fi
+
+    elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
+        echo_summary "Initializing Marconi"
+        init_marconi
+        start_marconi
+    fi
+
+    if [[ "$1" == "unstack" ]]; then
+        stop_marconi
+    fi
+fi