Public Cloud-old - Installation de OpenStack Mistral (snapshots automatiques)
... / Installation de OpenStack...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Installation de OpenStack Mistral (snapshots automatiques)

Von
CorentinP3
Erstellungsdatum 2019-04-18 15:08:38 (edited on 2024-09-04 13:19:36) in Public Cloud-old

Bonjour,

J'ai besoin que mon serveur fasse un snapshot automatique tous les x temps.
Après avoir contacté l'assistance OVH on m'a dit que cela été possible grâce à la version BETA de OpenStack Mistral et m'ont envoyé sur ce lien pour l'installer : https://labs.ovh.com/public-cloud-backup-automation

J'ai donc commencé l'installation mais je suis déjà bloqué dès le début >.< !
Voici sur quelle page j'en suis : https://docs.openstack.org/mistral/latest/install/install-ubuntu.html#installation

Déjà en installant _"mistral-common"_ ça me propose d'entrer un nom d'utilisateur, mot de passes etc pour relier à une base de donnée. Déjà rien que ça je ne suis même pas sûr ce que j'aurais dû mettre...

Et là je suis bloqué à la commande _"tox -egenconfig"_.
Voici le résultat lorsque j'entre la commande :
image

Et l'erreur qui s'affiche au bout de 2 minutes :
image

Des fois que l'erreur ne serait pas assez visible sur le screen voici ce que ça met :
ERROR: genconfig: could not install deps [-chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt, -r/mistral/test-requirements.txt, -r/mistral/requirements.txt, py_mini_racer]; v = InvocationError('/mistral/.tox/genconfig/bin/pip install -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt -r/mistral/test-requirements.txt -r/mistral/requirements.txt py_mini_racer (see /mistral/.tox/genconfig/log/genconfig-1.log)', 1)

Voilà, ça fait plusieurs heures que je cherche et en plus sans être sûr où chercher alors je tente le coup ici des fois qu'une personne bien plus expérimentée que moi aurait la gentillesse de venir m'aider ^^
Voilà voilà ! Merci d'avance !


29 Antworten ( Latest reply on 2019-04-27 10:19:28 Von
CorentinP3
)

Bonjour,

Je pense qu'il faut utiliser ce call API sur l'apiv6 :
https://api.ovh.com/console/#/cloud/project/%7BserviceName%7D/region/%7BregionName%7D/workflow/backup#GET
Et les autre méthodes.

Le mistral est déjà en place sur nos infras.

Merci pour votre réponse, c'est intéressant.
Maintenant je vais me renseigner sur le fonctionnement car ça ne me dit rien ^^ !
Encore merci !!

Bonjour,

Si j'ai bien compris il suffit simplement de rentrer les valeurs et cela se fait automatiquement ? Pas besoin de faire des manipulations directement sur la console ?

Dans mon cas je me suis dirigé vers : /cloud/project/{serviceName}/region/{regionName}/workflow/backup
Sauf que ça met une erreur lors de l’exécution.

Voici mes valeurs :


Et voici le résultat :


D'ailleurs pour "maxExecutionCount" je n'ai pas bien compris à quoi ça servait. Dans le doute j'ai mis "null".
Mon but est d'effectué une sauvegarde tous les jours à 06h00.

En espérant toucher au but !
Si tu peux m'éclaircir à ce sujet, ou une autre personne ?
Merci :3

Je vais demander à une personné de l'équipe de regarder, je travaille sur le stockage ;)

Merci beaucoup ! :D

Up :3

Salut @CorentinP3

Tout est bon dans tes arguments... sauf pour la partie service name :p
Au vu du nombre de caractére, je pense que tu a mis le tenant name du projet (OS_TENANT_NAME dans le fichier openrc.sh).
Tu dois mettre le tenant ID du projet en fait : OS_TENANT_ID du fichier openrc.sh.
La valeur en question est également dispo dans ton espace client juste sous le nom du projet.
Après, ça fonctionne :


Jalinn

Bonjour,

Merci pour ta réponse :) ! J'ai bien changé le serviceName par ce que tu m'as conseillé mais cette fois j'ai une autre erreur.

Voici toutes mes valeurs :


Et voici la nouvelle erreur :


J'ai même vérifié si je n'ai pas fait une erreur de frappe et je ne pense pas. D'autant plus que pour serviceName et instanceID j'ai effectué un copié/collé.
J'ai aussi essayé en mettant la valeur "null" à maxExecutionCount et en ne mettant rien et toujours la même erreur :/

Une idée ce que ça pourrait être ^^' ? Merci d'avance !

Je pense simplement que ton token d'accès à l'API a expiré.
Reconnecte toi simplement en haut a droite avec tes ID OVH @CorentinP3.

Jalinn.

C'est ce que j'ai fait et maintenant ça me dit que la valeur "cron" est invalide x) !

Valeurs :


Erreur :


Mon but est d'effectué une sauvegarde tous les jours à 06h00.

ta syntaxe ne semple pas être prise en compte par l'API/Openstack.
dans le screen que je t'ai transmis j'ai mis ça :
> 0 6 * * *

Pour voir et t'aider dans la génération de ta cron, ce site peut t'aider :
https://1generator.org/generator.org/

tu met n'importe quoi dans la partie "Command To Execute", ici, c'est juste pour la syntaxe de l'horaire.

Jalinn

Voilà, je viens d'exécuter.
Je n'ai eu aucun message de confirmation, ni d'erreur... Est-ce bon d'après toi ?
Je n'ai rien à faire de plus ?

Si pas d'erreur, c'est que c'est bon :)

Pour lister tes tâches sur le projet :
https://api.ovh.com/console/#/cloud/project/%7BserviceName%7D/region/%7BregionName%7D/workflow/backup#GET GET /cloud/project/{serviceName}/region/{regionName}/workflow/backup
=> note l'ID de la task pour les details et autres

Le detail d'une tâche :
https://api.ovh.com/console/#/cloud/project/%7BserviceName%7D/region/%7BregionName%7D/workflow/backup/%7BbackupWorkflowId%7D#GET GET /cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}

Et enfin, la suppression :
https://api.ovh.com/console/#/cloud/project/%7BserviceName%7D/region/%7BregionName%7D/workflow/backup/%7BbackupWorkflowId%7D#DELETE DELETE /cloud/project/{serviceName}/region/{regionName}/workflow/backup/{backupWorkflowId}

Jalinn

Ce qui veut dire qu'il a bien repéré la backup automatique je suppose ? :)

C'est ça : )

Jobs done...

Résultat demain matin maintenant :p

Super j'espère que ça fonctionnera ^^ ! Ca me paraît trop beau que ce soit si simple haha !
Je repasserais donner des nouvelles demain matin ;) !

Merci !

Bon et bien il est 09h00 et je ne vois aucun backup dans la liste.. :/



Une idée de ce que ça pourrait être ?

Hello

Volume backup c'est pour les disques additionnel.
Va voir dans la liste de tes images directement.
Aussi accessible depuis espace client :)

Ah d'accord, en effet ! Merci bien :) !

Je vais maintenant regarder comment ça fonctionne et ensuite essayer de faire la même chose mais sur mon autre serveur qui contient un disque supplémentaire. Ca va encore être autre chose je pense ^^

Je donnerais des nouvelles :) ! Encore merci !

Cool, bonne nouvelle :)

Oui, le volume additionnel ne sera pas pris en compte dans le Snap.
Pas encore eu le temps de voir si possible de l'intégrer a mistral via l'API que tu as utilisé...

Hésite pas a nous dire ce qui en ai :)

Jalinn.

Bonjour,

Alors ça fonctionne bien sauf que ce qui m'intéresse c'est de pouvoir sauvegarder un disque supplémentaire grâce à un snapshot. J'ai donc parcouru la liste des APIs pour voir si cela était possible et on dirait bien que oui.

