[openstack-dev] [nova] [bug?] possible postgres/mysql incompatibility in InstanceGroup.get_hosts()

Russell Bryant rbryant at redhat.com
Sat Mar 15 10:50:39 UTC 2014


On 03/14/2014 06:53 PM, 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.

Looks right. Thanks!
Can you please open a bug and submit a patch? We should target the fix
to icehouse-rc1.
-- 
Russell Bryant


More information about the OpenStack-dev mailing list

AltStyle によって変換されたページ (->オリジナル) /