Initial commit
This commit is contained in:
commit
2734763189
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fah.conf
|
||||||
|
*.ova
|
||||||
|
*.log
|
14
README.md
Normal file
14
README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Folding@Home ovftool deployment script
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
The script is used for deploying the folding@home image supplied by [VMWare](https://flings.vmware.com/vmware-appliance-for-folding-home) on VMWare ESXi (free).
|
||||||
|
|
||||||
|
The script is based on the one from [VMWare's GitHub](https://github.com/lamw/vmware-fah-automation).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
1. In order to use it, you need to have `ovftool` installed.
|
||||||
|
|
||||||
|
2. Then, you need to create an `fah.conf` file with the parameters shown in `example.conf`
|
||||||
|
|
||||||
|
3. The script will automatically download the ova if not present in the current directory and will deploy it on the remote ESXi host
|
45
deploy_esxi.sh
Executable file
45
deploy_esxi.sh
Executable file
@ -0,0 +1,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
|
22
example.conf
Normal file
22
example.conf
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# ESXi settings
|
||||||
|
DEPLOYMENT_TARGET_ADDRESS="192.168.30.14"
|
||||||
|
DEPLOYMENT_TARGET_USERNAME="root"
|
||||||
|
DEPLOYMENT_TARGET_PASSWORD="VMware1!"
|
||||||
|
|
||||||
|
FAH_OVA_VERSION="1.0.1"
|
||||||
|
FAH_NAME="VMWARE-FAH"
|
||||||
|
FAH_CPU_COUNT="4"
|
||||||
|
FAH_IP="192.168.30.112"
|
||||||
|
FAH_HOSTNAME="fah.primp-industries.com"
|
||||||
|
FAH_PREFIX="24 (255.255.255.0)"
|
||||||
|
FAH_GW="192.168.30.1"
|
||||||
|
FAH_DNS="192.168.30.1"
|
||||||
|
FAH_DNS_DOMAIN="primp-industries.com"
|
||||||
|
FAH_NTP="pool.ntp.org"
|
||||||
|
FAH_OS_PASSWORD="VMware1!"
|
||||||
|
FAH_NETWORK="VM Network"
|
||||||
|
FAH_DATASTORE="sm-vsanDatastore"
|
||||||
|
FAH_DEBUG="True"
|
||||||
|
FAH_USERNAME="lamw"
|
||||||
|
FAH_PASSKEY="e6cf014f62ba0f60e6cf014f62ba0f60"
|
||||||
|
FAH_MODE="light"
|
Loading…
Reference in New Issue
Block a user