deploy_esxi.sh 1.55 KB
Newer Older
Ivaylo Ivanov's avatar
Ivaylo Ivanov committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#!/bin/bash
if [ -x "$(command -v ovftool)" ]; then
    # Specify the path for ovftool
    OVFTOOL_BIN_PATH=$(which ovftool)

    # Source the configuration
    . fah.conf
    FAH_OVA="VMware-Appliance-FaH_${FAH_OVA_VERSION}.ova"

    if [ ! -f "${FAH_OVA}" ]; then
        # Download OVA if not present
        wget "https://download3.vmware.com/software/vmw-tools/VMWare_Folding@Home_Appliance/${FAH_OVA}"
    fi

    ### DO NOT EDIT BEYOND HERE ###

    "${OVFTOOL_BIN_PATH}" \
        --X:injectOvfEnv \
        --powerOn \
        --noSSLVerify \
        --sourceType=OVA \
        --allowExtraConfig \
        --diskMode=thin \
        --numberOfCpus:*=${FAH_CPU_COUNT} \
        --name="${FAH_NAME}" \
        --net:"VM Network"="${FAH_NETWORK}" \
        --datastore="${FAH_DATASTORE}" \
        --prop:guestinfo.ipaddress=${FAH_IP} \
        --prop:guestinfo.hostname=${FAH_HOSTNAME} \
        --prop:guestinfo.netmask="${FAH_PREFIX}" \
        --prop:guestinfo.gateway=${FAH_GW} \
        --prop:guestinfo.dns=${FAH_DNS} \
        --prop:guestinfo.domain=${FAH_DNS_DOMAIN} \
        --prop:guestinfo.ntp=${FAH_NTP} \
        --prop:guestinfo.root_password=${FAH_OS_PASSWORD} \
        --prop:guestinfo.fah_username=${FAH_USERNAME} \
        --prop:guestinfo.fah_passkey=${FAH_PASSKEY} \
        --prop:guestinfo.fah_mode=${FAH_MODE} \
        --prop:guestinfo.debug=${FAH_DEBUG} \
        "${FAH_OVA}" \
        "vi://${DEPLOYMENT_TARGET_USERNAME}:${DEPLOYMENT_TARGET_PASSWORD}@${DEPLOYMENT_TARGET_ADDRESS}/"
else
    echo 'ERROR: ovftool is not installed.' >&2
    exit 1
fi