--user-data를 통해 'nova boot'를 사용하여 Rackspace-cloud의 cloud-init에 bash 스크립트를 전달하려고 했습니다. 다음 명령을 사용했습니다.
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가 나를 기다리고 있었습니다.