Cinder is required even when $volume_api_class is not set

Bug #1511316 reported by Romanos Skiadas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-nova
Fix Released
Low
Romanos Skiadas

Bug Description

From manifests/api.pp

83 # [*volume_api_class*]
84 # (optional) The name of the class that nova will use to access volumes. Cinder is the only option.
85 # Defaults to 'nova.volume.cinder.API'

Since $volume_api_class can be set to something other than cinder (eg false), the requirement for cinder should be optional.
However, even when volume_api_class is set to false, cinder is included in api.pp:

209 include ::cinder::client

This makes creating a puppet module that deploys nova as described in the kilo docs (http://docs.openstack.org/kilo/install-guide/install/apt/content/ch_nova.html) difficult, as the latter do not include cinder at the compute stage.

Something similar to what might need to be done here is done in manifests/db.pp, where the required backend class depends on what is selected:

case $database_connection_real {
       /^mysql:\/\//: {
         $backend_package = false
         require 'mysql::bindings'
         require 'mysql::bindings::python'
       }
       /^postgresql:\/\//: {
         $backend_package = false
         require 'postgresql::lib::python'
       }
       /^sqlite:\/\//: {
         $backend_package = $::nova::params::sqlite_package_name
       }
       default: {
         fail('Unsupported backend configured')
       }

Revision history for this message
Romanos Skiadas (rski) wrote :

Since this doesn't look like a particularly complex thing, I could look into fixing it and submitting a pull request if it doesn't turn out to be invalid/wontfix/etc

description: updated
Cody Herriges (ody-cat)
Changed in puppet-nova:
status: New → Confirmed
importance: Undecided → Medium
importance: Medium → Low
Romanos Skiadas (rski)
Changed in puppet-nova:
assignee: nobody → Romanos Skiadas (rski)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/366907

Changed in puppet-nova:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-nova (master)

Reviewed: https://review.openstack.org/366907
Committed: https://git.openstack.org/cgit/openstack/puppet-nova/commit/?id=846b8bc218e6b3cc1060fcd3821d188503377bb4
Submitter: Jenkins
Branch: master

commit 846b8bc218e6b3cc1060fcd3821d188503377bb4
Author: Romanos Skiadas <email address hidden>
Date: Tue Aug 2 19:21:47 2016 +0300

    Make cinder a soft dependency

    Add the parameter `install_cinder_client` to nova::api to make the
    inclusion of the cinder::client class optional. This makes cinder a soft
    dependency and the puppet-cinder module no longer has to be present in
    environments where cinder is not deployed.
    The default value is true, so the behaviour of the nova::api class does
    not change.

    Patch 2: Fix indentation in documentation

    Change-Id: Ibc974cb49448b86885eaf8b817489d3345901a5f
    Closes-bug: #1511316
    Signed-off-by: Romanos Skiadas <email address hidden>

Changed in puppet-nova:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.