Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1416356 - Overcloud deployment using external NFS storage for Cinder fails
Overcloud deployment using external NFS storage for Cinder fails
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates (Show other bugs)
11.0 (Ocata)
Unspecified Unspecified
urgent Severity urgent
: rc
: 11.0 (Ocata)
Assigned To: Angus Thomas
lkuchlan
: Triaged
Depends On:
Blocks: 1394019
  Show dependency treegraph
 
Reported: 2017-01-25 05:56 EST by Marius Cornea
Modified: 2017-05-17 15:43 EDT (History)
17 users (show)

See Also:
Fixed In Version: openstack-tripleo-heat-templates-6.0.0-0.10.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-05-17 15:43:11 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Example storage yaml file used. (2.40 KB, text/plain)
2017-04-06 09:54 EDT, Tzach Shefi
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 450085 None None None 2017-03-28 07:02 EDT
Red Hat Product Errata RHEA-2017:1245 normal SHIPPED_LIVE Red Hat OpenStack Platform 11.0 Bug Fix and Enhancement Advisory 2017-05-17 19:01:50 EDT

  None (edit)
Description Marius Cornea 2017-01-25 05:56:10 EST
Description of problem:
Overcloud deployment using external NFS storage for Cinder fails:

overcloud.AllNodesDeploySteps.ServiceApiDeployment_Step4:
  resource_type: OS::Heat::StructuredDeploymentGroup
  physical_resource_id: 5ec3a152-ca96-4b10-abee-5958c4698872
  status: CREATE_FAILED
  status_reason: |
    CREATE aborted
overcloud.AllNodesDeploySteps.ControllerDeployment_Step4.1:
  resource_type: OS::Heat::StructuredDeployment
  physical_resource_id: f2c85ab9-b077-4ebf-b3b1-6b3d71f23b0d
  status: CREATE_FAILED
  status_reason: |
    Error: resources[1]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
  deploy_stdout: |
    Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend
    Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.
  deploy_stderr: |
    ...
    Warning: Unknown variable: '::snmp_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:220:21
    Warning: Unknown variable: '::snmp_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:230:24
    Warning: Unknown variable: '::snmp_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:240:25
    Warning: Unknown variable: '::snmp_trap_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:250:26
    Warning: Unknown variable: '::snmp_trap_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:260:29
    Warning: Unknown variable: '::snmp_trap_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:270:30
    Warning: ModuleLoader: module 'timezone' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules
       (file & line not available)
    Warning: Scope(Oslo::Messaging::Rabbit[cinder_config]): The oslo_messaging rabbit_host, rabbit_hosts, rabbit_port, rabbit_userid, rabbit_password, rabbit_virtual_host parameters have been deprecated by the [DEFAULT]\transport_url. Please use oslo::messaging::default::transport_url instead.
    Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, join(): Requires array to work with at /etc/puppet/modules/cinder/manifests/backend/nfs.pp:82:16  at /etc/puppet/modules/tripleo/manifests/profile/base/cinder/volume/nfs.pp:54 on node overcloud-controller-1.localdomain
    (truncated, view all with --long)
overcloud.AllNodesDeploySteps.ControllerDeployment_Step4.0:
  resource_type: OS::Heat::StructuredDeployment
  physical_resource_id: 7c2f1c60-2a4e-43c8-92ef-df270adc471f
  status: CREATE_FAILED
  status_reason: |
    Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
  deploy_stdout: |
    Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend
    Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.
  deploy_stderr: |
    ...
    Warning: Unknown variable: '::snmp_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:220:21
    Warning: Unknown variable: '::snmp_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:230:24
    Warning: Unknown variable: '::snmp_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:240:25
    Warning: Unknown variable: '::snmp_trap_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:250:26
    Warning: Unknown variable: '::snmp_trap_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:260:29
    Warning: Unknown variable: '::snmp_trap_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:270:30
    Warning: ModuleLoader: module 'timezone' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules
       (file & line not available)
    Warning: Scope(Oslo::Messaging::Rabbit[cinder_config]): The oslo_messaging rabbit_host, rabbit_hosts, rabbit_port, rabbit_userid, rabbit_password, rabbit_virtual_host parameters have been deprecated by the [DEFAULT]\transport_url. Please use oslo::messaging::default::transport_url instead.
    Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, join(): Requires array to work with at /etc/puppet/modules/cinder/manifests/backend/nfs.pp:82:16  at /etc/puppet/modules/tripleo/manifests/profile/base/cinder/volume/nfs.pp:54 on node overcloud-controller-0.localdomain
    (truncated, view all with --long)
