Skip to content
Snippets Groups Projects
Select Git revision
  • bfff5762e0df868d13f835a417085cd871bbed8a
  • zig default
  • master
  • zig-threaded
  • openat
  • chdir
  • clear
  • compll
  • v1.18.1
  • v2.2.2
  • v1.18
  • v2.2.1
  • v2.2
  • v1.17
  • v2.1.2
  • v2.1.1
  • v2.1
  • v2.0.1
  • v2.0
  • v2.0-beta3
  • v2.0-beta2
  • v2.0-beta1
  • v1.16
  • v1.15.1
  • v1.15
  • v1.14.2
  • v1.14.1
  • v1.14
28 results

help.c

Blame
    • Yorhel's avatar
      777db9a5
      Minor fixes to new shell feature · 777db9a5
      Yorhel authored
      The check for the system() exit status is slightly problematic, because
      bash returns the status code of the last command it executed. I've set
      it to only check for status code 127 now (command not found) in order to
      at least provide a message when the $SHELL command can't be found. This
      error can still be triggered when executing a nonexistant command within
      the shell and then exiting.
      777db9a5
      History
      Minor fixes to new shell feature
      Yorhel authored
      The check for the system() exit status is slightly problematic, because
      bash returns the status code of the last command it executed. I've set
      it to only check for status code 127 now (command not found) in order to
      at least provide a message when the $SHELL command can't be found. This
      error can still be triggered when executing a nonexistant command within
      the shell and then exiting.
    deploy.sh 2.42 KiB
    #! /bin/bash -xe
    
    #
    # EOSC LOT3 Jupyter Notebooks testing instance
    #
    
    cd terraform && terraform init && terraform apply
    cd -
    cp -pv terraform/inventory.yaml inventory/1-cesnet.yaml
    
    # dynamic DNS
    ip="$(head -n 1 < terraform/fip.txt)"
    shellstate=$(shopt -po xtrace)
    set +o xtrace
    # https://nsupdate.fedcloud.eu
    vault_prefix=secrets/users/e1662e20-e34b-468c-b0ce-d899bc878364@egi.eu/eosc-testing
    FEDCLOUD_DYNAMIC_DNS=$(vault read -field data $vault_prefix/FEDCLOUD_DYNAMIC_DNS | grep ^map | head -n 1 | sed 's/map\[\(.*\)\]/\1/')
    for auth in $FEDCLOUD_DYNAMIC_DNS; do
    	echo "curl -i -X GET -u $(echo "$auth" | cut -d: -f1):XXX https://nsupdate.fedcloud.eu/nic/update?myip=$ip"
    	curl -i -X GET -u "$auth" https://nsupdate.fedcloud.eu/nic/update?myip="$ip"
    done
    eval "$shellstate"
    echo "Terraform finished. Check terraform/docker-volume.sh. Continue? (CTRL-C to quit)"
    read -r _
    
    # wait for ping and ssh
    for ip in $(cat terraform/hosts.txt) $(cat terraform/fip.txt); do
    	while ! ping -c 1 "$ip"; do sleep 5; done
    	ssh-keygen -R "$ip"
    	while ! ssh egi@"$ip" -o ConnectTimeout=10 -o PreferredAuthentications=publickey -o StrictHostKeyChecking=no :; do sleep 10; done
    done
    
    # check ssh access
    ansible -m command -a 'uname -a' allnodes
    
    # wait cloud-init
    ansible -m shell -a 'while ! test -f /var/lib/cloud/instance/boot-finished; do sleep 2; done' allnodes
    
    # setup volumes
    ansible -m copy -a 'src=terraform/nfs-volume.sh dest=/root/ mode=preserve' nfs
    ansible -m command -a '/root/nfs-volume.sh' nfs
    ansible -m copy -a 'src=terraform/squid-volume.sh dest=/root/ mode=preserve' 'ingress[0]'
    ansible -m command -a '/root/squid-volume.sh' 'ingress[0]'
    ansible -m copy -a 'src=terraform/scratch-volume.sh dest=/root/ mode=preserve' 'ingress nfs worker gpu'
    ansible -m command -a '/root/scratch-volume.sh' 'ingress nfs worker gpu'
    
    # kubernetes
    ansible-playbook playbooks/k8s.yaml
    while ansible -i ./inventory -m command -a 'kubectl get pods --all-namespaces' master | tail -n +3 | grep -v ' Running '; do sleep 5; done
    # docker runtime directory after Kubernetes deployment (problem with unmounts)
    ansible -m copy -a 'src=terraform/docker-volume.sh dest=/root/ mode=preserve' 'ingress nfs worker gpu'
    ansible -m command -a '/root/docker-volume.sh' 'ingress nfs worker gpu'
    ansible-playbook playbooks/squid.yaml
    ansible-playbook playbooks/cvmfs.yaml
    
    # wait for finish
    while ansible -m command -a 'kubectl get pods --all-namespaces' master | tail -n +3 | grep -v ' Running '; do sleep 5; done