Riavvio del servizio dopo aver distribuito una configurazione

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
jlabadie
Messaggi: 3
Registrato: 20 luglio 2018 - 15:56

20 luglio 2018 - 16:26

Buongiorno,

Per iniziare, ecco alcune informazioni riguardanti l'infrastruttura:

- Versione WAPT installata: 1.5
- Sistema operativo del server: Linux Debian 9 Stretch
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 7
- Un server WAPT esterno e due repository locali aggiuntivi in ​​ogni sito


Il mio problema:

Attualmente sto distribuendo la mia configurazione wapt-get.ini utilizzando un pacchetto

Codice: Seleziona tutto

# -*- 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)
Funziona quando aggiungo il pacchetto a una macchina e mi consente di modificare il repository principale per recuperare i pacchetti futuri dal repository locale.

Tuttavia, dopo aver effettuato dei test, mi sono reso conto che era necessario riavviare il servizio, altrimenti il ​​recupero degli altri pacchetti avviene sul repository del server esternalizzato, quindi tramite HTTP.
Il seguente comando mi permette di verificarlo:

Codice: Seleziona tutto

wapt-get show "paquet"



Ho provato ad aggiungere questo piccolo pezzo di codice al mio pacchetto:

Codice: Seleziona tutto

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)


Ho l'impressione che il mio servizio sia stato riavviato, ma non riesco ancora a recuperare i pacchetti nel repository locale.

Se riavvio manualmente il servizio il problema è risolto, ma non posso permettermi di accedere a ciascuna delle 200 macchine.


Mi scuso per il post un po' lungo, ma ho cercato di riassumere la situazione nel miglior modo possibile.

Grazie in anticipo e buon fine settimana
Ultima modifica di jlabadie il 23 luglio 2018 alle 08:22, modificato 1 volta.
Avatar utente
htouvet
Esperto WAPT
Messaggi: 436
Registrazione: 16 marzo 2015 - 10:48
Contatto:

20 luglio 2018 - 16:52

Puoi chiedere al servizio di programmare un riavvio (in futuro)
Non è consigliabile riavviare il servizio durante l'installazione di un pacchetto...


Codice: Seleziona tutto

import requests
...

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

Tranquillo IT
jlabadie
Messaggi: 3
Registrato: 20 luglio 2018 - 15:56

23 luglio 2018 - 09:09

Buongiorno,

Includendo questa parte dello script, il servizio viene effettivamente riavviato, ma è necessario attendere un po' affinché il seguente comando restituisca l'output corretto dal repository:

Codice: Seleziona tutto

 wapt-get show "paquet" 
Detto questo, è normale, ma non esiste un modo migliore per farlo quando si crea un pacchetto che modifica wapt-get.ini?
Avatar utente
htouvet
Esperto WAPT
Messaggi: 436
Registrazione: 16 marzo 2015 - 10:48
Contatto:

23 luglio 2018 - 15:48

Potrebbe essere qualcosa del genere:
ma alcuni parametri non saranno impostati (hiberboot_enabled, max_gpo_script_wait, pre_shutdown_timeout) perché vengono impostati all'avvio del servizio.

`def install():
....
WAPT.load_config()
WAPT.update(force=True)`
Tranquillo IT
jlabadie
Messaggi: 3
Registrato: 20 luglio 2018 - 15:56

24 luglio 2018 - 10:21

Ok, grazie, continuerò i miei test
Bloccato