overcloud.AllNodesDeploySteps.ControllerDeployment_Step4.2:
  resource_type: OS::Heat::StructuredDeployment
  physical_resource_id: 7ef67b16-54da-49dc-8fda-4e6fc3442115
  status: CREATE_FAILED
  status_reason: |
    Error: resources[2]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
  deploy_stdout: |
    Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend
    Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.
  deploy_stderr: |
    ...
    Warning: Unknown variable: '::snmp_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:220:21
    Warning: Unknown variable: '::snmp_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:230:24
    Warning: Unknown variable: '::snmp_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:240:25
    Warning: Unknown variable: '::snmp_trap_service_enable'. at /etc/puppet/modules/snmp/manifests/params.pp:250:26
    Warning: Unknown variable: '::snmp_trap_service_hasstatus'. at /etc/puppet/modules/snmp/manifests/params.pp:260:29
    Warning: Unknown variable: '::snmp_trap_service_hasrestart'. at /etc/puppet/modules/snmp/manifests/params.pp:270:30
    Warning: ModuleLoader: module 'timezone' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules
       (file & line not available)
    Warning: Scope(Oslo::Messaging::Rabbit[cinder_config]): The oslo_messaging rabbit_host, rabbit_hosts, rabbit_port, rabbit_userid, rabbit_password, rabbit_virtual_host parameters have been deprecated by the [DEFAULT]\transport_url. Please use oslo::messaging::default::transport_url instead.
    Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, join(): Requires array to work with at /etc/puppet/modules/cinder/manifests/backend/nfs.pp:82:16  at /etc/puppet/modules/tripleo/manifests/profile/base/cinder/volume/nfs.pp:54 on node overcloud-controller-2.localdomain
    (truncated, view all with --long)
overcloud.AllNodesDeploySteps.ObjectStorageDeployment_Step4:
  resource_type: OS::Heat::StructuredDeploymentGroup
  physical_resource_id: fca4e64c-6baf-464d-bd0b-a575d0d4b612
  status: CREATE_FAILED
  status_reason: |
    CREATE aborted
overcloud.AllNodesDeploySteps.ComputeDeployment_Step4:
  resource_type: OS::Heat::StructuredDeploymentGroup
  physical_resource_id: fc19527d-2089-4c63-ba75-68dd89a0395e
  status: CREATE_FAILED
  status_reason: |
    CREATE aborted


Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-6.0.0-0.20170120220933.36d493c.el7ost.noarch
puppet-cinder-10.1.0-0.20170118172105.1860b1c.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy overcloud with custom roles and external NFS storage for Cinder:


Actual results:
Deployment fails

Expected results:
Deployment passes.

Additional info:
Environment files:
http://paste.openstack.org/show/596415/
Comment 4 Elise Gafford 2017-03-06 11:52:13 EST
Hi all,

This appears to be a simple type error: the Cinder module requires CinderNfsShares to be a list, such that it can be joined. The environment file provided a string; wrapping this string in [] should solve this immediate problem. I have also posted a review for tripleo-heat-templates to change the defaults for this parameter to an empty list (from an empty string.)

Thanks,
Elise
Comment 5 Elise Gafford 2017-03-06 12:09:30 EST
Note: I requested the blocker? flag be removed from this bug, as the fix is configuration, and any use of the NFS backend will require setting CinderNfsServers. Still, it would be best if we were to accept the default change patch prior to the next release.

