X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_osm.sh;h=6e114be2d337b464c811e15cd2b01dcf5a7f0b04;hb=88ff0707bb747cbff713ae64899ab2de485d37d4;hp=f9031750c42492ff3f3a584a4f7194494d1f972a;hpb=d1e08b9b92f83e299f84f6ae2117111ec8999a21;p=osm%2Fdevops.git diff --git a/installers/install_osm.sh b/installers/install_osm.sh index f9031750..6e114be2 100755 --- a/installers/install_osm.sh +++ b/installers/install_osm.sh @@ -133,30 +133,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 +186,14 @@ 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 so_is_up $SO_CONTAINER_IP @@ -209,14 +215,50 @@ function configure(){ --data '{"account": [ { "name": "osmjuju", "account-type": "juju", "juju": { "ip-address": "'$JUJU_CONTROLLER_IP'", "port": "17070", "user": "admin", "secret": "'$JUJU_PASSWD'" } } ]}') [[ $result =~ .*success.* ]] || FATAL "Failed config-agent configuration: $result" + #R1/R2 config line + #result=$(curl -k --request PUT \ + # --url https://$SO_CONTAINER_IP:8008/api/config/resource-orchestrator \ + # --header 'accept: application/vnd.yang.data+json' \ + # --header 'authorization: Basic YWRtaW46YWRtaW4=' \ + # --header 'cache-control: no-cache' \ + # --header 'content-type: application/vnd.yang.data+json' \ + # --data '{ "openmano": { "host": "'$RO_CONTAINER_IP'", "port": "9090", "tenant-id": "'$RO_TENANT_ID'" }, "name": "osmopenmano", "account-type": "openmano" }') + result=$(curl -k --request PUT \ - --url https://$SO_CONTAINER_IP:8008/api/config/resource-orchestrator \ + --url https://$SO_CONTAINER_IP:8008/api/config/project/default/ro-account/account \ --header 'accept: application/vnd.yang.data+json' \ --header 'authorization: Basic YWRtaW46YWRtaW4=' \ - --header 'cache-control: no-cache' \ + --header 'cache-control: no-cache' \ --header 'content-type: application/vnd.yang.data+json' \ - --data '{ "openmano": { "host": "'$RO_CONTAINER_IP'", "port": "9090", "tenant-id": "'$RO_TENANT_ID'" }, "name": "osmopenmano", "account-type": "openmano" }') + --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" + + result=$(curl -k --request PATCH \ + --url https://$SO_CONTAINER_IP:8008/v2/api/config/openidc-provider-config/rw-ui-client/redirect-uri \ + --header 'accept: application/vnd.yang.data+json' \ + --header 'authorization: Basic YWRtaW46YWRtaW4=' \ + --header 'cache-control: no-cache' \ + --header 'content-type: application/vnd.yang.data+json' \ + --data '{"redirect-uri": "https://'$DEFAULT_IP':8443/callback" }') + [[ $result =~ .*success.* ]] || FATAL "Failed redirect-uri configuration: $result" + + result=$(curl -k --request PATCH \ + --url https://$SO_CONTAINER_IP:8008/v2/api/config/openidc-provider-config/rw-ui-client/post-logout-redirect-uri \ + --header 'accept: application/vnd.yang.data+json' \ + --header 'authorization: Basic YWRtaW46YWRtaW4=' \ + --header 'cache-control: no-cache' \ + --header 'content-type: application/vnd.yang.data+json' \ + --data '{"post-logout-redirect-uri": "https://'$DEFAULT_IP':8443/?api_server=https://'$DEFAULT_IP'" }') + [[ $result =~ .*success.* ]] || FATAL "Failed post-logout-redirect-uri configuration: $result" + + lxc exec SO-ub -- tee /etc/network/interfaces.d/60-rift.cfg </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 +done + if [ -z "$TEST_INSTALLER" ]; then echo -e "\nCloning devops repo temporarily" git clone https://osm.etsi.org/gerrit/osm/devops.git $TEMPDIR @@ -367,7 +413,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 @@ -391,5 +437,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"