refs #1681 - Add ogGit install status
parent
f5cf0ce0ec
commit
d1501e7b02
|
@ -79,7 +79,7 @@ El presente documento detalla los endpoints de la API, con sus respectivos pará
|
|||
---
|
||||
### Obtener Información de Estado de ogRepository
|
||||
|
||||
Se devolverá informacion de CPU, memoria RAM, disco duro y el estado de ciertos servicios y procesos de ogRepository, en formato JSON.
|
||||
Se devolverá informacion de CPU, memoria RAM, disco duro, el estado de ciertos servicios y procesos de ogRepository, y el estado de instalación de ogGit, en formato JSON.
|
||||
Se puede utilizar el script "**getRepoStatus.py**, que debe ser llamado por el endpoint.
|
||||
**NOTA**: En los apartados "services" y "processes" he especificado los servicios y procesos que me han parecido interesantes, pero se puede añadir o eliminar los que se desee.
|
||||
|
||||
|
@ -98,6 +98,9 @@ curl -X GET -H "Authorization: $API_KEY" http://example.com/ogrepository/v1/stat
|
|||
- **Contenido:** Información de estado en formato JSON.
|
||||
```json
|
||||
{
|
||||
"oggit": {
|
||||
"installed": "True"
|
||||
},
|
||||
"cpu": {
|
||||
"used_percentage": "35%"
|
||||
},
|
||||
|
|
|
@ -33,7 +33,7 @@ El presente documento detalla los endpoints de la API, con sus respectivos pará
|
|||
---
|
||||
### Obtener Información de Estado de ogRepository
|
||||
|
||||
Se devolverá informacion de CPU, memoria RAM, disco duro y el estado de ciertos servicios y procesos de ogRepository, en formato JSON.
|
||||
Se devolverá informacion de CPU, memoria RAM, disco duro, el estado de ciertos servicios y procesos de ogRepository, y el estado de instalación de ogGit, en formato JSON.
|
||||
Se puede utilizar el script "**getRepoStatus.py**, que debe ser llamado por el endpoint.
|
||||
**NOTA**: En los apartados "services" y "processes" he especificado los servicios y procesos que me han parecido interesantes, pero se puede añadir o eliminar los que se desee.
|
||||
|
||||
|
@ -52,6 +52,9 @@ curl -X GET -H "Authorization: $API_KEY" http://example.com/ogrepository/v1/stat
|
|||
- **Contenido:** Información de estado en formato JSON.
|
||||
```json
|
||||
{
|
||||
"oggit": {
|
||||
"installed": "True"
|
||||
},
|
||||
"cpu": {
|
||||
"used_percentage": "35%"
|
||||
},
|
||||
|
|
|
@ -29,7 +29,7 @@ paths:
|
|||
summary: "Obtener Información de Estado de ogRepository"
|
||||
description: >
|
||||
Este endpoint ejecuta el script "**getRepoStatus.py**" y devuelve su salida en formato JSON,
|
||||
incluyendo información sobre la CPU, memoria RAM, disco duro, servicios, y procesos específicos de ogRepository.
|
||||
incluyendo información sobre la CPU, memoria RAM, disco duro, servicios, y procesos específicos de ogRepository, e instalación de ogGit.
|
||||
tags:
|
||||
- "Estado de ogRepository"
|
||||
responses:
|
||||
|
@ -44,6 +44,12 @@ paths:
|
|||
output:
|
||||
type: object
|
||||
properties:
|
||||
oggit:
|
||||
type: object
|
||||
properties:
|
||||
installed:
|
||||
type: string
|
||||
example: "True"
|
||||
cpu:
|
||||
type: object
|
||||
properties:
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
"""
|
||||
Este script devuelve información de CPU, memoria RAM, disco duro y el estado de ciertos servicios y procesos de ogRepository, en formato json.
|
||||
También comprueba si ogGit está instalado en el repositorio, y devuelve dicha información.
|
||||
No recibe ningún parámetro.
|
||||
|
||||
Librerías Python requeridas: "psutil" (se puede instalar con "sudo apt install python3-psutil". o "pip install psutil")
|
||||
|
@ -18,11 +19,29 @@ import json
|
|||
import subprocess
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# VARIABLES
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
config_file = '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# FUNCTIONS
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
def get_oggit_info():
|
||||
""" Obtiene el valor asociado a la variable "oggit", desde el archivo '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'.
|
||||
Retorna el valor asociado capitalizado ("True" o "False").
|
||||
"""
|
||||
with open(config_file, 'r') as file:
|
||||
for line in file:
|
||||
if line.startswith('oggit'):
|
||||
oggit_info = line.split('=')[1].strip()
|
||||
return oggit_info.capitalize()
|
||||
|
||||
|
||||
def get_cpu_info():
|
||||
""" Obtiene y retorna información de la CPU.
|
||||
"""
|
||||
|
@ -74,6 +93,9 @@ def get_process_status(process):
|
|||
def main():
|
||||
"""
|
||||
"""
|
||||
# Comprobamos si ogGit está instalado en el repositorio o no:
|
||||
oggit_installed = get_oggit_info()
|
||||
|
||||
# Obtenemos información de la CPU:
|
||||
cpu_percent = get_cpu_info()
|
||||
|
||||
|
@ -93,6 +115,9 @@ def main():
|
|||
|
||||
# Creamos un diccionario con toda la información obtenida:
|
||||
data_dict = {
|
||||
'oggit': {
|
||||
'installed': oggit_installed
|
||||
},
|
||||
'cpu': {
|
||||
'used_percentage': f"{int(cpu_percent)}%"
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue