#!/usr/bin/env python3 import os import subprocess import sys import time import resource soft, hard = resource.getrlimit(resource.RLIMIT_NOFILE) try: # Usamos el mínimo entre 65536 y el límite hard disponible new_limit = min(65536, hard) resource.setrlimit(resource.RLIMIT_NOFILE, (new_limit, hard)) print(f"RLIMIT_NOFILE establecido a: {resource.getrlimit(resource.RLIMIT_NOFILE)}") except ValueError as e: print(f"No se pudo aumentar el límite de archivos abiertos: {e}") # Añadir rutas personalizadas de forma segura extra_paths = [ "/opt/opengnsys/interfaceAdm/git/", "/opt/opengnsys/ogrepository/oggit/lib/" ] # Si estás completamente seguro de que esta ruta no interfiere con la stdlib # y contiene todos los módulos necesarios, puedes añadirla AL FINAL del path. path_maybe_problematic = "/opt/oglive/rootfs/opt/opengnsys/lib/python3/" if os.path.isdir(path_maybe_problematic): sys.path.append(path_maybe_problematic) for path in extra_paths: if os.path.isdir(path): sys.path.append(path) import NetLib import ogGlobals import SystemLib import logging import DiskLib import NetLib from gitlib import OpengnsysGitLibrary, NTFSImplementation def create_image(disk_num, partition_num, repo, image_name, tagName): ntfs_impl = NTFSImplementation.NTFS3G og_git = OpengnsysGitLibrary(ntfs_implementation = ntfs_impl) device = DiskLib.ogDiskToDev(disk_num, partition_num) og_git.initRepo(device, image_name) og_git.tag(device = device, tagName = tagName, commit = "HEAD", message = "Image created") def main(): if len(sys.argv) != 6: sys.exit(SystemLib.ogRaiseError([], ogGlobals.OG_ERR_FORMAT, "Incorrect number of arguments. Usage: CrearImagenGit.py disk_num partition_num image_name repo tag")) disk_num, partition_num, image_name, repo, tag = sys.argv[1:6] opengnsys_log_dir = "/opt/opengnsys/log" ip_address = NetLib.ogGetIpAddress() logFilePath = f"{opengnsys_log_dir}/{ip_address}.CrearImagenGit.log" fileLog = logging.FileHandler(logFilePath) fileLog.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)24s - [%(levelname)5s] - %(message)s') fileLog.setFormatter(formatter) logger = logging.getLogger(__package__) logger.setLevel(logging.DEBUG) logger.addHandler(fileLog) logger.info("Starting CrearImagenGit") retval = create_image(disk_num, partition_num, repo, image_name, tag) sys.exit(retval) if __name__ == "__main__": main()