[heat] software deployment doen not work on queens (timed out)

Ignazio Cassano ignaziocassano at gmail.com
Fri Oct 25 19:08:27 UTC 2019


Hello All,
I created a simple heat stack on queens with SoftwareDeployment but it does
not terminate because timed out.
The following is my simple stack template:
heat_template_version: queens

parameters:
  key_name:
    type: string
    default: opstkcsi
  flavor:
    type: string
    default: m1.small
  image:
    type: string
    default: centos7
resources:
  config:
    type: OS::Heat::SoftwareConfig
    properties:
      inputs:
      - name: previous
        default: 'NONE'
      group: script
      config: |
        #!/bin/bash
        echo "Previous: $previous"
        echo "${deploy_resource_name} is running on $(hostname) at $(date)"
  deployment_a:
    type: OS::Heat::SoftwareDeployment
    properties:
      config:
        get_resource: config
      server:
        get_resource: server_a
  deployment_b:
    type: OS::Heat::SoftwareDeployment
    properties:
      input_values:
        previous:
          get_attr: [deployment_a, deploy_stdout]
      config:
        get_resource: config
     server:
        get_resource: server_b
  deployment_c:
    type: OS::Heat::SoftwareDeployment
    depends_on: deployment_b
    properties:
      input_values:
        previous: 'deployment_b'
      config:
        get_resource: config
      server:
        get_resource: server_a
  server_a:
    type: OS::Nova::Server
    properties:
      flavor:
        get_param: flavor
      networks:
      - network: "565"
      key_name:
        get_param: key_name
      block_device_mapping: [{ device_name: "vda", volume_id : {
get_resource : volume1 }, delete_on_termination : "false" }]
      user_data_format: SOFTWARE_CONFIG
  server_b:
    type: OS::Nova::Server
    properties:
      flavor:
        get_param: flavor
      networks:
      - network: "565"
      key_name:
        get_param: key_name
      block_device_mapping: [{ device_name: "vda", volume_id : {
get_resource : volume2 }, delete_on_termination : "false" }]
      user_data_format: SOFTWARE_CONFIG
  volume1:
      type: OS::Cinder::Volume
      properties:
        name: "Server-RootDisk"
        image: { get_param: image }
       size: 20
  volume2:
      type: OS::Cinder::Volume
      properties:
        name: "Server-RootDisk"
        image: { get_param: image }
        size: 20
outputs:
  deployment_a_stdout:
    value:
      get_attr: [deployment_a, deploy_stdout]
  deployment_b_stdout:
    value:
      get_attr: [deployment_b, deploy_stdout]
  deployment_c_stdout:
    value:
      get_attr: [deployment_c, deploy_stdout]

It works on ocata but timed out on queens.
I connected on the first virtual machine for debugging and I launched:
ystemctl stop os-collect-config.service
and then:
sudo os-collect-config --force --one-time --debug

It reports the following:
HTTPConnectionPool(host='10.102.184.83', port=8000): Read timed out. (read
timeout=10.0)
Source [cfn] Unavailable.
/var/lib/os-collect-config/local-data not found. Skipping
[2019-10-25 21:02:31,948] (os-refresh-config) [INFO] Starting phase
pre-configure
dib-run-parts ven 25 ott 2019, 21.02.31, CEST -----------------------
PROFILING -----------------------
dib-run-parts ven 25 ott 2019, 21.02.31, CEST
dib-run-parts ven 25 ott 2019, 21.02.31, CEST Target: pre-configure.d
dib-run-parts ven 25 ott 2019, 21.02.31, CEST
dib-run-parts ven 25 ott 2019, 21.02.31, CEST Script
              Seconds
