Apportez votre propre logiciel avec Rescale Software Publisher – Guide de démarrage

Marché

Rescale Software Publisher (« Software Publisher » ou « Publisher ») est une fonctionnalité optionnelle qui permet aux entreprises d'intégrer leurs propres logiciels à la plateforme cloud Rescale. Elle offre aux clients les avantages suivants :

  • Publication à la demande dans le catalogue de logiciels de Rescale - rapide sans attendre que les demandes soient traitées manuellement
  • Vous pouvez désormais utiliser une grande variété de logiciels dans Rescale : des outils et utilitaires personnalisés, propriétaires, commerciaux, open source et locaux que vous avez peut-être développés et qui sont utilisés conjointement avec simulation workflows.
  • Facile à utiliser, Rescale ne nécessite ni accès administrateur cloud avancé, ni compétences en réseau ou infrastructure informatique. Il gère l'ensemble du stockage interne, des accès, de la sécurité et des dépendances spécifiques à l'environnement logiciel lorsque les clients publient eux-mêmes leurs logiciels sur la plateforme.
  • Intégré dans le core Redimensionnez la plateforme, en offrant une apparence et une convivialité communes sans avoir à basculer entre d'autres outils ou interfaces disjoints.
  • Visibilité, accès et administration centralisés pour tous vos HPC applications et progiciels

Les fonctionnalités et avantages suivants sont mis en évidence pour Rescale Software Publisher :

  • Rescale Software Publisher peut être autorisé à être utilisé sur le espace de travail niveau, ou au niveau de l'organisation qui offre une visibilité et un accès à tous les comptes d'espace de travail au sein d'une organisation.
  • Les clients peuvent étendre leur catalogue de logiciels Rescale existant pour publier et gérer des logiciels privés accessibles aux utilisateurs de votre organisation.
  • Logiciel auto-édité pour le traitement par lots et poste de travail jobs apparaît et se comporte comme les autres progiciels et applications disponibles dans le catalogue de logiciels Rescale.
  • Vous pouvez contrôler la visibilité des versions de logiciels auto-publiées par espace de travail et supprimer les anciennes versions de logiciels qui ne sont plus utilisées.
  • Le Sandbox est un nouveau concept introduit par Rescale Software Publisher : un environnement de travail temporaire permettant d'installer et de tester des logiciels avant publication. Vous pouvez sélectionner les propriétés du sandbox, par exemple : coretype à utiliser, temps de mur, taille du bac à sable, logiciel de traitement par lots ou de poste de travail, options MPI et images miniatures facultatives à afficher dans le catalogue de logiciels Rescale.
  • Les logiciels auto-édités sont portables et peuvent être utilisés sur différents types de cœurs et même dans différentes régions de cloud.
  • De nouveaux paramètres de visibilité sont également disponibles lors de la publication de logiciels, qui sont décrits plus loin dans ce document. En gros, lorsque vous êtes prêt à partager votre logiciel publié avec d'autres, vous pouvez le partager au niveau de l'espace de travail ou au niveau de l'organisation, ce qui le rendrait visible pour tous les espaces de travail.
  • Les nouveaux achats de Rescale Software Publisher sont accompagnés d'un package d'heures de conseil HPC expert, pour aider les nouveaux utilisateurs tout au long du processus de publication et résoudre les problèmes éventuels.

Le diagramme ci-dessous montre un aperçu du processus de publication :

Image 84

Conditions préalables:

  • Un utilisateur aura besoin de privilèges de rôle d’administrateur pour accéder à Rescale Software Publisher, soit au niveau de l’espace de travail, soit au niveau de l’organisation.
    • Les administrateurs d'organisation peuvent publier et définir la visibilité dans n'importe quel espace de travail sur lequel Publisher est activé
    • Les administrateurs d'espace de travail peuvent uniquement publier et définir la visibilité des espaces de travail qu'ils gèrent, pour les espaces de travail autorisés à utiliser Publisher.
  • Vous aurez besoin d'un représentant de Rescale pour permettre à votre entreprise ou organisation d'accéder à Rescale Software Publisher. Contactez votre équipe Rescale pour plus d'informations.
  • À l'heure actuelle, seuls les logiciels pouvant fonctionner sur le système d'exploitation Linux peuvent être publiés. Le système d'exploitation Windows n'est pas pris en charge pour l'auto-publication.

Accès à l'interface utilisateur :

En tant qu'administrateur, accédez au portail d'administration et vous verrez le menu « Outils » en haut. Dans ce menu, sélectionnez « Éditeur de logiciels ».

Image 77

Si vous ne voyez pas ce nouveau menu Outils sur le portail d'administration, votre compte utilisateur Rescale n'a peut-être pas configuré les autorisations nécessaires.

Lors de votre premier accès à Publisher, une liste vide s'affiche. Vous trouverez ci-dessous un exemple de liste de logiciels auto-édités, avec divers attributs, tels que le mode par lots ou par poste de travail (interactif), le nombre de versions publiées antérieurement et la dernière version. Un champ de recherche permet de rechercher les logiciels par nom, et chaque colonne affichée peut être triée. Un deuxième onglet, « Bacs à sable », affiche les bacs à sable actifs pour l'espace de travail.

Image 168

Nouvelle vignette logicielle

Pour publier un nouveau logiciel, vous devez d'abord enregistrer votre application ou votre package. C'est ce qu'on appelle une tuile logicielle. Une fois votre tuile créée, vous pouvez publier autant de versions que nécessaire. Vous n'avez pas besoin de télécharger de logiciel lors de la création d'une nouvelle tuile.

Sélectionnez le bouton « Ajouter un logiciel » au-dessus du tableau. Cette page vous permettra de créer votre nouvelle mosaïque de logiciels :

Image 169

Remplissez les champs obligatoires pour le nom et la description du nouveau logiciel. Sélectionnez « Tâches par lots » ou « Postes de travail » pour le logiciel que vous publierez, si vous prévoyez de l'utiliser en mode sans surveillance. travaux par lots ou via des postes de travail interactifs. La vignette est facultative ; sa taille doit être inférieure à 100 Ko. Les balises de catégorie sectorielle sont facultatives et non obligatoires. Elles contrôlent ce que les utilisateurs voient lorsqu'ils filtrent les logiciels par catégorie sectorielle dans l'interface utilisateur.

