Bug 1056055 - [RFE] expose cinder-volumes VG backed by a loopback file (which was created manually)
Summary: [RFE] expose cinder-volumes VG backed by a loopback file (which was created m...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-foreman-installer
Version: 4.0
Hardware: x86_64
OS: Linux
low
low
Target Milestone: z2
: 4.0
Assignee: Jason Guiditta
QA Contact: Tzach Shefi
URL:
Whiteboard: storage
Depends On: 1047653 1056058
Blocks: 1040649 1064889
TreeView+ depends on / blocked
 
Reported: 2014-01-21 13:35 UTC by Jiri Stransky
Modified: 2014-03-04 20:14 UTC (History)
15 users (show)

Fixed In Version: openstack-foreman-installer-1.0.4-1.el6ost
Doc Type: Enhancement
Doc Text:
The default behavior most customers expect for small to medium installations is to run cinder-volume on the controller node. Packstack does this but a Foreman deployment only allows a dedicated storage backend backed by iSCSI or Red Hat Storage. With this update, you can deploy cinder-volume on the Compute or OpenStack Networking controller node, if cinder_backend_gluster is set to false. It will detect a volume group named cinder-volumes (backed by a loopback device) and share it via the target deamon (tgtd). You must manually create the volume group, which is also the case with the cinder_backend_iscsi parameter for the LVM backend storage group.
Clone Of: 1047653
Environment:
Last Closed: 2014-03-04 20:14:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:0213 0 normal SHIPPED_LIVE Red Hat Enterprise Linux OpenStack Platform 4 Bug Fix and Enhancement Advisory 2014-03-05 01:11:55 UTC

Comment 2 jliberma@redhat.com 2014-02-03 18:27:02 UTC
Just re-reading the comments, and giving my two cents...

A small OpenStack deployment will typically run the cinder-volume service from the controller node. The cinder-volume service itself will be backed by an NFS server, a locally mounted iSCSI volume re-shared through tgtd, or even a loopback device as implemented in packstack as a proof of concept solution.

Larger OpenStack deployments may run cinder-volume on a dedicated storage server (such as the LVM-storage host group in Foreman currently) or on the compute nodes themselves backed by a single storage namespace such as RHS or Ceph. Alternately, cinder-volume may run on the controller node but it merely redirects the API requests to the backend storage server. (as is the case with RHS)

Right now Foreman ONLY allows a dedicated storage server running cinder-volume or RHS-backed Cinder running from the controller node. There is no solution typical to smaller OpenStack deployments where the controller runs cinder-volume backed by iSCSI, NFS, or a local loopback device.

Conversely, packstack allows all of the options I have described above except perhaps running cinder-volume on the compute nodes directly which I have not tried.

So the small-to-medium size Foreman user is left to either dedicate a storage server to Cinder-volumes OR buy RHS which will require additional servers.

The RFE I want to see is the ability to run cinder-volume on the controller node backed by a locally mounted iSCSI target, an NFS server, or even a loopback device. It does not matter to me whether the user creates the cinder-volume VG manually or not. What is more important is the capability to run cinder-volume from the controller node.

I think an elegant solution (IE -- simple) would be to modify the cinder_controller.pp module to run cinder-volume locally if cinder_backend-{iscsi,gluster} are both set to false.

All we would nee is a cinder-volume VG on the controller node to share. (Ignoring NFS for the moment.)  The cinder-volume VG could be backed by a loopback device or an iSCSI target or it could reside anywhere else. The puppet module should not care so long as it exists.

Anyway, I will try to hack this together and submit it as a patch via astapor as a proof of concept.

Comment 3 jliberma@redhat.com 2014-02-06 17:23:32 UTC
Submitted pull request https://github.com/redhat-openstack/astapor/pull/117

Log:

BZ #1056055 --  [RFE] create cinder-volumes VG backed by a loopback file
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1056055
    
    The default behavior most customers expect for small to medium installations
    is to run cinder-volume on the controller node. Packstack does this but
    Foreman only allows a dedicated storage backend backed by iSCSI or RHS.
    This patch deploys cinder-volume on the Nova or Neutron controller node if
    cinder_backend_{iscsi,gluster} are both set to false. It will detect a VG
    named cinder-volumes (whether backed by an iSCSI target or loopback device)
    and share it via tgtd. The user must create the VG, which is also the case
    with the cinder_backend_iscsi parameter for the LVM backend storage group. In
    a sense this patch replicates functionality customers expect from packstack.
    I tested it against the RHEL OSP 01.31.2014-1 puddle for both iSCSI and LVM
    bakced Cinder from the controller node.

Comment 4 Jason Guiditta 2014-02-11 19:49:49 UTC
Merged

Comment 6 Tzach Shefi 2014-02-20 18:31:39 UTC
Verifed, 
RHEL 6.5 
openstack-foreman-installer-1.0.4-1.el6ost.noarch

Foreman running on a VM
Client host A, created VG called cinder-volumes (cinder-testing-volume.sh) 
Added client A to host group nova controller
Ran foreman client puppet agent
Created cinder volumes successfully via UI and CLI 
Checked VLS to verify volumes created under cinder-volumes VG

Comment 8 errata-xmlrpc 2014-03-04 20:14:20 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.

http://rhn.redhat.com/errata/RHBA-2014-0213.html


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