refs #1681 - Add ogGit install status #25
|
@ -79,7 +79,7 @@ El presente documento detalla los endpoints de la API, con sus respectivos pará
|
||||||
---
|
---
|
||||||
### Obtener Información de Estado de ogRepository
|
### 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.
|
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.
|
**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.
|
- **Contenido:** Información de estado en formato JSON.
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
"oggit": {
|
||||||
|
"installed": "True"
|
||||||
|
},
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"used_percentage": "35%"
|
"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
|
### 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.
|
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.
|
**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.
|
- **Contenido:** Información de estado en formato JSON.
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
"oggit": {
|
||||||
|
"installed": "True"
|
||||||
|
},
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"used_percentage": "35%"
|
"used_percentage": "35%"
|
||||||
},
|
},
|
||||||
|
|
|
@ -29,7 +29,7 @@ paths:
|
||||||
summary: "Obtener Información de Estado de ogRepository"
|
summary: "Obtener Información de Estado de ogRepository"
|
||||||
description: >
|
description: >
|
||||||
Este endpoint ejecuta el script "**getRepoStatus.py**" y devuelve su salida en formato JSON,
|
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:
|
tags:
|
||||||
- "Estado de ogRepository"
|
- "Estado de ogRepository"
|
||||||
responses:
|
responses:
|
||||||
|
@ -44,6 +44,12 @@ paths:
|
||||||
output:
|
output:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
oggit:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
installed:
|
||||||
|
type: string
|
||||||
|
example: "True"
|
||||||
cpu:
|
cpu:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
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.
|
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.
|
No recibe ningún parámetro.
|
||||||
|
|
||||||
Librerías Python requeridas: "psutil" (se puede instalar con "sudo apt install python3-psutil". o "pip install psutil")
|
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
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------------------------
|
||||||
|
# VARIABLES
|
||||||
|
# --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
config_file = '/opt/opengnsys/ogrepository/etc/ogAdmRepo.cfg'
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
# FUNCTIONS
|
# 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():
|
def get_cpu_info():
|
||||||
""" Obtiene y retorna información de la CPU.
|
""" Obtiene y retorna información de la CPU.
|
||||||
"""
|
"""
|
||||||
|
@ -74,6 +93,9 @@ def get_process_status(process):
|
||||||
def main():
|
def main():
|
||||||
"""
|
"""
|
||||||
"""
|
"""
|
||||||
|
# Comprobamos si ogGit está instalado en el repositorio o no:
|
||||||
|
oggit_installed = get_oggit_info()
|
||||||
|
|
||||||
# Obtenemos información de la CPU:
|
# Obtenemos información de la CPU:
|
||||||
cpu_percent = get_cpu_info()
|
cpu_percent = get_cpu_info()
|
||||||
|
|
||||||
|
@ -93,6 +115,9 @@ def main():
|
||||||
|
|
||||||
# Creamos un diccionario con toda la información obtenida:
|
# Creamos un diccionario con toda la información obtenida:
|
||||||
data_dict = {
|
data_dict = {
|
||||||
|
'oggit': {
|
||||||
|
'installed': oggit_installed
|
||||||
|
},
|
||||||
'cpu': {
|
'cpu': {
|
||||||
'used_percentage': f"{int(cpu_percent)}%"
|
'used_percentage': f"{int(cpu_percent)}%"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue