====== 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 {{:si7:configuration:ocs_34.png|}}. 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. {{ :si7:configuration:ocs_35.png |}} Après un clic sur le bouton de commande **Envoyer**, la page suivante doit s'afficher : {{ :si7:configuration:ocs_37.png |}} ===== 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éé. {{ :si7:configuration:ocs_36.png |}} Après un clic sur le bouton de commande **Envoyer**, la page suivante doit s'afficher : {{ :si7:configuration:ocs_38.png |}} 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**. {{ :si7:configuration:ocs_39.png |}} 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**. {{ :si7:configuration:ocs_40.png |}} * **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é : {{ :si7:configuration:ocs_41.png |}} ===== 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 {{ :si7:configuration:ocs_42.png |}} {{ :si7:configuration:ocs_43.png |}} Attention le moteur de recherche est sensible à la casse des caractères. {{ :si7:configuration:ocs_44.png |}} * **Cliquez** sur le nom de votre ordinateur Un nouvel onglet s'ouvre avec les informations sur l'ordinateur choisi {{ :si7:configuration:ocs_45.png |}} * **cliquez** sur l’icône flèche {{:si7:configuration:ocs_46.png|}} 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. {{ :si7:configuration:ocs_47.png |}} * Cliquez sur l’icône dans la colonne **Affecter **: {{ :si7:configuration:ocs_48.png |}} Votre poste **sera averti** qu'un paquet doit être déployé dès leur prochaine communication avec le serveur. {{ :si7:configuration:ocs_49.png |}} 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 : {{ :si7:configuration:ocs_52.png |}} 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** : {{ :si7:configuration:ocs_50.png |}} * 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... {{ :si7:configuration:ocs_51.png |}} ===== Pour vérifier le bon déploiement du paquet logiciel ===== A partir du module **Teledeploiement** choisissez **Activation **, vous devez voir le compteur **Succes** à jour : {{ :si7:configuration:ocs_53.png |}} De même pour les **stastistiques** : {{ :si7:configuration:ocs_54.png |}} Et au niveau des **informations** de l'ordinateur : {{ :si7:configuration:ocs_55.png |}} 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 COM SERVER => Sending HTTP Post request to URL COM SERVER => HTTP Post response received ... AGENT => Launching hardware and software checks INVENTORY => Loading Download history INVENTORY => Logged on user ID is INVENTORY => Operating System is , description <> ... AGENT => Communication Server ask for Package Download DOWNLOAD => Package history file successfully cleaned for duplicate IDs DOWNLOAD => Metadata file for package <1415269627> is located at 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 COM SERVER => Sending fileGet request to URL COM SERVER => fileGet response received 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 WARNING *** COM SERVER => Failed to send HTTP Get request 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 ==== * [[deploiementapp_00|A7 - Le déploiement d’applications avec OCS Inventory-NG]]