Cheers,
Elise
Comment 6 Marius Cornea 2017-03-06 12:18:00 EST
(In reply to Elise Gafford from comment #5)
> Note: I requested the blocker? flag be removed from this bug, as the fix is
> configuration, and any use of the NFS backend will require setting
> CinderNfsServers. Still, it would be best if we were to accept the default
> change patch prior to the next release.
> 
> Cheers,
> Elise

Hi Elise,

The following CinderNfsServers values used to work in OSP10:

CinderNfsServers: '10.0.0.254:/srv/nfs/cinder'
CinderNfsServers: "[fd00:fd00:fd00:3000::1]:/srv/nfs/cinder"

Could you please let me know what are the correct formats for OSP11 so I can test them?

Thanks!
Comment 7 Marius Cornea 2017-03-14 02:54:31 EDT
We also need this info to determine what we need to do in case of OSP10->OSP11 upgrade, if we need to change this parameters during upgrade or not.
Comment 9 Christian Schwede (cschwede) 2017-03-21 13:37:27 EDT
Proposed upstream fix: https://review.openstack.org/448208

@Marius, can you test that fix if possible? Like this?

On the undercloud:

1. cp -r /usr/share/openstack-tripleo-heat-templates .

2. Modify puppet/services/cinder-volume.yaml like this: https://review.openstack.org/#/c/448208/1/puppet/services/cinder-volume.yaml

3. Deploy with
overcloud deploy ... --templates openstack-tripleo-heat-templates ...

The options you have been using should continue to work then.
Comment 10 Marius Cornea 2017-03-22 07:36:09 EDT
(In reply to Christian Schwede (cschwede) from comment #9)
> Proposed upstream fix: https://review.openstack.org/448208
> 
> @Marius, can you test that fix if possible? Like this?
> 
> On the undercloud:
> 
> 1. cp -r /usr/share/openstack-tripleo-heat-templates .
> 
> 2. Modify puppet/services/cinder-volume.yaml like this:
> https://review.openstack.org/#/c/448208/1/puppet/services/cinder-volume.yaml
> 
> 3. Deploy with
> overcloud deploy ... --templates openstack-tripleo-heat-templates ...
> 
> The options you have been using should continue to work then.

Yes, I can confirm it works fine with the existing parameters after applying the patch. Thanks! 

Should I mark this bug as a blocker to make sure we keep track of the upstream patch landing in downstream in time for the release?
Comment 11 Christian Schwede (cschwede) 2017-03-22 07:52:23 EDT
@Marius: yes, adding the blocker flag helps - this looks like a clear regression. 
Thanks for verifying the patch!
Comment 12 Christian Schwede (cschwede) 2017-03-28 07:02:10 EDT
Backport merged upstream on stable/ocata.
Comment 14 Tzach Shefi 2017-04-06 09:54 EDT
Created attachment 1269401 [details]
Example storage yaml file used.

Verified on version:
openstack-tripleo-heat-templates-6.0.0-3.el7ost.noarch

Attaching yaml file for refute reference. 
Cinder create volumes works. 
Volume is created on NFS backend. 

[stack@undercloud-0 ~]$ cinder list
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| ID                                   | Status    | Name      | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+
| 531df6a7-2864-4818-b215-6b5e8057685a | available | nfsvolume | 1    | -           | false    |             |
+--------------------------------------+-----------+-----------+------+-------------+----------+-------------+

On nfs server
# ll 
total 0
-rw-r--r--. 1 root   root            0 פבר 16 14:23 ins_cinder_export
-rw-rw----. 1 cinder cinder 1073741824 אפר  6 16:45 volume-531df6a7-2864-4818-b215-6b5e8057685a


On overcloud_deploy.sh (overcloud deploy command) add refrance to your storage yaml file.
Comment 15 Tzach Shefi 2017-04-06 09:55:33 EDT
See comment 14 ^
Comment 17 errata-xmlrpc 2017-05-17 15:43:11 EDT
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/RHEA-2017:1245

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