X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Futil.sh;h=480858d08af8e10e3d0bf54076c2509d1d146341;hb=bfa93e78c598696a4f91b431b15ecc6b74f1700b;hp=b262c20329d6ca43531c90cd2aef1199edfbd06b;hpb=ab0faad452803dad2aa7c2bfca09ee169c6063f2;p=apex.git diff --git a/ci/util.sh b/ci/util.sh index b262c203..480858d0 100755 --- a/ci/util.sh +++ b/ci/util.sh @@ -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 : Connect to Undercloud VM as \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. 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"