OpenStackCLI:从 cloudinit 脚本访问 '--property'



使用 OpenStack CLI,我正在创建服务器实例,并且需要将自定义属性 ( --property ) 传递到 --user-data 参数引用的初始化脚本中。

因此,我的调用如下所示:

openstack server create myServer 
  ...other args...
  --user-data ./initScript.sh 
  --property "foo=bar"

initScript.sh如何访问foo属性及其价值?

--property定义的元素进入元数据的meta元素。[来源]

如果您运行

curl http://169.254.169.254/openstack/2018-08-27/meta_data.json

你会得到

{
   "hostname": "test.novalocal",
   …
   "meta": {
      "foo": "bar",
      …
   },
   …
}

要解析 shell 脚本中的值,您可以使用例如:

$ curl http://169.254.169.254/openstack/2018-08-27/meta_data.json 
    | jq -r '.meta.foo'
bar

有关可用于检索此信息的格式和各种方法的详细信息,请参阅元数据服务的文档。

相关内容

最新更新