Bonjour Jordi,

Merci pour ce travail.
Nous regardons ce qui peut être fait pour améliorer les choses.

Voir ci-dessous pour une première revue.

Hubert

Le 24/08/2018 à 14:52, MORILLO Jordi a écrit :

Bonjour tous,

 

Ayant pratiquement terminé ma migration 1.3 et 1.5, je souhaitais faire remonter les bugs suivants à l’équipe Wapt :

 

1.       Bug de la double installation du package waptupgrade

 

Le package waptupgrade check de manière erronée la version actuellement installée et dans certains cas, réinstalle l’agent alors que ce n’est pas nécessaire.

Tous les infos pourront être trouvées dans le thread suivant : https://lists.tranquil.it/pipermail/wapt/2018-August/002888.html ainsi que ses réponses apportées (avec un patch tout crappy dans mon dernier post)

C'est bizarre car dans setup.py, on splitte déjà sur le tiret :

    # get upgrade package informations
    (package_wapt_version,package_packaging) = control.version.split('-')
    package_packaging = int(package_packaging)

    if Version(installed_wapt_version,3) > Version(package_wapt_version,3):
        print('Your current wapt (%s) is more recent than the upgrade package (%s). Skipping...'%(installed_wapt_version,control.version))

Par contre, effectivement il y a réinstallation si les 3 premiers membres de la version sont identiques.
je serais favorable à faire le test sur 4 membres avec >= :
    if Version(installed_wapt_version,4) >= Version(package_wapt_version,4):
        print('Your current wapt (%s) is same or more recent than the upgrade package (%s). Skipping...'%(installed_wapt_version,control.version))

 

 

2.       Bug de Lock ?? du fichier waptagent.exe lorsqu’il est hébergé sur un chemin UNC (sysvol)

 

Lors de mes nombreux essaie de déploiement, j’ai tenté d’utiliser pendant un temps un script .bat qui avait pour paramètre --waptsetupurl=\\pr.educationetformation.fr\sysvol\pr.educationetformation.fr\Wapt\waptagent.exe

Si je lance à la main mon script sur une 1ere machine d’un site, tout se passe bien :

WAPT version: 1.3.13.0

WAPT required version: 1.5.1.26

Wapt agent local path: \\pr.educationetformation.fr\sysvol\pr.educationetformati

on.fr\Wapt\waptagent.exe

SHA256 hash of downloaded setup file: 92f9[…]

OK : Hash of waptagent match expected hash.

Got version: 1.5.1.26

Install ...

 

Si je lance en parallèle mon script sur une 2eme machine du même site (donc qui utilisera le même partage sysvol du même DC) :

WAPT version: 1.3.13.0-1496

WAPT required version: 1.5.1.26

Wapt agent local path: \\pr.educationetformation.fr\sysvol\pr.educationetformation.fr\Wapt\waptagent.exe

Cleanup...

An unhandled exception occurred at $00416608:

EFOpenError: Unable to open file "\\pr.educationetformation.fr\sysvol\pr.educationetformation.fr\Wapt\waptagent.exe"

  $00416608

  $004164B0

  $00440216

  $004047C9

 

Dès que la 1ere machine a finie, et donc, a probablement libéré un LOCK sur le waptagent.exe, le script veut bien s’exécuter sur la 2eme machine.

J’ai donc changé mon fusil d’épaule et j’ai spécifié un chemin https pour mon waptagent

Je n’ai malheureusement pas eu le temps de me pencher + sur ce problème

ça doit dépendre des options de locks sur le partage windows.
est-ce que ton partage est fait par un Windows ou un Samba ?


 

3.       Bug sur la console du récapitulatif lors d’un upgrade

 

Sur la console, si je sélectionne un poste Reachable et que je clique sur « Vérification des mises à jour », j’ai un message : « 1 actions launched, 0 errors, 0 skipped, 0 server errors ». Pas de problème

Ensuite, je vérifie que le poste à bien terminé cette tâche, et en rafraichissant la console je vois qu’il y a des MAJ en attente.

A ce moment, si je sélectionne le poste et que je clique sur « Lancer les installations », très souvent (80% du temps), le message affiché est : « 0 actions launched, 0 errors, 0 skipped, 0 server errors ».

Pourtant, l’action upgrade est bien lancée et le poste se mets à jour….

