Remove old installer, support BRANCH_EXTRA
parent
106d7bfd90
commit
85df22be0e
File diff suppressed because it is too large
Load Diff
|
@ -834,7 +834,7 @@ function downloadCode()
|
|||
|
||||
local url="$1"
|
||||
|
||||
echoAndLog "${FUNCNAME}(): downloading code..."
|
||||
echoAndLog "${FUNCNAME}(): downloading code from '$url'..."
|
||||
|
||||
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new" git archive --remote=$url --format zip --output opengnsys.zip --prefix=opengnsys/ $BRANCH && unzip opengnsys.zip
|
||||
if [ $? -ne 0 ]; then
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
# Vagrantfile to install OpenGnsys virtual environment (production version) using VirtualBox provider.
|
||||
|
||||
VAGRANTFILE_API_VERSION = "2"
|
||||
# VM provider: Oracle VM VirtualBox.
|
||||
ENV['VAGRANT_DEFAULT_PROVIDER'] = "vmware_esxi"
|
||||
# OpenGnsys version and OGAgent version.
|
||||
OGVERSION=ENV['OGVERSION'] || "test"
|
||||
BRANCH=ENV['BRANCH'] || "main"
|
||||
BRANCH_EXTRA=ENV['BRANCH_EXTRA'] || BRANCH
|
||||
# OGAgent version.
|
||||
OGAGENTVERSION="1.1.2"
|
||||
# Language (accepted values: es_ES, ca_ES, en_GB).
|
||||
|
@ -39,10 +38,9 @@ SSH_GIT_KEY_PASS = ENV['SSH_GIT_KEY_PASS'] || ''
|
|||
OGSERVERSCRIPT = <<EOT
|
||||
|
||||
# Fix problem with gitea host
|
||||
|
||||
grep -q '^150\.214\.58\.246' /etc/hosts || echo "150.214.58.246 ognproject.evlt.uma.es" >> /etc/hosts
|
||||
|
||||
# Fix ssh
|
||||
echo Setting up SSH config and agent
|
||||
mkdir -p /root/.ssh/
|
||||
cp /vagrant/config/id_rsa /root/.ssh/id_rsa
|
||||
chown root:root /root/.ssh/id_rsa
|
||||
|
@ -53,14 +51,13 @@ chmod 0400 /root/.ssh/config
|
|||
cp /vagrant/config/ask_pass.sh /root/ask_pass.sh
|
||||
chmod 755 /root/ask_pass.sh
|
||||
|
||||
# Sets ssh agent to work with git
|
||||
eval `ssh-agent`
|
||||
export DISPLAY=:0
|
||||
export SSH_ASKPASS=/root/ask_pass.sh
|
||||
ssh-add /root/.ssh/id_rsa <<< $SSH_GIT_KEY_PASS
|
||||
|
||||
|
||||
# Set language
|
||||
echo Setting up language and locales
|
||||
export LANG="#{LANGUAGE}.UTF-8"
|
||||
echo "LANG=\\\"$LANG\\\"" > /etc/default/locale
|
||||
echo "LANG=\\\"$LANG\\\"" >> /etc/environment
|
||||
|
@ -68,10 +65,12 @@ locale-gen --lang #{LANGUAGE}
|
|||
sed -i "s/XKBLAYOUT=.*/XKBLAYOUT=\\\"${LANG%_*}\\\"/" /etc/default/keyboard
|
||||
dpkg-reconfigure -fnoninteractive console-setup
|
||||
|
||||
|
||||
# Exit if OpenGnsys is installed.
|
||||
[ -f /opt/opengnsys/doc/VERSION.json ] && echo "Cannot provision, OpenGnsys is already installed." && exit 1
|
||||
|
||||
# Create repo disk
|
||||
|
||||
echo Creating a repository disk
|
||||
if [ -z "$(blkid /dev/mapper/og-images | grep ext4)" ]; then
|
||||
pvcreate /dev/sdb
|
||||
vgcreate og /dev/sdb
|
||||
|
@ -83,11 +82,11 @@ if [ -z "$(blkid /dev/mapper/og-images | grep ext4)" ]; then
|
|||
mount -a
|
||||
fi
|
||||
|
||||
# Configure eth1 iface
|
||||
|
||||
if [ -f /etc/netplan/01-eth1.yaml ]; then
|
||||
echo "Network configured Skipping"
|
||||
echo "Network configured, skipping"
|
||||
else
|
||||
echo "Configuring Network"
|
||||
echo "Configuring eth1"
|
||||
sed -i "s/##ADDRESS##/${NETPREFIX}.1/g" /tmp/01-eth1.yaml
|
||||
mv /tmp/01-eth1.yaml /etc/netplan
|
||||
chown root:root /etc/netplan/01-eth1.yaml
|
||||
|
@ -97,12 +96,14 @@ fi
|
|||
|
||||
|
||||
# Download installer
|
||||
BRANCH="$OGVERSION"
|
||||
|
||||
set -eu
|
||||
#BRANCH="$OGVERSION"
|
||||
echo Downloading https://ognproject.evlt.uma.es/gitea/opengnsys/opengnsys/raw/branch/${BRANCH}/installer/opengnsys_installer_devel_esxi.sh
|
||||
curl --show-error --fail -k -L -o opengnsys_installer_devel_esxi.sh https://$GITEA_USER:$GITEA_TOKEN@ognproject.evlt.uma.es/gitea/opengnsys/opengnsys/raw/branch/${BRANCH}/installer/opengnsys_installer_devel_esxi.sh
|
||||
chmod 755 opengnsys_installer_devel_esxi.sh && ./opengnsys_installer_devel_esxi.sh $BRANCH
|
||||
mv /opt/opengnsys/log/bash.log /opt/opengnsys/log/opengnsys_installer.log
|
||||
set +eu
|
||||
|
||||
mv /opt/opengnsys/log/bash.log /opt/opengnsys/log/opengnsys_installer.log
|
||||
|
||||
echo y | /opt/opengnsys/bin/setserveraddr $(ip -o link show | tail -1 | cut -d: -f2)
|
||||
|
||||
|
@ -112,7 +113,7 @@ for ((i=#{NCLIENTS+10}; i>10; i--)); do
|
|||
done
|
||||
service isc-dhcp-server restart
|
||||
|
||||
# Comment out next lines for automatic data insertion.
|
||||
echo Creating an aula and some clients
|
||||
SQL="INSERT INTO aulas (nombreaula, idcentro, urlfoto, grupoid, ubicacion, puestos, modomul, ipmul, pormul, velmul, router, netmask, ntp, dns, proxy, modp2p, timep2p) VALUES ('Aula virtual', 1, 'aula.jpg', 0, 'Despliegue virtual con Vagrant.', 5, 2, '239.194.2.11', 9000, 70, '#{NETPREFIX}.1', '255.255.255.0', '', '', '', 'peer', 30); INSERT INTO ordenadores (nombreordenador, ip, mac, idaula, idrepositorio, idperfilhard, idmenu, idproautoexec, grupoid, router, mascara, arranque, netiface, netdriver, fotoord) VALUES"
|
||||
for ((i=11; i<=#{NCLIENTS+10}; i++)); do
|
||||
SQL="$SQL ('pc$i', '#{NETPREFIX}.$i', REPLACE('#{MACPREFIX}$i',':',''), 1, 1, 0, 0, 0, 0, '#{NETPREFIX}.1', '255.255.255.0', '00unknown', 'eth0', 'generic', 'fotoordenador.gif'),"
|
||||
|
@ -122,6 +123,7 @@ mysql -u usuog -ppassusuog -D ogAdmBD -e "${SQL%,}"
|
|||
for ((i=12; i<=#{NCLIENTS+10}; i++)); do
|
||||
/opt/opengnsys/bin/setclientmode ogLive pc$i PERM
|
||||
done
|
||||
|
||||
echo "Notes:"
|
||||
echo "- OpenGnsys Server URL: https://localhost:${LOCALWEBPORT}/opengnsys/"
|
||||
exit 0
|
||||
|
@ -129,12 +131,9 @@ EOT
|
|||
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
# OpenGnsys Server VM definition.
|
||||
config.vm.define "og-#{OGVERSION}-admin", primary: true do |og|
|
||||
# Specific VirtualBox configuration.
|
||||
config.vm.define "og-#{BRANCH_EXTRA}-admin", primary: true do |og|
|
||||
og.vm.provider :vmware_esxi do |esxi|
|
||||
# VM name, memory and CPUs.
|
||||
esxi.guest_name = "og-#{OGVERSION}-admin"
|
||||
esxi.guest_name = "og-#{BRANCH_EXTRA}-admin"
|
||||
esxi.guest_memsize = SERVERMEM
|
||||
esxi.esxi_username = 'root'
|
||||
esxi.esxi_password = ESXIPASSWORD
|
||||
|
@ -144,20 +143,14 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||
esxi.local_allow_overwrite = 'True'
|
||||
esxi.guest_custom_vmx_settings = [['monitor.allowLegacyCPU', 'TRUE']]
|
||||
esxi.guest_storage = [ 10 ]
|
||||
esxi.esxi_virtual_network = [ 'vLan_742', OGVERSION ]
|
||||
esxi.esxi_virtual_network = [ 'vLan_742', BRANCH_EXTRA ]
|
||||
esxi.guest_mac_address = [ "#{MACPREFIX}:00", "#{MACPREFIX}:01" ]
|
||||
esxi.guest_nic_type = 'e1000'
|
||||
end
|
||||
# VM base and host name.
|
||||
og.vm.box = "esxi_clone/dummy"
|
||||
og.vm.hostname = "og-#{OGVERSION}-admin"
|
||||
# Launch provisioning script.
|
||||
og.vm.hostname = "og-#{BRANCH_EXTRA}-admin"
|
||||
|
||||
og.vm.provision "file", source: "config/01-eth1.yaml" , destination: "/tmp/"
|
||||
og.vm.provision "shell", inline: OGSERVERSCRIPT , env: {"NETPREFIX" => NETPREFIX , "OGVERSION" => OGVERSION , "GITEA_TOKEN" => GITEA_TOKEN , "GITEA_USER" => GITEA_USER , "DHCPNET" => DHCPNET , "SSH_GIT_KEY_PASS" => SSH_GIT_KEY_PASS }
|
||||
og.vm.provision "shell", inline: OGSERVERSCRIPT , env: {"NETPREFIX" => NETPREFIX , "BRANCH" => BRANCH , "GITEA_TOKEN" => GITEA_TOKEN , "GITEA_USER" => GITEA_USER , "DHCPNET" => DHCPNET , "SSH_GIT_KEY_PASS" => SSH_GIT_KEY_PASS }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
set -e
|
||||
|
||||
BRANCH=$1
|
||||
BRANCH=${BRANCH:-"test"}
|
||||
BRANCH=${BRANCH:-"main"}
|
||||
ESXCLI=/usr/bin/esxcli
|
||||
VSWITCH="vSwitch1"
|
||||
source ~/.pass
|
||||
|
|
Loading…
Reference in New Issue