Vous avez également la possibilité de publier des logiciels qui ont des dépendances de licence. Au bas de la page de mosaïque du logiciel, vous pouvez sélectionner licence propriétés requises par votre logiciel pour fonctionner. Cela permettra à votre logiciel auto-édité d'utiliser l'un des services de licence de Rescale via un hôte de licence Rescale ou un proxy de licence d'entreprise (CLP) :

Nouvelle licence d'éditeur terminée

Enfin, cliquez sur le bouton Enregistrer lorsque vous êtes prêt à créer la nouvelle tuile logicielle.

Voici un exemple de l'interface utilisateur après la création de la vignette logicielle initiale, avant de publier des versions :

Image 170

Nouvelle version du logiciel

Une fois votre mosaïque logicielle ajoutée, vous pouvez publier une ou plusieurs versions. Sélectionnez la mosaïque logicielle créée dans la liste, puis, dans la section « Versions logicielles », cliquez sur le bouton « Ajouter une version ». Avec Rescale Software Publisher, les nouvelles versions logicielles sont créées dans des espaces de travail temporaires et isolés, appelés « Sandbox ».

Une nouvelle fenêtre apparaîtra avec trois options à gauche : « Propriétés de la version », « Configuration du bac à sable » et « Paramètres matériels ». À partir de la page « Propriétés de la version », remplissez les champs obligatoires. 

  • Version – Le champ de version du logiciel peut être n’importe quelle valeur alphanumérique, combinée à des caractères spéciaux limités
  • Command – Le champ de commande est ce qui sera affiché aux utilisateurs dans le catalogue de logiciels, lorsqu'ils sélectionneront cette version publiée pour créer et soumettre de nouveaux travaux.
  • Base de montage – Ce champ sera le chemin où votre logiciel est situé ou monté sur le travail grappe Lors de l'exécution. Tout logiciel auto-édité commence par un répertoire principal nommé « /software/ ». En général, vous spécifiez la version du logiciel sous ce répertoire principal lorsque vous fournissez une nouvelle valeur pour Mount Base.
  • Variables d'environnement – Vous pouvez éventuellement fournir des variables d’environnement auxquelles votre logiciel publié peut faire référence lors de son exécution dans un travail.

Vous ne pouvez pas dupliquer les valeurs de version du logiciel pour une mosaïque logicielle, ni créer des chemins de base de montage en double.

Image 171

Accédez maintenant à la page « Configuration du bac à sable ». Vous pouvez y importer votre logiciel, spécifier le système d'exploitation et indiquer si votre logiciel possède des dépendances MPI. Le champ « Projet » est facultatif et n'est requis que si l'espace de travail depuis lequel vous publiez est configuré pour nécessiter la sélection d'un projet. Pour la taille du bac à sable, essayez de choisir une taille suffisante pour installer et tester votre logiciel et vos fichiers de test, mais pas trop grande pour ne pas gaspiller d'espace inutilisé.

Cette page de configuration du sandbox contient un champ de commande facultatif, différent de celui de la page des propriétés de la version. Ce champ de commande sandbox est uniquement utilisé si vous souhaitez exécuter une commande automatisée dans l'environnement sandbox après sa création. Vous pourrez ensuite vous connecter directement à l'environnement sandbox dès qu'il sera accessible, pour exécuter des commandes ou effectuer des opérations lors de la création, du test et de la validation de votre logiciel avant sa publication.

Actuellement, seules les distributions du système d'exploitation Linux sont prises en charge pour la création de l'environnement sandbox.

Image 172

Accédez ensuite à la page « Paramètres matériels ». Vous pourrez y choisir parmi les différents types de cœurs de processeur disponibles et définir le nombre de cœurs que votre sandbox doit exécuter.

Image 173

Créer

Une fois les informations du sandbox complétées sur toutes les pages, cliquez sur le bouton « Créer ». Vous pouvez consulter chaque page de configuration avant de créer le nouveau sandbox. Une nouvelle entrée « Statut » apparaîtra à gauche. En la sélectionnant, vous pourrez suivre la progression de la création du sandbox :

Image 174

Les sandbox actifs disposeront également d'une fenêtre d'administration. Cette fonctionnalité sera expliquée dans la section suivante.

Active

Une fois la configuration du sandbox terminée, vous verrez les éléments suivants affichés dans l'interface utilisateur :

  • Statut du bac à sable – l’état actuel du bac à sable est affiché en haut – « Actif »
  • Visibilité – Chaque nouvelle session de publication de logiciel démarre avec une valeur de visibilité « brouillon » tant que le sandbox est actif. Après la publication d'une nouvelle version du logiciel, l'administrateur peut définir des paramètres de visibilité supplémentaires, qui seront détaillés ultérieurement.
  • Bouton de connexion– c'est une façon d'accéder à l'environnement sandbox via le bureau à distance, décrite ci-dessous
  • Bouton Suspendre– vous pouvez suspendre votre sandbox si vous avez besoin de mettre votre activité en pause, puis de la reprendre plus tard
  • Copier le bouton de commande SSH– c'est une autre façon d'accéder à l'environnement sandbox, décrite ci-dessous
  • Action – dans la section SSH, ces boutons fournissent un accès SSH dans le navigateur à l'environnement sandbox
  • Bouton Annuler le bac à sable– Vous pouvez annuler votre session de publication à tout moment avant la publication. Les fichiers ou logiciels téléchargés dans le bac à sable ne seront pas enregistrés.
  • Bouton Publier– Cela signifie que vous avez terminé toutes les tâches de téléchargement, de compilation, de test et de validation de votre logiciel. La publication d'une nouvelle version du logiciel supprimera tout le contenu du sandbox et fermera l'environnement sandbox.
Image 175

Il existe différentes manières de vous connecter directement à votre sandbox après sa création :

  • Émulation de bureau DCV en sélectionnant le bouton « Connecter »
  • Connexion SSH dans le navigateur en cliquant sous la section « Actions »
  • Connexion SSH depuis votre poste de travail local. Il s'agit d'une option plus avancée qui est couverte dans la documentation du produit sous «SSH depuis un poste de travail local" .

Une page d'administration est disponible pour les sandbox actifs. Elle est accessible à gauche lors de la consultation des détails de la version du logiciel dans Publisher. Les fonctionnalités suivantes sont disponibles sur cette page :

  • Téléchargez des fichiers supplémentaires dans le bac à sable. Par défaut, ils sont copiés dans $HOME/work
  • Prolongez le temps passé dans le bac à sable
  • Partagez votre sandbox avec un autre utilisateur ou avec le support client
Image 176

Tout logiciel que vous souhaitez publier doit se trouver sous le chemin Mount Base fourni lors de la création du nouveau sandbox. Tout autre logiciel ou fichier téléchargé ou copié en dehors du chemin Mount Base ne sera pas conservé lors de la publication de la nouvelle version.

Connexion au bac à sable

Dans cet exemple, nous choisirons le bouton « Connecter » pour continuer. L'environnement de bureau virtuel utilise Rescale Workstations en dessous. Pour accéder à une fenêtre de terminal pour les options shell/CLI, sélectionnez le bouton de l'émulateur de terminal en bas :

Image 80

Si vous choisissez de télécharger des logiciels lors de la création d'un sandbox, ceux-ci seront placés dans le répertoire $HOME/work de l'utilisateur local. Lors du téléchargement de fichiers, une option permet de sélectionner la décompression et l'extraction automatiques des fichiers TAR. Le contenu sera alors automatiquement copié dans le répertoire Mount Base de votre logiciel dans le sandbox.

Dans ce mode interactif de bureau virtuel à distance, vous pouvez vous connecter à votre sandbox et exécuter des commandes via une session SSH ou terminal.

Tu peux courir git() directement depuis votre sandbox pour récupérer des logiciels ou d'autres éléments, tels que des données de test. Voici un exemple de récupération des données du didacticiel pour un progiciel HPC (SU2) :

Image 83

Vous disposez également d'autres options pour déplacer ou transférer des logiciels vers votre environnement sandbox Rescale, telles que sftp().

Mises à jour

Vous pouvez mettre à jour un sandbox Publisher existant, notamment en y ajoutant des fichiers, en prolongeant le temps d'utilisation, et même en l'annulant si vous le souhaitez depuis la page d'administration. Consultez la section précédente consacrée à la page d'administration du sandbox.

Environnement Sandbox

Une variable d'environnement sandbox par défaut est disponible. La base de montage spécifiée dans votre configuration sandbox est disponible sous forme de variable d'environnement nommée « RESCALE_MOUNT_BASE ». Il s'agit du répertoire principal où se trouvera votre logiciel publié lorsqu'il sera sélectionné pour exécuter des tâches par lots ou des postes de travail. Vous pouvez accéder à cette variable d'environnement dans tous les scripts ou outils locaux utilisés dans le sandbox. Voici un exemple d'accès à la variable d'environnement RESCALE_MOUNT_BASE lors de la première connexion à un environnement sandbox actif :

AD 4nXfq7Q n7i YP1wSyVVPwfz X YNKPGTT NIHaOfRFgq7aOQB9XHDY4jkhIpNvQ3ZuicTUGMKbeX XTMyOh8vJ pSazAjv6H5IWG0BazSz6nTjLM1vFY6wwA8Pb8zdC27ht0I6YbnA?key=OHylKg0MCjFlQk6RK6jhZhZP

Une autre fonctionnalité d'environnement à souligner pour les bacs à sable est l'utilisation du rescale_env.sh fichier. Ce fichier est créé et mis à jour automatiquement par Publisher et le spub Utilitaires d'assistance, expliqués plus en détail dans la section suivante. Ce fichier se trouve dans le répertoire de base du montage, dans un sous-répertoire nommé « rescale/ » : 

[uprod_cRLAqe@ip-10-25-75-193 ~]$ ls -l $RESCALE_MOUNT_BASE/rescaletotal 4
-rw-rw-rw- 1 uprod_cRLAqe uprod_cRLAqe 171 Jan 31 01:31 draft_env.sh
-rw-rw-r-- 1 uprod_cRLAqe spub           0 Jan 31 00:53 rescale_env.sh
[uprod_cRLAqe@ip-10-25-75-193 ~]$ 

Vous pouvez penser au rescale_env.sh Fichier Bash secondaire. Le contenu de ce fichier sera automatiquement récupéré au lancement de la tâche lors de l'utilisation de votre version publiée du logiciel. Ce fichier sera automatiquement mis à jour par certains outils spub, tels que spub_validate, mais vous pouvez également le mettre à jour directement si nécessaire.

Le rescale_env.sh fichier dans un nouveau bac à sable instance commence vide. Si, au cours du processus de création, de test et d'exécution de votre logiciel, vous modifiez l'environnement du PATH ou ajoutez de nouvelles variables d'environnement, l'exécution du spub_validate La commande récupérera ces modifications locales et les écrira dans le rescale_env.sh fichier, qui sera exécuté ultérieurement lorsque la version du logiciel publiée sera sélectionnée pour l'exécution d'un nouveau travail.

Voici un exemple avec une nouvelle instance de sandbox, montrant le contenu du rescale_env.sh Le fichier est vide au départ. Une modification est ensuite apportée au $PATH, et une nouvelle variable d'environnement est créée. spub_validate La commande est exécutée après ces mises à jour, et vous pouvez voir avant et après ce qui est écrit dans le fichier rescale_env.sh :

[uprod_pUjfEe@ip-10-25-76-186 ~]$ cat $RESCALE_MOUNT_BASE/rescale/rescale_env.sh
[uprod_pUjfEe@ip-10-25-76-186 ~]$ export PATH=/tmp/tstdir:$PATH
[uprod_pUjfEe@ip-10-25-76-186 ~]$ export VARZ=NEW
[uprod_pUjfEe@ip-10-25-76-186 ~]$ spub_validate
Extracting and saving current environment settings
Finished checking environment, this sandbox can be published and this 
environment will be recreated on future Rescale jobs
[uprod_pUjfEe@ip-10-25-76-186 ~]$ cat $RESCALE_MOUNT_BASE/rescale/rescale_env.sh
export LD_LIBRARY_PATH=/software/samplesoftv3/lib:/usr/local/lib:$LD_LIBRARY_PATH
export VARZ=NEW
export PATH=/software/samplesoftv3/bin:/opt/amazon/efa/bin/:/usr/share/Modules/bin:/usr/local/sbin:/tmp/tstdir:$PATH
[uprod_pUjfEe@ip-10-25-76-186 ~]$ 

Vous remarquerez que même si la valeur PATH a été ajustée pour inclure le répertoire supplémentaire pour /tmp/tstdir, spub_validate préserve l'ordre d'évaluation PATH afin que le logiciel sous $RESCALE_MOUNT_BASE/bin est le premier.

Vous pouvez également modifier le rescale_env.sh pour inclure directement les variables d'environnement, qui seront mises à disposition des tâches exécutant la version du logiciel après publication. Voici un exemple d'ajout d'une nouvelle variable d'environnement « LBIRD » au fichier rescale_env.sh fichier sous $RESCALE_MOUNT_BASE/rescale/ : 

AD 4nXdn9402QnRfPYZzl pm4EUiZOR zH9HxWm0bbLngDR 8AfQ

Pour résumer ci-dessus, la variable d'environnement et la valeur LBIRD=33 ont été ajoutées au rescale_env.sh dossier, puis spub_validate a été exécuté avant la publication de la version du logiciel.

Voici la commande de test qui s'exécutera dans un travail après la publication de la version du logiciel :

AD 4nXeWmSzBtK Mc Mkw5WU9pR8B4gEox0nZjcvVowM8AecepTiKf73BSj26Wg6a4 cmoTAzT WbngZwKCVMf05vI59n5kglPLzRSeIShzVBDxgs4FoDhUQWx30v 21FttF4ligsZ11Lg?key=OHylKg0MCjFlQk6RK6jhZhZP

Après la publication de cette version de test du logiciel, elle a été sélectionnée pour l'exécution d'un nouveau travail par lots :

Voici le résultat de sortie du test de la variable d'environnement définie dans le travail :

AD 4nXcrSIm4lZk98hOogL4ZO6j6BSfbXH6d9JWqXuCfJA7ri6xTpyrcGjEG7dPIhGjHrLRMo6NR5zJafLqXXjU56BpFA7AlEXlsBP0BEW oMxPeXRmGpIa7tImyj3ctscFbPYkGHbd ?key=OHylKg0MCjFlQk6RK6jhZhZP

Cet exemple montre que les variables d'environnement au niveau du bac à sable qui sont définies ou enregistrées dans rescale_env.sh sont conservés après la publication via la version du logiciel métadonnées capturé et accessible dans un travail.

Outils d'aide Spub

L'environnement sandbox de Publisher comprend un ensemble personnalisé d'outils et d'utilitaires pour vous aider dans l'auto-édition, appelés outils « spub ». Ils se trouvent sous /program/sxp-interactive/util . Plus de détails sur les différents outils spub sont abordés dans une section ultérieure. Pour obtenir un aperçu de ces outils, exécutez la commande spub_help commande, et le spub_helper_list commander.

Vous devriez toujours exécuter le spub_validate commande depuis votre environnement sandbox avant de publier un logiciel.

