Couchbase fails on create with NoSuchOptError:

Bug #1366175 reported by Doug Shelley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack DBaaS (Trove)
Fix Released
High
Amrith Kumar

Bug Description

Doing trove create mydb 8 --size=5 --datastore couchbase
results in ERROR and this in guestagent.log

2014-09-05 03:35:58.565 1866 CRITICAL root [-] NoSuchOptError: no such option in group couchbase: backup_incremental_strategy
2014-09-05 03:35:58.565 1866 TRACE root Traceback (most recent call last):
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/bin/trove-guestagent", line 10, in <module>
2014-09-05 03:35:58.565 1866 TRACE root sys.exit(main())
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/cmd/guest.py", line 57, in main
2014-09-05 03:35:58.565 1866 TRACE root server =
rpc_service.RpcService(manager=manager, host=CONF.guest_id)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/common/rpc/service.py", line 36, in __init__
2014-09-05 03:35:58.565 1866 TRACE root self.manager_impl =
importutils.import_object(manager)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/openstack/common/importutils.py", line 38, in import_object
2014-09-05 03:35:58.565 1866 TRACE root return
import_class(import_str)(*args, **kwargs)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/openstack/common/importutils.py", line 27, in import_class
2014-09-05 03:35:58.565 1866 TRACE root __import__(mod_str)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/guestagent/datastore/couchbase/manager.py",
line 21, in <module>
2014-09-05 03:35:58.565 1866 TRACE root from trove.guestagent import
backup
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/guestagent/backup/__init__.py",
line 19, in <module>
2014-09-05 03:35:58.565 1866 TRACE root from
trove.guestagent.backup.backupagent import BackupAgent
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/lib/python2.7/dist-packages/trove/guestagent/backup/backupagent.py",
line 45, in <module>
2014-09-05 03:35:58.565 1866 TRACE root INCREMENTAL =
CONFIG_MANAGER.backup_incremental_strategy.get(
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/local/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2293, in __getattr__
2014-09-05 03:35:58.565 1866 TRACE root return self._conf._get(name,
self._group)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/local/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2031, in _get
2014-09-05 03:35:58.565 1866 TRACE root value = self._do_get(name,
group, namespace)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/local/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2049, in _do_get
2014-09-05 03:35:58.565 1866 TRACE root info =
self._get_opt_info(name, group)
2014-09-05 03:35:58.565 1866 TRACE root File
"/usr/local/lib/python2.7/dist-packages/oslo/config/cfg.py", line 2173, in _get_opt_info
2014-09-05 03:35:58.565 1866 TRACE root raise
NoSuchOptError(opt_name, group)
2014-09-05 03:35:58.565 1866 TRACE root NoSuchOptError: no such option in group couchbase: backup_incremental_strategy
2014-09-05 03:35:58.565 1866 TRACE root

Revision history for this message
Doug Shelley (0-doug) wrote :

I believe this is related to this recent commit - https://review.openstack.org/#/c/113155

Looks like the backup_incremental_strategy needs to be pushed down to all datastores.

Changed in trove:
assignee: nobody → Doug Shelley (0-doug)
Revision history for this message
Amrith Kumar (amrith) wrote :

Not just related, it was caused by that commit (https://review.openstack.org/#/c/113155) which was my handiwork.

I removed backup_incremental_strategy from the global opts and added it back to the ones that supported it.

However, any guest agent that had backup but not incremental backup (now couchbase) would barf on this.

Changed in trove:
importance: Undecided → High
status: New → Confirmed
milestone: none → juno-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (master)

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

Changed in trove:
status: Confirmed → In Progress
Changed in trove:
assignee: Doug Shelley (0-doug) → Amrith (amrith)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to trove (master)

Reviewed: https://review.openstack.org/119636
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=648358509b6e4c101102d7a8b34ed02fb4a695b7
Submitter: Jenkins
Branch: master

commit 648358509b6e4c101102d7a8b34ed02fb4a695b7
Author: Doug Shelley <email address hidden>
Date: Sun Sep 7 14:19:07 2014 -0400

    Fix NoSuchOptError on Couchbase create

    A previous commit moved the backup_incremental_strategy option from
    DEFAULT group to datastore specific grouping. However, the option was
    only implemented for Mysql and Percona so when any datastore that had
    backup support (like Couchbase) attempted to start, it received a
    NoSuchOptError because of the missing option.

    This fix put an empty dict in for the option for all datastores that
    don't currently have backup or incremental backup support implemented.

    Note: this wasn't picked up by any automated tests because the gate
    currently only tests MySQL.

    Author: Doug Shelley <email address hidden>
    Co-Authored-By: Amrith Kumar <email address hidden>
    Change-Id: I6a11dcf79c483a43ebdf79085d1bd17d653afe59
    Closes-Bug: 1366175

Changed in trove:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in trove:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in trove:
milestone: juno-rc1 → 2014.2
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.