Lors de la mise en place de Horizon Files, des besoins d’industrialisation pour la création de dossier, de partage, etc sont arrivés assez rapidement.
J’ai donc créé un workflow sous vCenter Orchestrator pour pouvoir ainsi industrialisé ce process.
Je vais vous montrer un workflow tout simple à réaliser pour créer des dossiers dans l’environnement d’un utilisateur.
Je vais vous fournir également le script qui peut être utilisé sans Orchestrator.
J’ai donc créé dans la VM data-va un dossier /script dans lequel j’ai déposé le script qui sera appelé par Orchestrator.
Créer un script et coller la ligne suivante :
su – zimbra -c ‘zmmailbox -z -m ‘$1‘ cf /Briefcase/’$2′‘
su – zimbra permet de lancer la commande en tant qu’utilisateur zimbra
La variable $1 correspond au mail de l’utilisateur et $2 au dossier à créer.
Avant de pouvoir executer le script il faut modifier le fichier sudoers afin d’autoriser le compte sshuser à executer le script en tant que root.
Pour cela passer en root :
su – root
puis executer la commande suivante visudo.
A la fin du fichier rajouter la ligne suivante :
sshuser ALL=NOPASSWD:/script/script.sh
puis enregistrer le fichier.
Pour ceux qui n’ont pas d’orchestrator et qui souhaite simplement exécuter le script il faut donc l’appeler de la façon suivante :
sudo /script/script.sh adresseemail dossieràcréer
Dans l’onglet « historique » nous pouvons voir que l’utilsateur « hzndata » a créé le dossier.
Pour le workflow simple qui va bien, il suffit de procéder comme expliquer ci-dessous :
Ajouter un nouveau workflow (Appelez-le comme bon vous semble)
Ensuite ajouter le workflow « run ssh command » à votre workflow :
Ajouter ensuite une tâche de script qui va nous permettre de définir la commande à lancer en ssh sur la VM data-va.
Votre workflow doit ressembler à ceci :
Pour le workflow d’exécution ssh voici les paramètres à indiquer :
HostnameOrIP : Adresse IP du serveur DATA-VA
username : dans mon cas j’utilise le compte sshuser
password : pass de l’utilisateur sshuser
cmd : J’ai créé ici un attribu nul qui sera utilisé dans le script
passwordauthentification : Sur YES car je n’utilise pas de keyfile ssh.
Pour les deux autres paramètres, laisser à nul dans notre cas.
Pour le workflow script voici à quoi il doit ressembler :
Dans les paramètres en input, j’ai créé deux paramètres , mail et folder en tant que « string » et en input afin de pouvoir les définir au lancement du workflow.
Dans les paramètres en output , j’ai appelé l’attribu cmd que nous avons créé dans le workflow précédent.
La variable est donc défini par la commande suivante : cmdhorizoncf = « sudo /script/script.sh »+ » « +mail+ » « +folder;
Vous pouvez valider et lancer votre Workflow.
Et voila 😉