parent
821680e95c
commit
3327cfc6e0
|
@ -36,7 +36,7 @@ Para que todos los endpoints y scripts funcionen con la configuración actual de
|
||||||
- **/opt/opengnsys/ogrepository/log/** (aquí se guardan los logs)
|
- **/opt/opengnsys/ogrepository/log/** (aquí se guardan los logs)
|
||||||
|
|
||||||
Y también debe existir el siguiente archivo:
|
Y también debe existir el siguiente archivo:
|
||||||
- **/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg** (de aquí pilla la IP de ogRepository)
|
- **/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg** (de aquí pilla su IP y la de ogCore)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -41,14 +41,14 @@ repo_path = '/opt/opengnsys/ogrepository/images/' # No borrar la barra final
|
||||||
script_path = '/opt/opengnsys/ogrepository/bin'
|
script_path = '/opt/opengnsys/ogrepository/bin'
|
||||||
repo_file = '/opt/opengnsys/ogrepository/etc/repoinfo.json'
|
repo_file = '/opt/opengnsys/ogrepository/etc/repoinfo.json'
|
||||||
trash_file = '/opt/opengnsys/ogrepository/etc/trashinfo.json'
|
trash_file = '/opt/opengnsys/ogrepository/etc/trashinfo.json'
|
||||||
|
config_file = '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'
|
||||||
ogcore_ip = '172.17.8.26' # En la versión final, se tendrá que pillar de una variable de entorno
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
repo_path = '/home/user/images/'
|
repo_path = '/home/user/images/'
|
||||||
script_path = '/home/user'
|
script_path = '/home/user'
|
||||||
repo_file = '/home/user/jsons/repoinfo.json'
|
repo_file = '/home/user/jsons/repoinfo.json'
|
||||||
trash_file = '/home/user/jsons/trashinfo.json'
|
trash_file = '/home/user/jsons/trashinfo.json'
|
||||||
|
config_file = '/home/user/ogAdmRepo.cfg'
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
|
@ -70,6 +70,27 @@ swagger = Swagger(app, template=swagger_template)
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
def get_IPcore():
|
||||||
|
""" Obtiene el valor asociado a la variable "IPcore", desde el archivo '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'.
|
||||||
|
Retorna la IP encontrada (que corresponde a la IP de ogCore), o un error (si no la encuentra).
|
||||||
|
"""
|
||||||
|
IPcore = None
|
||||||
|
with open(config_file, 'r') as file:
|
||||||
|
for line in file:
|
||||||
|
if line.startswith('IPcore'):
|
||||||
|
IPcore = line.split('=')[1].strip()
|
||||||
|
return IPcore
|
||||||
|
if IPcore is None:
|
||||||
|
return "IP no encontrada en el archivo de configuración"
|
||||||
|
|
||||||
|
|
||||||
|
# Almacenamos la IP de ogCore:
|
||||||
|
ogcore_ip = get_IPcore()
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def get_image_params(image_id, search='all'):
|
def get_image_params(image_id, search='all'):
|
||||||
""" A partir de un ID de imagen (que corresponde al "fullsum"), busca la imagen en el repositorio y/o en la papelera (dependiendo del parámetro "search").
|
""" A partir de un ID de imagen (que corresponde al "fullsum"), busca la imagen en el repositorio y/o en la papelera (dependiendo del parámetro "search").
|
||||||
Si encuentra la imagen devuelve su nombre y su extensión en un diccionario, y si no encuentra la imagen especificada retorna "None".
|
Si encuentra la imagen devuelve su nombre y su extensión en un diccionario, y si no encuentra la imagen especificada retorna "None".
|
||||||
|
@ -154,7 +175,7 @@ def check_lock_local(image_file_path, job_id):
|
||||||
'job_id': job_id
|
'job_id': job_id
|
||||||
}
|
}
|
||||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||||
#recall_ogcore(data)
|
recall_ogcore(data)
|
||||||
break
|
break
|
||||||
# Si aun existe el archivo ".lock", imprimimos un mensaje en la API:
|
# Si aun existe el archivo ".lock", imprimimos un mensaje en la API:
|
||||||
else:
|
else:
|
||||||
|
@ -202,7 +223,7 @@ def check_lock_remote(image_file_path, remote_host, remote_user, job_id):
|
||||||
'job_id': job_id
|
'job_id': job_id
|
||||||
}
|
}
|
||||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||||
#recall_ogcore(data)
|
recall_ogcore(data)
|
||||||
break
|
break
|
||||||
# Esperamos 1 minuto para volver a realizar la comprobación:
|
# Esperamos 1 minuto para volver a realizar la comprobación:
|
||||||
sleep(60)
|
sleep(60)
|
||||||
|
@ -240,7 +261,7 @@ def check_aux_files(image_file_path, job_id):
|
||||||
'image_id': image_id
|
'image_id': image_id
|
||||||
}
|
}
|
||||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||||
#recall_ogcore(data)
|
recall_ogcore(data)
|
||||||
break
|
break
|
||||||
# Esperamos 10 segundos para volver a realizar la comprobación:
|
# Esperamos 10 segundos para volver a realizar la comprobación:
|
||||||
sleep(10)
|
sleep(10)
|
||||||
|
@ -256,14 +277,14 @@ def recall_ogcore(data):
|
||||||
"""
|
"""
|
||||||
# Almacenamos la URL del endpoint de ogCore (prueba):
|
# Almacenamos la URL del endpoint de ogCore (prueba):
|
||||||
#endpoint_url = f"http://{ogcore_ip}:8006/ogcore/v1/test"
|
#endpoint_url = f"http://{ogcore_ip}:8006/ogcore/v1/test"
|
||||||
endpoint_url = f"https://{ogcore_ip}:8443/og-repository/webhook" # Es HTTPS?
|
endpoint_url = f"https://{ogcore_ip}:8443/og-repository/webhook"
|
||||||
|
|
||||||
# Almacenamos los headers, y convertiomos "data" a JSON:
|
# Almacenamos los headers, y convertiomos "data" a JSON:
|
||||||
headers = {'content-type': 'application/json'}
|
headers = {'content-type': 'application/json'}
|
||||||
data = json.dumps(data)
|
data = json.dumps(data)
|
||||||
|
|
||||||
# Hacemos una petición POST al endpoint, enviando lo almacenado en "data":
|
# Hacemos una petición POST al endpoint, enviando lo almacenado en "data":
|
||||||
response = requests.post(endpoint_url, data=data, headers=headers)
|
response = requests.post(endpoint_url, data=data, headers=headers, verify=False)
|
||||||
|
|
||||||
# Imprimimos el código de estado de la petición y la respuesta de ogCore:
|
# Imprimimos el código de estado de la petición y la respuesta de ogCore:
|
||||||
app.logger.info(f"HTTP Status Code: {response.status_code}")
|
app.logger.info(f"HTTP Status Code: {response.status_code}")
|
||||||
|
@ -774,6 +795,13 @@ def create_torrent_sum():
|
||||||
json_data = json.loads(request.data)
|
json_data = json.loads(request.data)
|
||||||
image_name = json_data.get("image")
|
image_name = json_data.get("image")
|
||||||
|
|
||||||
|
# Si la imagen no existe, retornamos un error y salimos del endpoint:
|
||||||
|
if not os.path.exists(f"{repo_path}{image_name}"):
|
||||||
|
return jsonify({
|
||||||
|
"success": False,
|
||||||
|
"exception": "Image not found"
|
||||||
|
}), 400
|
||||||
|
|
||||||
# Construimos la ruta de la imagen (relativa a "repo_path"):
|
# Construimos la ruta de la imagen (relativa a "repo_path"):
|
||||||
image_file_path = image_name
|
image_file_path = image_name
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ info:
|
||||||
- **/opt/opengnsys/ogrepository/log/** (aquí se guardan los logs)
|
- **/opt/opengnsys/ogrepository/log/** (aquí se guardan los logs)
|
||||||
|
|
||||||
Y también debe existir el siguiente archivo:
|
Y también debe existir el siguiente archivo:
|
||||||
- **/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg** (de aquí pilla la IP de ogRepository)
|
- **/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg** (de aquí pilla su IP y la de ogCore)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue