Comment relancer cloud-init sans redémarrer

j'utilise openstack pour créer une VM en utilisant la commande 'nova boot'. Mon image est cloud-init activé. Je passe un script -- user-data qui est un format shell bash pour cloud-init à exécuter pendant le démarrage de VM. Tout cela se produit avec succès. Maintenant, mon cas d'utilisation est de relancer cloud-init pour exécuter le même script de données utilisateur sans redémarrer la VM. J'ai vu les options /usr/bin/cloud-init et ils parlent d'exécuter des modules spécifiques mais rien n'est capable de le faire exécuter le même script de données utilisateur. Comment atteindre cet objectif ? Toute aide serait appréciée.

15
demandé sur user3532850 2014-04-14 20:46:11

4 réponses

pour que cloud-init se réinitialise, vous devez exécuter rm -rf /var/lib/cloud/instances.

puis relire le cloud-init start et il lancera à nouveau le processus complet de script de démarrage.

17
répondu benh57 2017-07-20 23:13:34

puisque cela continue à apparaître dans les résultats de recherche, ce qui fonctionne pour moi:

  1. Supprimer les sémaphores dans /var/lib/cloud/instances/i-xxxxxxx/sem. Cloud-init ne redémarrera pas si ces fichiers sont présents.
  2. Modifier /var/lib/cloud/instances/i-xxxxxxxx/scripts/part-001. C'est votre script de données utilisateur.
  3. Exécuter le module user scripts de cloud-init. Ceci ne va pas re-télécharger les données de l'utilisateur mais exécuter le script déjà téléchargé (et maintenant modifié) à partir de step 2.

    sudo /usr/bin/cloud-init single -n cc_scripts_user

7
répondu kadrach 2017-02-02 04:51:22

pour exécuter le module packages de la partie cloud-config de cloud-init, vous pouvez exécuter

# cloud-init-cfg all config

pour exécuter le module runcmd de la partie cloud-config de cloud-init, vous pouvez exécuter

# cloud-init-cfg all final
1
répondu jrwren 2014-05-20 19:35:07

les commandes ont été mises à jour donc pour relancer vous devez clean la configuration existant:

sudo cloud-init clean

puis relancez le en utilisant le init la directive

sudo cloud-init init

attention: des choses comme les clés de l'hôte ssh peuvent être régénérées.

0
répondu Pierz 2018-06-18 14:15:04