cinder/cinder/brick
Glenn M. Gobeli 6879bd0720 NFS Security Enhancements: allows secure NFS environment setup
This patch allows an OpenStack environment to run as a secure NAS
environment from the client and server perspective, including having
root squash enabled and not running file operations as the 'root'
user. This also sets Cinder file permissions as 660: removing
other/world file access.

The "nas_secure_file_permissions" option controls the setting of file
permissions when Cinder volumes are created. The option defaults to
"auto" to gracefully handle upgrade scenarios. When set to "auto",
a check is done during Cinder startup to determine if there are
existing Cinder volumes: no volumes will set the option to 'true',
and use secure file permissions. The detection of existing volumes will
set the option to 'false', and use the current insecure method of
handling file permissions.

The "nas_secure_file_operations" option controls whether file
operations are run as the 'root' user or the current OpenStack
'process' user. The option defaults to "auto" to gracefully handle
upgrade scenarios. When set to "auto", a check is done during Cinder
startup to determine if there are existing Cinder volumes: no volumes
will set the option to 'true', be secure and do NOT run as the 'root'
user. The detection of existing volumes will set the option to 'false',
and use the current method of running operations as the 'root' user.
For new installations, a 'marker file' is written so that subsequent
restarts of Cinder will know what the original determination had been.

This patch enables this functionality only for the NFS driver.
Other similar drivers can use this code to enable the same
functionality with the same config options.

DocImpact
Change-Id: I3d25f593beab7f5462576b14ab62d13d8c53e7c6
Implements: blueprint secure-nfs
Partial-Bug: 1260679
2014-10-23 16:35:51 -04:00
..
initiator NFS Security Enhancements: allows secure NFS environment setup 2014-10-23 16:35:51 -04:00
iscsi Fix LVM iSCSI driver tgtadm CHAP authentication 2014-10-14 19:26:33 -04:00
local_dev Enable import group hacking rule 2014-08-14 13:10:58 +08:00
remotefs Remove executable bits on various files 2014-09-16 11:01:51 -04:00
README.txt This adds a README to brick 2013-09-04 16:08:05 -04:00
__init__.py Empty files shouldn't contain copyright nor license 2013-12-26 22:45:17 -06:00
exception.py Use oslo.i18n 2014-08-08 17:26:41 -05:00
executor.py Remove vim header 2013-12-30 18:53:02 -06:00

README.txt

Brick is a new library that currently is maintained in Cinder for
the Havana release.   It will eventually be moved external to Cinder,
possibly oslo, or pypi.  Any defects found in Brick, should be submitted
against Cinder and fixed there, then pulled into other projects that
are using brick.

* Brick is used outside of Cinder and therefore
  cannot have any dependencies on Cinder and/or
  it's database.