dib-run-parts ven 25 ott 2019, 21.02.31, CEST
---------------------------------------  ----------
dib-run-parts ven 25 ott 2019, 21.02.31, CEST
dib-run-parts ven 25 ott 2019, 21.02.31, CEST
dib-run-parts ven 25 ott 2019, 21.02.31, CEST --------------------- END
PROFILING ---------------------
[2019-10-25 21:02:31,987] (os-refresh-config) [INFO] Completed phase
pre-configure
[2019-10-25 21:02:31,987] (os-refresh-config) [INFO] Starting phase
configure
dib-run-parts ven 25 ott 2019, 21.02.32, CEST Running
/usr/libexec/os-refresh-config/configure.d/20-os-apply-config
[2019/10/25 09:02:32 PM] [INFO] writing /var/run/heat-config/heat-config
[2019/10/25 09:02:32 PM] [INFO] writing /etc/os-collect-config.conf
[2019/10/25 09:02:32 PM] [INFO] success
dib-run-parts ven 25 ott 2019, 21.02.32, CEST 20-os-apply-config completed
dib-run-parts ven 25 ott 2019, 21.02.32, CEST Running
/usr/libexec/os-refresh-config/configure.d/55-heat-config
dib-run-parts ven 25 ott 2019, 21.02.32, CEST 55-heat-config completed
dib-run-parts ven 25 ott 2019, 21.02.32, CEST -----------------------
PROFILING -----------------------
dib-run-parts ven 25 ott 2019, 21.02.32, CEST
dib-run-parts ven 25 ott 2019, 21.02.32, CEST Target: configure.d
dib-run-parts ven 25 ott 2019, 21.02.32, CEST
dib-run-parts ven 25 ott 2019, 21.02.32, CEST Script
              Seconds
dib-run-parts ven 25 ott 2019, 21.02.32, CEST
---------------------------------------  ----------
dib-run-parts ven 25 ott 2019, 21.02.32, CEST
dib-run-parts Fri Oct 25 21:02:32 CEST 2019 20-os-apply-config
               0.316
dib-run-parts Fri Oct 25 21:02:32 CEST 2019 55-heat-config
               0.165
dib-run-parts ven 25 ott 2019, 21.02.32, CEST
dib-run-parts ven 25 ott 2019, 21.02.32, CEST --------------------- END
PROFILING ---------------------
[2019-10-25 21:02:32,530] (os-refresh-config) [INFO] Completed phase
configure
[2019-10-25 21:02:32,530] (os-refresh-config) [INFO] Starting phase
post-configure
dib-run-parts ven 25 ott 2019, 21.02.32, CEST Running
/usr/libexec/os-refresh-config/post-configure.d/99-refresh-completed
++ os-apply-config --key completion-handle --type raw --key-default ''
+ HANDLE=
++ os-apply-config --key completion-signal --type raw --key-default ''
+ SIGNAL=
++ os-apply-config --key instance-id --type raw --key-default ''
+ ID=i-00000049
+ '[' -n i-00000049 ']'
+ '[' -n '' ']'
+ '[' -n '' ']'
++ os-apply-config --key deployments --type raw --key-default ''
++ jq -r 'map(select(.group == "os-apply-config") |
              select(.inputs[].name == "deploy_signal_id") |
              .id + (.inputs | map(select(.name == "deploy_signal_id")) |
.[].value)) |
              .[]'
+ DEPLOYMENTS=
+ DEPLOYED_DIR=/var/lib/os-apply-config-deployments/deployed
+ '[' '!' -d /var/lib/os-apply-config-deployments/deployed ']'
dib-run-parts ven 25 ott 2019, 21.02.33, CEST 99-refresh-completed completed
dib-run-parts ven 25 ott 2019, 21.02.33, CEST -----------------------
PROFILING -----------------------
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST Target: post-configure.d
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST Script
              Seconds
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
---------------------------------------  ----------
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts Fri Oct 25 21:02:33 CEST 2019 99-refresh-completed
               1.231
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST --------------------- END
PROFILING ---------------------
[2019-10-25 21:02:33,811] (os-refresh-config) [INFO] Completed phase
post-configure
[2019-10-25 21:02:33,811] (os-refresh-config) [INFO] Starting phase
migration
dib-run-parts ven 25 ott 2019, 21.02.33, CEST -----------------------
PROFILING -----------------------
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST Target: migration.d
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST Script
              Seconds
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
---------------------------------------  ----------
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST
dib-run-parts ven 25 ott 2019, 21.02.33, CEST --------------------- END
PROFILING ---------------------
[2019-10-25 21:02:33,848] (os-refresh-config) [INFO] Completed phase
migration


The first line:
HTTPConnectionPool(host='10.102.184.83', port=8000): Read timed out. (read
timeout=10.0)
Source [cfn] Unavailable.

It is strange: 10.102.184.83 is the vip public endpoint reported in my
heat.conf:
heat_metadata_server_url = http://10.102.184.83:8000
heat_waitcondition_server_url = http://10.102.184.83:8000/v1/waitcondition

The virtual machine can contact the above addres on port 8000.
Please, anyone can help me ?
Regards
Ignazio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20191025/743f440c/attachment-0001.html>


More information about the openstack-discuss mailing list