diff options
author | Harry Huang <huangxiangyu5@huawei.com> | 2017-01-10 16:11:55 +0800 |
---|---|---|
committer | Harry Huang <huangxiangyu5@huawei.com> | 2017-01-25 17:34:08 +0800 |
commit | 1eb8d4ccfbc9c34723586980d5a912e2ffa903cd (patch) | |
tree | b1764b819ef45ea93b5f263211a736748b7c57c4 /open-o | |
parent | 495994be89cc04be704767ed3f6630c6663c11eb (diff) |
Opera deploy scripts
JIRA: OPERA-2
Requirement:
After compass4nfv deployment
Function:
1. Launch a VM (defaultly CentOS 7)
2. Launch Open-O dockers inside VM
3. Launch juju inside openstack
Directory conf/ need config according to local environment
Change-Id: Iac24051668e15b60f76f4819760f7b7c9b1867f3
Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'open-o')
-rwxr-xr-x | open-o/openo_docker.sh | 229 | ||||
-rwxr-xr-x | open-o/openo_vm.sh | 206 |
2 files changed, 435 insertions, 0 deletions
diff --git a/open-o/openo_docker.sh b/open-o/openo_docker.sh new file mode 100755 index 0000000..aa79a9d --- /dev/null +++ b/open-o/openo_docker.sh @@ -0,0 +1,229 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016-2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +function docker_pull() +{ + until docker pull openoint/sdno-driver-ct-te + do + echo "Try again" + done + until docker pull openoint/common-services-auth + do + echo "Try again" + done + until docker pull openoint/common-services-drivermanager + do + echo "Try again" + done + until docker pull openoint/common-services-extsys + do + echo "Try again" + done + until docker pull openoint/common-services-msb + do + echo "Try again" + done + until docker pull openoint/common-services-protocolstack + do + echo "Try again" + done + until docker pull openoint/common-services-wso2ext + do + echo "Try again" + done + until docker pull openoint/common-tosca-catalog + do + echo "Try again" + done + until docker pull openoint/common-tosca-inventory + do + echo "Try again" + done + until docker pull openoint/common-tosca-modeldesigner + do + echo "Try again" + done + until docker pull openoint/gso-service-gateway + do + echo "Try again" + done + until docker pull openoint/gso-service-manager + do + echo "Try again" + done + until docker pull openoint/nfvo-dac + do + echo "Try again" + done + until docker pull openoint/nfvo-driver-sdnc-zte + do + echo "Try again" + done + until docker pull openoint/nfvo-driver-vim + do + echo "Try again" + done + until docker pull openoint/nfvo-driver-vnfm-huawei + do + echo "Try again" + done + until docker pull openoint/nfvo-driver-vnfm-juju + do + echo "Try again" + done + until docker pull openoint/nfvo-driver-vnfm-zte + do + echo "Try again" + done + until docker pull openoint/nfvo-lcm + do + echo "Try again" + done + until docker pull openoint/nfvo-resmanagement + do + echo "Try again" + done + until docker pull openoint/nfvo-umc + do + echo "Try again" + done + until docker pull openoint/sdno-driver-huawei-l3vpn + do + echo "Try again" + done + until docker pull openoint/sdno-driver-huawei-openstack + do + echo "Try again" + done + until docker pull openoint/sdno-driver-huawei-overlay + do + echo "Try again" + done + until docker pull openoint/sdno-driver-huawei-servicechain + do + echo "Try again" + done + until docker pull openoint/sdno-driver-zte-sptn + do + echo "Try again" + done + until docker pull openoint/sdno-service-brs + do + echo "Try again" + done + until docker pull openoint/sdno-service-ipsec + do + echo "Try again" + done + until docker pull openoint/sdno-service-l2vpn + do + echo "Try again" + done + until docker pull openoint/sdno-service-l3vpn + do + echo "Try again" + done + until docker pull openoint/sdno-service-mss + do + echo "Try again" + done + until docker pull openoint/sdno-service-nslcm + do + echo "Try again" + done + until docker pull openoint/sdno-service-overlayvpn + do + echo "Try again" + done + until docker pull openoint/sdno-service-servicechain + do + echo "Try again" + done + until docker pull openoint/sdno-service-vpc + do + echo "Try again" + done + until docker pull openoint/sdno-service-vxlan + do + echo "Try again" + done + until docker pull openoint/common-tosca-aria + do + echo "Try again" + done + until docker pull openoint/sdno-monitoring + do + echo "Try again" + done + until docker pull openoint/sdno-vsitemgr + do + echo "Try again" + done + until docker pull openoint/gso-gui-portal + do + echo "Try again" + done +} + +function docker_run() +{ + docker run -d -e MODEL_DESIGNER_IP=COMMON_TOSCA_MODELDESIGNER_IP --network lab_net --ip COMMON_SERVICES_MSB_IP --name common-services-msb openoint/common-services-msb + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --add-host controller:127.0.0.1 --network lab_net --ip COMMON_SERVICES_AUTH_IP --name common-services-auth openoint/common-services-auth + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_SERVICES_DRIVERMANAGER_IP --name common-services-drivermanager openoint/common-services-drivermanager + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_SERVICES_EXTSYS_IP --name common-services-extsys openoint/common-services-extsys + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_SERVICES_PROTOCOLSTACK_IP --name common-services-protocolstack openoint/common-services-protocolstack + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_SERVICES_WSO2EXT_IP --name common-services-wso2ext openoint/common-services-wso2ext + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_TOSCA_CATALOG_IP --name common-tosca-catalog openoint/common-tosca-catalog + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_TOSCA_INVENTORY_IP --name common-tosca-inventory openoint/common-tosca-inventory + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_TOSCA_MODELDESIGNER_IP --name common-tosca-modeldesigner openoint/common-tosca-modeldesigner + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip GSO_SERVICE_GATEWAY_IP --name gso-service-gateway openoint/gso-service-gateway + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 -e MYSQL_ADDR=COMMON_TOSCA_INVENTORY_IP:3306 --network lab_net --ip GSO_SERVICE_MANAGER_IP --name gso-service-manager openoint/gso-service-manager + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DAC_IP --name nfvo-dac openoint/nfvo-dac + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DRIVER_SDNC_ZTE_IP --name nfvo-driver-sdnc-zte openoint/nfvo-driver-sdnc-zte + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DRIVER_VIM_IP --name nfvo-driver-vim openoint/nfvo-driver-vim + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DRIVER_VNFM_HUAWEI_IP --name nfvo-driver-vnfm-huawei openoint/nfvo-driver-vnfm-huawei + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DRIVER_VNFM_JUJU_IP --name nfvo-driver-vnfm-juju openoint/nfvo-driver-vnfm-juju + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_DRIVER_VNFM_ZTE_IP --name nfvo-driver-vnfm-zte openoint/nfvo-driver-vnfm-zte + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 -e MYSQL_ADDR=COMMON_TOSCA_INVENTORY_IP:3306 --network lab_net --ip NFVO_LCM_IP --name nfvo-lcm openoint/nfvo-lcm + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_RESMANAGEMENT_IP --name nfvo-resmanagement openoint/nfvo-resmanagement + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip NFVO_UMC_IP --name nfvo-umc openoint/nfvo-umc + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_HUAWEI_L3VPN_IP --name sdno-driver-huawei-l3vpn openoint/sdno-driver-huawei-l3vpn + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_HUAWEI_OPENSTACK_IP --name sdno-driver-huawei-openstack openoint/sdno-driver-huawei-openstack + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_HUAWEI_OVERLAY_IP --name sdno-driver-huawei-overlay openoint/sdno-driver-huawei-overlay + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_HUAWEI_SERVICECHAIN_IP --name sdno-driver-huawei-servicechain openoint/sdno-driver-huawei-servicechain + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_ZTE_SPTN_IP --name sdno-driver-zte-sptn openoint/sdno-driver-zte-sptn + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_BRS_IP --name sdno-service-brs openoint/sdno-service-brs + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_IPSEC_IP --name sdno-service-ipsec openoint/sdno-service-ipsec + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_L2VPN_IP --name sdno-service-l2vpn openoint/sdno-service-l2vpn + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_L3VPN_IP --name sdno-service-l3vpn openoint/sdno-service-l3vpn + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_MSS_IP --name sdno-service-mss openoint/sdno-service-mss + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 -e MYSQL_ADDR=COMMON_TOSCA_INVENTORY_IP:3306 --network lab_net --ip SDNO_SERVICE_NSLCM_IP --name sdno-service-nslcm openoint/sdno-service-nslcm + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_OVERLAYVPN_IP --name sdno-service-overlayvpn openoint/sdno-service-overlayvpn + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_SERVICECHAIN_IP --name sdno-service-servicechain openoint/sdno-service-servicechain + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_VPC_IP --name sdno-service-vpc openoint/sdno-service-vpc + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_SERVICE_VXLAN_IP --name sdno-service-vxlan openoint/sdno-service-vxlan + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip COMMON_TOSCA_ARIA_IP --name common-tosca-aria openoint/common-tosca-aria + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_DRIVER_CT_TE_IP --name sdno-driver-ct-te openoint/sdno-driver-ct-te + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_MONITORING_IP --name sdno-monitoring openoint/sdno-monitoring + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip SDNO_VSITEMGR_IP --name sdno-vsitemgr openoint/sdno-vsitemgr + docker run -d -e MSB_ADDR=COMMON_SERVICES_MSB_IP:80 --network lab_net --ip GSO_GUI_PORTAL_IP --name gso-gui-portal openoint/gso-gui-portal +} + +yum update -y +yum install -y curl net-tools +curl -sSL https://experimental.docker.com/ | sh +service docker start + +docker network create -d macvlan --subnet=OPENO_EXTERNAL_CIDR --gateway=OPENO_EXTERNAL_GW -o parent=eth0 lab_net +docker_pull +docker_run + +if [[ $(docker ps -aq | wc -l) == 40 ]];then + echo -e "\n\033[32mOpen-O Installed!\033[0m\n" +fi diff --git a/open-o/openo_vm.sh b/open-o/openo_vm.sh new file mode 100755 index 0000000..0d7d289 --- /dev/null +++ b/open-o/openo_vm.sh @@ -0,0 +1,206 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016-2017 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -ex +OPENO_VM_DIR=${WORK_DIR}/openo_vm +OPENO_VM_ISO=${OPENO_VM_ISO_URL##*/} +rsa_file=${OPENO_VM_DIR}/boot.rsa +ssh_args="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i $rsa_file" + +function openo_download_iso() +{ + local ISO_DIR=${WORK_DIR}/iso + mkdir -p $ISO_DIR + if [ ! -e ${ISO_DIR}/${OPENO_VM_ISO} ];then + wget -O ${ISO_DIR}/${OPENO_VM_ISO} $OPENO_VM_ISO_URL + fi +} + +function openo_docker_prepare() +{ + cp $OPENO_DIR/openo_docker.sh ${OPENO_VM_DIR}/ + sed -i -e "s#OPENO_EXTERNAL_CIDR#$OPENO_EXTERNAL_CIDR#g" \ + -e "s/OPENO_EXTERNAL_GW/$OPENO_EXTERNAL_GW/g" \ + -e "s/COMMON_SERVICES_AUTH_IP/$COMMON_SERVICES_AUTH_IP/g" \ + -e "s/COMMON_SERVICES_DRIVERMANAGER_IP/$COMMON_SERVICES_DRIVERMANAGER_IP/g" \ + -e "s/COMMON_SERVICES_EXTSYS_IP/$COMMON_SERVICES_EXTSYS_IP/g" \ + -e "s/COMMON_SERVICES_MSB_IP/$COMMON_SERVICES_MSB_IP/g" \ + -e "s/COMMON_SERVICES_PROTOCOLSTACK_IP/$COMMON_SERVICES_PROTOCOLSTACK_IP/g" \ + -e "s/COMMON_SERVICES_WSO2EXT_IP/$COMMON_SERVICES_WSO2EXT_IP/g" \ + -e "s/COMMON_TOSCA_CATALOG_IP/$COMMON_TOSCA_CATALOG_IP/g" \ + -e "s/COMMON_TOSCA_INVENTORY_IP/$COMMON_TOSCA_INVENTORY_IP/g" \ + -e "s/COMMON_TOSCA_MODELDESIGNER_IP/$COMMON_TOSCA_MODELDESIGNER_IP/g" \ + -e "s/GSO_SERVICE_GATEWAY_IP/$GSO_SERVICE_GATEWAY_IP/g" \ + -e "s/GSO_SERVICE_MANAGER_IP/$GSO_SERVICE_MANAGER_IP/g" \ + -e "s/NFVO_DAC_IP/$NFVO_DAC_IP/g" \ + -e "s/NFVO_DRIVER_SDNC_ZTE_IP/$NFVO_DRIVER_SDNC_ZTE_IP/g" \ + -e "s/NFVO_DRIVER_VIM_IP/$NFVO_DRIVER_VIM_IP/g" \ + -e "s/NFVO_DRIVER_VNFM_HUAWEI_IP/$NFVO_DRIVER_VNFM_HUAWEI_IP/g" \ + -e "s/NFVO_DRIVER_VNFM_JUJU_IP/$NFVO_DRIVER_VNFM_JUJU_IP/g" \ + -e "s/NFVO_DRIVER_VNFM_ZTE_IP/$NFVO_DRIVER_VNFM_ZTE_IP/g" \ + -e "s/NFVO_LCM_IP/$NFVO_LCM_IP/g" \ + -e "s/NFVO_RESMANAGEMENT_IP/$NFVO_RESMANAGEMENT_IP/g" \ + -e "s/NFVO_UMC_IP/$NFVO_UMC_IP/g" \ + -e "s/SDNO_DRIVER_HUAWEI_L3VPN_IP/$SDNO_DRIVER_HUAWEI_L3VPN_IP/g" \ + -e "s/SDNO_DRIVER_HUAWEI_OPENSTACK_IP/$SDNO_DRIVER_HUAWEI_OPENSTACK_IP/g" \ + -e "s/SDNO_DRIVER_HUAWEI_OVERLAY_IP/$SDNO_DRIVER_HUAWEI_OVERLAY_IP/g" \ + -e "s/SDNO_DRIVER_HUAWEI_SERVICECHAIN_IP/$SDNO_DRIVER_HUAWEI_SERVICECHAIN_IP/g" \ + -e "s/SDNO_DRIVER_ZTE_SPTN_IP/$SDNO_DRIVER_ZTE_SPTN_IP/g" \ + -e "s/SDNO_SERVICE_BRS_IP/$SDNO_SERVICE_BRS_IP/g" \ + -e "s/SDNO_SERVICE_IPSEC_IP/$SDNO_SERVICE_IPSEC_IP/g" \ + -e "s/SDNO_SERVICE_L2VPN_IP/$SDNO_SERVICE_L2VPN_IP/g" \ + -e "s/SDNO_SERVICE_L3VPN_IP/$SDNO_SERVICE_L3VPN_IP/g" \ + -e "s/SDNO_SERVICE_MSS_IP/$SDNO_SERVICE_MSS_IP/g" \ + -e "s/SDNO_SERVICE_NSLCM_IP/$SDNO_SERVICE_NSLCM_IP/g" \ + -e "s/SDNO_SERVICE_OVERLAYVPN_IP/$SDNO_SERVICE_OVERLAYVPN_IP/g" \ + -e "s/SDNO_SERVICE_SERVICECHAIN_IP/$SDNO_SERVICE_SERVICECHAIN_IP/g" \ + -e "s/SDNO_SERVICE_VPC_IP/$SDNO_SERVICE_VPC_IP/g" \ + -e "s/SDNO_SERVICE_VXLAN_IP/$SDNO_SERVICE_VXLAN_IP/g" \ + -e "s/COMMON_TOSCA_ARIA_IP/$COMMON_TOSCA_ARIA_IP/g" \ + -e "s/SDNO_DRIVER_CT_TE_IP/$SDNO_DRIVER_CT_TE_IP/g" \ + -e "s/SDNO_MONITORING_IP/$SDNO_MONITORING_IP/g" \ + -e "s/SDNO_VSITEMGR_IP/$SDNO_VSITEMGR_IP/g" \ + -e "s/GSO_GUI_PORTAL_IP/$GSO_GUI_PORTAL_IP/g" \ + ${OPENO_VM_DIR}/openo_docker.sh + + scp $ssh_args ${OPENO_VM_DIR}/openo_docker.sh root@${OPENO_VM_IP}:/home +} + +function exec_cmd_on_openo() +{ + ssh $ssh_args root@$OPENO_VM_IP "$@" +} + +function launch_openo_docker() +{ + openo_docker_prepare + cmd="/home/openo_docker.sh" + exec_cmd_on_openo $cmd +} + +function tear_down_openo() +{ + sudo virsh destroy open-o > /dev/null 2>&1 + sudo virsh undefine open-o > /dev/null 2>&1 + + sudo umount $OPENO_VM_DIR/old > /dev/null 2>&1 + sudo umount $OPENO_VM_DIR/new > /dev/null 2>&1 + + sudo rm -rf $OPENO_VM_DIR + + log_info "tear_down_openo success!!!" +} + +function wait_openo_ok() +{ + set +x + log_info "wait_openo_ok enter" + ssh-keygen -f "/root/.ssh/known_hosts" -R $OPENO_VM_IP >/dev/null 2>&1 + retry=0 + until timeout 1s ssh $ssh_args root@$OPENO_VM_IP "exit" >/dev/null 2>&1 + do + log_progress "os install time used: $((retry*100/$1))%" + sleep 1 + let retry+=1 + if [[ $retry -ge $1 ]];then + # first try + ssh $ssh_args root@$OPENO_VM_IP "exit" + # second try + ssh $ssh_args root@$OPENO_VM_IP "exit" + exit_status=$? + if [[ $exit_status == 0 ]]; then + log_warn "final ssh login open-o success !!!" + break + fi + log_error "final ssh retry failed with status: " $exit_status + log_error "os install time out" + exit 1 + fi + done + set -x + log_warn "os install time used: 100%" + log_info "wait_openo_ok exit" +} + +function launch_openo_vm() { + set -x + + local old_mnt=${OPENO_VM_DIR}/old + local new_mnt=${OPENO_VM_DIR}/new + local old_iso=${WORK_DIR}/iso/${OPENO_VM_ISO} + local new_iso=${OPENO_VM_DIR}/centos.iso + + sudo virsh net-destroy external + sudo virsh net-undefine external + + if [[ ! $(virsh net-list | grep external) ]]; then + sudo virsh net-define ${UTIL_DIR}/external-net.xml + sudo virsh net-start external + fi + + log_info "launch_openo enter" + + tear_down_openo + + mkdir -p $OPENO_VM_DIR $old_mnt + sudo mount -o loop $old_iso $old_mnt + cd $old_mnt;find .|cpio -pd $new_mnt;cd - + + sudo umount $old_mnt + + chmod 755 -R $new_mnt + + cp ${UTIL_DIR}/isolinux.cfg $new_mnt/isolinux/ -f + cp ${UTIL_DIR}/ks.cfg $new_mnt/isolinux/ -f + + sed -i -e "s/REPLACE_EXTERNAL_IP/$OPENO_VM_IP/g" \ + -e "s/REPLACE_EXTERNAL_NETMASK/$OPENO_VM_MASK/g" \ + -e "s/REPLACE_EXTERNAL_GW/$OPENO_EXTERNAL_GW/g" \ + $new_mnt/isolinux/isolinux.cfg + + mkdir -p $new_mnt/bootstrap + ssh-keygen -f $new_mnt/bootstrap/boot.rsa -t rsa -N '' + cp $new_mnt/bootstrap/boot.rsa $rsa_file + + rm -rf $new_mnt/.rr_moved $new_mnt/rr_moved + sudo mkisofs -quiet -r -J -R -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -hide-rr-moved -x "lost+found:" -o $new_iso $new_mnt + + rm -rf $old_mnt $new_mnt + + qemu-img create -f qcow2 ${OPENO_VM_DIR}/disk.img ${OPENO_VIRT_DISK}G + + let OPENO_VIRT_MEM*=1024 + # create vm xml + sed -e "s/REPLACE_MEM/$OPENO_VIRT_MEM/g" \ + -e "s/REPLACE_CPU/$OPENO_VIRT_CPUS/g" \ + -e "s#REPLACE_IMAGE#$OPENO_VM_DIR/disk.img#g" \ + -e "s#REPLACE_ISO#$OPENO_VM_DIR/centos.iso#g" \ + -e "s/REPLACE_NET_EXTERNAL/$OPENO_VM_NET/g" \ + ${UTIL_DIR}/libvirt.xml \ + > ${OPENO_VM_DIR}/open-o.xml + + sudo virsh define ${OPENO_VM_DIR}/open-o.xml + sudo virsh start open-o + + exit_status=$? + if [ $exit_status != 0 ];then + log_error "virsh start open-o failed" + exit 1 + fi + + if ! wait_openo_ok 300;then + log_error "install os timeout" + exit 1 + fi + + set +x + log_info "launch_openo exit" +} + +set +ex |