db.dnsdomain_get API calls return no results
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Davanum Srinivas (DIMS) |
Bug Description
I am trying to track down why DNS domains are not being returned from API calls, from both the python-novaclient library and also from calls in OpenStack to nova/network/
2012-07-20 15:47:42 ERROR nova.rpc.amqp [req-4dc9eba4-
2012-07-20 15:47:42 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp rval = node_func(
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp return func(self, context, *args, **kwargs)
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp **kwargs)
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp return func(self, context, *args, **kwargs)
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp requested_
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp vpn=vpn, address=address)
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp if self._validate_
2012-07-20 15:47:42 TRACE nova.rpc.amqp File "/usr/lib/
2012-07-20 15:47:42 TRACE nova.rpc.amqp dns_zone = domainref.
2012-07-20 15:47:42 TRACE nova.rpc.amqp AttributeError: 'NoneType' object has no attribute 'availability_zone'
2012-07-20 15:47:42 TRACE nova.rpc.amqp
2012-07-20 15:47:42 ERROR nova.rpc.amqp [req-4dc9eba4-
stack@devstack:~$ mysql -e "use nova; SELECT * FROM dns_domains"
stack@devstack:~$ nova dns-create-
Please input your password for the keyring
stack@devstack:~$ mysql -e "use nova; SELECT * FROM dns_domains"
+------
| created_at | updated_at | deleted_at | deleted | domain | scope | availability_zone | project_id |
+------
| 2012-07-19 22:25:09 | NULL | NULL | 0 | test1.net | private | NULL | NULL |
+------
stack@devstack:~$ nova dns-domains
Please input your password for the keyring
stack@devstack:~$ nova dns-create-
Please input your password for the keyring
stack@devstack:~$ mysql -e "use nova; SELECT * FROM dns_domains"
+------
| created_at | updated_at | deleted_at | deleted | domain | scope | availability_zone | project_id |
+------
| 2012-07-19 22:25:09 | NULL | NULL | 0 | test1.net | private | NULL | NULL |
| 2012-07-19 22:31:06 | NULL | NULL | 0 | test2.net | public | NULL | NULL |
+------
stack@devstack:~$ nova dns-domains
Please input your password for the keyring
Changed in nova: | |
status: | New → In Progress |
importance: | Undecided → Low |
Changed in nova: | |
status: | In Progress → Triaged |
assignee: | Dan Prince (dan-prince) → nobody |
Changed in nova: | |
assignee: | nobody → Davanum Srinivas (dims-v) |
status: | Triaged → In Progress |
Changed in nova: | |
milestone: | none → grizzly-2 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-2 → 2013.1 |
Hi Sean,
Do you have floating_ ip_dns_ manager and instance_ dns_manager set to something other than nova.network. dns_driver. DNSDriver in your nova.conf file?
By default Nova uses dns_driver. DNSDriver which is meant to be an interface only but actually returns empty results sets or 'pass' for many of its functions. This can be a bit confusing (like you mention above).
I think perhaps we should just update that default interface to raise NotImplementedError instead which would make it much more clear that using this functionally requires a bit more configuration.