<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 10/31/2012 05:00 PM, Trinath
Somanchi wrote:<br>
</div>
<blockquote
cite="mid:CAH8Hgma_xvyPL_tAmRBDW0-CYXR78O-3mN23Y4rU8=YgUbgNzA@mail.gmail.com"
type="cite">Hi Stackers-
<div><br>
</div>
<div>I'm testing a dummy plugin which does and RPC based
communication with Quantum.</div>
<div><br>
</div>
<div>I have done this following:</div>
<div><br>
</div>
<div>[1] I have written dummy agent like DHCP agent - Present in
HOST</div>
<div>[2] I have written dummy_rpc_base like the
db/dhcp_rpc_base.py - Present in Controller</div>
<div>[3] I have written an testing method to the
db/db_base_plugin_v2.py - Present in Controller</div>
<div><br>
</div>
<div>
But when I restart the quantum-server, I get this error:</div>
<div><br>
</div>
<div>
<div><a class="moz-txt-link-abbreviated" href="mailto:root@user-P2020Build:/usr/lib/python2.7/dist-packages/quantum/db#">root@user-P2020Build:/usr/lib/python2.7/dist-packages/quantum/db#</a>
python /usr/bin/quantum-server -- --config-file
/etc/quantum/quantum.conf --log-file
/var/log/quantum/server.log --config-file
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
********************************************************************************</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
Configuration options gathered from config file:</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
================================================</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] allow_bulk
True</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
allow_overlapping_ips False</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
api_extensions_path </div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
api_paste_config /etc/quantum/api-paste.ini</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
auth_strategy keystone</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] base_mac
fa:16:3e:00:00:00</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] bind_host
0.0.0.0</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] bind_port
9696</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] config_dir
None</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] config_file
['/etc/quantum/quantum.conf']</div>
<div>
2012-10-31 14:20:30 DEBUG [quantum.service] core_plugin
quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] debug
True</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
dhcp_lease_duration 120</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] log_config
None</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
log_date_format %Y-%m-%d %H:%M:%S</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] log_dir
None</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] log_file
None</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] log_format
%(asctime)s %(levelname)8s [%(name)s]
%(message)s</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
mac_generation_retries 16</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
max_dns_nameservers 5</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
max_subnet_host_routes 20</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] policy_file
policy.json</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] state_path
.</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
syslog_log_facility LOG_USER</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] use_syslog
False</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service] verbose
True</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.service]
********************************************************************************</div>
<div>2012-10-31 14:20:30 INFO [quantum.common.config] Config
paste file: /etc/quantum/api-paste.ini</div>
<div>2012-10-31 14:20:30 DEBUG [quantum.manager] Plugin
location:quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2</div>
<div>2012-10-31 14:20:30 INFO [quantum.manager] Loading
Plugin:
quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2</div>
<div>Traceback (most recent call last):</div>
<div> File "/usr/bin/quantum-server", line 26, in
<module></div>
<div> server()</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/server/__init__.py",
line 40, in main</div>
<div> quantum_service =
service.serve_wsgi(service.QuantumApiService)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/service.py", line
83, in serve_wsgi</div>
<div> service.start()</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/service.py", line
42, in start</div>
<div> self.wsgi_app = _run_wsgi(self.app_name)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/service.py", line
89, in _run_wsgi</div>
<div> app = config.load_paste_app(app_name)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/common/config.py",
line 133, in load_paste_app</div>
<div> app = deploy.loadapp("config:%s" % config_path,
name=app_name)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 247, in loadapp</div>
<div> return loadobj(APP, uri, name=name, **kw)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 272, in loadobj</div>
<div> return context.create()</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 710, in create</div>
<div> return self.object_type.invoke(self)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 144, in invoke</div>
<div> **context.local_conf)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
59, in fix_call</div>
<div> reraise(*exc_info)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/compat.py",
line 22, in reraise</div>
<div> exec('raise t, e, tb', dict(t=t, e=e, tb=tb))</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
56, in fix_call</div>
<div> val = callable(*args, **kw)</div>
<div> File "/usr/lib/python2.7/dist-packages/paste/urlmap.py",
line 25, in urlmap_factory</div>
<div> app = loader.get_app(app_name, global_conf=global_conf)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 350, in get_app</div>
<div> name=name, global_conf=global_conf).create()</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 710, in create</div>
<div> return self.object_type.invoke(self)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 144, in invoke</div>
<div> **context.local_conf)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
59, in fix_call</div>
<div> reraise(*exc_info)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/compat.py",
line 22, in reraise</div>
<div> exec('raise t, e, tb', dict(t=t, e=e, tb=tb))</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
56, in fix_call</div>
<div> val = callable(*args, **kw)</div>
<div> File "/usr/lib/python2.7/dist-packages/quantum/auth.py",
line 61, in pipeline_factory</div>
<div> app = loader.get_app(pipeline[-1])</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 350, in get_app</div>
<div> name=name, global_conf=global_conf).create()</div>
<div>
File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 710, in create</div>
<div> return self.object_type.invoke(self)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py",
line 146, in invoke</div>
<div> return fix_call(context.object, context.global_conf,
**context.local_conf)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
59, in fix_call</div>
<div> reraise(*exc_info)</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/compat.py",
line 22, in reraise</div>
<div> exec('raise t, e, tb', dict(t=t, e=e, tb=tb))</div>
<div> File
"/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line
56, in fix_call</div>
<div> val = callable(*args, **kw)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/api/v2/router.py",
line 67, in factory</div>
<div> return cls(**local_config)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/api/v2/router.py",
line 71, in __init__</div>
<div> plugin = manager.QuantumManager.get_plugin()</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/manager.py", line
65, in get_plugin</div>
<div> cls._instance = cls()</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/manager.py", line
54, in __init__</div>
<div> plugin_klass =
importutils.import_class(plugin_provider)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/openstack/common/importutils.py",
line 30, in import_class</div>
<div> __import__(mod_str)</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/plugins/openvswitch/ovs_quantum_plugin.py",
line 33, in <module></div>
<div> from quantum.db import l3_db</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/db/l3_db.py", line
86, in <module></div>
<div> class L3_NAT_db_mixin(l3.RouterPluginBase):</div>
<div> File
"/usr/lib/python2.7/dist-packages/quantum/db/l3_db.py", line
111, in L3_NAT_db_mixin</div>
<div> _network_filter_hook)</div>
<div>TypeError: unbound method register_model_query_hook() must
be called with QuantumDbPluginV2 instance as first argument
(got DeclarativeMeta instance instead)</div>
</div>
<div>
<div><br>
</div>
<div>How to resolve this error?</div>
<div><br>
</div>
</div>
</blockquote>
I don't know what change you have done to the code, so cannot help a
lot.<br>
<blockquote
cite="mid:CAH8Hgma_xvyPL_tAmRBDW0-CYXR78O-3mN23Y4rU8=YgUbgNzA@mail.gmail.com"
type="cite">
<div>
<div>How can I register a new plugin/agent with the quantum?</div>
<div><br>
</div>
</div>
</blockquote>
quantum.conf define the plugin:<br>
core_plugin =
quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2<br>
You can point it to your plugin.<br>
plugin agent is a peer for the plugin, that is running standalone.<br>
<blockquote
cite="mid:CAH8Hgma_xvyPL_tAmRBDW0-CYXR78O-3mN23Y4rU8=YgUbgNzA@mail.gmail.com"
type="cite">
<div>
<div>Please help me in this regard.</div>
<div><br>
</div>
<div><br>
</div>
-- <br>
Regards,<br>
----------------------------------------------<br>
Trinath Somanchi,
<div>+91 9866 235 130</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Mailing list: <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
Post to : <a class="moz-txt-link-abbreviated" href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>
Unsubscribe : <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
More help : <a class="moz-txt-link-freetext" href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a>
</pre>
</blockquote>
<br>
</body>
</html>