Bug 1746273

Summary: deployment fails when networks are disabled due to unassigned 'cloud_name_{{network.name_lower}}'
Product: Red Hat OpenStack Reporter: Jaison Raju <jraju>
Component: openstack-tripleo-heat-templatesAssignee: Harald Jensås <hjensas>
Status: CLOSED ERRATA QA Contact: Sasha Smolyak <ssmolyak>
Severity: medium Docs Contact:
Priority: medium    
Version: 15.0 (Stein)CC: amcleod, aschultz, bfournie, dsneddon, hjensas, jraju, mburns
Target Milestone: z2Keywords: Triaged, ZStream
Target Release: 15.0 (Stein)   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-10.6.2-0.20191202200455.41d9f8a.el8ost Doc Type: Bug Fix
Doc Text:
Previously, deploying the stack with all networks disabled failed because the 'cloud_name_{{network.name_lower}}' property was defined for disabled networks. With this update, the 'cloud_name_{{network.name_lower}}' property is no longer added for disabled networks and deployments are successful.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-05 12:00:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jaison Raju 2019-08-28 06:59:42 UTC
Description of problem:
When deploying the stack with all networks disabled & after applying the workaround from https://bugzilla.redhat.com/show_bug.cgi?id=1746252 , the deployment fails as 'cloud_name_{{network.name_lower}}' gets defined for disabled networks 

------------------------------------
Deploying templates in the directory /tmp/tripleoclient-lth8lwqw/tripleo-heat-templates
Initializing overcloud plan deployment
Creating overcloud Heat stack
Error during stack creation: ERROR: Property error: : resources.allNodesConfig.properties: : Pro
perty cloud_name_storage not assigned
------------------------------------

Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-10.6.1-0.20190823114746.30390bc.el8ost.noarch

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:
Deployment tries to define parameters specific to network which are disabled.
Hence it fails as these parameters are not defined.

Expected results:
Deployment succeeds.

Additional info:

Comment 1 Jaison Raju 2019-08-28 07:01:12 UTC
Complete error:

$ sh director_template_repository/baremetal11/RHOS15/templates/overcloud_deploy.sh                                                                          
Removing the current plan files
Uploading new plan files
Temporary Swift GET/PUT URL parameters have successfully been updated.                         
Temporary Swift GET/PUT URL parameters have successfully been updated.                         
The backup of the ceph-ansible fetch directory did not need to be renamed                      
Plan updated.
Processing templates in the directory /tmp/tripleoclient-d_nomus1/tripleo-heat-templates       
WARNING: Following parameter(s) are defined but not used in plan. Could be possible that parameter is valid but currently not used.
  CinderBackupBackend
  ComputeCount
  GnocchiBackend
  GnocchiRbdPoolName
  NeutronEnableForceMetadata
  NeutronEnableIsolatedMetadata
  NeutronExternalNetworkBridge
  NeutronTunnelTypes
  OvercloudComputeFlavor
  SwiftFetchDirGetTempurl
  SwiftFetchDirPutTempurl
Deploying templates in the directory /tmp/tripleoclient-d_nomus1/tripleo-heat-templates        
Initializing overcloud plan deployment
Creating overcloud Heat stack
Error during stack creation: ERROR: Property error: : resources.allNodesConfig.properties: : Property cloud_name_storage not assigned
None
Exception occured while running the command
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 32, in run            
    super(Command, self).run(parsed_args)
  File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run          
    return super(Command, self).run(parsed_args)                                               
  File "/usr/lib/python3.6/site-packages/cliff/command.py", line 184, in run                   
    return_code = self.take_action(parsed_args) or 0                                           
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 945, in take_action
    self._deploy_tripleo_heat_templates_tmpdir(stack, parsed_args)                             
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 378, in _deploy_tripleo_heat_templates_tmpdir
    new_tht_root, tht_root)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 481, in _deploy_tripleo_heat_templates
    deployment_options=deployment_options)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 498, in _try_overcloud_deploy_with_compat_yaml
    deployment_options=deployment_options)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 251, in _heat_deploy
    deployment_options=deployment_options)
  File "/usr/lib/python3.6/site-packages/tripleoclient/workflows/deployment.py", line 81, in deploy_and_wait
    deploy(log, clients, **workflow_input)
  File "/usr/lib/python3.6/site-packages/tripleoclient/workflows/deployment.py", line 63, in deploy
    % (payload['status'], wf_name))
ValueError: Unexpected status FAILED for tripleo.deployment.v1.deploy_plan                     
Unexpected status FAILED for tripleo.deployment.v1.deploy_plan                                 
sys:1: ResourceWarning: unclosed <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.74.193.193', 59332), raddr=('10.74.193.193', 8080)>       
sys:1: ResourceWarning: unclosed <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.74.193.193', 50432)>                                      
sys:1: ResourceWarning: unclosed <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.74.193.193', 47842)>                                      
sys:1: ResourceWarning: unclosed <socket.socket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.74.193.193', 50128), raddr=('10.74.193.193', 8989)> 

$ cat director_template_repository/baremetal11/RHOS15/templates/overcloud_deploy.sh
openstack overcloud deploy \
--templates \
-r /home/stack/director_template_repository/baremetal11/RHOS15/templates/roles_data-vgpu.yaml \
-n /home/stack/director_template_repository/baremetal11/RHOS15/templates/network_data.yaml \
-e /home/stack/director_template_repository/baremetal11/RHOS15/templates/environments/vgpu-environment.yaml \
-e /home/stack/director_template_repository/baremetal11/RHOS15/templates/environments/network-environment.yaml \
-e /home/stack/director_template_repository/baremetal11/RHOS15/templates/environments/storage-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/services/skydive-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/disable-telemetry.yaml \
-e /home/stack/director_template_repository/baremetal11/RHOS15/templates/node-info.yaml \
-e /home/stack/containers-prepare-parameter.yaml \
--log-file overcloud_install.log

Comment 3 Harald Jensås 2019-08-29 22:18:17 UTC
In upstream master change https://review.opendev.org/666447 most likely fixed this issue.
Proposed stein fix: https://review.opendev.org/679356

Comment 6 Bob Fournier 2020-02-20 15:53:18 UTC
Verified that disabled networks are now checked in all-nodes-config.j2.yaml.

parameters:
{%- for network in networks if network.vip|default(false) and network.enabled|default(true) %}

Comment 8 errata-xmlrpc 2020-03-05 12:00:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0643