X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fscripts%2Fmodel-install.sh.in;fp=ntsimulator%2Fscripts%2Fmodel-install.sh.in;h=316923e067dab61645f76e0af6427d719a29e87f;hb=29ce368a8b49cb41f3a1640581ff9958ea50ad8c;hp=0000000000000000000000000000000000000000;hpb=1d6c03fcfde03df735f82913ea795a75cd3068d9;p=sim%2Fo1-interface.git diff --git a/ntsimulator/scripts/model-install.sh.in b/ntsimulator/scripts/model-install.sh.in new file mode 100755 index 0000000..316923e --- /dev/null +++ b/ntsimulator/scripts/model-install.sh.in @@ -0,0 +1,57 @@ +#!/bin/bash + +set -eu -o pipefail + +shopt -s failglob + +: ${SYSREPOCTL:=sysrepoctl} +: ${SYSREPOCFG:=sysrepocfg} +: ${SYSREPOCTL_ROOT_PERMS:=-o root:root -p 600} +: ${YANG_DIR:=@CMAKE_CURRENT_SOURCE_DIR@/yang/manager} +: ${STARTUP_DIR:=@CMAKE_CURRENT_SOURCE_DIR@/yang/startup} + +is_yang_module_installed() { + module=$1 + + $SYSREPOCTL -l | grep --count "^$module [^|]*|[^|]*| Installed .*$" > /dev/null +} + +install_yang_module() { + module=$1 + + if ! is_yang_module_installed $module; then + echo "- Installing module $module..." + $SYSREPOCTL -i -g ${YANG_DIR}/$module.yang $SYSREPOCTL_ROOT_PERMS + else + echo "- Module $module already installed." + fi +} + +uninstall_yang_module() { + module=$1 + + if is_yang_module_installed $module; then + echo "- Uninstalling module $module..." + $SYSREPOCTL -u -m $module + else + echo "- Module $module is not installed." + fi +} + +enable_yang_module_feature() { + module=$1 + feature=$2 + + if ! $SYSREPOCTL -l | grep --count "^$module [^|]*|[^|]*|[^|]*|[^|]*|[^|]*|[^|]*|.* $feature.*$" > /dev/null; then + echo "- Enabling feature $feature in $module..." + $SYSREPOCTL -m $module -e $feature + else + echo "- Feature $feature in $module already enabled." + fi +} + +echo "- Installing network-topology-simulator..." +install_yang_module network-topology-simulator + +echo "- Adding startup datastore in network-topology-simulator..." +$SYSREPOCFG -d startup -i $YANG_DIR/network-topology-simulator.xml -f xml network-topology-simulator