X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_osm.sh;h=f1268fed2c1c38000322ad95a259aa10bbadcba0;hb=61a50e79ee64cde0b1c2c96119b90ac9bddb9ea9;hp=896eaefd67a975527a0dca276fc8320ca8c3b5ec;hpb=f4b6e62bc40e8e8c49f3f302b6af4a519a08e985;p=osm%2Fdevops.git diff --git a/installers/install_osm.sh b/installers/install_osm.sh index 896eaefd..f1268fed 100755 --- a/installers/install_osm.sh +++ b/installers/install_osm.sh @@ -61,6 +61,11 @@ function nat(){ sudo $OSM_DEVOPS/installers/nat_osm } +function FATAL(){ + echo "FATAL error: Cannot install OSM due to \"$1\"" + exit 1 +} + #Update RO, SO and UI: function update(){ echo -e "\nUpdating components" @@ -133,30 +138,28 @@ function update(){ echo } -function so_is_up(){ +function so_is_up() { SO_IP=$1 time=0 step=5 timelength=300 while [ $time -le $timelength ] do - curl -k https://$SO_IP:8008/api/operational/vcs/info \ - --header 'accept: application/vnd.yang.data+json' \ - --header 'authorization: Basic YWRtaW46YWRtaW4=' \ - --header 'cache-control: no-cache' \ - --header 'content-type: application/vnd.yang.data+json' &> /dev/null - RET=$? - if [ "$RET" == 0 ]; then - break + if [[ `curl -k -X GET https://$SO_IP:8008/api/operational/vcs/info \ + -H 'accept: application/vnd.yang.data+json' \ + -H 'authorization: Basic YWRtaW46YWRtaW4=' \ + -H 'cache-control: no-cache' 2> /dev/null | jq '.[].components.component_info[] | select(.component_name=="RW.Restconf")' 2>/dev/null | grep "RUNNING" | wc -l` -eq 1 ]] + then + echo "RW.Restconf running....SO is up" + return 0 fi + sleep $step echo -n "." time=$((time+step)) done - if [ "$RET" != 0 ]; then - FATAL "OSM Failed to startup" - fi - echo + + FATAL "OSM Failed to startup" } #Configure VCA, SO and RO with the initial configuration: @@ -188,6 +191,12 @@ function configure(){ echo -e " Configuring SO" sudo route add -host $JUJU_CONTROLLER_IP gw $VCA_CONTAINER_IP sudo sed -i "$ i route add -host $JUJU_CONTROLLER_IP gw $VCA_CONTAINER_IP" /etc/rc.local + + # make journaling persistent + lxc exec SO-ub -- mkdir -p /var/log/journal + lxc exec SO-ub -- systemd-tmpfiles --create --prefix /var/log/journal + lxc exec SO-ub -- systemctl restart systemd-journald + echo RIFT_EXTERNAL_ADDRESS=$DEFAULT_IP | lxc exec SO-ub -- tee -a /usr/rift/etc/default/launchpad lxc exec SO-ub -- systemctl restart launchpad @@ -229,10 +238,24 @@ function configure(){ --data '{"rw-ro-account:account": [ { "openmano": { "host": "'$RO_CONTAINER_IP'", "port": "9090", "tenant-id": "'$RO_TENANT_ID'"}, "name": "osmopenmano", "ro-account-type": "openmano" }]}') [[ $result =~ .*success.* ]] || FATAL "Failed resource-orchestrator configuration: $result" - lxc exec SO-ub -- /usr/rift/rift-shell -- rwcli --username admin --passwd admin </dev/null || ! echo -e " git not installed.\nInstalling git requires root privileges" || sudo apt-get install -y git +need_packages="git jq" +for package in $need_packages; do + echo -e "Checking required packages: $package" + dpkg -l $package &>/dev/null \ + || ! echo -e " $package not installed.\nInstalling $package requires root privileges" \ + || sudo apt-get install -y $package \ + || FATAL "failed to install $package" +done + if [ -z "$TEST_INSTALLER" ]; then echo -e "\nCloning devops repo temporarily" git clone https://osm.etsi.org/gerrit/osm/devops.git $TEMPDIR @@ -363,7 +393,7 @@ if [ -z "$TEST_INSTALLER" ]; then fi echo -e "\nGuessing the current stable release" -LATEST_STABLE_DEVOPS=`git -C $TEMPDIR tag -l v[0-9].* | tail -n1` +LATEST_STABLE_DEVOPS=`git -C $TEMPDIR tag -l v[0-9].* | sort -V | tail -n1` [ -z "$COMMIT_ID" ] && [ -z "$LATEST_STABLE_DEVOPS" ] && echo "Could not find the current latest stable release" && exit 0 echo "Latest tag in devops repo: $LATEST_STABLE_DEVOPS" [ -z "$COMMIT_ID" ] && [ -n "$LATEST_STABLE_DEVOPS" ] && COMMIT_ID="tags/$LATEST_STABLE_DEVOPS" @@ -391,7 +421,7 @@ echo -e "Checking required packages: lxd" lxd --version &>/dev/null || FATAL "lxd not present, exiting." [ -n "$LXD" ] && echo -e "\nConfiguring lxd" && install_lxd -wget -q -O- https://osm-download.etsi.org/ftp/osm-2.0-two/README.txt &> /dev/null +wget -q -O- https://osm-download.etsi.org/ftp/osm-3.0-three/README.txt &> /dev/null # use local devops for containers export OSM_USE_LOCAL_DEVOPS=true @@ -415,5 +445,5 @@ nat #Configure components configure -wget -q -O- https://osm-download.etsi.org/ftp/osm-2.0-two/README2.txt &> /dev/null +wget -q -O- https://osm-download.etsi.org/ftp/osm-3.0-three/README2.txt &> /dev/null echo -e "\nDONE"