[openstack-dev] NOVA SQLalchemy ORM issue
Craig Vyvial
cp16net at gmail.com
Fri Oct 5 05:59:25 UTC 2012
This may help you in your travels.
Add these nova.conf options
# sql_connection_debug=100
#### (IntOpt) Verbosity of SQL debugging information. 0=None,
#### 100=Everything
# sql_connection_trace=true
#### (BoolOpt) Add python stack traces to SQL as comment strings
-Craig Vyvial
cp16net
On Wed, Oct 3, 2012 at 7:06 AM, Trinath Somanchi <trinath.somanchi at gmail.com
> wrote:
> Hi-
>
> While developing the new extension, I was struck at the SQLalchemy ORM
> query,
>
> To achieve, the query below in ORM,
>
> select distinct(inst.hostname) as server_name,
> fip.address as fixed_ip_address,
> vif.address as fixed_ip_mac_address
> from instances inst, instance_metadata mtd, virtual_interfaces vif,
> fixed_ips fip
> where inst.id = mtd.instance_id and
> mtd.instance_id = vif.instance_id and
> vif.instance_id = fip.instance_id and
> inst.project_id = 'e216fcb54dc944a8ab16e4e325299643' and
> mtd.key = 'Server Group' and
> mtd.value = 'DOM1'
> group by mtd.key,mtd.value;
>
> SQL>
> +-------------+------------------+----------------------+
> | server_name | fixed_ip_address | fixed_ip_mac_address |
> +-------------+------------------+----------------------+
> | serverpoc | 172.15.1.2 | fa:16:3e:56:47:71 |
> | serverpoc2 | 172.15.1.3 | fa:16:3e:4f:3c:9b |
> +-------------+------------------+----------------------+
>
>
> I have written the ORM query as
>
> result =
> session.query(models.Instance.hostname.distinct(),models.FixedIp.address,models.VirtualInterface.address).\
> join((models.InstanceMetadata,
> models.InstanceMetadata.instance_id ==
> models.Instance.id)).\
> join ((models.FixedIp,
> models.FixedIp.instance_id ==
> models.InstanceMetadata.instance_id)).\
> join ((models.VirtualInterface,
> models.VirtualInterface.instance_id ==
> models.FixedIp.instance_id)).\
> filter(and_(models.Instance.project_id ==
> search_opts['project_id'])).\
> filter(and_(models.InstanceMetadata.key ==
> str(search_opts['key']) )).\
> filter(and_(models.InstanceMetadata.value ==
> str(search_opts['value']))).\
> all()
>
> I'm new to sqlalchemy and with the help from existing queries in nova api,
> I have come upto this level.
>
> Can any one guide me why the above ORM query is not returning rows? Is the
> ORM query reflecting correctly the SQL query above.
>
> Please guide me troubleshoot the same. I was unable to plot the mistake in
> the ORM. Am i correct with respect to the ORM query preparation?
>
>
> Thanks a lot in advance.
>
> --
> Regards,
> ----------------------------------------------
> Trinath Somanchi,
> +91 9866 235 130
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121005/5c5fbd38/attachment.html>
More information about the OpenStack-dev
mailing list