3PAR drivers need to support CPGs that are not part of a domain

Bug #1212328 reported by Michael Denny on 2013-08-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Undecided
Kurt Martin

Bug Description

3PAR Unable to attach volume without 3PAR domain value yet we only require cpg

3PAR backend supports cpg creation without a domain, customers need to buy a license to enable domains.
We need to support cpg outside of a domain.

33428fa2] Released file lock "3par" at /tmp/tmpHCyZc3/cinder-3par for method "initialize_connection"... from (pid=47431) inner /opt/stack/cinder/cinder/openstack/common/lockutils.py:239
2013-08-14 08:34:49.489 ERROR cinder.openstack.common.rpc.amqp [req-6a7b63d5-2331-4ebd-ab7d-508769ae091e 3de54141610748af85ab9436475cbb99 6038fc55fee44299a73d011933428fa2] Exception during message handling
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp Traceback (most recent call last):
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/openstack/common/rpc/amqp.py", line 433, in _process_data
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp **args)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/manager.py", line 507, in initialize_connection
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp return self.driver.initialize_connection(volume_ref, connector)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/openstack/common/lockutils.py", line 233, in inner
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp retval = f(*args, **kwargs)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_fc.py", line 176, in initialize_connection
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp host = self._create_host(volume, connector)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_fc.py", line 224, in _create_host
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp domain = self.common.get_domain(cpg)
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_common.py", line 202, in get_domain
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp domain = cpg['domain']
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp KeyError: 'domain'
2013-08-14 08:34:49.489 TRACE cinder.openstack.common.rpc.amqp
2013-08-14 08:34:49.490 ERROR cinder.openstack.common.rpc.common [req-6a7b63d5-2331-4ebd-ab7d-508769ae091e 3de54141610748af85ab9436475cbb99 6038fc55fee44299a73d011933428fa2] Returning exception 'domain' to caller
2013-08-14 08:34:49.491 ERROR cinder.openstack.common.rpc.common [req-6a7b63d5-2331-4ebd-ab7d-508769ae091e 3de54141610748af85ab9436475cbb99 6038fc55fee44299a73d011933428fa2] ['Traceback (most recent call last):\n', ' File "/opt/stack/cinder/cinder/openstack/common/rpc/amqp.py", line 433, in _process_data\n **args)\n', ' File "/opt/stack/cinder/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch\n return getattr(proxyobj, method)(ctxt, **kwargs)\n', ' File "/opt/stack/cinder/cinder/volume/manager.py", line 507, in initialize_connection\n return self.driver.initialize_connection(volume_ref, connector)\n', ' File "/opt/stack/cinder/cinder/openstack/common/lockutils.py", line 233, in inner\n retval = f(*args, **kwargs)\n', ' File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_fc.py", line 176, in initialize_connection\n host = self._create_host(volume, connector)\n', ' File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_fc.py", line 224, in _create_host\n domain = self.common.get_domain(cpg)\n', ' File "/opt/stack/cinder/cinder/volume/drivers/san/hp/hp_3par_common.py", line 202, in get_domain\n domain = cpg[\'domain\']\n', "KeyError: 'domain'\n"]

How to duplicate
Create cpg without domain in IMC
configure cinder.conf hp3par_cpg= and remove hp3par_domain if needed

description: updated
tags: added: 3par drivers
Changed in cinder:
status: New → Confirmed
assignee: nobody → Kurt Martin (kurt-f-martin)
summary: - 3PAR Unable to attach volum without 3PAR domain value yet we only
- require cpg
+ 3PAR drivers need to support CPG that are not part on a domain
summary: - 3PAR drivers need to support CPG that are not part on a domain
+ 3PAR drivers need to support CPGs that are not part of a domain
description: updated

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

Changed in cinder:
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/42697
Committed: http://github.com/openstack/cinder/commit/0787030220762b59d94a368f6e0bbf20f606cb48
Submitter: Jenkins
Branch: master

commit 0787030220762b59d94a368f6e0bbf20f606cb48
Author: Kurt Martin <email address hidden>
Date: Mon Aug 19 11:14:42 2013 -0700

    Removed need for domain in 3PAR drivers

    The 3PAR drivers need to support CPGs that are not part of a
    virtual domain on the 3PAR backend. This patch removes the need
    for the CPG to be part of a domain and changes a few of the commands
    that took the domain as an option.

    DocImpact

    Change-Id: I7e472e19e484e837c9216ea01455a4b8a85b19e5
    Fixes: bug #1212328

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-09-05
Changed in cinder:
milestone: none → havana-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-3 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers