Seite 1 von 1

.pem-Datei verloren gegangen und diverse andere Probleme

Veröffentlicht: 5. Mai 2015 - 10:03 Uhr
von Alan
Guten Morgen,

Ich habe WAPT auf meinen 700 Rechnern installiert und alles funktionierte, bis meine .pem-Datei verloren ging (Festplattenabsturz und ich hatte vergessen, ein Backup zu erstellen) :? ).

Meine erste Idee war also, eine Workstation mit der Konsole neu zu installieren, ein neues Schlüsselpaar zu generieren und damit einen neuen Agenten zu erstellen, den ich dann anstelle des alten einsetzen würde.

Aber als Folge davon sehe ich in meiner Konsole immer noch alle alten Clients, die ich absolut nicht kontrollieren oder löschen kann.

Als ich eine Workstation formatierte und versuchte, den Client manuell über waptdeploy neu zu installieren, erhielt ich folgende Fehlermeldung:
Bild

Und wenn der Agent manuell installiert wird, erscheint er nicht in der Konsole (es wird immer noch der alte Client mit dem gleichen Namen und dem neuesten April-Update angezeigt).
Der Befehl wapt-get register gibt Folgendes zurück:

Code: Alle auswählen

2015-05-05 10:14:50,631 CRITICAL Unable to delete param uuid
FATAL ERROR : OperationalError: attempt to write a readonly database
Und so erhalte ich in der Konsole immer die Meldung: HTTP/1.1 404 NOT FOUND, wenn ich versuche, auf einem Client einzugreifen.

Ich gebe zu, dass ich völlig ratlos bin und keine Ahnung habe, wie ich da wieder herauskommen soll... Ist das noch zu retten?

Dank im Voraus.

Meine Versionen:
WAPT-Serverversion: 1.2.3
WAPT-Agent-Version: 1.1.1
WAPT-Setup-Version: 1.1.1
WAPT Deploy Version: 1.2.3.0

Betreff: Verlorene .pem-Datei und diverse Probleme

Veröffentlicht: 6. Mai 2015 - 18:10 Uhr
von htouvet
1. Bezüglich des Versionsproblems von waptdeploy: Offenbar haben waptsetup.exe und waptagent.exe Version 1.1.
Falls es sich um einen Linux-Server handelt, installieren Sie das Paket tis-waptsetup über die Konsole.
Überprüfen Sie auf dem Administrationsrechner, ob Sie wie auf dem Server Version 1.2.3 verwenden. Falls nicht, installieren Sie Version 1.2.3 von http://wapt.tranquil.it/wapt/waptsetup.exe.

Kompilieren Sie den Wapt-Agenten über die Konsole neu, sodass der Server über Waptagent Version 1.2.3 mit dem korrekten öffentlichen Schlüssel verfügt.
Waptdeploy sollte dann funktionieren.

2. Sie müssen alle Pakete und alle Client-Konfigurationen (die ebenfalls Pakete sind) neu signieren.

Um ein Paket neu zu signieren (nachdem Sie Ihre wapt-get.ini korrekt mit dem neuen privaten Schlüssel konfiguriert haben), führen Sie
für jedes Paket folgende Befehle aus:
`wapt-get edit Paketname` und
`wapt-get -i build-upload c:\waptdev\wapt-Paketname`.

Um die Maschinen zu kündigen:
Öffnen Sie die Maschine in der Konsole und speichern Sie die Maschinenkonfiguration.

Es gibt eine elegantere Methode mithilfe eines Python-Skripts... (siehe https://github.com/tranquilit/WAPT/blob ... l_hosts.py )

Betreff: Verlorene .pem-Datei und diverse Probleme

Veröffentlicht: 7. Mai 2015 - 10:16 Uhr
von Alan
Vielen Dank für das Feedback.

Ich habe tatsächlich Version 1.2.3 von waptsetup von Ihrer Website heruntergeladen.

Allerdings ist mir nicht ganz klar, wie ich die Workstations neu signieren kann. Wie speichere ich die Änderungen?

Und schließlich: Wenn ich „die Maschine und ihr Konfigurationspaket“ in der Konsole lösche, ist diese Aktion endgültig oder wird die Maschine beim nächsten Verbindungsaufbau wieder angezeigt?

Vielen Dank im Voraus.

Betreff: Verlorene .pem-Datei und diverse Probleme

Veröffentlicht: 7. Mai 2015 - 12:23 Uhr
von htouvet
Zum Neusignieren von Maschinenpaketen gibt es als Bonus ein kleines Skript... das auch zeigt, wie man mit einem wapt-Client skriptet. ;)

auf dem Verwaltungsrechner (mit dem privaten Signaturschlüssel private_key, der in c:\apt\apt-get.ini eingetragen ist)
Erstelle die Python-Datei:
c:\wapt\resign.py

Code: Alle auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import tempfile
import shutil
from setuphelpers import *
from common import *

class TempDir():
    def __init__(self):
        self.path = None

    def __enter__(self):
        self.path = tempfile.mkdtemp()
        return self.path

    def __exit__(self, exc, value, tb):
        if os.path.isdir(self.path):
            shutil.rmtree(self.path)

wapt = Wapt()

# un object qui represente le depot des paquets machine
hosts = WaptRepo('hosts',wapt.repositories[0].repo_url+'-host')
hosts.load_packages()

# mot de passe du serveur wapt pour uploader les paquets
password = 'xxxx'

for p in hosts.packages:
    with TempDir() as tmpdir:
        try:
            print('resignature de %s dans %s'%(p.package,tmpdir))
            if p.section == 'host':
                res = wapt.edit_host(p.package,use_local_sources=False,target_directory=tmpdir)
            else:
                res = wapt.edit_package(p.package,use_local_sources=False,target_directory=tmpdir)
            wapt.build_upload(res['source_dir'],
                wapt_server_user='admin',
                wapt_server_passwd=password,
                inc_package_release=True)
        except Exception as e:
            print('Erreur pour %s: %s'%(p.package,e))

zum Starten mit:
c:\wapt\waptpython c:\wapt\resign.py

Betreff: Verlorene .pem-Datei und diverse Probleme

Veröffentlicht: 7. Mai 2015 - 15:00 Uhr
von htouvet
Wenn Sie die Maschine löschen, wird sie aus dem Inventar entfernt. Existiert die Maschine jedoch physisch noch und ist WAPT mit dem Server verbunden, registriert sie sich bei der nächsten Kommunikation neu. Existiert ein Paket mit ihrem Namen, das noch nicht installiert ist, wird es beim nächsten Upgrade installiert.

Löschen Sie die Maschine und ihr Konfigurationspaket, werden neben den Inventarinformationen auch das zugehörige Paket (gespeichert im Repository http://mywaptserver.mydomain/wapt-h ... maine.wapt ) gelöscht.

Es gibt zwei unterschiedliche Dinge:
– Die Inventar-/Bereitstellungsstatusinformationen, die der WAPT-Agent auf dem Client-Rechner nach jedem Update an den Server sendet. Dies geschieht nur, wenn in der Datei wapt-get.ini die Zeile „wapt_server="“ vorhanden ist.
– Das Maschinenpaket, das der WAPT-Agent auf dem Client-Rechner bei jedem Update aus dem Repository abruft (er verwendet den Paketnamen als FQDN), um zu wissen, was installiert werden soll. Dies geschieht nur, wenn "use_hostpackages=1" in wapt-get.ini angegeben ist.