OCS - Déploiement d’une application avec OCS Inventory NG

Vous allez déployez sur un client windows l'utilitaire putty dans le répertoire c:\logiciels\Putty\.

Putty est un utilitaire qui permet d’ouvrir une session Telnet ou SSH sur un serveur distant, c’est-à-dire un session de terminal. Ce logiciel correspond à un seul fichier putty.exe.
L'outil de déploiement de la barre d'outil est .

Vous allez utiliser les sous-menu Création et Activation.

Création du paquet à déployer

Télécharger l’utilitaire putty.exe à partir du partage Progs\Réseaux\Putty.

Putty est téléchargeable sur Internet à l’adresse du site http://www.putty.org/.

Compressez le logiciel Putty au format ZIP avec un utilitaire comme Winzip ou 7-ZIP.

créez un dossier c:\logiciels\Putty\ s'il n'existe pas encore

A partir du module Teledeploiement, choisissez Création et complétez les champs en précisant le dossier ou vous avez l’utilitaire putty.exe ainsi que le dossier de destination c:\logiciels\Putty\ :

If faut préciser :

Le nom du paquet à déployer auquel sera associé un identifiant unique dans la base de données.

Le système : Il est possible de déployer des paquets sur Windows ou sur Linux. Dans notre exemple il s’agit d’un client Windows.

Le protocole utilisé pour le transfert des données est HTTP.

La priorité permet de définir quels paquets doivent être installés avant d'autres. Garder la valeur par défaut c'est-à-dire 5.

Le fichier compressé en ZIP pour l'agent Windows (en TAR.GZ pour les clients Linux). Vous avez donc à préparer cette archive compressée.

Après un clic sur le bouton de commande Envoyer, la page suivante doit s'afficher :

Fragmenter un paquet permet de :

télécharger chaque fragment individuellement et autoriser la reprise sur incident lors d'un gros paquet à télécharger (seul le fragment perdu sera téléchargé à nouveau)

ne pas saturer le réseau

Mais en contrepartie, s'il y a beaucoup de fragments, le téléchargement peut être long selon les réglages (priorité et paramètres du serveur).

En effet, Le télé-déploiement se déroule par période composée de cycles (variable DOWNLOAD_PERIOD_LENGTH à 10 par défaut). A chaque début de cycle, un calcul va être effectué : numero de cycle modulo priorité du paquet.

Si le résultat de ce calcul est égal à 0, alors un fragment du paquet sera téléchargé (donc tous les 5 cycles pour une priorité égale à 5).

Une fois le téléchargement de ce fragment terminé, il va y avoir une pause correspondant à DOWNLOAD_FRAG_LATENCY. A chaque fin de cycle, il va aussi y avoir une pause correspondant à DOWNLOAD_CYCLE_LATENCY. Une fois que tous les cycles d'une période se seront déroulés, il y aura encore une pause correspondant à DOWNLOAD_PERIOD_LATENCY avant de passer à la période suivante. Et ainsi de suite... Lorsque tous les fragments seront téléchargés, ils seront rassemblés en un seul fichier qui sera lancé, exécuté ou stocké.

En conclusion, sur un réseau local et si le paquet n'est pas très gros, un seul fragment est préférable à plusieurs.

Comme l’utilitaire putty.exe n’est pas volumineux, choisissez comme taille de fragment, la taille de l’exécutable putty.exe, c’est à dire dans l’exemple 252 Ko. Un seul fragment sera créé.

Après un clic sur le bouton de commande Envoyer, la page suivante doit s'afficher :

Un fichier XML info a aussi été créé automatiquement dans ce répertoire :

root@ocsglpi:~# ls -l /var/lib/ocsinventory-reports/download/
total 8
drwxr-xr-x+ 2 www-data www-data 4096 Nov 30 10:09 1543572137
drwxr-xr-x+ 2 www-data www-data 4096 Nov 30 10:05 1543572278
root@ocsglpi:~#

Le nom du fragment est suffixé par 1 1415269627-1 et il y a un seul fragment.

Vous allez utiliser les sous-menu Création et Activation.

Activation du paquet

Une fois construits le (ou les) paquet doit être activé :

A partir du module Teledeploiement choisissez Activation

Cliquez sur l’icône située dans la colonne Activer.

Actuellement, c’est votre serveur OCS Inventory NG qui est à la fois serveur d'administration et serveur de déploiement pour les fichiers d'information et fichiers de fragments de paquet. Ces fichiers sont situés dans le répertoire /download.

Indiquez la bonne adresse IP de votre serveur OCS Inventory NG. Pour vous, il s’agit de 10.187.36.203.

Serveur HTTPS : c'est le serveur où doit être téléchargé le fichier d'instructions XML (info)

Serveur de fichiers : c'est le serveur où sera(ont) téléchargé(s) le (ou les) fragment(s)

Ce sont les URLs passées en argument à l'agent.

