Refs #202 fixed errors

ogboot_installer
Antonio Guerrero 2024-07-08 05:11:15 +00:00
parent 029475ed1c
commit bfc9856b19
1 changed files with 28 additions and 24 deletions

View File

@ -240,7 +240,7 @@ def generate_config_url():
def downloadComposer():
global WORKDIR, INSTALL_OGBOOT_TARGET
#logger.info("Downloading composer.phar...")
_______logger.info("Downloading composer.phar...")
os.makedirs(os.path.join(WORKDIR, "ogboot", "bin"), mode=0o750, exist_ok=True)
subprocess.run(["curl", "-sS", "-o", os.path.join(WORKDIR, "ogboot", "bin", "composer.phar"), "https://getcomposer.org/installer"], check=True)
if not os.path.isfile(os.path.join(WORKDIR, "ogboot", "bin", "composer.phar")):
@ -603,27 +603,25 @@ TFTP_OPTIONS="--secure"
logger.info("Downloading oglive...")
#Temporalmente se copia desde ~/oglive
# copiar desde el montaje /mnt/srv/artefactos/ogboot/tftpboot/
logger.error(f"___________/home/qindel/ogboot/installer___________________Intentando copiar desde ...{PROGRAM_DIR} a {TFTPCFGDIR}")
subprocess.run(["cp", "-r", f"/tmp/tftpboot/ogLive-5.11.0-r20210413", f"{TFTPCFGDIR}/"])
# subprocess.run(["cp", "-r", f"/tmp/ipxe/tftpboot/ipxe", f"{TFTPCFGDIR}/"])
#Crear enlace simbólico de oglive-5.11.0-r20210413 a /var/lib/tftpboot/ogLive
subprocess.run(["ln", "-s", f"{TFTPCFGDIR}/ogLive-5.11.0-r20210413", "{TFTPCFGDIR}/ogLive"])
subprocess.run(["ln", "-s", f"{TFTPCFGDIR}/ogLive-5.11.0-r20210413", f"{TFTPCFGDIR}/ogLive"])
#Crear enlace simbólico de /var/lib/tftpboot/ogLive a /var/lib/tftpboot/ogLive/ogclient
subprocess.run(["ln", "-s", "{TFTPCFGDIR}/ogLive", "{TFTPCFGDIR}/ogclient"])
subprocess.run(["ln", "-s", f"{TFTPCFGDIR}/ogLive", f"{TFTPCFGDIR}/ogclient"])
symlink_target = f"{INSTALL_OGBOOT_TARGET}/tftpboot"
logger.info(f"Creating symbolic link from {TFTPCFGDIR} to {symlink_target}")
#if not os.path.exists(symlink_target):
# os.symlink("{TFTPCFGDIR}", symlink_target)
# os.chown(symlink_target, pwd.getpwnam("ogboot").pw_uid, pwd.getpwnam("ogboot").pw_gid)
#else:
# logger.warning(f"The symbolic link already exists: {symlink_target}")
# Create the symbolic link
logger.info("Creating symbolic link from /opt/ogboot/tftpboot to /var/lib/tftpboot...")
if os.path.islink(symlink_target):
run_command(f"sudo rm -rf {symlink_target}")
elif os.path.exists(symlink_target):
run_command(f"sudo ln -s {TFTPCFGDIR} {INSTALL_OGBOOT_TARGET}")
if not os.path.exists(symlink_target):
os.symlink(TFTPCFGDIR, symlink_target)
os.chown(symlink_target, pwd.getpwnam("ogboot").pw_uid, pwd.getpwnam("ogboot").pw_gid)
else:
logger.warning(f"The symbolic link already exists: {symlink_target}")
#logger.info("Creating symbolic link from /opt/ogboot/tftpboot to /var/lib/tftpboot...")
#if os.path.islink(symlink_target):
# run_command(f"sudo rm -rf {symlink_target}")
#elif os.path.exists(symlink_target):
# run_command(f"sudo ln -s {TFTPCFGDIR} {INSTALL_OGBOOT_TARGET}")
def servicesCompilation():
global WORKDIR
@ -743,7 +741,14 @@ def openGnsysConfigure():
content = content.replace("OPENGNSYSURL", CONSOLEURL)
with open(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg", "w") as outfile:
outfile.write(content)
os.symlink(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg", f"{INSTALL_TARGET}/client/etc/ogAdmClient.cfg")
if os.path.islink(f"{INSTALL_TARGET}/client/etc/ogAdmClient.cfg"):
logger.warning(f"Link {INSTALL_TARGET}/client/etc/ogAdmClient.cfg exists.")
else:
try:
os.symlink(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg", f"{INSTALL_TARGET}/client/etc/ogAdmClient.cfg")
print(f"Symbolic link created: {INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg -> {INSTALL_TARGET}/client/etc/ogAdmClient.cfg")
except OSError as e:
logger.error(f"Error creating symbolic link: {e}")
TZ = subprocess.check_output(["timedatectl", "status"]).decode().split("\n")[2].split(":")[1].strip()
with open(f"{INSTALL_TARGET}/client/etc/engine.cfg", "a") as file:
file.write(f"# OpenGnsys Server timezone.\nTZ=\"{TZ.replace(' ', '')}\"\n")
@ -783,7 +788,6 @@ def mount_NFS():
#else:
# logger.error("Failed to mount boot file.")
# exit(1)
logger.info("copy ipxe(3)::::::::::::::::::::::::::::")
subprocess.call(["sudo", "cp", "bin/undionly.kpxe", f"{INSTALL_OPENGNSYS_TARGET}/tftpboot"])
if subprocess.call(["sudo", "make", "-s", "bin-x86_64-efi/ipxe.efi", f"EMBED={INSTALL_OPENGNSYS_TARGET}/tftpboot/ipxe_scripts/dhcp_boot.ipxe"]) == 0:
logger.info("Properly constructed EFI file.")
@ -1005,13 +1009,13 @@ def install_oglive_daemon():
logger.info(f"Starting installation of ogBoot.")
logger.info("Variables de entorno")
logger.info(f"OGCORE_IP:{env_ogCore_ServerIP}:{OGCORE_IP}")
logger.info(f"OGCORE_SERVER:{env_ogCore_Server}:{OGCORE_SERVER}")
logger.info(f"INSTALL_TARGET:{env_ogBoot_Dir}:{INSTALL_TARGET}")
logger.info(f"INSTALL_OGBOOT_TARGET:{env_ogBoot_Dir}:{INSTALL_OGBOOT_TARGET}")
logger.info(f"INSTALL_OPENGNSYS_TARGET:{env_ogCore_Dir}:{INSTALL_OPENGNSYS_TARGET}")
logger.info(f"GIT_REPO:{env_ogBoot_GitRepo}:{GIT_REPO}")
logger.info("environment variables")
logger.info(f"OGCORE_IP:{OGCORE_IP}")
logger.info(f"OGCORE_SERVER:{OGCORE_SERVER}")
logger.info(f"INSTALL_TARGET:{INSTALL_TARGET}")
logger.info(f"INSTALL_OGBOOT_TARGET:{INSTALL_OGBOOT_TARGET}")
logger.info(f"INSTALL_OPENGNSYS_TARGET:{INSTALL_OPENGNSYS_TARGET}")
logger.info(f"GIT_REPO:{GIT_REPO}")
if os.geteuid() != 0:
logger.error("This program must be run with root privileges..")