Вывод Openstack Heat Template для команды powershell

Я создаю шаблон Heat с командами Powershell, и мой шаблон не выполняется после добавления раздела развертывания. Я добавил этот раздел, чтобы получить вывод для команд. Ниже показан шаблон, который я использую:

heat_template_version: 2016-10-14

description: Template to install HyperV Feature in Server

resources:
   floating_ip:
      type: OS::Neutron::FloatingIP
      properties:
         floating_network: Net_External_16

   instance:
      type: OS::Nova::Server
      properties:
         name: machine2
         flavor: LARGE
         networks:
            - network: 71xxxx85-8a24-475b-9xxc-169xxxxxbb0
         security_groups:
            - default
            - all_open
         block_device_mapping_v2:
            - device_name: /dev/vpa
              volume_id: {get_resource: volume}
              delete_on_termination: "true"
   volume:
      type: OS::Cinder::Volume
      properties:
         size: 25
         image: 51xxxxxbe-44e6-4206-920c-xxxxxxxxxx
         name: {get_param: volumename}

   ps_script:
      type: OS::Heat::SoftwareConfig
      properties:
         group: ungrouped
         config:
            str_replace:
               template: |
                  #ps1_sysnative
                  $log = New-Item "C:\check_file.txt" -Type File
                  start-sleep -s 20
                  install-windowsfeature -Name DNS -IncludeManagementTools
                  start-sleep -s 60
                  $pass = "_parameter_1_"
                  Add-content $log $pass

               params:
                  _parameter_1_: {get_param: parameter1}

   association:
      type: OS::Neutron::FloatingIPAssociation
      properties:
         floatingip_id: {get_resource: floating_ip}
         port_id: {get_attr: [instance, addresses, 71xxxxx85-8a24-4xxb-9xxc-16xxxx84bb0, 0, port]}

   deployment:
      type: OS::Heat::SoftwareDeployment
      properties:
         config: {get_resource: ps_script}
         server: {get_resource: instance }

outputs:
   instance_ip:
      description: Ipaddress
      value: {get_attr: [instance,addresses]}
   result:
     description: Checkoutput
     value: {get_attr: [deployent]}

Если кто-нибудь пробовал этот же метод или любое другое решение, они могут предоставить вывод для команд powershell, выполняемых из шаблона.


person hgoyal    schedule 23.05.2018    source источник
comment
Какую именно ошибку вы получаете?   -  person sauumum    schedule 23.05.2018
comment
Когда вы попытались запустить стек, какое сообщение об ошибке вы получили?   -  person    schedule 23.05.2018
comment
Точно ошибка, которую я не получаю. Создание стека начинается, но он остается в состоянии выполнения. Если у вас есть какой-либо образец шаблона для получения вывода команды powershell в шаблоне тепла, пожалуйста, поделитесь им. Это будет действительно полезно.   -  person hgoyal    schedule 25.05.2018
comment
Мне было трудно найти четкие ресурсы о том, как это сделать. Ваш пост помог мне, и я заработал, используя ответ kvmahesh ниже.   -  person quest4truth    schedule 04.03.2019


Ответы (1)


Добавьте строку user_data_format: SOFTWARE_CONFIG в свойства OS::Nova::Server:

instance:
  type: OS::Nova::Server
  properties:
     name: machine2
     flavor: LARGE
     networks:
        - network: 71xxxx85-8a24-475b-9xxc-169xxxxxbb0
     security_groups:
        - default
        - all_open
     block_device_mapping_v2:
        - device_name: /dev/vpa
          volume_id: {get_resource: volume}
          delete_on_termination: "true"
     user_data_format: SOFTWARE_CONFIG

Эта строка требуется при наличии другого ресурса для настройки программного обеспечения.

А также опечатка в разделе вывода deployent -> deployment

outputs:
  instance_ip:
    description: Ipaddress
    value: { get_attr: [instance,addresses] }
  result:
   description: Checkoutput
   value: { get_attr: [deployment] }

Примечание. Добавьте space после { и перед }. Например :

 { get_resource: volume }
person Community    schedule 21.06.2018