oginstaller/vagrant/Vagrantfile-esxi

70 lines
2.2 KiB
Plaintext

VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_DEFAULT_PROVIDER'] = "vmware_esxi"
BRANCH=ENV['BRANCH'] || "main"
BRANCH_EXTRA=ENV['BRANCH_EXTRA'] || BRANCH
#OGAGENTVERSION="1.4.2"
LANGUAGE = "es_ES"
ENV['LC_ALL'] = LANGUAGE + ".UTF-8"
# NCLIENTS = ENV['NUMBER_OF_CLIENTS']|| 4
# NCLIENTS = NCLIENTS.to_i
SERVERMEM = 2048 # Minimum: 512
CLIENTMEM = 512 # Minimum: 256
MACPREFIX = ENV['OGN_MAC_PREFIX'] || '00:50:56:aa:aa'
NETPREFIX = ENV['OGN_NET_PREFIX'] || "192.168.2"
DHCPNET = ENV['DHCPNET'] || "192.168.2.0"
SERVERIP = "#{NETPREFIX}.10"
LOCALWEBPORT = 8443
ESXIPASSWORD = ENV['ESXI_PASSWORD'] || 'prompt:'
GITEA_TOKEN = ENV['GITEA_TOKEN']
GITEA_USER = ENV['GITEA_USER'] || 'unizar'
SSH_GIT_KEY_PASS = ENV['SSH_GIT_KEY_PASS'] || ''
OGSERVERSCRIPT = <<OEOL
export GIT_SSL_NO_VERIFY=1
export INTERFACE="eth0"
apt -y update
apt install -y git
EXTIP=$(ip -o -4 addr show "$INTERFACE" | awk '{print $4}' | cut -d'/' -f1)
echo "La dirección IP de la interfaz $INTERFACE es: $EXTIP"
git clone https://ognproject.evlt.uma.es/gitea/opengnsys/oginstaller.git /tmp/repo
cd /tmp/repo
mkdir /tmp/oginstall
git checkout #{BRANCH}
cp -r python-installer/* /tmp/oginstall
cp -r composer-installer/* /tmp/oginstall
chmod 755 /tmp/oginstall/*.sh
chmod 755 /tmp/oginstall/*.py
OEOL
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider :vmware_esxi do |esxi|
esxi.esxi_hostname = 'esxi-jenkins.evlt.uma.es'
esxi.esxi_username = 'root'
esxi.esxi_password = ESXIPASSWORD
esxi.esxi_virtual_network = ['vLan_742' , BRANCH_EXTRA ]
esxi.guest_mac_address = [ "#{MACPREFIX}:01", "#{MACPREFIX}:02" ]
esxi.clone_from_vm = 'template-ubuntu24'
esxi.esxi_resource_pool = "/"
esxi.local_allow_overwrite = 'True'
esxi.guest_nic_type = 'e1000'
esxi.guest_custom_vmx_settings = [['monitor.allowLegacyCPU', 'TRUE']]
esxi.guest_storage = [ 10 ]
end
config.vm.box = "esxi_clone/dummy"
config.vm.hostname = "og-#{BRANCH_EXTRA}"
config.vm.provision "shell", inline: OGSERVERSCRIPT config.vm.provision "file", source: "config/", destination: "/tmp/oginstall/"
config.vm.provision = "shell", inline: "/tmp/oginstall/coponent-installer.sh"
end