我試圖透過 --user-data 將 bash 腳本傳遞給rackspace-cloud 上的「nova boot」雲初始化。我使用了以下命令:
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 就在那裡等著我。