Remove old installer, support BRANCH_EXTRA

pull/7/head
Natalia Serrano 2023-11-24 12:27:19 +01:00
parent 106d7bfd90
commit 85df22be0e
4 changed files with 25 additions and 2178 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -5,7 +5,7 @@
set -e
BRANCH=$1
BRANCH=${BRANCH:-"test"}
BRANCH=${BRANCH:-"main"}
ESXCLI=/usr/bin/esxcli
VSWITCH="vSwitch1"
source ~/.pass