Le paquet est maintenant activé :

Affectation d'un paquet

Une fois le paquet activé, il est possible de le déployer facilement sur un nombre important de postes. Une solution simple pour un déploiement à grande échelle, est d'effectuer une recherche (dans notre exemple les ordinateurs qui exécutent un système d'exploitation Windows) ou utiliser un groupe dynamique ou statique puis de cliquer sur le lien Teledeployer.

Attention : Vous allez déployez Putty uniquement sur quelques ordinateurs de la classe : le vôtre et celui de votre voisin par exemple. Les copies d’écran ci-dessous sont données à titre d’exemple.
Vous allez donc choisir directement votre ordinateur :

Choisissez une recherche multicritères

Attention le moteur de recherche est sensible à la casse des caractères.

Cliquez sur le nom de votre ordinateur

Un nouvel onglet s'ouvre avec les informations sur l'ordinateur choisi

cliquez sur l’icône flèche qui permet de visualiser toute les informations :

Cliquez sur le lien Ajout d’un paquet ou choisissez un groupe ne contenant que les ordinateurs ciblés.

Cliquez sur l’icône dans la colonne Affecter :

Votre poste sera averti qu'un paquet doit être déployé dès leur prochaine communication avec le serveur.

N'hésitez pas à provoquer ce déploiement en exécuta,n l'agent OCS Inventory à partir de l'Applet Systray OCS Inventry NG acessible dans la barre des tâches :

Il téléchargera alors dans un premier temps le fichier d'instructions XML et ensuite, s'il y a lieu, les différents fragments du paquet.

Le résultat est visible à partir du sous-menu Activation :

Colonne Non notifiés : Un poste n'a pas encore été notifié ;

Colonne Succes : un paquet a été déployé avec succès

Colonne Stats : Des diagrammes sont disponibles pour chaque déploiement de paquet. Ils permettent de disposer d'une image précise du déploiement et de voir quels sont les postes qui ont été notifiés ou pas, ceux dont le déploiement a réussi, ceux qui sont en échec, etc...

Pour vérifier le bon déploiement du paquet logiciel

A partir du module Teledeploiement choisissez Activation , vous devez voir le compteur Succes à jour :

De même pour les stastistiques :

Et au niveau des informations de l'ordinateur :

Sur le client, le fichier C:\ProgramData\OCS Inventory NG\Agent\OCSInventory.log vous renseignent sur les échanges avec le serveur :

Starting OCS Inventory NG Agent on Thursday, November 06, 2014 12:39:08.
AGENT => Running OCS Inventory NG Agent Version 2.1.1.1
...
COM SERVER => Enabling cURL SSL server validation support using CA Bundle <cacert.pem>
COM SERVER => Sending HTTP Post request to URL <http://10.187.36.203/ocsinventory>
COM SERVER => HTTP Post response received <HTTP Status Code #200>
...
AGENT => Launching hardware and software checks
INVENTORY => Loading Download history
INVENTORY => Logged on user ID is <BTSSIO>
INVENTORY => Operating System is <Microsoft Windows 7 Professionnel 6.1.7601 Service Pack 1>, description <>
...
AGENT => Communication Server ask for Package Download
DOWNLOAD => Package history file successfully cleaned for duplicate IDs
DOWNLOAD => Metadata file <info> for package <1415269627> is located at <https://10.187.36.203/download/1415269627/info>
COM SERVER => Initializing cURL library for getFile
COM SERVER => Using cURL without server authentication
COM SERVER => Disabling cURL proxy support
COM SERVER => Enabling cURL SSL server validation support using CA Bundle <cacert.pem>
COM SERVER => Sending fileGet request to URL <https://10.187.36.203/download/1415269627/info>
COM SERVER => fileGet response received <HTTP Status Code #200>
COM SERVER => Cleaning cURL library
DOWNLOAD => Unloading communication provider
DOWNLOAD => Retrieve info file...OK (pack 1415269627)
DOWNLOAD => Package <1415269627> added to download queue
DOWNLOAD => Download and setup tool successfully started
AGENT => Unloading communication provider
AGENT => Unloading plug-in(s)
AGENT => Execution duration: 00:00:10.

Remarque : En observant le contenu du fichier download.log, vous pouvez constater toutes les pauses effectuées (et le temps mis pour le déploiement). Soyez donc patient.

Si le déploiement ne s'est pas fait ...

Regardez les erreurs signalées dans ce fichier de log.

Exemple :

COM SERVER => Sending fileGet request to URL <https://10.187.36.203/download/1415269627/info>
WARNING *** COM SERVER => Failed to send HTTP Get request <Problem with the SSL CA cert (path? access rights?)>

Il est probable que le certificat cacert.pem du serveur n'est pas installé dans le dossier C:\ProgramData\OCS Inventory NG\Agent\ du client.

Retour à l'activité A7

A7 - Le déploiement d’applications avec OCS Inventory-NG