diff options
Diffstat (limited to 'functions.sh')
-rwxr-xr-x | functions.sh | 114 |
1 files changed, 58 insertions, 56 deletions
diff --git a/functions.sh b/functions.sh index 32f3c9a..5f7c0db 100755 --- a/functions.sh +++ b/functions.sh @@ -9,99 +9,101 @@ ############################################################################## # Clean up - clean_up() { if sudo virsh list --all | grep "${VM_NAME}.*running" ; then - sudo virsh destroy $VM_NAME + sudo virsh destroy "$VM_NAME" fi if sudo virsh list --all | grep "${VM_NAME}" ; then - sudo virsh undefine $VM_NAME + sudo virsh undefine "$VM_NAME" fi - sudo rm -rf /var/lib/libvirt/images/$VM_NAME - sleep 5 + sudo rm -rf "/var/lib/libvirt/images/$VM_NAME" + sleep 5 } # Create jumphost VM - create_jump() { - ./create_vm.sh $VM_NAME + ./create_vm.sh "$VM_NAME" sleep 30 } # Get jumphost VM IP - get_vm_ip() { - sudo virsh domifaddr ${VM_NAME} | awk 'FNR == 3 {gsub(/\/.*/, ""); print $4}' + sudo virsh domifaddr "$VM_NAME" | awk 'FNR == 3 {gsub(/\/.*/, ""); print $4}' } # Setup PXE network - setup_PXE_network() { - ssh -o StrictHostKeyChecking=no -tT $USERNAME@$(get_vm_ip) << EOF - sudo ifconfig $PXE_IF up - sudo ifconfig $PXE_IF $PXE_IF_IP netmask $NETMASK - sudo ifconfig $PXE_IF hw ether $PXE_IF_MAC + ssh -o StrictHostKeyChecking=no -tT "$USERNAME"@"$(get_vm_ip)" << "EOF" +sudo ifconfig $PXE_IF up +sudo ifconfig $PXE_IF $PXE_IF_IP netmask $NETMASK +sudo ifconfig $PXE_IF hw ether $PXE_IF_MAC EOF } # Copy files needed by Infra engine & BMRA in the jumphost VM - copy_files_jump() { - scp -r -o StrictHostKeyChecking=no $CURRENTPATH/{hw_config/$VENDOR/,sw_config/$INSTALLER/} \ - $USERNAME@$(get_vm_ip):$PROJECT_ROOT + scp -r -o StrictHostKeyChecking=no \ + "$CURRENTPATH/{hw_config/$VENDOR/,sw_config/$INSTALLER/}" \ + "$USERNAME@$(get_vm_ip):$PROJECT_ROOT" } # Host Provisioning - provision_hosts() { -# SSH to jumphost - ssh -tT $USERNAME@$(get_vm_ip) << EOF + ssh -tT "$USERNAME"@"$(get_vm_ip)" << "EOF" # Install and run cloud-infra - if [ ! -d "${PROJECT_ROOT}/engine" ]; then - ssh-keygen -t rsa -N "" -f ${PROJECT_ROOT}/.ssh/id_rsa - git clone https://gerrit.nordix.org/infra/engine.git - cp $PROJECT_ROOT/$VENDOR/{pdf.yaml,idf.yaml} ${PROJECT_ROOT}/engine/engine -# sudo mkdir /httpboot && sudo cp -r ${PROJECT_ROOT}/deployment_image.qcow2 /httpboot #will be removed when centos image path will be added in infra-engine - fi - cd ${PROJECT_ROOT}/engine/engine && ./deploy.sh -s ironic -d centos7 \ - -p file:///${PROJECT_ROOT}/engine/engine/pdf.yaml -i file:///${PROJECT_ROOT}/engine/engine/idf.yaml +if [ ! -d "${PROJECT_ROOT}/engine" ]; then + ssh-keygen -t rsa -N "" -f ${PROJECT_ROOT}/.ssh/id_rsa + git clone https://gerrit.nordix.org/infra/engine.git + cp $PROJECT_ROOT/$VENDOR/{pdf.yaml,idf.yaml} \ + ${PROJECT_ROOT}/engine/engine +# NOTE: will be removed when centos image path will be added in infra-engine +sudo mkdir /httpboot +# sudo cp -r ${PROJECT_ROOT}/deployment_image.qcow2 /httpboot +fi +cd ${PROJECT_ROOT}/engine/engine +./deploy.sh -s ironic -d centos7 \ +-p file:///${PROJECT_ROOT}/engine/engine/pdf.yaml \ +-i file:///${PROJECT_ROOT}/engine/engine/idf.yaml EOF } -# Setup networking on provisioned hosts (Adapt setup_network.sh according to your network setup) - +# Setup networking on provisioned hosts (Adapt setup_network.sh according to your network setup) setup_network() { -# SSH to jumphost - ssh -tT $USERNAME@$(get_vm_ip) << EOF - ssh -o StrictHostKeyChecking=no root@$MASTER_IP 'bash -s' < ${PROJECT_ROOT}/${VENDOR}/setup_network.sh - ssh -o StrictHostKeyChecking=no root@$WORKER_IP 'bash -s' < ${PROJECT_ROOT}/${VENDOR}/setup_network.sh + ssh -tT "$USERNAME"@"$(get_vm_ip)" << "EOF" +ssh -o StrictHostKeyChecking=no root@$MASTER_IP \ + 'bash -s' < ${PROJECT_ROOT}/${VENDOR}/setup_network.sh +ssh -o StrictHostKeyChecking=no root@$WORKER_IP \ + 'bash -s' < ${PROJECT_ROOT}/${VENDOR}/setup_network.sh EOF } # k8s Provisioning (currently BMRA) - provision_k8s() { -# SSH to jumphost - ssh -tT $USERNAME@$(get_vm_ip) << EOF + ssh -tT "$USERNAME"@"$(get_vm_ip)" << "EOF" # Install BMRA - if [ ! -d "${PROJECT_ROOT}/container-experience-kits" ]; then - curl -fsSL https://get.docker.com/ | sh - printf "Waiting for docker service..." - until sudo docker info; do - printf "." - sleep 2 - done - git clone https://github.com/intel/container-experience-kits.git - cd ${PROJECT_ROOT}/container-experience-kits - git checkout v1.4.1 - git submodule update --init - cp -r examples/group_vars examples/host_vars . - cp ${PROJECT_ROOT}/${INSTALLER}/inventory.ini ${PROJECT_ROOT}/container-experience-kits/ - cp ${PROJECT_ROOT}/${INSTALLER}/all.yml ${PROJECT_ROOT}/container-experience-kits/group_vars/ - cp ${PROJECT_ROOT}/${INSTALLER}/node1.yml ${PROJECT_ROOT}/container-experience-kits/host_vars/ - fi - sudo service docker start - sudo docker run --rm -v ${PROJECT_ROOT}/container-experience-kits:/bmra -v ~/.ssh/:/root/.ssh/ \ - rihabbanday/bmra-install:centos ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/cluster.yml +if [ ! -d "${PROJECT_ROOT}/container-experience-kits" ]; then + curl -fsSL https://get.docker.com/ | sh + printf "Waiting for docker service..." + until sudo docker info; do + printf "." + sleep 2 + done + git clone https://github.com/intel/container-experience-kits.git + cd ${PROJECT_ROOT}/container-experience-kits + git checkout v1.4.1 + git submodule update --init + cp -r examples/group_vars examples/host_vars . + cp ${PROJECT_ROOT}/${INSTALLER}/inventory.ini \ + ${PROJECT_ROOT}/container-experience-kits/ + cp ${PROJECT_ROOT}/${INSTALLER}/all.yml \ + ${PROJECT_ROOT}/container-experience-kits/group_vars/ + cp ${PROJECT_ROOT}/${INSTALLER}/node1.yml \ + ${PROJECT_ROOT}/container-experience-kits/host_vars/ +fi +sudo service docker start +sudo docker run --rm \ +-v ${PROJECT_ROOT}/container-experience-kits:/bmra \ +-v ~/.ssh/:/root/.ssh/ rihabbanday/bmra-install:centos \ +ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/cluster.yml EOF } |