Neustart des Dienstes nach der Bereitstellung einer Konfiguration

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
jlabadie
Nachrichten: 3
Registriert: 20. Juli 2018 - 15:56 Uhr

20. Juli 2018 – 16:26 Uhr

Guten Morgen,

Zunächst einige Informationen zur Infrastruktur:

- Installierte WAPT-Version: 1.5
- Server-Betriebssystem: Linux Debian 9 Stretch
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 7
- Ein externer WAPT-Server und zwei zusätzliche lokale Repositories an jedem Standort


Mein Problem:

Ich stelle derzeit meine wapt-get.ini-Konfiguration mithilfe eines Pakets bereit

Code: Alle auswählen

# -*- 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)
Dies funktioniert, wenn ich das Paket auf einem Rechner hinzufüge und ermöglicht es mir, das Haupt-Repository so zu modifizieren, dass zukünftige Pakete aus dem lokalen Repository abgerufen werden.

Nach einigen Tests stellte ich jedoch fest, dass der Dienst neu gestartet werden musste, da andernfalls der Abruf anderer Pakete über das Repository des externen Servers und somit über HTTP erfolgte.
Mit folgendem Befehl kann ich dies überprüfen:

Code: Alle auswählen

wapt-get show "paquet"



Ich habe versucht, dieses kleine Codefragment zu meinem Paket hinzuzufügen:

Code: Alle auswählen

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)


Ich habe den Eindruck, dass mein Dienst neu gestartet wurde, aber ich kann die Pakete aus dem lokalen Repository immer noch nicht abrufen.

Wenn ich den Dienst manuell neu starte, ist das Problem behoben, aber ich kann es mir nicht leisten, jede der 200 Maschinen einzeln aufzusuchen.


Tut mir leid für den etwas langen Beitrag, aber ich habe versucht, die Situation so gut wie möglich zusammenzufassen.

Vielen Dank im Voraus und ein schönes Wochenende!
Zuletzt bearbeitet von jlabadie am 23. Juli 2018 um 08:22 Uhr, 1 Mal bearbeitet.
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

20. Juli 2018 – 16:52 Uhr

Sie können den Dienst bitten, einen Neustart (in der Zukunft) zu planen
Es wird nicht empfohlen, den Dienst während der Installation eines Pakets neu zu starten...


Code: Alle auswählen

import requests
...

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

Ruhige IT
jlabadie
Nachrichten: 3
Registriert: 20. Juli 2018 - 15:56 Uhr

23. Juli 2018 - 09:09 Uhr

Guten Morgen,

Durch das Einfügen dieses Teils Ihres Skripts wird der Dienst zwar neu gestartet, Sie müssen jedoch eine Weile warten, bis der folgende Befehl die korrekte Ausgabe aus dem Repository zurückgibt:

Code: Alle auswählen

 wapt-get show "paquet" 
Das ist zwar normal, aber gäbe es nicht eine bessere Methode, dies beim Erstellen eines Pakets zu tun, das die Datei wapt-get.ini verändert?
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

23. Juli 2018 – 15:48 Uhr

Es könnte etwa so aussehen:
Einige Parameter (hiberboot_enabled, max_gpo_script_wait, pre_shutdown_timeout) werden jedoch nicht gesetzt, da sie beim Start des Dienstes festgelegt werden.

`def install():
....
WAPT.load_config()
WAPT.update(force=True)`
Ruhige IT
jlabadie
Nachrichten: 3
Registriert: 20. Juli 2018 - 15:56 Uhr

24. Juli 2018 - 10:21 Uhr

Okay, danke, ich werde meine Tests fortsetzen
Gesperrt