在OpenStack中创建实例时指定安装后脚本[python-novaclient]

时间:2015-04-08 08:57:38

标签: python openstack novaclient

我有一个工作的python程序,由于python-novaclient库,它能够在OpenStack上创建实例。

现在我想在创建时提供一个安装后脚本。我查看了Servers .create()方法的文档,但似乎没有实现。

有没有人遇到过这个问题?


修改

在Horizo​​n中,当我们创建一个实例时,textarea旁边会有关于安装后脚本的信息:

  

"自定义脚本"字段类似于"用户数据"在其他系统中。

这是否意味着userdata是我需要的参数?

  

userdata - 要传递给元数据服务器的用户数据,这也可以是文件类型对象或字符串。

2 个答案:

答案 0 :(得分:2)

确实解决方案在userdata

这是我编写的用于解决问题的Python代码:

## Return the new created instance
# @param name Name of the instance to create in a String format
# @param image OpenStack image to deploy on the virtual machine
# @param flavor OpenStack flavor to use for the virtual machine
# @param keypair Name of the keypair to copy on the instance
# @param sec_groups List of security groups to link to the instance
def create_instance(self,name,image,flavor,keypair=None,sec_groups=None):
  instance = self.client.servers.create(
    name=name,
    image=image,
    flavor=flavor,
    key_name=keypair,
    security_groups=sec_groups,
    userdata="#!/bin/bash \n echo 'AMAZING TEST' > /root/test"
  )
  return instance

答案 1 :(得分:1)

尝试启用配置驱动器。用户数据可以通过配置驱动器发送到VM。

相关问题