Skip to content

[1.1.1.d] Instalación - Fallo al descargar ISOs con oglivecli #6

@dfmcub

Description

@dfmcub

Saludos,

He tenido problemas para instalar OpenGnsys siguiendo las instrucciones de la documentación debido a un error en el ejecutable oglivecli.

  • OS: Ubuntu 18.04.6 LTS (Bionic Beaver)
  • Curl: curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3

Reproducción:

  1. Descarga la versión 1.1.1.d

OGVERSION=opengnsys-1.1.1d
wget -c https://github.com/opengnsys/OpenGnsys/archive/${OGVERSION}.zip
unzip ${OGVERSION}.zip -d /tmp/

  1. Ejecuta el instalador

cd /tmp/${OGVERSION}
sudo bash ./installer/opengnsys_installer.sh

Resultado esperado:

Todos los componentes de opengsys se instalan correctamente y aparece el resumen

Image

Resultado observado:

La instalación avanza hasta que llega a la parte de creación de los clientes de OgLive, donde falla la descarga de los ISO

(...)
Generating a RSA private key
.+++++
.........+++++
writing new private key to '/opt/opengnsys/client/etc/ssl/private/opengnsys.key'
createCerts(): certificate successfully created
clientCreate(): Downloading ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
ERROR: clientCreate(): Error loading ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
ERROR: Error creating client ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso

Posible causa:

En corto: El código de oglivecli no considera el estándar RFC 7540 cuando busca cabeceras en llamadas a curl, por lo que las llamadas a awk que no los buscan en minúsculas devuelven valores nulos.

En largo:
Después de testear individualmente con el ejecutable /opt/opengnsys/bin/oglivecli , esto es lo que aparece si añado el modo eux dentro de la función download :

+ local OGLIVE NISOS i HTTPCODE TARGETFILE
+ local ISOREL
+ '[' 1 -gt 1 ']'
+ '[' '!' -d /opt/opengnsys/lib ']'
+ '[' '!' -w /opt/opengnsys/lib ']'
+ '[' -n ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso ']'
+ OGLIVEFILE=ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
++ awk -F: '/Content-Length:/ {print $2}'
++ curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ SOURCELENGTH=
+ '[' -n '' ']'
+ raiseError download ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ '[' oglivecli ']'
+ case "$1" in
+ echo 'oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso'
oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ exit 4

Eso me hizo pensar que quizás el problema estaba en la declaración de la variable SOURCELENGTH : awk no encuentra ningún texto "Content-Legth".

Como prueba, corro el comando que inicializa SOURCELENGTH en un terminal y no devuelve nada:

$(ogdministrator): curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/Content-Length:/ {print $2}

$(ogdministrator):

Pero si cambio las opciones de curl siguiendo esta respuesta en stackOverflow, sí que detecta la cabecera:

$(ogdministrator): curl --head --http1.1 --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/Content-Length:/ {print $2}
669313024
$(ogdministrator):

Lo mismo ocurre si cambio el filtro de awk

$(ogdministrator): curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/content-length:/ {print $2}
669313024
$(ogdministrator):

¿Cuál sería la forma más correcta y estable de arreglarlo?

Muchas Gracias

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions