Introduction
Ce document décrit comment résoudre un problème lié à la localisation de VMware.
Conditions préalables
Conditions requises
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Comment activer la journalisation du débogage sur un Cloud Center Orchestrator (CCO)
- Comment modifier des fichiers sous Linux (avec vim, nano, etc.)
- Comment utiliser des chaînes regex
Components Used
Ces informations dans ce document sont basées sur > Cloud Center V 4.6.0.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Problème
Lorsque vous tentez de déployer une application sur VMware, elle échoue parfois avec l'erreur « le périphérique '0' fait référence à un contrôleur non existant '0'« . Ce message d'erreur peut être affiché dans une autre langue. Le problème n'apparaît que si l'application ou l'instance répertorie un stockage supplémentaire.
Ce problème est défini dans CORE-15287.
Solution
La question est répertoriée dans le CORE-11988.
Cloud Center (CC) exécute un regex par rapport aux ressources Vcenter. Cependant, si Vcenter est installé avec une localisation différente (japonais, français, etc.), les ressources retournées à CC sont dans un jeu de caractères différent et le regex échouera.
1. Secure Shell (SSH) dans CCO.
2. Ouvrez /usr/local/tomcat/webapps/ROOT/WEB-INF/gateway.properties.
3. Ajoutez une nouvelle ligne vmware.sci0.label.regex : .*SCSI\\s.*0.
4. Ce regex devrait fonctionner pour la localisation française et toute localisation qui a un mot avant SCSI puis le numéro de contrôleur 0, cela pourrait devoir être modifié pour certaines localisations.
5. Arrêtez et démarrez le serveur tomcat.
6. Redéployer.
Si vous recevez toujours la même erreur :
1. Activez la journalisation du débogage sur CCO.
2. Déployez une autre application.
3. Cat /usr/local/tomcat/logs/osmosix.log | grep « SCSI0 Label check user configure regex ».
5. Cette opération renvoie ce que le CCO utilise pour rechercher le SCSI 0.
6. Utilisez la sortie pour modifier les propriétés de la passerelle afin que CC recherche correctement VMware, si la sortie est nulle, vous avez rencontré un bogue avec Spring, qui est utilisé pour charger le fichier de propriétés.
Il existe une solution de contournement pour appliquer correctement le regex :
1. cat /usr/local/tomcat/logs/osmosix.log | grep « PropertyPlaceholderConfiguration ».
Note: Le premier fichier listé dans cette capture d'écran est /osmosix-commons-cloudprovider-4.8.0.jar.
2. /etc/init.d/tomcat stop.
3. cd /tmp.
4. cp /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/fileidentified.jar /tmp.
5. jar xvf fileidentifier.jar spring/cloud/nsx.properties.
6. Ouvrez nsx.properties à modifier.
7. Ajoutez la ligne vmware.scsci0.label.regex=.*SCSI\\s.*0.
8. jar uf fileidentifier.jar /spring/cloud/nsx.properties.
9. cp /tmp/filespecified.jar /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/.
10. /etc/init.d/tomcat start.
Essayez de déployer une autre application et vérifiez à nouveau à l'aide de ces étapes pour confirmer que regex a été correctement appliqué.