2

我正在尝试使用 HEAT 模板自定义在 openstack mikata 中创建的新实例。在 user_data 中使用带有脚本的 OS::Nova::Server 可以正常工作。

接下来的想法是通过 OS::Heat::SoftwareConfig 执行其他步骤。配置是:

type: OS::Nova::Server
....
  user_data_format: SOFTWARE_CONFIG
  user_data:
    str_replace:
      template:
        get_file: vm_init1.sh


config1:
    type: OS::Heat::SoftwareConfig
    depends_on: vm
    properties:
      group: script
      config: |
        #!/bin/bash
        echo "Running $0 OS::Heat::SoftwareConfig look in /var/tmp/test_script.log" | tee /var/tmp/test_script.log

  deploy:
    type: OS::Heat::SoftwareDeployment
    properties:
      config:
        get_resource: config1
      server:
        get_resource: vm

该实例设置得很好(上面的脚本 vm_init1.sh 运行良好)并且可以登录,但是上面的“config1”示例永远不会执行。

分析 - 基础映像是 Ubuntu 16.04,使用 disk-image-create 创建并包括“vm ubuntu os-collect-config os-refresh-config os-apply-config heat-config heat-config-script” - 来自“openstack stack资源列表 $vm" 看到部署永远不会失败,OS::Heat::SoftwareDeployment status=CREATE_IN_PROGRESS - "openstack stack resource show $vm config1" 显示 resource_status=CREATE_COMPLETE - 在 vm 中,/var/log/cloud-init -output.log 显示脚本 vm_init1.sh 的输出,但没有“config1”脚本的痕迹。日志 os-apply-config.log 是空的,这正常吗?

如何对 OS::Heat::SoftwareDeployment 配置进行故障排除?

(我已阅读https://docs.openstack.org/developer/heat/template_guide/software_deployment.html#software-deployment-resources

4

0 回答 0