Bug 1325537

Summary: Glance NFS over IPv6 broken
Product: Red Hat OpenStack Reporter: Ian Pilcher <ipilcher>
Component: openstack-tripleo-heat-templatesAssignee: Jiri Stransky <jstransk>
Status: CLOSED NOTABUG QA Contact: Arik Chernetsky <achernet>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0 (Kilo)CC: mburns, mcornea, rhel-osp-director-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-11 19:26:53 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 Ian Pilcher 2016-04-09 19:31:43 UTC
Attempting to use IPv6 on my storage network while using NFS for Glance and Cinder.  Stack fails to deploy due to Puppet error on controllers:

Error: Error from DataBinding 'hiera' while looking up 'tripleo::packages::enable_install': (<unknown>): found unexpected ':' while scanning a plain scalar at li
Wrapped exception:
(<unknown>): found unexpected ':' while scanning a plain scalar at line 195 column 27

I've been able to determine that the line and column refer to /etc/puppet/hieradata/controller.yaml:

glance_file_pcmk_device: [fdd0:ec9c:bce8:f8::1]:/srv/nfs/osp_glance

I have tried putting single- or double-quotes around the NFS path, but that gives me this error:

Error: Could not find data item step in any Hiera data file and no default supplied at /var/lib/heat-config/heat-config-puppet/52040e5d-dc4f-40d9-b1c4-cc339f570a06.pp:36 on node overcloud-controller-1.localdomain

Comment 2 Jiri Stransky 2016-04-11 08:46:03 UTC
You may be hitting bug 1313220. Would adding both single and double quotes help when specifying the value in environment file? Like this: 

parameter_defaults:
  GlanceFilePcmkDevice: "'[fdd0:ec9c:bce8:f8::1]:/srv/nfs/osp_glance'"

Comment 3 Marius Cornea 2016-04-11 13:05:06 UTC
I tested this on OSP8 with the following storage environment file and deployment completed fine:

parameter_defaults:
  CinderEnableIscsiBackend: false
  CinderEnableRbdBackend: false
  CinderEnableNfsBackend: true
  NovaEnableRbdBackend: false
  GlanceBackend: 'file'

  CinderNfsMountOptions: 'rw,sync'
  CinderNfsServers: "'[fd00:fd00:fd00:3000::1]:/srv/nfs'"

  GlanceFilePcmkManage: true
  GlanceFilePcmkFstype: 'nfs'
  GlanceFilePcmkDevice: "'[fd00:fd00:fd00:3000::1]:/srv/nfs'" 
  GlanceFilePcmkOptions: 'rw,sync,context=system_u:object_r:glance_var_lib_t:s0'

Comment 4 Ian Pilcher 2016-04-11 19:26:53 UTC
(In reply to Jiri Stransky from comment #2)
> You may be hitting bug 1313220. Would adding both single and double quotes
> help when specifying the value in environment file? Like this: 
> 
> parameter_defaults:
>   GlanceFilePcmkDevice: "'[fdd0:ec9c:bce8:f8::1]:/srv/nfs/osp_glance'"

Yes, that worked.  I'm not sure what it has to do with empty parameters though.

(In reply to Marius Cornea from comment #3)
>   CinderNfsServers: "'[fd00:fd00:fd00:3000::1]:/srv/nfs'"

This actually didn't work for me on 7.3.  I ended up with double single-quotes inside the array.  Leaving it unquoted in my storage-environment.yaml seems to have worked, though.

So it seems that (in 7.3 at least) GlanceFilePcmkDevice needs to be "crazy quoted", but CinderNfsServers does not.

I've submitted a change upstream to add some clarifying comments to storage-environment.yaml.