Bug 1392253 - Missing get_file files don't cause deploy failures
Summary: Missing get_file files don't cause deploy failures
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 10.0 (Newton)
Assignee: Thomas Hervé
QA Contact: Marius Cornea
Depends On:
TreeView+ depends on / blocked
Reported: 2016-11-06 23:40 UTC by Steve Baker
Modified: 2016-12-14 16:29 UTC (History)
9 users (show)

Fixed In Version: python-tripleoclient-5.3.0-6.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2016-12-14 16:29:49 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:2948 normal SHIPPED_LIVE Red Hat OpenStack Platform 10 enhancement update 2016-12-14 19:55:27 UTC
OpenStack gerrit 394630 None None None 2016-11-07 21:03:01 UTC
Launchpad 1634260 None None None 2016-11-06 23:40:48 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.