1.cloud-init的user_data写入文件,然后执行脚本
openstack server create --image 6d43b317-0694-47d9-adbf-a41ae1ebe5ca --flavor 750a9568-42bd-42c0-9d16-240b2f0ff79f --availability-zone nova --nic port-id=784c4897-2f07-416b-8009-f1c87789a720 --user-data user_data 测试cloud-init
如果是调用api,需要将user_data使用base64编码
文件内容如下:
#cloud-config
package_update: true
ssh_pwauth: false
ssh_authorized_keys:
- ssh-rsa xxxxxxxxxxx lei.deng@newtouch.cn
chpasswd:
list: |
root:newtouch
expire: False
runcmd:
- echo denglei > /etc/hostname
- sed -i 's/127.0.0.1.*/& denglei/g' /etc/hosts
- hostname denglei
遇到类似
2014-03-08 15:36:02.865 16855 WARNING nova.api.metadata.handler [-] X-Instance-ID-Signature: ed0c9bbac98384bb1d4f2b0923e33488af7ac2fbbaac0aef6fe2b80257cded79 does not match the expected value: 93008c9f8f5a8ddda5a9fd48fb29b53db2e2ef1c76684ef4f6e5152fc951885d for id: c011b486-3cfd-4e33-8fb8-526abe1e51fb. Request From: 10.50.50.2
的问题是因为/etc/neutron/metadata_agent.ini文件的[DEFAULT]
metadata_proxy_shared_secret = METADATA_SECRET
与/etc/nova/nova.conf
文件的
metadata_proxy_shared_secret = METADATA_SECRET不一致造成的。
镜像中需要安装qemu-guest用于改密码
clound-init用于创建时注入user_data