Je crois savoir d'où ciendrait ce problème. Si on lance Verification des mises à jour, les services Wapt des clients vont être occupés à récupérer l'index et vont réagir plus lentement pour prendre en compte la demande suivante (Lancer les installations).
Le mécanisme des websockets est naturellement asynchrone. Donc l'acquittement que la commande a été prose en compte est un message envoyé par le client vers le serveur. Le serveur attend ce message d'acquittement peu de temps mais cela n'empêche pas l'action d'avoir été prise en compte.
Entre l'envoi de la commande vers le client et le retour d'acquittement du client vers le serveur, le serveur positionne l'état de la machine avec la petite horloge, pour indiquer l'attente de l'acquittement.

 

4.       Bug du wapt-get qui interroge tous les dépots

 

        Ma topologie réseau est la suivante : le siège est en 10.1.0.0/16 et mes sites distants sont en 10.[2-20].0.0/16.

        Le serveur Wapt est en 10.1.4.80 (au siège) et tous les sites distants ont un dépôt en 10.X.76.203

        Mes clients sont configurés avec :

wapt_server=

repo_url=

dnsdomain=educationetformation.fr

 

                Etrangement, mes clients après avoir fait l’interrogation DNS, interrogent partiellement chacun des dépôts distants.

Il en résulte non seulement une surcharge inutile du réseau mais aussi et surtout une certaine latence vu que de nombreux dépôts distants ont de petite liaison adsl.

                En pièces jointes, un exemple d’un wapt-get update –ldebug d’un poste situé au Siège (et donc qui devrait joindre directement et sans fioriture le serveur). J’ai également mis en capture d’écran la configuration DNS.

Cela peut être considéré comme une régression... si un serveur / dépôt est dispo dans le même sous-réseau, il udrait éviter le scan des autres serveurs / dépôts trouvés dans la requête DNS.
Le but initial était d'utiliser le temps d'interrogation (requête HEAD) de la date de Packages pour utiliser le dépôt disponible le plus réactif. Mais c'est dans ce cas une mauvaise idée.
Nous avons dans la roadmap une feature qui vise à décrire explicitement dans la console pour chaque sous-réseau quels sont le serveurs / dépots à utiliser (à la manière des sites de l'Active Directory).
Une autre évolution serait nécessaire. Actuellement, dans la base locale du client Wapt, chaque paquet a une seule URL de téléchargement, issue de la commande Update et du test au moment de l'update des dépôts disponibles.
Il faudrait ne tester la disponibilité et calculer l'ordre de préférence parmi les dépots qu'au moment du téléchargement.

               

5.       Wapt-get forget non documenté sur wapt-get –help

 

J’ai découvert une commande « cachée » : wapt-get forget « nom du package » J

Ça serait cool un petit rajout dans wapt-get –help :

https://github.com/tranquilit/WAPT/blob/master/wapt-get.py

70a71

>   forget <package>  : forget installed packages

 

Ajouté. Merci.

 

Par ailleurs, pour aider les autres utilisateurs, voici une liste des bugs « obscures » coté poste client que j’ai pu rencontrer :

-          Installation wapt 1.5 OK mais ensuite « pendule » permanente dans le champ « Reachable » -> Horloge pas à l’heure sur le poste client (sinon modifier le paramètre signature_clockskew sur le serveur)

Voir point 4.

-          GPO Startup qui ne s’applique pas + gpresult Acces Denied -> + de 259 caractères dans le paramètre de la commande

Demande spécifique à MS ;-)

-          Et la dernière petite pépite pour la fin, un waptpython waptservice\waptservice –ldebug en tant que user System m’a ressurgir un vieux proxy oublié (et inactif) UNIQUEMENT sur le compte System !

Le paramétrage du proxy du compte system se trouve ici : HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections … On en retrouve des belles parfois….

Lié aussi à un bug dans la librairie client websocket python, qui utilise le proxy défini dans la base de registre même si on ne lui demande pas...

 

-          Pour faire du debug d’une seule machine coté serveur : dans le fichier /etc/nginx/nginx.conf, dans la section events il faut rajouter l’ip a debug :

events {

worker_connections 768;

debug_connection 192.168.1.45;

}

 

Bonne fin de vacances et bonne reprise à tous.

Et longue vie à Wapt, encore un grand merci à toute la TranquilIt Team

Merci aux contributeurs.

Bien cordialement

 


_______________________________________________
WAPT mailing list
WAPT@lists.tranquil.it
http://lists.tranquil.it/listinfo/wapt