plan-create failed with errors about parameter

Bug #1666186 reported by chenying
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-karborclient
Fix Released
Undecided
Unassigned

Bug Description

plan-create failed with errors about parameter

Create a plan with a parameter about the resource using the following cmd. The parameter field in restore RESTAPI is not correct.

karbor --debug plan-create 'OS Server protection plan.' 'cf56bd3e-97a7-4078-b6d5-f36246333fd9' 'ead08bf4-59f2-4d27-823a-1ebdd479cb6d'='OS::Nova::Server'='serverbootfromvolume' --parameters 'resource_type'='OS::Nova::Server','resource_id'='ead08bf4-59f2-4d27-823a-1ebdd479cb6d',backup_name="server_backup"

REQ: curl -g -i -X POST http://10.229.43.237:8799/v1/0a9fc5d2238042bd8b21f63a88cb4d72/plans -H "User-Agent: python-karborclient" -H "Content-Type: application/json" -H "X-Auth-Token: {SHA1}2823cf0844f1c91da7bbda21b2417d94284ee764" -d '{"plan": {"provider_id": "cf56bd3e-97a7-4078-b6d5-f36246333fd9", "parameters": {"backup_name": "server_backup", "OS::Nova::Server#ead08bf4-59f2-4d27-823a-1ebdd479cb6d": {}, "resource_type": "OS::Nova::Server", "resource_id": "ead08bf4-59f2-4d27-823a-1ebdd479cb6d"}, "name": "OS Server protection plan.", "resources": [{"type": "OS::Nova::Server", "id": "ead08bf4-59f2-4d27-823a-1ebdd479cb6d", "name": "serverbootfromvolume"}], "description": null}}'
http://10.229.43.237:8799 "POST /v1/0a9fc5d2238042bd8b21f63a88cb4d72/plans HTTP/1.1" 500 114

{
    "plan": {
        "provider_id": "cf56bd3e-97a7-4078-b6d5-f36246333fd9",
        "parameters": {
            "backup_name": "server_backup",
            "OS::Nova::Server#ead08bf4-59f2-4d27-823a-1ebdd479cb6d": {},
            "resource_type": "OS::Nova::Server",
            "resource_id": "ead08bf4-59f2-4d27-823a-1ebdd479cb6d"
        },
        "name": "OS Server protection plan.",
        "resources": [
            {
                "type": "OS::Nova::Server",
                "id": "ead08bf4-59f2-4d27-823a-1ebdd479cb6d",
                "name": "serverbootfromvolume"
            }
        ],
        "description": null
    }
}

error log about protection service.

2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors plan = objects.Plan(context=context, **plan_properties)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/opt/stack/karbor/karbor/objects/plan.py", line 50, in __init__
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors super(Plan, self).__init__(*args, **kwargs)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 307, in __init__
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors setattr(self, key, kwargs[key])
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 72, in setter
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors field_value = field.coerce(self, name, value)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 195, in coerce
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors return self._type.coerce(obj, attr, value)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 665, in coerce
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors coerced_dict.update(value)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 1292, in update
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors super(CoercedDict, self).update(self._coerce_dict(other),
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 1270, in _coerce_dict
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors res[key] = self._coerce_item(key, element)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 1282, in _coerce_item
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors return self._element_type.coerce(self._obj, att_name, item)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 195, in coerce
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors return self._type.coerce(obj, attr, value)
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line 662, in coerce
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors {'attr': attr, 'type': type(value).__name__})
2017-02-20 18:55:05.445 TRACE oslo_middleware.catch_errors ValueError: A dict is required in field parameters[backup_name], not a unicode

Revision history for this message
chenying (ying-chen) wrote :

{u'plan': {u'provider_id': u'cf56bd3e-97a7-4078-b6d5-f36246333fd9', u'resources': [{u'type': u'OS::Nova::Server', u'id': u'ead08bf4-59f2-4d27-823a-1ebdd479cb6d', u'name': u'serverbootfromvolume'}], u'name': u'OS Server protection plan.', u'parameters': {u'OS::Nova::Server#ead08bf4-59f2-4d27-823a-1ebdd479cb6d': {u'backup_name': u'server_backup'}}, u'description': None}}

chenying (ying-chen)
summary: - restore-create failed with errors about parameter
+ plan-create failed with errors about parameter
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-karborclient (master)

Reviewed: https://review.openstack.org/435939
Committed: https://git.openstack.org/cgit/openstack/python-karborclient/commit/?id=ee725acb94f8cdec441b62d51a154518d4ff3456
Submitter: Jenkins
Branch: master

commit ee725acb94f8cdec441b62d51a154518d4ff3456
Author: chenying <email address hidden>
Date: Mon Feb 20 19:43:01 2017 +0800

    Fix the errors about parameter when creating a plan

    Change-Id: Ibb6ab69c25cf232b15e2138bfc62f91159039a32
    Closes-Bug:#1666186

Changed in python-karborclient:
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-karborclient (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/436725

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-karborclient (stable/ocata)

Reviewed: https://review.openstack.org/436725
Committed: https://git.openstack.org/cgit/openstack/python-karborclient/commit/?id=42066dcdf066c0fe3ca755f44c73fed440b5e67c
Submitter: Jenkins
Branch: stable/ocata

commit 42066dcdf066c0fe3ca755f44c73fed440b5e67c
Author: chenying <email address hidden>
Date: Mon Feb 20 19:43:01 2017 +0800

    Fix the errors about parameter when creating a plan

    Change-Id: Ibb6ab69c25cf232b15e2138bfc62f91159039a32
    Closes-Bug:#1666186
    (cherry picked from commit ee725acb94f8cdec441b62d51a154518d4ff3456)

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-karborclient ocata-eol

This issue was fixed in the openstack/python-karborclient ocata-eol release.

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.