--user-data 経由で 'nova boot' を使用して、bash スクリプトを rackspace-cloud 上の cloud-init に渡そうとしていました。次のコマンドを使用しました。
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
サーバー qa-pro-24a が正常に作成されたことがわかります。ただし、作成されたサーバーで cloudinit.sh が実行されません。cloudinit.sh ファイルは次のとおりでした。
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
答え1
--config-drive true
パラメータを追加する必要があります。
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
このスクリプトで
#!/bin/sh
echo "Hello World. The time is now $(date -R)!" | tee /root/output.txt
ログインすると、/root/output.txt がそこにありました。