Reiniciar el servicio después de implementar una configuración

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
jlabadie
Mensajes: 3
Registrado: 20 de julio de 2018 - 15:56

20 de julio de 2018 - 16:26

Buen día,

Para empezar, aquí hay algo de información sobre la infraestructura:

- Versión de WAPT instalada: 1.5
- Sistema operativo del servidor: Linux Debian 9 Stretch
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 7
- Un servidor WAPT externo y dos repositorios locales adicionales en cada sitio


Mi problema:

Actualmente estoy implementando mi configuración wapt-get.ini usando un paquete

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():

    print('Modify max_gpo_script_wait')
    inifile_writestring(WAPT.config_filename,'global','max_gpo_script_wait',180)

    print('Modify Preshutdowntimeout')
    inifile_writestring(WAPT.config_filename,'global','pre_shutdown_timeout',180)

    print('Disable Hyberboot')
    inifile_writestring(WAPT.config_filename,'global','hiberboot_enabled',0)

    print('Disable Notify User')
    inifile_writestring(WAPT.config_filename,'global','notify_user',0)

    print('Verify cert')
    inifile_writestring(WAPT.config_filename,'global','verify_cert',0)

    print('Modify public_certs_dir')
    inifile_writestring(WAPT.config_filename,'global','public_certs_dir','C:\Program Files (x86)\wapt\ssl')

    print('Modify repo_url')
    inifile_writestring(WAPT.config_filename,'global','repo_url','https://repolocal1/wapt')

    print('Create repositories')
    inifile_writestring(WAPT.config_filename,'global','repositories','repo-externe')

    print('Frequence update')
    inifile_writestring(WAPT.config_filename,'global','waptupdate_task_period',300)

    print('Timeout server')
    inifile_writestring(WAPT.config_filename,'global','wapt_server_timeout',300)

    print('Interdire annulation MAJ')
    inifile_writestring(WAPT.config_filename,'global','allow_cancel_upgrade',1)

    print('Enable repositories')
    inifile_writestring(WAPT.config_filename,'repo-externe','repo_url','https://repoexterne/wapt')

    print('Verify cert secondaire')
    inifile_writestring(WAPT.config_filename,'repo-externe','verify_cert',0)
Esto funciona cuando agrego el paquete a una máquina y me permite modificar el repositorio principal para recuperar paquetes futuros del repositorio local.

Sin embargo, después de realizar pruebas, me di cuenta de que era necesario reiniciar el servicio, de lo contrario la recuperación de otros paquetes se realiza en el repositorio del servidor externalizado, por lo tanto, a través de HTTP.
El siguiente comando me permite verificar esto:

Código: Seleccionar todo

wapt-get show "paquet"



Intenté agregar este pequeño fragmento de código a mi paquete:

Código: Seleccionar todo

def service_restart(WAPTService):
    logger.debug(u'Restarting service %s' % WAPTService)
    win32serviceutil.RestartService(WAPTService)
    win32api.Sleep(2000)
    return win32serviceutil.WaitForServiceStatus(WAPTService, win32service.SERVICE_RUNNING, waitSecs=4)


Tengo la impresión de que mi servicio se ha reiniciado pero todavía no estoy recuperando los paquetes en el repositorio local.

Si reinicio manualmente el servicio se soluciona el problema, pero no puedo permitirme ir a cada una de las 200 máquinas.


Perdón por el post tan largo, pero intenté resumir la situación lo mejor que pude.

Gracias de antemano y que tengas un buen fin de semana
Última edición realizada por jlabadie el 23 de julio de 2018 a las 08:22, editado 1 vez.
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

20 de julio de 2018 - 16:52

Puedes pedirle al servicio que programe un reinicio (en el futuro)
No se recomienda reiniciar el servicio mientras se está instalando un paquete...


Código: Seleccionar todo

import requests
...

def install():
    ....
    requests.get('http://127.0.0.1:8088/waptservicerestart.json')

TI tranquila
jlabadie
Mensajes: 3
Registrado: 20 de julio de 2018 - 15:56

23 de julio de 2018 - 09:09

Buen día,

Al incluir esa parte de su script, el servicio se reinicia, pero debe esperar un tiempo para que el siguiente comando devuelva la salida correcta del repositorio:

Código: Seleccionar todo

 wapt-get show "paquet" 
Dicho esto, es normal, pero ¿no hay una mejor manera de hacerlo al crear un paquete que modifica wapt-get.ini?
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

23 de julio de 2018 - 15:48

Podría ser algo así:
pero algunos parámetros no se configurarán (hiberboot_enabled, max_gpo_script_wait, pre_shutdown_timeout) porque se configuran cuando se inicia el servicio.

`def install():
....
WAPT.load_config()
WAPT.update(force=True)`
TI tranquila
jlabadie
Mensajes: 3
Registrado: 20 de julio de 2018 - 15:56

24 de julio de 2018 - 10:21

Bueno gracias, continuaré con mis pruebas
Bloqueado