refs #437 changes documentation to get uuid in the oglive installation
parent
03d56a93ba
commit
36c6f19cf2
|
@ -301,24 +301,35 @@ Para los nuevos flujos de trabajo, asumimos que habrá al menos una nueva tabla
|
|||
|
||||
|
||||
|
||||
### Flujo de Trabajo: `oglive`
|
||||
|
||||
|
||||
### Propuesta de Flujo de Trabajo para `ogLive`
|
||||
### Flujo de trabajo para instalar un `ogLive`
|
||||
|
||||
#### 1. Consultar los `ogLives` Instalados
|
||||
|
||||
- **Descripción**: Obtener la lista de `ogLives` que están actualmente instalados en el sistema.
|
||||
- **Realización**: Puede realizarse directamente desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
- **Interacción en la Web**:
|
||||
- El usuario navega a la sección de `ogLives` en el panel de administración.
|
||||
- Hace clic en "Ver `ogLives` instalados".
|
||||
- El sistema realiza una llamada a la API para obtener la lista de `ogLives` instalados.
|
||||
|
||||
**Realización**: Puede realizarse directamente desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
|
||||
**Consulta SQL**:
|
||||
```sql
|
||||
SELECT * FROM oglives;
|
||||
```
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives`
|
||||
- **Método**: `GET`
|
||||
|
||||
#### 2. Consultar los `ogLives` disponibles para descargar
|
||||
|
||||
- **Descripción**: Obtener una lista de `ogLives` disponibles para descargar desde el servidor.
|
||||
- **Realización**: Necesita comunicación con **`ogBoot`**. Nota: Este proceso requiere de una consulta a Trac que se podría llevar a cabo desde el ogCore.
|
||||
- **Interacción en la Web**:
|
||||
- El usuario selecciona "Descargar nuevos `ogLives`" en la interfaz.
|
||||
- Aparece una lista de `ogLives` disponibles, obtenida mediante una consulta al servidor.
|
||||
|
||||
**Realización**: Necesita comunicación con **`ogBoot`**. Nota: Este proceso requiere de una consulta a Trac (o web) que se podría llevar a cabo desde el ogCore.
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/isos`
|
||||
|
@ -327,61 +338,128 @@ SELECT * FROM oglives;
|
|||
#### 3. Instalar un `ogLive`
|
||||
|
||||
- **Descripción**: Instalar un `ogLive` seleccionado en el sistema.
|
||||
- **Realización**: Requiere comunicación con **`ogBoot`**
|
||||
- **Interacción en la Web**:
|
||||
- El usuario selecciona un `ogLive` de la lista de disponibles y hace clic en "Instalar".
|
||||
- El sistema muestra un cuadro de confirmación, y al confirmar, se inicia el proceso de instalación.
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives`
|
||||
- **Método**: `POST`
|
||||
- **Cuerpo de la Solicitud**:
|
||||
```json
|
||||
{
|
||||
"isoname": "ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso"
|
||||
}
|
||||
```
|
||||
**Realización**: Requiere comunicación con **`ogBoot`** para iniciar la instalación. Primero, se construye el JSON con los parámetros necesarios. La inserción en la base de datos `ogCore` solo se realiza después de que la instalación en `ogBoot` sea confirmada como exitosa.
|
||||
|
||||
- **Proceso de Instalación**:
|
||||
1. **Generación de JSON**: `ogCore` genera un JSON con los detalles del `ogLive`, incluyendo un UUID temporal.
|
||||
2. **Solicitud de Instalación**:
|
||||
- **Endpoint**: `/ogboot/v1/oglives`
|
||||
- **Método**: `POST`
|
||||
- **Cuerpo de la Solicitud**:
|
||||
```json
|
||||
{
|
||||
"uuid": "550e8400-e29b-41d4-a716-446655440000",
|
||||
"directory": "ogLive-5.11.0-r20210413",
|
||||
"distribution": "focal",
|
||||
"kernel": "5.11.0-22-generic",
|
||||
"architecture": "amd64",
|
||||
"revision": "r20210413",
|
||||
"iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
|
||||
}
|
||||
```
|
||||
3. **Validación de Instalación**: `ogBoot` intenta instalar el `ogLive` y devuelve un estado de éxito o fallo.
|
||||
4. **Actualización de Base de Datos**:
|
||||
- **Instalación Exitosa**: Si `ogBoot` confirma el éxito, `ogCore` inserta el nuevo `ogLive` en la base de datos:
|
||||
```sql
|
||||
INSERT INTO oglives (uuid, distribution, kernel, architecture, revision, directory, iso, is_default)
|
||||
VALUES ('550e8400-e29b-41d4-a716-446655440000', 'focal', '5.11.0-22-generic', 'amd64', 'r20210413', 'ogLive-5.11.0-r20210413', 'ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso', false);
|
||||
```
|
||||
- **Instalación Fallida**: Si `ogBoot` reporta un fallo, no se realiza ninguna inserción y se maneja el error adecuadamente en la interfaz de usuario.
|
||||
|
||||
#### 4. Revisar un `ogLive` Instalado
|
||||
|
||||
- **Descripción**: Obtener detalles sobre un `ogLive` específico que está instalado.
|
||||
- **Realización**: Puede realizarse desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
- **Interacción en la Web**:
|
||||
- El usuario selecciona un `ogLive` de la lista de instalados para ver detalles.
|
||||
- Se muestra la información detallada del `ogLive` seleccionado.
|
||||
|
||||
**Realización**: Puede realizarse desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
|
||||
**Consulta SQL**:
|
||||
```sql
|
||||
SELECT * FROM oglives WHERE directory = 'ogLive-5.13.0-r20210706';
|
||||
```
|
||||
|
||||
#### 5. Ver el `ogLive` por Defecto
|
||||
|
||||
- **Descripción**: Obtener el `ogLive` que está configurado como predeterminado.
|
||||
- **Realización**: Puede realizarse desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
### Flujo de trabajo para cambiar el `oglive` por defecto
|
||||
|
||||
#### 1. Consultar los `ogLives` Instalados
|
||||
|
||||
- **Descripción**: Obtener la lista de `ogLives` que están actualmente instalados en el sistema.
|
||||
- **Interacción en la Web**:
|
||||
- El usuario navega a la sección de `ogLives` en el panel de administración.
|
||||
- Hace clic en "Ver `ogLives` instalados".
|
||||
- El sistema realiza una llamada a la API para obtener la lista de `ogLives` instalados.
|
||||
|
||||
**Realización**: Puede realizarse directamente desde **`ogCore`** mediante una consulta a la base de datos `oglives`. Lo ideal sería hacerlo hacia **`ogBoot`** ya que tiene la fuente de información fidedigna del estado de los `ogLives` en el componente.
|
||||
|
||||
**Consulta SQL**:
|
||||
```sql
|
||||
SELECT * FROM oglives WHERE is_default = true;
|
||||
SELECT * FROM oglives;
|
||||
```
|
||||
|
||||
#### 6. Asignar `ogLive` por Defecto
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives`
|
||||
- **Método**: `GET`
|
||||
|
||||
#### 2. Ver el `ogLive` por Defecto
|
||||
|
||||
- **Descripción**: Obtener el `ogLive` que está configurado como predeterminado.
|
||||
- **Interacción en la Web**:
|
||||
- El usuario navega a la sección de configuración de `ogLives` en el panel de administración.
|
||||
- Hace clic en en el `ogLive` que está marcado por defecto.
|
||||
- El sistema realiza una consulta a la base de datos para obtener el `ogLive` predeterminado.
|
||||
|
||||
**Realización**: Puede realizarse desde **`ogCore`** mediante una consulta a la base de datos `oglives`.
|
||||
|
||||
**Consulta SQL**:
|
||||
```sql
|
||||
SELECT * FROM oglives WHERE directory = 'ogLive-5.13.0-r20210706';
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 3. Asignar `ogLive` por Defecto
|
||||
|
||||
- **Descripción**: Configurar un `ogLive` instalado como el predeterminado.
|
||||
- **Realización**: Requiere comunicación con **`ogBoot`** para modificar el oglive por defecto en el tftpboot del **`ogBoot`**
|
||||
- **Interacción en la Web**:
|
||||
- El usuario selecciona un `ogLive` de la lista de instalados.
|
||||
- Hace clic en "Configurar como `ogLive` por defecto".
|
||||
- Tras la confirmación, el sistema envía una solicitud para actualizar el `ogLive` por defecto.
|
||||
- El sistema actualiza la base de datos y comunica el cambio a `ogBoot`.
|
||||
|
||||
**Realización**: Requiere comunicación con **`ogBoot`** para modificar el `ogLive` por defecto en el TFTP boot del **`ogBoot`**.
|
||||
|
||||
**Consulta SQL**:
|
||||
```sql
|
||||
SELECT * FROM oglives WHERE directory = 'ogLive-5.13.0-r20210706';
|
||||
```
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives/default`
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives/default/550e8400-e29b-41d4-a716-446655440000`
|
||||
- **Método**: `POST`
|
||||
- **Cuerpo de la Solicitud**:
|
||||
```json
|
||||
{
|
||||
"name": "ogLive-5.13.0-r20210706"
|
||||
}
|
||||
|
||||
**Actualizar Base de Datos**:
|
||||
- Tras la actualización en `ogBoot`, se debe actualizar la base de datos para reflejar el nuevo `ogLive` por defecto:
|
||||
```sql
|
||||
UPDATE oglives SET is_default = false WHERE is_default = true;
|
||||
UPDATE oglives SET is_default = true WHERE uuid = '550e8400-e29b-41d4-a716-446655440000';
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
#### 7. Desinstalar un `ogLive`
|
||||
|
||||
- **Descripción**: Eliminar un `ogLive` instalado del sistema.
|
||||
- **Realización**: Requiere comunicación con **`ogBoot`**
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives/uninstall`
|
||||
- **`ogBoot`**: `/ogboot/v1/oglives/uninstall/550e8400-e29b-41d4-a716-446655440000`
|
||||
- **Método**: `DELETE`
|
||||
- **Cuerpo de la Solicitud**:
|
||||
```json
|
||||
|
@ -397,7 +475,7 @@ SELECT * FROM oglives WHERE is_default = true;
|
|||
- **Realización**: Requiere comunicación con **`ogBoot`** para obtener el estado actual de los `ogLives` instalados, el `ogLive` por defecto, y las plantillas de arranque (`pxes`). Luego, `ogCore` compara estos datos con su base de datos y devuelve un informe de discrepancias.
|
||||
|
||||
**Endpoint**:
|
||||
- **`ogBoot`**: `/ogboot/v1/status`
|
||||
- **`ogBoot`**: `/ogboot/v1/oglive/status`
|
||||
- **Método**: `GET`
|
||||
- **Resultado de la Solicitud**:
|
||||
```json
|
||||
|
|
Loading…
Reference in New Issue