Ich habe versucht, ein Bash-Skript mit „Nova Boot“ über --user-data an Cloud-Init auf Rackspace-Cloud zu übergeben. Ich habe den folgenden Befehl verwendet:
nova boot --key-name mykey1 --image "Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)" --flavor general1-2 --user-data /tmp/tmpL3WNsB/cloudinit.sh qa-pro-24a
Ich kann sehen, dass der Server qa-pro-24a erfolgreich erstellt wurde. Aber cloudinit.sh wird auf dem erstellten Server nicht ausgeführt. Die Datei cloudinit.sh war:
root@qa-master:/tmp/tmpL3WNsB# cat cloudinit.sh
#!/bin/bash
echo "192.168.4.8 net1" >> /etc/hosts
ufw allow ssh/tcp
ufw --force enable
Antwort1
Sie müssen --config-drive true
Ihre Parameter ergänzen.
nova boot --config-drive true --user-data hello.sh --key-name rackspace --image "Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)" --flavor general1-2 qa-pro-24a
mit diesem Skript
#!/bin/sh
echo "Hello World. The time is now $(date -R)!" | tee /root/output.txt
und /root/output.txt wartete dort auf mich, als ich mich anmeldete.