On 03/15/2014 04:29 AM, Sean Dague wrote:
On 03/15/2014 02:49 AM, Chris Friesen wrote:
Hi,
I'm trying to run InstanceGroup.get_hosts() on a havana installation
that uses postgres. When I run the code, I get the following error:
RemoteError: Remote error: ProgrammingError (ProgrammingError) operator
does not exist: timestamp without time zone ~ unknown
2014-03-14 09:58:57.193 8164 TRACE nova.compute.manager [instance:
83439206-3a88-495b-b6c7-6aea1287109f] LINE 3: ....uuid != instances.uuid
AND (instances.deleted_at ~ 'None') ...
2014-03-14 09:58:57.193 8164 TRACE nova.compute.manager [instance:
83439206-3a88-495b-b6c7-6aea1287109f] ^
2014-03-14 09:58:57.193 8164 TRACE nova.compute.manager [instance:
83439206-3a88-495b-b6c7-6aea1287109f] HINT: No operator matches the
given name and argument type(s). You might need to add explicit type casts.
I'm not a database expert, but after doing some digging, it seems that
the problem is this line in get_hosts():
filters = {'uuid': filter_uuids, 'deleted_at': None}
It seems that current postgres doesn't allow implicit casts. If I
change the line to:
filters = {'uuid': filter_uuids, 'deleted': 0}
Then it seems to work. Is this change valid?
Yes, postgresql is strongly typed with it's data. That's a valid bug you
found, fixes appreciated!
Bug report is open at "https://bugs.launchpad.net/nova/+bug/1292963"
Patch is up for review at "https://review.openstack.org/80808", comments
welcome.
Chris
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev