云初始化验证器

时间:2019-01-29 18:11:08

标签: cloud-init

想知道是否有人知道可以验证类似于this的cloud-init配置的验证器。我们对其进行了尝试,并给出了一堆不适用的错误,例如,它无法识别package_update,这是一个标准关键字,例如可以在官方文档中找到here。因此,我们正在寻找一种有效的验证器,该验证器可以识别官方documentation中的关键字。

enter image description here

1 个答案:

答案 0 :(得分:1)

我最近也打了这个,发现了一个很好的方法。

在Ubuntu中,您可以使用以下方法正确验证文件解析。

cloud-init devel schema --config-file bob.txt

如果文件有效或无效,这将给您以下通知

:~$ sudo cloud-init devel schema --config-file bob.txt
Valid cloud-config file bob.txt

$ nano bob.txt #edited the yaml to make it invalid
:~$ sudo cloud-init devel schema --config-file bob.txt
Cloud config schema errors: format-l2.c1: File bob.txt is not valid yaml. while parsing a block mapping
  in "<byte string>", line 2, column 1:
    package_upgrade: true
    ^
expected <block end>, but found '-'
  in "<byte string>", line 6, column 1:
    - 'curl -fsSL https://get.docker ... 
    ^

使用云初始化文件cloud-init status --waitcli上的许多其他命令非常有用。

在进一步检查中,似乎没有发现很多类型的错误,但是Cloud Init docs将其列为正在进行的工作。

  

cloud-init开发架构:#cloud-config格式和架构验证器。它接受cloud-config yaml文件,并在本地注释潜在的模式错误,而无需部署。模式验证正在进行中,并且支持一部分云配置模块。