Refs #401 fixed function for net interfaces
parent
9b4a218c84
commit
e275dcb6a4
|
@ -10,7 +10,7 @@ import platform, os, sys, subprocess, datetime, shutil, argparse, time, pwd
|
|||
global UBUNTU_OS_VERSION, OPENGNGYS_VERSION, PYTHON_VERSION_LAST, PYTHON_VERSION, DEPENDENCIES2, INSTALL_OGBOOT_TARGET, WORK_DIR, LOG_FILE, CHECKPKG, INSTALLPKG, PATH, PROGRAM_DIR, OPENGNSYS_SERVER, UPDATEPKGLIST
|
||||
|
||||
UPDATEPKGLIST = ""
|
||||
UBUNTU_OS_VERSION = "22"
|
||||
UBUNTU_OS_VERSION = "18"
|
||||
OPENGNGYS_VERSION = "1.2.0"
|
||||
PYTHON_VERSION = 3
|
||||
PYTHON_VERSION_LAST = 0
|
||||
|
@ -24,6 +24,13 @@ PROGRAM_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
|
|||
PROGRAM_NAME = os.path.basename(sys.argv[0])
|
||||
OPENGNSYS_SERVER = "opengnsys.es"
|
||||
CHECKPKG=""
|
||||
DEFAULTDEV = ""
|
||||
DEVICE = []
|
||||
SERVERIP = []
|
||||
NETIP = []
|
||||
NETMASK = []
|
||||
NETBROAD = []
|
||||
ROUTERIP = []
|
||||
WORKDIR="/tmp/ogboot_installer"
|
||||
BRANCH = sys.argv[1] if len(sys.argv) > 1 else "main"
|
||||
TFTPSERV = "tftpd-hpa" # Define the TFTPSERV variable with the appropriate value
|
||||
|
@ -285,65 +292,73 @@ def generate_config_url():
|
|||
return f"https://dl.cloudsmith.io/public/isc/kea-2-0/config.deb.txt?distro=ubuntu&codename={codename}&version={version}&arch={arch}"
|
||||
|
||||
def create_ogboot_project(path_opengnsys_base):
|
||||
# Verificar si el usuario 'ogboot' ya existe
|
||||
try:
|
||||
pwd.getpwnam('ogboot')
|
||||
print("El usuario 'ogboot' ya existe")
|
||||
except KeyError:
|
||||
subprocess.run(["sudo", "useradd", "-m", "ogboot"])
|
||||
# Verificar si el usuario 'ogboot' ya existe
|
||||
try:
|
||||
pwd.getpwnam('ogboot')
|
||||
print("El usuario 'ogboot' ya existe")
|
||||
except KeyError:
|
||||
subprocess.run(["sudo", "useradd", "-m", "ogboot"])
|
||||
|
||||
# Verificar si el directorio ya existe
|
||||
if os.path.exists(path_opengnsys_base):
|
||||
if not os.path.isdir(path_opengnsys_base):
|
||||
raise NotADirectoryError(f"{path_opengnsys_base} existe y no es un directorio.")
|
||||
else:
|
||||
print(f"El directorio {path_opengnsys_base} ya existe.")
|
||||
else:
|
||||
os.makedirs(path_opengnsys_base)
|
||||
# Cambiar el propietario del directorio a 'ogboot' si se creó por primera vez
|
||||
subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base])
|
||||
# Verificar si el directorio ya existe
|
||||
if os.path.exists(path_opengnsys_base):
|
||||
if not os.path.isdir(path_opengnsys_base):
|
||||
raise NotADirectoryError(f"{path_opengnsys_base} existe y no es un directorio.")
|
||||
else:
|
||||
print(f"El directorio {path_opengnsys_base} ya existe.")
|
||||
else:
|
||||
os.makedirs(path_opengnsys_base)
|
||||
# Cambiar el propietario del directorio a 'ogboot' si se creó por primera vez
|
||||
subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base])
|
||||
|
||||
# Copiar los archivos .env y composer.json primero
|
||||
shutil.copy(f"{WORKDIR}/ogboot/.env", os.path.join(path_opengnsys_base, ".env"))
|
||||
shutil.copy(f"{WORKDIR}/ogboot/composer.json", os.path.join(path_opengnsys_base, "composer.json"))
|
||||
print(".env y composer.json copiados a", path_opengnsys_base)
|
||||
bin_source = os.path.join(WORKDIR, "ogboot/bin")
|
||||
bin_dest = os.path.join(path_opengnsys_base, "bin")
|
||||
src_source = os.path.join(WORKDIR, "ogboot/src")
|
||||
src_dest = os.path.join(path_opengnsys_base, "src")
|
||||
|
||||
config_source = os.path.join(WORKDIR, "ogboot/config")
|
||||
config_dest = os.path.join(path_opengnsys_base, "config")
|
||||
if os.path.exists(bin_dest):
|
||||
shutil.rmtree(bin_dest)
|
||||
shutil.copytree(bin_source, bin_dest)
|
||||
# Verificar si la entrada "opengnsys" existe en /etc/hosts
|
||||
with open('/etc/hosts', 'r') as hosts_file:
|
||||
hosts_content = hosts_file.read()
|
||||
if 'opengnsys' not in hosts_content:
|
||||
# Agregar la entrada "opengnsys" con la IP SERVER_OPENGNSYS
|
||||
with open('/etc/hosts', 'a') as hosts_file:
|
||||
hosts_file.write('172.17.8.82 opengnsys\n')
|
||||
print("Entrada 'opengnsys' agregada a /etc/hosts")
|
||||
|
||||
if os.path.exists(src_dest):
|
||||
shutil.rmtree(src_dest)
|
||||
shutil.copytree(src_source, src_dest)
|
||||
|
||||
if os.path.exists(config_dest):
|
||||
shutil.rmtree(config_dest)
|
||||
shutil.copytree(config_source, config_dest)
|
||||
# Copiar los archivos .env y composer.json primero
|
||||
shutil.copy(f"{WORKDIR}/ogboot/.env", os.path.join(path_opengnsys_base, ".env"))
|
||||
shutil.copy(f"{WORKDIR}/ogboot/composer.json", os.path.join(path_opengnsys_base, "composer.json"))
|
||||
print(".env y composer.json copiados a", path_opengnsys_base)
|
||||
bin_source = os.path.join(WORKDIR, "ogboot/bin")
|
||||
bin_dest = os.path.join(path_opengnsys_base, "bin")
|
||||
src_source = os.path.join(WORKDIR, "ogboot/src")
|
||||
src_dest = os.path.join(path_opengnsys_base, "src")
|
||||
|
||||
config_source = os.path.join(WORKDIR, "ogboot/config")
|
||||
config_dest = os.path.join(path_opengnsys_base, "config")
|
||||
if os.path.exists(bin_dest):
|
||||
shutil.rmtree(bin_dest)
|
||||
shutil.copytree(bin_source, bin_dest)
|
||||
|
||||
subprocess.run(["sudo", "chmod", "-R", "755", path_opengnsys_base])
|
||||
subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base])
|
||||
print("Esperando 20 segundos...")
|
||||
time.sleep(20)
|
||||
# Ejecutar Composer como el usuario 'ogboot' para instalar el proyecto Symfony
|
||||
result = subprocess.run(["sudo", "-u", "ogboot", "composer", "install", "--no-interaction", "--working-dir", path_opengnsys_base])
|
||||
if result.returncode != 0:
|
||||
print("Error al crear el proyecto Symfony usando Composer")
|
||||
return
|
||||
if os.path.exists(src_dest):
|
||||
shutil.rmtree(src_dest)
|
||||
shutil.copytree(src_source, src_dest)
|
||||
|
||||
if os.path.exists(config_dest):
|
||||
shutil.rmtree(config_dest)
|
||||
shutil.copytree(config_source, config_dest)
|
||||
|
||||
os.chdir(path_opengnsys_base)
|
||||
subprocess.run(["sudo", "chmod", "-R", "755", path_opengnsys_base])
|
||||
subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base])
|
||||
|
||||
# Eliminar composer.lock si existe
|
||||
composer_lock_path = os.path.join(path_opengnsys_base, "composer.lock")
|
||||
if os.path.exists(composer_lock_path):
|
||||
os.remove(composer_lock_path)
|
||||
# Ejecutar Composer como el usuario 'ogboot' para instalar el proyecto Symfony
|
||||
result = subprocess.run(["sudo", "-u", "ogboot", "composer", "install", "--no-interaction", "--working-dir", path_opengnsys_base])
|
||||
if result.returncode != 0:
|
||||
print("Error al crear el proyecto Symfony usando Composer")
|
||||
return
|
||||
|
||||
print("Esqueleto de la aplicación creado y archivo composer.lock eliminado.")
|
||||
os.chdir(path_opengnsys_base)
|
||||
|
||||
# Eliminar composer.lock si existe
|
||||
composer_lock_path = os.path.join(path_opengnsys_base, "composer.lock")
|
||||
if os.path.exists(composer_lock_path):
|
||||
os.remove(composer_lock_path)
|
||||
|
||||
print("Esqueleto de la aplicación creado y archivo composer.lock eliminado.")
|
||||
|
||||
|
||||
def createDirs(INSTALL_TARGET):
|
||||
|
@ -440,12 +455,12 @@ def isc_keaDhcpConfigure():
|
|||
errcode = 0
|
||||
i = 0
|
||||
interfaces = "["
|
||||
DEVICE = ["eth0", "eth1"] # Define the DEVICE variable with appropriate values
|
||||
NETMASK = "255.255.255.0" # Replace with the actual value of NETMASK
|
||||
NETIP = "192.168.0.1" # Replace with the actual value of NETIP
|
||||
ROUTERIP = "192.168.0.1" # Replace with the actual value of ROUTERIP
|
||||
#DEVICE = ["eth0", "eth1"] # Define the DEVICE variable with appropriate values
|
||||
#NETMASK = "255.255.255.0" # Replace with the actual value of NETMASK
|
||||
#NETIP = "192.168.0.1" # Replace with the actual value of NETIP
|
||||
#ROUTERIP = "192.168.0.1" # Replace with the actual value of ROUTERIP
|
||||
DNSIP = "192.168.0.1" # Replace with the actual value of DNSIP
|
||||
SERVERIP = "192.168.0.1" # Replace with the actual value of SERVERIP
|
||||
#SERVERIP = "192.168.0.1" # Replace with the actual value of SERVERIP
|
||||
|
||||
# Rest of the code...
|
||||
|
||||
|
@ -533,22 +548,19 @@ def tftpConfigure():
|
|||
# time.sleep(1)
|
||||
# testPxe()
|
||||
|
||||
|
||||
|
||||
def servicesCompilation():
|
||||
hayErrores = 0
|
||||
|
||||
# Compilar OpenGnsys Client
|
||||
echoAndLog(f"{servicesCompilation.__name__}(): Compiling OpenGnsys Admin Client")
|
||||
subprocess.run(["make"], cwd=f"{WORKDIR}/ogboot/sources/clients/ogAdmClient")
|
||||
subprocess.run(["mv", f"{WORKDIR}/ogboot/sources/clients/ogAdmClient/ogAdmClient", f"{WORKDIR}/client/shared/bin"])
|
||||
subprocess.run(["mv", f"{WORKDIR}/ogboot/sources/clients/ogAdmClient/ogAdmClient", f"{WORKDIR}/ogboot/client/shared/bin"])
|
||||
if subprocess.returncode != 0:
|
||||
echoAndLog(f"{servicesCompilation.__name__}(): error while compiling OpenGnsys Admin Client")
|
||||
hayErrores = 1
|
||||
|
||||
return hayErrores
|
||||
|
||||
|
||||
# Copiar carpeta de Interface
|
||||
def copyInterfaceAdm():
|
||||
hayErrores = 0
|
||||
|
@ -607,6 +619,7 @@ def mask2cidr(mask):
|
|||
|
||||
# Obtener los parámetros de red de la interfaz por defecto.
|
||||
def getNetworkSettings():
|
||||
DHCPNET = "127.0.0.1"
|
||||
# Arrays globales definidas:
|
||||
# - DEVICE: nombres de dispositivos de red activos.
|
||||
# - SERVERIP: IPs locales del servidor.
|
||||
|
@ -618,66 +631,82 @@ def getNetworkSettings():
|
|||
# - DEFAULTDEV: dispositivo de red por defecto.
|
||||
# - DNSIP: IP del servidor DNS principal.
|
||||
|
||||
DEVICE = []
|
||||
SERVERIP = []
|
||||
NETIP = []
|
||||
NETMASK = []
|
||||
NETBROAD = []
|
||||
ROUTERIP = []
|
||||
#DEVICE = []
|
||||
|
||||
print("getNetworkSettings(): Detecting network parameters.")
|
||||
output = subprocess.check_output(["ip", "-o", "link", "show", "up"]).decode("utf-8")
|
||||
lines = output.strip().split("\n")
|
||||
for line in lines:
|
||||
dev = line.split(":")[1].split("@")[0].strip()
|
||||
print("DEV:", dev)
|
||||
output = subprocess.check_output(["ip", "-o", "addr", "show", "dev", dev]).decode("utf-8")
|
||||
addr_lines = output.strip().split("\n")
|
||||
for addr_line in addr_lines:
|
||||
addr_parts = addr_line.split()
|
||||
cidr_netmask = addr_parts[3].split("/")[1]
|
||||
cidr_netmask = int(cidr_netmask)
|
||||
|
||||
if cidr_netmask < 0 or cidr_netmask > 32:
|
||||
print("")
|
||||
else:
|
||||
#print("*** Interface:", dev)
|
||||
#print("*** IP Address", addr_parts[3].split("/")[0])
|
||||
netmask = ".".join([str((0xffffffff << (32 - cidr_netmask) >> i) & 0xff) for i in [24, 16, 8, 0]])
|
||||
#print("*** Netmask:", netmask)
|
||||
#print("*** Broadcast:", addr_parts[5])
|
||||
#print("*** Router IP:", subprocess.check_output(["ip", "route", "list", "default"]).decode("utf-8").split()[2])
|
||||
# Por aquí revisar lógica en caso de que haya una interfaz de red sin IP para que no reviente
|
||||
if len(addr_parts) >= 4 and addr_parts[2] == "inet":
|
||||
if addr_parts[2] == "inet":
|
||||
DEVICE.append(dev)
|
||||
SERVERIP.append(addr_parts[3].split("/")[0])
|
||||
NETMASK.append(cidr2mask(int(addr_parts[3].split("/")[1])))
|
||||
NETMASK.append(netmask)
|
||||
NETBROAD.append(addr_parts[5])
|
||||
NETIP.append(subprocess.check_output(["ip", "route", "list", "proto", "kernel"]).decode("utf-8").split()[0])
|
||||
print("NETIP:", NETIP[-1])
|
||||
NETIP.append(addr_parts[3].split("/")[0])
|
||||
ROUTERIP.append(subprocess.check_output(["ip", "route", "list", "default"]).decode("utf-8").split()[2])
|
||||
#print ("====== SERVERIP_:", SERVERIP[-1])
|
||||
#print ("====== SERVERIP:", SERVERIP[0])
|
||||
#print ("====== NETIP:", NETIP[-1])
|
||||
#print ("====== DHCPNET:", DHCPNET)
|
||||
if DHCPNET == NETIP[-1]:
|
||||
print("DHCPNET:", NETIP[-1], "if yes")
|
||||
#print("DHCPNET:", NETIP[-1], "if yes")
|
||||
DEFAULTDEV = dev
|
||||
else:
|
||||
print("DHCPNET:", NETIP[-1], "if no")
|
||||
#print("DHCPNET:", NETIP[-1], "if no")
|
||||
DEFAULTDEV = DEFAULTDEV if "DEFAULTDEV" in locals() else dev
|
||||
# Habria que añadir logica para el caso en el que no este systemd-resolve para que a continuación busque en /etc/resolv.conf
|
||||
# output = subprocess.check_output(["systemd-resolve", "--status"]).decode("utf-8")
|
||||
# dns_servers = output.split("DNS Servers:")[1].split()[0]
|
||||
# DNSIP = dns_servers if dns_servers else open("/etc/resolv.conf").read().splitlines()[0].split()[1]
|
||||
|
||||
if not NETIP or not NETMASK:
|
||||
print("Error: Network not detected.")
|
||||
exit(1)
|
||||
|
||||
print("getNetworkSettings(): Default network device:", DEFAULTDEV)
|
||||
#print ("NETIP:", NETIP)
|
||||
#print ("NETMASK:", NETMASK)
|
||||
|
||||
num_elements = len(NETIP)
|
||||
#print("Number of elements in NETIP:", num_elements)
|
||||
|
||||
if len(NETIP) == 0 or len(NETMASK) == 0:
|
||||
#print ("getNetworkSettings(): [ RETURN 1 ]Error: No network devices detected.")
|
||||
return 1
|
||||
else:
|
||||
#print("getNetworkSettings(): [ RETURN 0 ]Default network device:", DEFAULTDEV)
|
||||
return 0
|
||||
|
||||
# Print variable names and values
|
||||
print("DEVICE:", DEVICE)
|
||||
print("SERVERIP:", SERVERIP)
|
||||
print("NETIP:", NETIP)
|
||||
print("NETMASK:", NETMASK)
|
||||
print("NETBROAD:", NETBROAD)
|
||||
print("ROUTERIP:", ROUTERIP)
|
||||
print("DEFAULTDEV:", DEFAULTDEV)
|
||||
#print("DEVICE:", DEVICE)
|
||||
#print("SERVERIP:", SERVERIP)
|
||||
#print("NETIP:", NETIP)
|
||||
#print("NETMASK:", NETMASK)
|
||||
#print("NETBROAD:", NETBROAD)
|
||||
#print("ROUTERIP:", ROUTERIP)
|
||||
#print("DEFAULTDEV:", DEFAULTDEV)
|
||||
# print("DNSIP:", DNSIP)
|
||||
|
||||
|
||||
def openGnsysConfigure():
|
||||
DEVICE = []
|
||||
SERVERIP = []
|
||||
DEFAULTDEV = ""
|
||||
APACHE_RUN_USER = ""
|
||||
APACHE_RUN_GROUP = ""
|
||||
OPENGNSYS_CONSOLEURL = ""
|
||||
#DEVICE = []
|
||||
#SERVERIP = []
|
||||
#APACHE_RUN_USER = ""
|
||||
#APACHE_RUN_GROUP = ""
|
||||
#OPENGNSYS_CONSOLEURL = ""
|
||||
|
||||
i = 0
|
||||
dev = ""
|
||||
|
@ -686,20 +715,25 @@ def openGnsysConfigure():
|
|||
# Mientras networkConfigure no funcione, utilizar una variable global que apunte al servidor Opengnsys
|
||||
# Para nuetra demo 172.17.8.82
|
||||
print(f"{openGnsysConfigure.__name__}(): Creating OpenGnsys config files.")
|
||||
for dev in DEVICE:
|
||||
if SERVERIP[i]:
|
||||
CONSOLEURL = f"https://{SERVERIP[i]}/opengnsys"
|
||||
with open(f"{WORKDIR}/opengnsys/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg") as file:
|
||||
content = file.read()
|
||||
content = content.replace("SERVERIP", SERVERIP[i])
|
||||
content = content.replace("OPENGNSYSURL", CONSOLEURL.replace("/", "\\/"))
|
||||
with open(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{dev}.cfg", "w") as outfile:
|
||||
outfile.write(content)
|
||||
if dev == DEFAULTDEV:
|
||||
OPENGNSYS_CONSOLEURL = CONSOLEURL
|
||||
i += 1
|
||||
|
||||
os.link(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg", f"{INSTALL_TARGET}/client/etc/ogAdmClient.cfg")
|
||||
for dev in DEVICE:
|
||||
if dev:
|
||||
if SERVERIP[i]:
|
||||
CONSOLEURL = f"https://{SERVERIP[i]}/opengnsys"
|
||||
with open(f"{WORKDIR}/opengnsys/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg") as file:
|
||||
content = file.read()
|
||||
content = content.replace("SERVERIP", SERVERIP[i])
|
||||
content = content.replace("OPENGNSYSURL", CONSOLEURL.replace("/", "\\/"))
|
||||
with open(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{dev}.cfg", "w") as outfile:
|
||||
outfile.write(content)
|
||||
if dev == DEFAULTDEV:
|
||||
OPENGNSYS_CONSOLEURL = CONSOLEURL
|
||||
i += 1
|
||||
if DEFAULTDEV:
|
||||
os.link(f"{INSTALL_TARGET}/client/etc/ogAdmClient-{DEFAULTDEV}.cfg", f"{INSTALL_TARGET}/client/etc/ogAdmClient.cfg")
|
||||
else:
|
||||
print("Error: No se ha detectado la interfaz de red por defecto.")
|
||||
exit(1)
|
||||
|
||||
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:
|
||||
|
@ -837,6 +871,17 @@ autoConfigure()
|
|||
Missing = get_missing_packages (required_packages_18)
|
||||
install_packages(Missing)
|
||||
|
||||
SERVER_OPENGNSYS = "172.17.8.82"
|
||||
# Verificar si la entrada "opengnsys" existe en /etc/hosts
|
||||
with open('/etc/hosts', 'r') as hosts_file:
|
||||
hosts_content = hosts_file.read()
|
||||
if f'{SERVER_OPENGNSYS} opengnsys' not in hosts_content:
|
||||
with open('/etc/hosts', 'a') as hosts_file:
|
||||
hosts_file.write(f'{SERVER_OPENGNSYS} opengnsys\n')
|
||||
print("Entrada 'opengnsys' agregada a /etc/hosts")
|
||||
else:
|
||||
print(f"La entrada '{SERVER_OPENGNSYS} opengnsys' ya existe en /etc/hosts" )
|
||||
|
||||
# Detectar parámetros de red y comprobar si hay conexión.
|
||||
if getNetworkSettings() != 0:
|
||||
errorAndLog("Error reading default network settings.")
|
||||
|
@ -848,6 +893,7 @@ if REMOTE == 1:
|
|||
errorAndLog("Error while getting code from the repository")
|
||||
exit(1)
|
||||
else:
|
||||
# WAR: Crea un link recursivo en el ogboot
|
||||
if not os.path.exists("ogboot"):
|
||||
os.symlink(os.path.dirname(PROGRAM_DIR), "ogboot")
|
||||
|
||||
|
@ -883,6 +929,8 @@ if subprocess.run(["echo", "$?"]).returncode != 0:
|
|||
|
||||
generate_ipxe_script()
|
||||
|
||||
openGnsysConfigure()
|
||||
|
||||
# Montar sistema NFS.
|
||||
mount_NFS()
|
||||
|
||||
|
@ -896,49 +944,49 @@ if subprocess.run(["echo", "$?"]).returncode != 0:
|
|||
###############################################################################
|
||||
###:::::::::::::::::::::::::::::::: DHCP :::::::::::::::::::::::::::::::::::###
|
||||
###############################################################################
|
||||
parser = argparse.ArgumentParser(description='Instalación de ogBoot', formatter_class=argparse.RawTextHelpFormatter)
|
||||
help_text_dhcp = """
|
||||
install\t\tInstala la versión de DHCP seleccionada con dhcp-version,
|
||||
configure\tConfigura dhcp sobre un servicio previamente instalado,
|
||||
none\t\tNo instala ni configura DHCP
|
||||
"""
|
||||
help_text_dhcp_version = """
|
||||
isc\t\tInstala la versión de DHCP isc-kea-dhcp, para Ubuntu 18.04
|
||||
kea\t\tInstala la versión de DHCP kea-dhcp, para Ubuntu 20.04
|
||||
none\t\tNo instala ni configura DHCP
|
||||
"""
|
||||
parser.add_argument('--dhcp', choices=['install', 'configure', 'none'], default='none', help=help_text_dhcp)
|
||||
parser.add_argument('--dhcp-version', choices=['isc', 'kea', 'none'], default='none', help=help_text_dhcp_version)
|
||||
# parser = argparse.ArgumentParser(description='Instalación de ogBoot', formatter_class=argparse.RawTextHelpFormatter)
|
||||
# help_text_dhcp = """
|
||||
# install\t\tInstala la versión de DHCP seleccionada con dhcp-version,
|
||||
# configure\tConfigura dhcp sobre un servicio previamente instalado,
|
||||
# none\t\tNo instala ni configura DHCP
|
||||
# """
|
||||
# help_text_dhcp_version = """
|
||||
# isc\t\tInstala la versión de DHCP isc-kea-dhcp, para Ubuntu 18.04
|
||||
# kea\t\tInstala la versión de DHCP kea-dhcp, para Ubuntu 20.04
|
||||
# none\t\tNo instala ni configura DHCP
|
||||
# """
|
||||
# parser.add_argument('--dhcp', choices=['install', 'configure', 'none'], default='none', help=help_text_dhcp)
|
||||
# parser.add_argument('--dhcp-version', choices=['isc', 'kea', 'none'], default='none', help=help_text_dhcp_version)
|
||||
|
||||
args = parser.parse_args()
|
||||
# args = parser.parse_args()
|
||||
|
||||
if args.dhcp == 'install':
|
||||
if args.dhcp_version == 'isc':
|
||||
print("Instalando isc-kea-dhcp")
|
||||
install_isc_kea()
|
||||
isc_keaDhcpConfigure()
|
||||
pass
|
||||
elif args.dhcp_version == 'kea':
|
||||
print("Instalando kea-dhcp")
|
||||
install_kea()
|
||||
pass
|
||||
elif args.dhcp_version == 'none':
|
||||
print("No se ha seleccionado ninguna versión de DHCP, utilice --dhcp-version para seleccionar una versión")
|
||||
pass
|
||||
pass
|
||||
elif args.dhcp == 'configure':
|
||||
print("Configurando DHCP")
|
||||
if args.dhcp_version == 'isc':
|
||||
isc_keaDhcpConfigure()
|
||||
pass
|
||||
elif args.dhcp_version == 'kea':
|
||||
print("Configurando kea-dhcp")
|
||||
#keaDhcpConfigure()
|
||||
pass
|
||||
elif args.dhcp_version == 'none':
|
||||
print("No se ha seleccionado ninguna versión de DHCP, utilice --dhcp-version para seleccionar una versión")
|
||||
pass
|
||||
pass
|
||||
elif args.dhcp == 'none':
|
||||
print("DHCP no será instalado ni configurado")
|
||||
pass
|
||||
# if args.dhcp == 'install':
|
||||
# if args.dhcp_version == 'isc':
|
||||
# print("Instalando isc-kea-dhcp")
|
||||
# install_isc_kea()
|
||||
# isc_keaDhcpConfigure()
|
||||
# pass
|
||||
# elif args.dhcp_version == 'kea':
|
||||
# print("Instalando kea-dhcp")
|
||||
# install_kea()
|
||||
# pass
|
||||
# elif args.dhcp_version == 'none':
|
||||
# print("No se ha seleccionado ninguna versión de DHCP, utilice --dhcp-version para seleccionar una versión")
|
||||
# pass
|
||||
# pass
|
||||
# elif args.dhcp == 'configure':
|
||||
# print("Configurando DHCP")
|
||||
# if args.dhcp_version == 'isc':
|
||||
# isc_keaDhcpConfigure()
|
||||
# pass
|
||||
# elif args.dhcp_version == 'kea':
|
||||
# print("Configurando kea-dhcp")
|
||||
# #keaDhcpConfigure()
|
||||
# pass
|
||||
# elif args.dhcp_version == 'none':
|
||||
# print("No se ha seleccionado ninguna versión de DHCP, utilice --dhcp-version para seleccionar una versión")
|
||||
# pass
|
||||
# pass
|
||||
# elif args.dhcp == 'none':
|
||||
# print("DHCP no será instalado ni configurado")
|
||||
# pass
|
||||
|
|
Loading…
Reference in New Issue