Lorsque vous vous connectez à une instance sandbox, vous ne disposez pas d'un accès root complet ni d'un accès sudo à l'environnement de travail. Vous disposez d'un accès complet en lecture et en écriture au chemin de montage de base (/software/*), mais vous ne pouvez pas mettre à jour ni écrire de fichiers ou de contenu directement dans l'emplacement du système d'exploitation ni dans d'autres zones restreintes au niveau du système. Les outils d'assistance spub vous aident à installer des packages logiciels, des utilitaires, des compilateurs, des bibliothèques, etc., sans avoir besoin d'un accès root ou sudo.

Publier

Lorsque vous êtes prêt à publier, assurez-vous que tous les fichiers et binaires logiciels nécessaires se trouvent sous le point de montage de base avant de publier, et supprimez les fichiers temporaires inutiles à l'exécution du logiciel. Cela permettra de réduire la taille de stockage totale de votre version logicielle. Assurez-vous d'avoir effectué les tests logiciels nécessaires et validation avec le logiciel situé sous le répertoire Mount Base désigné. Exécutez le spub_validate commande comme dernière étape avant la publication.

Voici un exemple de test de logiciel dans un bac à sable avant publication :

Image 82

Depuis l'interface utilisateur, sélectionnez le bouton « Publier » en bas de la page d'état. Une fenêtre de confirmation s'affichera, vous devrez d'abord la vérifier et l'accepter. Le statut en haut de la page passera ensuite à « Publication en file d'attente », puis à une série d'états, dont « Publication en cours », et enfin à « Publié ».

Image 178

Vous pouvez également afficher l'état de tous les sandbox actifs dans un espace de travail, à partir de la page « Sandbox » sur la page d'accueil principale de Publisher :

Image 177
REMARQUE: L'étape de publication peut prendre plusieurs minutes, car plusieurs actions sont effectuées en arrière-plan pour enregistrer et rendre cette version du logiciel disponible. La publication des images logicielles de plus grande taille sera plus longue, car chaque nouvelle version est soumise à une analyse antivirus.

Une fois la publication de votre version logicielle terminée, le statut de la version sera mis à jour et passera à « Publié ». Le sandbox est nettoyé après la publication de la version logicielle et toute connectivité au sandbox est alors désactivée. Vous remarquerez également qu'après la publication d'une version logicielle, la visibilité est automatiquement définie sur « Privé administrateur » et que les fonctions de la page d'administration du sandbox sont désormais désactivées, car le sandbox temporaire n'existe plus après la publication. Une nouvelle page s'affiche également dans l'interface utilisateur de la version logicielle après sa publication : « Espaces de travail autorisés », qui sera décrite prochainement.

Image 179

Vous pouvez désormais accéder à votre nouvelle version du logiciel publiée pour la tester et la valider en créant un nouveau travail ou un nouveau poste de travail dans votre espace de travail local.

Visibilité

Un menu « Visibilité » permet de consulter les détails d'une version publiée. Les administrateurs peuvent définir plusieurs paramètres de visibilité pour promouvoir la version du logiciel à travers les différentes étapes après sa publication initiale. Les voici :

Paramètres de visibilité/étapesDescription
BrouillonÉtat initial du démarrage d'une session de publication d'une nouvelle version. Des sandbox existent dans cet état de publication. Aucun snapshot physique n'existe encore dans les environnements de calcul Rescale, et les logiciels ne sont visibles dans le catalogue Rescale pour aucun espace de travail de l'organisation.
Administrateur PrivéÀ ce stade de la publication, un instantané physique est d'abord créé lorsqu'une nouvelle tâche ou un nouveau poste de travail le sélectionne. Le sandbox est supprimé. Seuls les administrateurs peuvent consulter et accéder aux logiciels à partir du catalogue. Les utilisateurs standard ne peuvent pas voir les versions dont la visibilité est définie sur Privé administrateur.
Espace de travail privéIl s'agit de l'option par défaut pour partager votre version publiée de logiciel avec d'autres utilisateurs. En activant la visibilité d'un logiciel publié dans l'espace de travail privé, vous le rendez accessible aux espaces de travail sélectionnés. Vous devez disposer des privilèges d'administrateur de l'organisation ou être administrateur des espaces de travail que vous souhaitez partager.
Organisation PrivéeIl s'agit d'une autre option permettant de partager votre version publiée avec d'autres espaces de travail. Elle est disponible uniquement si Publisher est sous licence au niveau de l'organisation. En privilégiant la visibilité des logiciels publiés, vous les rendez visibles par tous les membres de votre organisation, dans tous les espaces de travail, sous réserve des restrictions de filtrage des logiciels en vigueur.

Depuis l'interface utilisateur, voici comment définir la visibilité d'un logiciel publié à partir de son état initial, qui par défaut commence toujours par « Admin Privé » :

Image 180

Administrateur Privé

Lorsque votre logiciel est publié dans l'état initial, Admin Private, vous, en tant qu'administrateur, et les autres administrateurs disposant de l'accès approprié dans l'espace de travail publié, pouvez accéder et utiliser cette nouvelle mosaïque et version du logiciel à partir du catalogue de logiciels Rescale lors de la création de tâches. La visibilité à ce stade est limitée aux seuls administrateurs :

Voici un exemple de la nouvelle version publiée du logiciel dans le catalogue de logiciels Rescale pour les espaces de travail où elle est visible. Elle s'affichera et se comportera comme toute autre version du logiciel déjà présente dans le catalogue :

Image 181

Après avoir testé et validé que cette version du logiciel fonctionne correctement, vous pouvez désormais la partager avec d'autres membres de votre organisation.

RAPPEL: Testez et validez toujours avant de mettre les logiciels publiés à la disposition des autres !

Il existe deux options de visibilité lorsque vous souhaitez partager votre version nouvellement publiée avec d'autres :

  • Publier la visibilité de la version dans l'espace de travail (espace de travail privé)
  • Publier une visibilité sur tous les espaces de travail de l'organisation (organisation privée)
    • Notez que cette option n'est disponible que lorsque Publisher est sous licence au niveau de l'organisation

Espace de travail privé

Selon la licence Rescale Software Publisher de votre organisation et votre accès administrateur, vous pouvez partager les versions publiées du logiciel entre les espaces de travail. Sur la page des logiciels, sélectionnez le numéro de version que vous venez de publier. En haut de la page, à côté du statut « Publié », sélectionnez le menu et « Espace de travail privé » pour rendre votre version publiée visible auprès d'une liste d'espaces de travail. Ensuite, à gauche, sélectionnez « Espaces de travail autorisés » et sélectionnez les espaces de travail avec lesquels vous souhaitez partager cette version du logiciel :

Image 182

Vous ne pouvez sélectionner que les espaces de travail auxquels vous avez accès en tant qu'administrateur.

Cliquez sur le bouton « Mettre à jour les espaces de travail autorisés » pour terminer le processus de sélection.

Organisation Privée

Vous suivrez les mêmes étapes que celles décrites précédemment pour définir la visibilité d'une version de logiciel publiée sur « privée à l'organisation ». Notez que vous devez être administrateur d'organisation pour que cette option soit disponible dans l'interface utilisateur et disposer d'une licence Publisher au niveau de l'organisation. Si votre utilisateur ne dispose que d'un accès administrateur à un seul espace de travail, vous ne pouvez pas définir la visibilité des logiciels publiés sur « privée à l'organisation ».

Supprimer

Vous pouvez supprimer des versions individuelles des logiciels que vous publiez, ainsi qu'une mosaïque ou un package logiciel entier et toutes ses versions depuis l'interface utilisateur. Pour supprimer des versions de logiciels inutilisées, cliquez sur l'icône de la corbeille dans la liste des versions :

Image 183

Pour afficher les détails d'une version de logiciel publiée, un bouton « Supprimer la version » est également disponible :

Image 184

Préserver les bacs à sable

Par défaut, les sandboxes sont supprimés après la publication d'une version logicielle, et le contenu d'une version publiée est immuable. Vous pouvez conserver un sandbox avant de publier une nouvelle version, afin qu'il persiste après la publication de la version. Cette fonctionnalité est utile pour les administrateurs qui souhaitent effectuer des mises à jour et des corrections itératives sur une version logicielle récemment publiée, sans créer de nouvelles versions. Conserver un sandbox permet de maintenir l'instance active et de conserver tous les logiciels que vous avez téléchargés et compilés.

Pour activer la préservation d'un sandbox, accédez à la section d'administration et sélectionnez le bouton sous la section « Préserver le sandbox » :

Capture d'écran 1 de l'interface utilisateur du bac à sable conservée par l'éditeur

Lorsqu'un sandbox est activé pour être conservé, vous verrez la valeur d'état d'un sandbox d'une version publiée suivie d'une chaîne « (Publié) », pour les sandbox actifs et suspendus :

Capture d'écran 2 de l'interface utilisateur du bac à sable conservée par l'éditeur

Lorsqu'un sandbox est activé pour la préservation, vous devez le supprimer manuellement ultérieurement lorsqu'il n'est plus nécessaire. Veillez à ne pas laisser les sandbox préservés inactifs ou suspendus pendant de longues périodes, car ils engendreront des coûts jusqu'à leur suppression. Il est recommandé de définir strictement la durée d'utilisation d'un sandbox préservé afin de minimiser le risque de coûts imprévus si un administrateur oublie un sandbox préservé. L'option de préservation d'un sandbox n'est plus disponible après la publication d'une version logicielle.

Avantages des bacs à sable préservésInconvénients des bacs à sable préservés
Possibilité de mettre à jour les versions précédemment publiéesCoûts supplémentaires pendant que les bacs à sable préservés sont actifs ou suspendus.
Itérations plus rapides pour effectuer des mises à jour de versionIl est possible que l'administrateur oublie qu'un sandbox est préservé après la publication.
Tous les fichiers et travaux antérieurs utilisés pour publier une version sont conservés.

Portabilité du logiciel et fonctions d'assistance

Lorsque vous apportez votre propre logiciel sur la plateforme Rescale, une bonne pratique consiste à rendre votre application logicielle, votre package ou votre outil aussi portable que possible. En effet, la plate-forme Rescale est conçue de manière à ce que les logiciels qui s'exécutent sur nos clusters de calcul gérés soient découplés du matériel et du système d'exploitation sous-jacents. Cela offre aux clients une flexibilité maximale lors du choix des options matérielles de base et des environnements cibles pour exécuter leurs charges de travail de calcul hautes performances. Si votre logiciel HPC devient trop lié au système d'exploitation sous-jacent ou présente d'autres dépendances codées en dur, votre solution logicielle deviendra avec le temps plus fragile et de simples mises à jour comme un correctif du système d'exploitation peuvent vous obliger à réinstaller et tester votre logiciel à chaque fois. moment où de tels changements se produisent.

C'est pourquoi, de par leur conception, les bacs à sable Rescale n'autorisent pas les privilèges de super-utilisateur ou d'administrateur tels que le compte d'utilisateur root ou l'accès sudo, ainsi que pour des raisons de sécurité. Cependant, il est toujours possible d'installer, d'exécuter et de tester votre logiciel avec succès dans l'environnement hébergé contrôlé par Rescale sans nécessiter un tel accès élevé. Avec chaque bac à sable créé, Rescale fournit un ensemble d'utilitaires qui vous aident à installer et tester votre logiciel afin qu'il soit portable et flexible. Ces fonctions d'assistance concernent de nombreuses commandes et packages d'installation courants qui nécessitent généralement un accès root ou sudo, de yum install à python pip . Vous trouverez ci-dessous un aperçu des fonctions et utilitaires d'assistance Rescale que vous pouvez utiliser pour garantir que votre logiciel publié est portable et respecte les meilleures pratiques recommandées.

Utilisation des utilitaires Spub Helper

À un niveau élevé, l'image du système d'exploitation (OS) dans le bac à sable est représentative des clusters qui exécuteront le logiciel installé. Cependant, il est important de noter que la conception Rescale pour la publication et l'exécution de logiciels sur la plate-forme dissocie le logiciel que vous publiez du système d'exploitation sous-jacent. Le logiciel publié et le système d'exploitation ne sont pas stockés ensemble sous la forme d'un seul volume ou instantané. Cette conception vise à maximiser la portabilité des logiciels publiés dans le catalogue Rescale, afin que les logiciels publiés puissent s'exécuter sur une variété de plates-formes matérielles et d'environnements.

De nombreux utilisateurs habitués à installer, configurer et exécuter des packages logiciels HPC, des applications et d'autres outils de support dans un environnement local dédié où ils disposent de privilèges root ou administrateur au sein du système d'exploitation pour ajouter et modifier directement des fichiers dans n'importe quel emplacement, auront besoin d'ajuster leur approche lors de la mise à disposition de logiciels sur la plateforme Rescale pour utilisation. Le principal changement de paradigme lors de la publication de logiciels sur la plate-forme Rescale est que vous devez empaqueter votre logiciel de manière à ce que toutes les dépendances soient autonomes dans une zone de répertoire désignée, appelée point de montage ou base de montage de votre logiciel. Étant donné que les logiciels publiés dans le catalogue Rescale doivent être portables (ils peuvent être sélectionnés pour être exécutés avec des tâches sur différents types de cœurs matériels et même sur différents CSP), nous vous recommandons de ne pas installer ou modifier de fichiers directement dans la zone du système d'exploitation. . Il existe certaines dépendances logicielles courantes que Rescale fournit automatiquement, telles que les compilateurs et les bibliothèques MPI qui sont mises à disposition à des emplacements cohérents sous le répertoire de base de montage, pour garantir que votre logiciel publié reste portable. De plus, les outils d'assistance Spub suivants sont également fournis aux utilisateurs qui publient des logiciels sur la plateforme Rescale, qui sont documentés plus en détail ultérieurement.

Lorsque vous travaillez dans un bac à sable virtuel pour télécharger, installer, configurer et valider un logiciel, l'intégralité de la VM ne sera pas enregistrée lors de la publication. Au lieu de cela, un instantané du volume de base de montage et des paramètres d'environnement pertinents sont capturés. Cela a des implications en termes de portabilité de l'installation et doit être manipulé avec précaution. En général, il est conseillé de s'assurer que tous les binaires, scripts, bibliothèques, etc. requis se trouvent tous sous la base de montage que vous spécifiez pour votre logiciel.

A titre d’exemple, si le chemin «/software/my-great-software" comme base de montage, cela peut ressembler à ceci :

  • /software/my-great-software
  • /software/my-great-software/bin
  • /software/my-great-software/scripts
  • /software/my-great-software/lib

Pour garantir une installation portable et alléger une partie du fardeau de l'utilisateur, Rescale fournit un certain nombre de fonctions d'assistance préconfigurées et configurées par défaut pour pointer les installations vers la base de montage sélectionnée dans l'interface utilisateur. Ces fonctions sont préfixées par spub_* et peut être répertorié et décrit à partir d'un terminal sur le cluster avec la commande spub_helper_list. le spub_help La fonction aura toujours le jeu d’instructions le plus à jour à mesure que de nouveaux assistants seront ajoutés.   
L'emplacement de ces fonctions d'assistance spub est installé dans un emplacement par défaut pour chaque sandbox Publisher créé. Ce répertoire est /program/sxp-interactive/util , dénommé SPUBUTILS pour référence dans ce document. Voici une liste du contenu du répertoire :

ce LiPK3hU4hC62EqDMLGIYNDMkvkzoCpWoHmvBIZtA1dvImlMgrypj8KtdGImOBMC0 FbAvCjCrLBQ YrxvT48TDQzgGuzR8qnws1ZvsL1MTpCZgXNHaeCHjVs6mzU2anfq65hk3mFFRWot1 5azWY

Un aperçu des fonctions d'assistance spub disponibles est fourni si vous affichez le fichier suivant : 

> $SPUBUTILS/spub_helper_list | more

tD Kx0OOocWKFZoNmgbyw8wQoDh6lwTg4L7khUAHdptxe7O8i0J uAkX4hlDSyOXl9e0pNb62vUounxyVSBuk3wrj7RKWdgu1GicZYS9Ny1k5F5U uRpvopngopsNu N5 vBUGLUbwo29Tl9DteCy9Y

Lors de l'exécution interactive d'une fonction d'assistance, le programme d'installation devra souvent effectuer des actions, telles que l'ajout de PATH au shell actuel ou la définition d'une variable d'environnement. Ceux-ci seront portés à la connaissance de l'utilisateur via des messages dans le shell. par exemple 

************************************************** ***************

*********************** IMPORTANT **************************

************************************************** ***************

Veuillez exécuter la commande suivante dans votre shell avant de continuer :

    source /programme/mon-grand-logiciel/venv/bin/activate

Il existe plusieurs cas d'utilisation à souligner dans lesquels il est nécessaire d'utiliser les assistants intégrés. 

yum: spub_yum_install 

Généralement, lors de l'utilisation de systèmes de gestion de packages tiers, par exemple yum, dnf, il est conçu pour être installé au niveau du système. Cela nécessite à la fois des droits d'administrateur sur le cluster et place les bibliothèques installées à des emplacements qui ne seront pas transférés à l'analyse publiée. Un emballage qui imite yum install est fourni pour télécharger les RPM et les installer sous la base de montage. Plutôt que de courir sudo yum install cowsay avec l'assistant, la commande devient spub_yum_install cowsay 

Vous pouvez recevoir un message après avoir exécuté spub_yum_install pour exporter les variables d'environnement dans votre shell. Suivez les instructions fournies :

q N7Gq7vspxOH8nf94rLH3df7EzCpW9w C4bPOtOVacUaZ7ZEVbioEmMkhuaA1 2P878f6Og6RLKRHGsSdxvMZZ9E0PazBzTLecqCdEWf0sXsgSkppPhjJ0y9fddtDwmVn M7Rp3kcp 0 EFPAlUPs8

python: spub_add_python_venv

Il est généralement recommandé de créer un environnement virtuel lors de l'exécution de code Python nécessitant un certain nombre de packages externes (par exemple numpy, pandas, …). Pour ce faire dans un sandbox de publication Rescale, l'utilitaire spub_add_python_venv Devrait être utilisé. Cela configurera un environnement virtuel Python avec un choix de version et garantira que tous les packages installés via pip seront disponibles lors de la publication du bac à sable. 

REMARQUE : exécutez toujours le source commande fournie à la fin après spub_add_python_venv complète :

>source /{YOUR_MOUNT_BASE}/venv/bin/activate

Notez que si, pour une raison quelconque, vous rencontrez des problèmes lors de l'exécution de cette fonction d'assistance, vous pouvez la supprimer en exécutant spub_remove_venv et recommencer. Vous ne devez exécuter cette commande qu’une seule fois dans un bac à sable.

Il existe une limitation Python connue qui spub_add_python_venv ne prend pas en charge l'installation de packages non standard ajoutés manuellement au dépôt. La solution de contournement pour ces packages Python consiste à les créer à partir du code source dans le bac à sable.

gcc: spub_update_gcc

La version par défaut de gcc actuellement fournies pour les images de machine sandbox Publisher est assez ancienne. Utilisez l'utilitaire spub spub_update_gcc pour effectuer une mise à niveau vers une version plus récente. Actuellement, seules les versions 7 ou 8 sont prises en charge avec cette fonction d'assistance spub. Si vous avez besoin d'une version plus récente, vous devez l'installer manuellement dans votre environnement sandbox.

tous: spub_validate

Il est recommandé d'exécuter quelques tests de courte durée pendant l'exécution du bac à sable afin de vérifier la bonne configuration du logiciel. Si les binaires s'exécutent et que toutes les bibliothèques sont trouvées, le logiciel devrait être prêt à être publié. Une fois la validation finale terminée,  spub_validate est fourni pour aider à vérifier s'il existe des variables d'environnement ou PATHs qui font référence au répertoire personnel qui ne sera pas transféré aux futurs clusters Rescale. Ceux-ci peuvent finir par être inoffensifs, mais d'un autre côté, il peut être nécessaire d'y remédier par une action telle que déplacer l'emplacement d'un script/bibliothèque, etc. vers la base de montage. par exemple

[uprod_eqrCUc@ip-10-25-10-6 ~]$ spub_validate 

Extraction et enregistrement des paramètres d'environnement actuels

::: AVERTISSEMENT : Vous avez défini un ENV VAR qui fait référence à l'éphémère $HOME dans ce bac à sable : 

          Nom : MAUVAIS_VAR

          Valeur : /enc/uprod_eqrCUc/foo

Après vérification de l'environnement, ce bac à sable peut être publié et cet environnement sera recréé lors des prochaines tâches Rescale. Le résultat de l'exécution de spub_validate est écrit dans le répertoire suivant sous votre point d'installation de logiciel désigné : $MOUNT_BASE/rescale . Trois fichiers sont créés :

  • command_history.txt – capture toutes les commandes exécutées dans votre shell
  • draft_env.sh – fichier intermédiaire si la session se termine prématurément, reprise à la prochaine connexion
  • rescale_env.sh – seuls les ENV ajoutés ou modifiés de manière incrémentielle apparaissent dans ce fichier. Les ENV par défaut générés par Rescale ne sont pas inclus dans ce fichier.

Voici un exemple de résultat d'un résultat réussi spub_validate courir :

NVw3QD560Z T4cnn47JZrgUZlyYeea4M0KB9AyD PbBEfRM8QznQ26NzK6Fr sumGrlSrYsON2G7Wu6hbBGlSALd u 26qInxhYSwPwZAEQQ157k2E oQvp aJJsc CdQ7rMsjMHjAge5GtUW8ycc

Dans cet exemple, les instructions consistent à ajouter un nouveau nom et une nouvelle valeur de variable d'environnement à la version de votre logiciel que vous testez et validez, directement à partir de l'interface utilisateur de l'éditeur :

Image 185

Il existe un assortiment d'autres fonctions d'assistance qui sont essentiellement des installateurs de packages conçus pour créer des éléments de manière à fonctionner de manière optimale sur les clusters Rescale. Ceux-ci suivent une convention de dénomination de spub_add_<pkg>, par exemple. spub_add_R. Il y aura une version par défaut indiquée qui pourra être remplacée par la saisie de l'utilisateur. En plus de créer les packages, ils fourniront des instructions sur la manière de garantir que les actions telles que l'installation de bibliothèques R supplémentaires seront correctement enregistrées et disponibles dans l'analyse publiée. 

Questions Fréquemment Posées

  • Que se passe-t-il si j'ai besoin d'installer une version spécifique de Python qui n'est pas la version par défaut dans le bac à sable ?

Le spub_add_python_venv fonction d'assistance, vous pouvez spécifier la version de Python que vous souhaitez installer dans votre environnement sandbox. Ce sera la première invite que vous verrez :

xBZ7S7oazh4oRUYGsdxkmVKCSwV1ti9m4d32dO6hdNt7gfzXlohAY0HCF4XYCLL1yqHP0PfmWuXYSxGRVq7 oCnO2lxueA8AzsUc63lRkCCo208 HqUCqXZF34Jh SpPCqiPnIZcbSTg1cO5QbyTb6A

En cas de succès, vous verrez un message indiquant que la version Python a été installée dans votre répertoire de base de montage :

Installed Python-3.8.16 to /{YOUR_MOUNT_BASE}/pyenv/versions/3.8.16

IMPORTANT : suivez les instructions fournies à la fin de l'exécution de cette fonction d'assistance, pour sourcer ce fichier :

>source /{YOUR_MOUNT_BASE}/venv/bin/activate
  • Comment puis-je effectuer une installation de Python pip sans nécessiter un accès direct de l'utilisateur root ou sudo dans le bac à sable ?

Suivez d'abord l'exemple ci-dessus pour savoir comment créer votre environnement virtuel Python dans le bac à sable Publisher à l'aide de spub_add_python_venv . Assurez-vous ensuite d'exécuter la commande source par la suite :  source /{YOUR_MOUNT_BASE}/venv/bin/activate  . Après avoir terminé ces étapes, vous pouvez vérifier que les binaires et outils Python auxquels vous faites référence à partir de votre PATH se trouvent désormais à cet emplacement : /{YOUR_MOUNT_BASE}/venv/bin .

bash-4.2$ source /program/SWBASEDIR/venv/bin/activate
(venv) bash-4.2$ which pip
/program/acecast2/venv/bin/pip
(venv) bash-4.2$ which python
/program/SWBASEDIR/venv/bin/python
(venv) bash-4.2$ 

N'oubliez pas de courir aussi spub_validate .

Vous devriez maintenant pouvoir exécuter une commande pip install telle que :

installer pip <pkg-name>

  • Comment puis-je obtenir une version plus récente de gcc ?

Reportez-vous à l'utilitaire d'assistance ci-dessus, spub_update_gcc

  • Lors de l'utilisation des fonctions d'assistance spub*, j'ai reçu un message d'erreur « plus d'espace disponible sur l'appareil ». Comment puis-je récupérer ce message ?

L'exécution d'une installation de python pip peut entraîner l'atteinte de la taille limite du disque du bac à sable si vous avez créé le bac à sable avec une taille de 1 Go. Il n’existe actuellement aucun moyen d’augmenter dynamiquement la taille du disque d’un bac à sable. La solution de contournement est que vous devrez annuler cette session de publication et créer une nouvelle version du logiciel avec une taille de disque sandbox plus grande.

Vous pouvez exécuter le "df -H" pour afficher l'espace disponible sous votre répertoire MOUNT BASE.

Cas d'utilisation avancés

Propriétés Mitelman

Si MPI est nécessaire pour l’analyse souhaitée, d’autres considérations doivent être prises en compte. Il existe plusieurs versions MPI préconfigurées qui peuvent être sélectionnées via l'interface utilisateur du bac à sable de construction. Rescale configurera généralement les versions les plus récentes ou très récentes. Idéalement, ceux-ci conviendront à la plupart des applications, et gardez à l’esprit que de nombreux MPI modernes sont rétrocompatibles. De plus, il existe une compatibilité ABI entre différentes versions, Rescale propose Intel MPI qui peut être utilisé avec du code compilé avec un MPI compatible ABI (par exemple MPICH). Il est possible d'installer un MPI depuis les sources ou via un système de gestion de packages tel que Spack, cependant, cela n'est pas recommandé. 

Lorsqu'une version MPI du bac à sable est sélectionnée, certains scripts wrapper MPI fournis par Rescale seront ajoutés pour aider à garder l'installation aussi portable que possible. La commande mpirun est un alias et ajoutera par défaut les bibliothèques et les indicateurs nécessaires en fonction du type de matériel sur lequel le logiciel sera exécuté à l'avenir. Il est recommandé de conserver cette abstraction en place, ce qui devrait se produire à moins que les PATH ne soient explicitement définis pointant vers un mpirun différent de celui par défaut. Cela permet également de maintenir un comportement canonique dans les logiciels publiés par Rescale HPC et les analyses auto-publiées.  

Si vous compilez un code à partir des sources, il sera probablement nécessaire de pointer vers une configuration vers l'emplacement MPI approprié. Quelle que soit la version MPI, l'emplacement sera stocké dans la variable d'environnement MPI_ROOT. Une étape de configuration dans le paradigme de création traditionnel pourrait ressembler à :  

      $./configure --with-mpi=$MPI_ROOT --prefix=/program/my-great-install … 

Compilateurs Intel

Rescale fournit la boîte à outils Intel oneAPI dans le cadre du système d'exploitation sandbox sous /opt/rescale/oneapi. Vous pouvez sélectionner cette option lors de la publication d'une nouvelle version du logiciel avec Publisher – sur la page de la version sandbox, sélectionnez « Intel MPI 2019 » comme version MPI. Pour que les composants du compilateur Intel soient disponibles dans votre PATH, vous devez sourcer le fichier suivant dans votre sandbox :

  • source /opt/rescale/oneapi/setvars.sh

Vous pouvez également utiliser des noms de chemin absolus vers les artefacts du compilateur.

Limites connues

  • Les logiciels de publication fonctionnant sous le système d'exploitation Windows ne sont pas pris en charge
  • Les images logicielles de grande taille prendront plus de temps lors de la publication de nouvelles versions
  • La première fois qu'une nouvelle version du logiciel est utilisée pour exécuter une tâche de simulation, il peut y avoir un délai de mise en cache qui entraînera un démarrage lent de la tâche.
  • Interface de ligne de commande (CLI) et l'accès direct à l'API n'est pas pris en charge pour le moment