Mais j'hésite entre celle là :


Et celle là :


Je pencherais plutôt pour la deuxième vu qu'elle demande l'ID du volume alors que ce n'est pas le cas pour la première. Et sans ça je vois mal comment l'API peut deviner sur quel volume elle doit accomplir la tâche.
Je préfère demander à des professionnels pour être sûr haha x) Pas envie de prendre le risque de foutre en l'air mes données.

Merci d'avance :3 !!

Salut @CorentinP3

Je te confirme que c'est bien le second call qui faut utiliser.
Le post va initier une action.
Le get, fournir une information.

Par contre, ce ne sera pas avec mistral, ce sera donc forcément un one-shot et tu devra faire appel a cette API manuellement ou au travers d'un script perso (tournant tout seul via une cron par exemple).

Jalinn.

D'accord merci pour ces précisions, je vais voir comment faire.
Je reviendrais donner des nouvelles si j'en sais davantage :)

Bonjour,

Eh bien me revoilà x3 !
Je n'ai jamais su comment exécuter une API via un script et j'ai donc tenté de faire plusieurs recherches sur internet mais étonnement je n'ai vu aucun tutoriel expliquant comment faire.
Pour le reste je devrais m'en sortir, je sais comment exécuter un script à partir d'une cron sauf que je n'ai aucune idée de ce qu'il faut mettre dans ce script...

Salut @CorentinP3

Tu à plusieurs façon de scripter cela.

La plus simple (à mon sens en tout cas), c'est de faire un simple script sh utilisant les API Openstack.
voici un exemple _très basique_ pour la création d'un snap (je suis pas dev et le scripting et moi ça fait deux xD) :
> #!/bin/bash
> source /root/openrc.sh
openstack image create --id [id-instance] snap_server1

Pour faire un snap de volume, ce sera la commande suivante :
> `# openstack snapshot create `

Tu fais appel à ce fichier sh dans ta cron et c'est bon.

Concernant les API OVH, tu peux passer par php ou python.
OVH à fait un github à ce sujet. Tu trouvera sans doute plus d'info de ce coté :
https://github.com/ovh/php-ovh
https://github.com/ovh/python-ovh

Jalinn

Bonjour,

Si j'ai bien compris je dois, à partir du lien "The token creation page" situé sur ce screen... :


M'enregistrer afin de connaître l'application_key , l'application_secret et le consumer_key pour les ajouter à mon script :


Sauf que je ne sais pas du tout ce qu'il faut mettre dans les valeurs "Rights" x3 !
Ensuite, une fois que j'aurais bien mis l'application_key , l'application_secret et le consumer_key sur le script à la place des "xxxxxxxxx", j'aurais juste à copier/coller le code dans mon "script.sh" ?

Salut.

N'ayant jamais jouer avec cette partie, dur de t'aider plus en avant...

Je suppose qu'en laissant par defaut tu donne les droits r/w sur tout...
Sur ce coup, je te conseil de voir directement sur la mailing list dédié aux API.
Pour t'inscrire à la ml, tu envoi un message vide à :
api-subscribe@ml.ovh.net
Aprés, tu pose ta question sur l'adresse :
api@ml.ovh.net

Jalinn

Bonjour,

Ok je vais faire ça, je reviens donner des nouvelles si j'en sais plus :) !
Merci !

J'ai ouvert un nouveau sujet : https://community.ovhcloud.com/community/fr/executer-un-script-php-debian-9?id=community_question&sys_id=97423140b55a0ad0f078da7e5576c955

J'ai généré mes tokens grâce au lien "The token creation page". J'ai laissé "Rights" par défaut.
- J'ai installé PHP sur ma machine.
- J'ai copié/collé le code PHP sur mon script snapshot.php en y entrant les tokens.

Mais maintenant le script ne veut pas s'exécuter.
Pour ceux que ça intéresse d'en savoir plus, rendez-vous sur le lien :)