Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1392253

Summary: Missing get_file files don't cause deploy failures
Product: Red Hat OpenStack Reporter: Steve Baker <sbaker>
Component: python-tripleoclientAssignee: Thomas Hervé <therve>
Status: CLOSED ERRATA QA Contact: Marius Cornea <mcornea>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: hbrock, jcoufal, jschluet, jslagle, mburns, mcornea, rhel-osp-director-maint, zbitter
Target Milestone: rcKeywords: Triaged
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tripleoclient-5.3.0-6.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-14 16:29:49 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:
Embargoed:

Description Steve Baker 2016-11-06 23:40:48 UTC
Since the fix for bug lp-1625783[1] landed, a get_file call to a file which doesn't exist will now continue the deploy, even though it should have failed with an error.

For a specific example, hear is a chain of file resolutions that currently exists:
- tripleo-heat-templates/environments/docker.yaml ->
- tripleo-heat-templates/docker/compute-post.yaml ->
- tripleo-heat-templates/puppet/manifests/overcloud_compute.pp

overcloud_compute.pp no longer exists, so this should fail. Instead the following is logged and the deployment continues without adding the docker.yaml environment at all:

Processing environment files ['/home/centos/overcloud-env.json', u'tripleo-heat-templates/environments/docker.yaml', u'tripleo-heat-templates/environments/docker-network.yaml']
Processing environment files /home/centos/overcloud-env.json
Processing environment files tripleo-heat-templates/environments/docker.yaml
Redirecting env file /home/centos/dev/tripleo-heat-templates/environments/docker.yaml to /tmp/tripleoclient-pRP81X/tripleo-heat-templates/environments/docker.yaml
Error Could not fetch contents for file:///tmp/tripleoclient-pRP81X/tripleo-heat-templates/puppet/manifests/overcloud_compute.pp processing environment file /tmp/tripleoclient-pRP81X/tripleo-heat-templates/environments/docker.yaml
Rewriting /tmp/tripleoclient-pRP81X/tripleo-heat-templates/environments/docker.yaml environment to /tmp/tripleoclient-pRP81X/tripleo-heat-templates/env-install_docker_agents-Qqyas3.yaml
Processing environment files tripleo-heat-templates/environments/docker-network.yaml
Redirecting env file /home/centos/dev/tripleo-heat-templates/environments/docker-network.yaml to /tmp/tripleoclient-pRP81X/tripleo-heat-templates/environments/docker-network.yaml
Adding files {u'file:///tmp/tripleoclient-pRP81X/tripleo-heat-templates/net-config-bridge.yaml': '{"outputs": {"OS::stack_id": {"description": "The OsNetConfigImpl resource.", "value": {"get_resource": "OsNetConfigImpl"}}}, "heat_template_version": "2015-04-30", "description": "Software Config to drive os-net-config for a simple bridge.\\n", "parameters": {"StorageIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the storage network"}, "StorageMgmtIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the storage mgmt network"}, "TenantIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the tenant network"}, "ManagementIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the management network"}, "ControlPlaneIp": {"default": "", "type": "string", "description": "IP address/subnet on the ctlplane network"}, "InternalApiIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the internal API network"}, "ExternalIpSubnet": {"default": "", "type": "string", "description": "IP address/subnet on the external network"}}, "resources": {"OsNetConfigImpl": {"type": "OS::Heat::StructuredConfig", "properties": {"group": "os-apply-config", "config": {"os_net_config": {"network_config": [{"use_dhcp": true, "type": "ovs_bridge", "name": {"get_input": "bridge_name"}, "members": [{"type": "interface", "name": {"get_input": "interface_name"}, "primary": true}]}]}}}}}}'} for /tmp/tripleoclient-pRP81X/tripleo-heat-templates/environments/docker-network.yaml

[1] https://bugs.launchpad.net/tripleo/+bug/1634260

Comment 2 James Slagle 2016-11-07 13:14:32 UTC
shardy, can you take a look at this since sbaker is saying it's due to https://review.openstack.org/#/c/385325/

Comment 3 James Slagle 2016-11-07 14:58:25 UTC
potential fix from therve: https://review.openstack.org/#/c/394471/

Comment 7 Marius Cornea 2016-11-11 13:14:45 UTC
[stack@undercloud-0 ~]$ bash openstack_deployment/deploy.command 
Removing the current plan files
Uploading new plan files
Started Mistral Workflow. Execution ID: 5d1228a9-fecb-41b5-b5ed-61ea8cb96451
Plan updated
Deploying templates in the directory /tmp/tripleoclient-Mlvi7O/tripleo-heat-templates
Could not fetch contents for file:///home/stack/openstack_deployment/nic-configs/nonexisting.yaml

Comment 9 errata-xmlrpc 2016-12-14 16:29:49 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://rhn.redhat.com/errata/RHEA-2016-2948.html