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)
|
||||
|
||||
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'
|
||||
repo_file = '/opt/opengnsys/ogrepository/etc/repoinfo.json'
|
||||
trash_file = '/opt/opengnsys/ogrepository/etc/trashinfo.json'
|
||||
|
||||
ogcore_ip = '172.17.8.26' # En la versión final, se tendrá que pillar de una variable de entorno
|
||||
config_file = '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'
|
||||
|
||||
"""
|
||||
repo_path = '/home/user/images/'
|
||||
script_path = '/home/user'
|
||||
repo_file = '/home/user/jsons/repoinfo.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'):
|
||||
""" 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".
|
||||
|
@ -154,7 +175,7 @@ def check_lock_local(image_file_path, job_id):
|
|||
'job_id': job_id
|
||||
}
|
||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||
#recall_ogcore(data)
|
||||
recall_ogcore(data)
|
||||
break
|
||||
# Si aun existe el archivo ".lock", imprimimos un mensaje en la API:
|
||||
else:
|
||||
|
@ -202,7 +223,7 @@ def check_lock_remote(image_file_path, remote_host, remote_user, job_id):
|
|||
'job_id': job_id
|
||||
}
|
||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||
#recall_ogcore(data)
|
||||
recall_ogcore(data)
|
||||
break
|
||||
# Esperamos 1 minuto para volver a realizar la comprobación:
|
||||
sleep(60)
|
||||
|
@ -240,7 +261,7 @@ def check_aux_files(image_file_path, job_id):
|
|||
'image_id': image_id
|
||||
}
|
||||
# Llamamos al endpoint de ogCore, enviando los datos del diccionario:
|
||||
#recall_ogcore(data)
|
||||
recall_ogcore(data)
|
||||
break
|
||||
# Esperamos 10 segundos para volver a realizar la comprobación:
|
||||
sleep(10)
|
||||
|
@ -256,14 +277,14 @@ def recall_ogcore(data):
|
|||
"""
|
||||
# Almacenamos la URL del endpoint de ogCore (prueba):
|
||||
#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:
|
||||
headers = {'content-type': 'application/json'}
|
||||
data = json.dumps(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:
|
||||
app.logger.info(f"HTTP Status Code: {response.status_code}")
|
||||
|
@ -774,6 +795,13 @@ def create_torrent_sum():
|
|||
json_data = json.loads(request.data)
|
||||
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"):
|
||||
image_file_path = image_name
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ info:
|
|||
- **/opt/opengnsys/ogrepository/log/** (aquí se guardan los logs)
|
||||
|
||||
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