From 2154ee3edd57020ea98726fd9808bb4e4b51193d Mon Sep 17 00:00:00 2001 From: tierno Date: Wed, 29 Aug 2018 13:15:52 +0000 Subject: [PATCH] added RO-of for managing openflow utility from inside RO container Change-Id: Iadcfd4e9fe23c2f12d3bca1d08b7b31bd15f83ca Signed-off-by: tierno --- scripts/RO-of | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/RO-of diff --git a/scripts/RO-of b/scripts/RO-of new file mode 100755 index 00000000..a4e6bbd7 --- /dev/null +++ b/scripts/RO-of @@ -0,0 +1,58 @@ +#!/bin/bash + +## +# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U. +# This file is part of openmano +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +## + +# author: Alfonso Tierno + +# to get docker id that is running: +# $ docker_ro=`docker service ps osm_ro -f desired-state=running --format "{{.Name}}.{{.ID}}" --no-trunc` +# exec with: +# $ docker exec -ti $docker_ro RO-of + +function get_from_db() +{ + echo "select $1 from $2 where name='$3' or uuid='$3';" | mysql -h"$RO_DB_HOST" -u"$RO_DB_OVIM_USER" -p"$RO_DB_OVIM_PASSWORD" "$RO_DB_OVIM_NAME" 2>/dev/null | tail -n1 +} + +[ -z "$RO_DB_OVIM_HOST" ] && export RO_DB_OVIM_HOST="$RO_DB_HOST" + +if [ -z "$1" ] ; then + echo "usage '$0 command'" + echo + echo "available sdn_controllers are:" + echo "select uuid, name, type, ip, dpid, status from ofcs;" | mysql -h"$RO_DB_HOST" -u"$RO_DB_OVIM_USER" -p"$RO_DB_OVIM_PASSWORD" "$RO_DB_OVIM_NAME" 2>/dev/null + exit +fi + + +export OF_CONTROLLER_DPID=`get_from_db dpid ofcs $1` +[ -z "$OF_CONTROLLER_DPID" ] && echo "Cannot find sdn_controller '$1' at database" >&2 && exit 1 + +export OF_CONTROLLER_IP=`get_from_db ip ofcs $1` +export OF_CONTROLLER_PORT=`get_from_db port ofcs $1` +export OF_CONTROLLER_USER=`get_from_db user ofcs $1` +export OF_CONTROLLER_PASSWORD=`get_from_db password ofcs $1` +export OF_CONTROLLER_TYPE=`get_from_db type ofcs $1` + +shift +openflow-lib "$@" + + + -- 2.17.1