removing /%(tenantid)s from tacker heat_uri
[apex.git] / ci / util.sh
index b262c20..480858d 100755 (executable)
@@ -5,7 +5,7 @@
 CONFIG=${CONFIG:-'/var/opt/opnfv'}
 RESOURCES=${RESOURCES:-"$CONFIG/images"}
 LIB=${LIB:-"$CONFIG/lib"}
-VALID_CMDS="undercloud debug-stack -h --help"
+VALID_CMDS="undercloud overcloud opendaylight debug-stack mock-detached -h --help"
 
 source $LIB/utility-functions.sh
 
@@ -21,9 +21,21 @@ resolve_cmd() {
 }
 
 display_usage() {
-  echo -e "Usage:\n$0 [arguments] \n"
-  echo -e "   undercloud <user> : Connect to Undercloud VM as <user>\n"
-  echo -e "   debug-stack : Print parsed deployment failures to stdout \n"
+  echo -e "Usage:\n$0 subcommand [ arguments ]\n"
+  echo -e "Arguments:\n"
+  echo -e "   undercloud [ user [ command ] ]   Connect to Undercloud VM as user and optionally execute a command"
+  echo -e "                                     user    Optional: Defaults to 'stack'"
+  echo -e "                                     command Optional: Defaults to none"
+  echo -e ""
+  echo -e "   opendaylight                      Connect to OpenDaylight Karaf console"
+  echo -e ""
+  echo -e "   overcloud  [ node [ command ] ]   Connect to an Overcloud node and optionally execute a command"
+  echo -e "                                     node    Required: in format controller|compute<number>.  Example: controller0"
+  echo -e "                                     command Optional: Defaults to none"
+  echo -e ""
+  echo -e "   debug-stack                       Print parsed deployment failures to stdout"
+  echo -e ""
+  echo -e "   mock-detached on | off            Add firewall rules to the jump host to mock a detached deployment\n"
 }
 
 ##translates the command line argument
@@ -52,15 +64,60 @@ parse_cmdline() {
                 if [ -z "$2" ]; then
                   # connect as stack by default
                   undercloud_connect stack
+                elif [ -z "$3" ]; then
+                  undercloud_connect "$2"
                 else
-                  undercloud_connect $2
+                  undercloud_connect "$2" "$3"
                 fi
                 exit 0
             ;;
+        overcloud)
+                if [ -z "$2" ]; then
+                  overcloud_connect
+                elif [ -z "$3" ]; then
+                  overcloud_connect "$2"
+                else
+                  overcloud_connect "$2" "$3"
+                fi
+                exit 0
+            ;;
+        opendaylight)
+                opendaylight_connect
+                exit 0
+            ;;
         debug-stack)
                 undercloud_connect stack "$(typeset -f debug_stack); debug_stack"
                 exit 0
             ;;
+        mock-detached)
+                if [ "$2" == "on" ]; then
+                    echo "Ensuring we can talk to gerrit.opnfv.org"
+                    iptables -A OUTPUT -p tcp -d gerrit.opnfv.org --dport 443 -j ACCEPT
+                    echo "Blocking output http (80) traffic"
+                    iptables -A OUTPUT -p tcp --dport 80 -j REJECT
+                    iptables -A FORWARD -p tcp --dport 80 -j REJECT
+                    echo "Blocking output https (443) traffic"
+                    iptables -A OUTPUT -p tcp --dport 443 -j REJECT
+                    iptables -A FORWARD -p tcp --dport 443 -j REJECT
+                    echo "Blocking output dns (53) traffic"
+                    iptables -A FORWARD -p tcp --dport 53 -j REJECT
+                elif [ "$2" == "off" ]; then
+                    echo "Cleaning gerrit.opnfv.org specific rule"
+                    iptables -D OUTPUT -p tcp -d gerrit.opnfv.org --dport 443 -j ACCEPT
+                    echo "Allowing output http (80) traffic"
+                    iptables -D OUTPUT -p tcp --dport 80 -j REJECT
+                    iptables -D FORWARD -p tcp --dport 80 -j REJECT
+                    echo "Allowing output https (443) traffic"
+                    iptables -D OUTPUT -p tcp --dport 443 -j REJECT
+                    iptables -D FORWARD -p tcp --dport 443 -j REJECT
+                    echo "Allowing output dns (53) traffic"
+                    iptables -D OUTPUT -p tcp --dport 53 -j REJECT
+                    iptables -D FORWARD -p tcp --dport 53 -j REJECT
+                else
+                    display_usage
+                fi
+                exit 0
+            ;;
         *)
                 echo -e "\n\nThis script is used to interact with Apex deployments\n\n"
                 echo "Use -h to display help"