You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Mike Tutkowski <mi...@solidfire.com> on 2014/07/01 06:11:46 UTC

Re: [ACS4.5] Can't access volumes on storage tab in GUI

I looked into this a bit more.

It appears that the "volume_view" no longer has the following two columns:

vm_template.name template_name
vm_template.display_text template_display_text

The problem is that the Java class, VolumeJoinVO, still has reference to
them (a variable for each one).

I would just remove these variables; however, they are still in use as they
are returned to clients as responses (at least we try to return them, but
get an exception before being able to do so).

If we really want to remove these two columns, that will mean breaking the
API, which really should wait until a major release.


On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> Thanks for the reply.
>
> The weird part is that this is the second time I've recreated the DB and
> seen this issue.
>
> If I have time a bit later, I can see if the SQL in Git is wrong and
> update it with what you provided.
>
> Thanks!
>
>
> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <bh...@citrix.com>
> wrote:
>
>> Hi Mike,
>>
>> I think the volume_view did not get created properly for some reason. I
>> think recreating the volume_view will fix the problem.
>>
>> below commas should fix the issue.
>>
>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>> CREATE VIEW `cloud`.`volume_view` AS
>>     select
>>         volumes.id,
>>         volumes.uuid,
>>         volumes.name,
>>         volumes.device_id,
>>         volumes.volume_type,
>>         volumes.size,
>>         volumes.min_iops,
>>         volumes.max_iops,
>>         volumes.created,
>>         volumes.state,
>>         volumes.attached,
>>         volumes.removed,
>>         volumes.pod_id,
>>         volumes.display_volume,
>>         volumes.format,
>>         volumes.path,
>>         volumes.chain_info,
>>         account.id account_id,
>>         account.uuid account_uuid,
>>         account.account_name account_name,
>>         account.type account_type,
>>         domain.id domain_id,
>>         domain.uuid domain_uuid,
>>         domain.name domain_name,
>>         domain.path domain_path,
>>         projects.id project_id,
>>         projects.uuid project_uuid,
>>         projects.name project_name,
>>         data_center.id data_center_id,
>>         data_center.uuid data_center_uuid,
>>         data_center.name data_center_name,
>>         data_center.networktype data_center_type,
>>         vm_instance.id vm_id,
>>         vm_instance.uuid vm_uuid,
>>         vm_instance.name vm_name,
>>         vm_instance.state vm_state,
>>         vm_instance.vm_type,
>>         user_vm.display_name vm_display_name,
>>         volume_store_ref.size volume_store_size,
>>         volume_store_ref.download_pct,
>>         volume_store_ref.download_state,
>>         volume_store_ref.error_str,
>>         volume_store_ref.created created_on_store,
>>         disk_offering.id disk_offering_id,
>>         disk_offering.uuid disk_offering_uuid,
>>         disk_offering.name disk_offering_name,
>>         disk_offering.display_text disk_offering_display_text,
>>         disk_offering.use_local_storage,
>>         disk_offering.system_use,
>>         disk_offering.bytes_read_rate,
>>         disk_offering.bytes_write_rate,
>>         disk_offering.iops_read_rate,
>>         disk_offering.iops_write_rate,
>>         disk_offering.cache_mode,
>>         storage_pool.id pool_id,
>>         storage_pool.uuid pool_uuid,
>>         storage_pool.name pool_name,
>>         cluster.hypervisor_type,
>>         vm_template.id template_id,
>>         vm_template.uuid template_uuid,
>>         vm_template.extractable,
>>         vm_template.type template_type,
>>         vm_template.name template_name,
>>         vm_template.display_text template_display_text,
>>         iso.id iso_id,
>>         iso.uuid iso_uuid,
>>         iso.name iso_name,
>>         iso.display_text iso_display_text,
>>         resource_tags.id tag_id,
>>         resource_tags.uuid tag_uuid,
>>         resource_tags.key tag_key,
>>         resource_tags.value tag_value,
>>         resource_tags.domain_id tag_domain_id,
>>         resource_tags.account_id tag_account_id,
>>         resource_tags.resource_id tag_resource_id,
>>         resource_tags.resource_uuid tag_resource_uuid,
>>         resource_tags.resource_type tag_resource_type,
>>         resource_tags.customer tag_customer,
>>         async_job.id job_id,
>>         async_job.uuid job_uuid,
>>         async_job.job_status job_status,
>>         async_job.account_id job_account_id
>>     from
>>         `cloud`.`volumes`
>>             inner join
>>         `cloud`.`account` ON volumes.account_id = account.id
>>             inner join
>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>             left join
>>         `cloud`.`projects` ON projects.project_account_id = account.id
>>             left join
>>         `cloud`.`data_center` ON volumes.data_center_id = data_center.id
>>             left join
>>         `cloud`.`vm_instance` ON volumes.instance_id = vm_instance.id
>>             left join
>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>             left join
>>         `cloud`.`volume_store_ref` ON volumes.id =
>> volume_store_ref.volume_id
>>             left join
>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>> disk_offering.id
>>             left join
>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
>>             left join
>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>             left join
>>         `cloud`.`vm_template` ON volumes.template_id = vm_template.id
>>             left join
>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>             left join
>>         `cloud`.`resource_tags` ON resource_tags.resource_id = volumes.id
>>             and resource_tags.resource_type = 'Volume'
>>             left join
>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>             and async_job.instance_type = 'Volume'
>>             and async_job.job_status = 0;
>>
>> Thanks,
>> Bharat.
>>
>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <mi...@solidfire.com>
>> wrote:
>>
>> > Hi,
>> >
>> > If you click on the Storage tab in the GUI when you have one or more
>> > volumes, you receive the following exception (is this something someone
>> is
>> > already working on?):
>> >
>> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>> > Unknown column 'volume_view.template_name' in 'field list'
>> >    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>> >    at
>> >
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>> >    at
>> >
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>> >    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>> >    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>> >    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>> >    at
>> >
>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>> >    at
>> >
>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>> >    at
>> >
>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>> >
>> > Thanks!
>> >
>> > --
>> > *Mike Tutkowski*
>> > *Senior CloudStack Developer, SolidFire Inc.*
>> > e: mike.tutkowski@solidfire.com
>> > o: 303.746.7302
>> > Advancing the way the world uses the cloud
>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>
>>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Just a follow up to this:

I updated my codebase, rebuilt my cloud from scratch, and now it seems that
all of my disks/volumes (both root and data) show up on the Storage tab as
I spin up VMs and attach data disks to them.


On Sun, Jul 6, 2014 at 12:25 AM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> Interesting...one of my three ROOT disks shows up at the time being.
>
>
> On Sun, Jul 6, 2014 at 12:17 AM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> I noticed tonight that the Storage tab no longer shows me ROOT
>> volumes...just DATADISK ones.
>>
>> Possibly related to the issue that was being discussed in this thread?
>>
>>
>> On Tue, Jul 1, 2014 at 6:18 PM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> Actually, this is a good opportunity to remind devs in general that if
>>> you make a change to a schema-upgrade file for a release and you are not on
>>> master that you should take a peek at the schema-upgrade file on master to
>>> see if it needs to be updated, as well.
>>>
>>> In this case, it would have been OK (nothing to do on master) had the
>>> volume_view not been modified going from 4.4 to 4.5, but it had been (so
>>> modifications to volume_view going from 4.3 to 4.4 needed to be carried
>>> forward going from 4.4 to 4.5).
>>>
>>> Thanks!
>>>
>>>
>>> On Tue, Jul 1, 2014 at 6:10 PM, Mike Tutkowski <
>>> mike.tutkowski@solidfire.com> wrote:
>>>
>>>> Thanks!
>>>>
>>>>
>>>> On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <ma...@ynojima.net>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>> I pushed a commit to fix this issue.
>>>>> I confirmed listVolumes doesn't throw an error now in my environment.
>>>>>
>>>>> Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
>>>>> refs/heads/master from Yoshikazu Nojima
>>>>> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]
>>>>>
>>>>> CLOUDSTACK-7032 bugfix: listVolumes throws an error
>>>>>
>>>>> Since schema change made on 4.4 is not applied to the upgrade script
>>>>> from 4.4 to 4.5, listVolumes api throws an error.
>>>>> This commit fix the issue.
>>>>>
>>>>>
>>>>> 2014-07-01 14:06 GMT-06:00 Mike Tutkowski <
>>>>> mike.tutkowski@solidfire.com>:
>>>>> > Somehow I didn't see that aliasing going on there.
>>>>> >
>>>>> >
>>>>> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <
>>>>> mike.tutkowski@solidfire.com
>>>>> >> wrote:
>>>>> >
>>>>> >> Ah, yes, good point.
>>>>> >>
>>>>> >>
>>>>> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net>
>>>>> wrote:
>>>>> >>
>>>>> >>> Hi Mike,
>>>>> >>> I suppose "iso" is an alias for "vm_template".
>>>>> >>> See the left join syntax you refered.
>>>>> >>>
>>>>> >>> >            left join
>>>>> >>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>>> >>>
>>>>> >>>
>>>>> >>> Regards,
>>>>> >>> Noji
>>>>> >>>
>>>>> >>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <
>>>>> mike.tutkowski@solidfire.com>:
>>>>> >>> > This diff shows some of the problem:
>>>>> >>> >
>>>>> >>> > http://i.imgur.com/PW7lqbs.png
>>>>> >>> >
>>>>> >>> > Six fields have been removed from the volume_view and five of
>>>>> those six
>>>>> >>> are
>>>>> >>> > still in use.
>>>>> >>> >
>>>>> >>> > It is not a simple matter of adding them back in, however,
>>>>> because the
>>>>> >>> iso
>>>>> >>> > table that used to be used is no longer present in 4.5.
>>>>> >>> >
>>>>> >>> > That being the case, we need to figure out where to get this
>>>>> data from
>>>>> >>> in
>>>>> >>> > 4.5. I don't have a lot of context, though, on why the iso table
>>>>> doesn't
>>>>> >>> > exist anymore.
>>>>> >>> >
>>>>> >>> > Thoughts?
>>>>> >>> >
>>>>> >>> >
>>>>> >>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>>>>> >>> > mike.tutkowski@solidfire.com> wrote:
>>>>> >>> >
>>>>> >>> >> Upon further consideration, I forgot that we drop and re-create
>>>>> views
>>>>> >>> in
>>>>> >>> >> the SQL - if need be - from release to release.
>>>>> >>> >>
>>>>> >>> >> It looks like a new version of the volume_view went into 4.5
>>>>> with
>>>>> >>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review
>>>>> Request
>>>>> >>> >> 19446.
>>>>> >>> >>
>>>>> >>> >> It appears volume_view is missing several columns.
>>>>> >>> >>
>>>>> >>> >>
>>>>> >>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>>>>> >>> >> mike.tutkowski@solidfire.com> wrote:
>>>>> >>> >>
>>>>> >>> >>> Actually, in looking at "git blame", it appears this view has
>>>>> never
>>>>> >>> had
>>>>> >>> >>> those two columns.
>>>>> >>> >>>
>>>>> >>> >>> I think the intent, however, is that those two columns exist
>>>>> in the
>>>>> >>> view.
>>>>> >>> >>>
>>>>> >>> >>> I'm adding them in my sandbox and testing this out now.
>>>>> >>> >>>
>>>>> >>> >>>
>>>>> >>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>>>>> >>> >>> mike.tutkowski@solidfire.com> wrote:
>>>>> >>> >>>
>>>>> >>> >>>> I looked into this a bit more.
>>>>> >>> >>>>
>>>>> >>> >>>> It appears that the "volume_view" no longer has the following
>>>>> two
>>>>> >>> >>>> columns:
>>>>> >>> >>>>
>>>>> >>> >>>> vm_template.name template_name
>>>>> >>> >>>> vm_template.display_text template_display_text
>>>>> >>> >>>>
>>>>> >>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>>>>> >>> reference to
>>>>> >>> >>>> them (a variable for each one).
>>>>> >>> >>>>
>>>>> >>> >>>> I would just remove these variables; however, they are still
>>>>> in use
>>>>> >>> as
>>>>> >>> >>>> they are returned to clients as responses (at least we try to
>>>>> return
>>>>> >>> them,
>>>>> >>> >>>> but get an exception before being able to do so).
>>>>> >>> >>>>
>>>>> >>> >>>> If we really want to remove these two columns, that will mean
>>>>> >>> breaking
>>>>> >>> >>>> the API, which really should wait until a major release.
>>>>> >>> >>>>
>>>>> >>> >>>>
>>>>> >>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>>>> >>> >>>> mike.tutkowski@solidfire.com> wrote:
>>>>> >>> >>>>
>>>>> >>> >>>>> Thanks for the reply.
>>>>> >>> >>>>>
>>>>> >>> >>>>> The weird part is that this is the second time I've
>>>>> recreated the DB
>>>>> >>> >>>>> and seen this issue.
>>>>> >>> >>>>>
>>>>> >>> >>>>> If I have time a bit later, I can see if the SQL in Git is
>>>>> wrong and
>>>>> >>> >>>>> update it with what you provided.
>>>>> >>> >>>>>
>>>>> >>> >>>>> Thanks!
>>>>> >>> >>>>>
>>>>> >>> >>>>>
>>>>> >>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>>>>> >>> bharat.kumar@citrix.com>
>>>>> >>> >>>>> wrote:
>>>>> >>> >>>>>
>>>>> >>> >>>>>> Hi Mike,
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> I think the volume_view did not get created properly for
>>>>> some
>>>>> >>> reason.
>>>>> >>> >>>>>> I think recreating the volume_view will fix the problem.
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> below commas should fix the issue.
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>>>> >>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>>>> >>> >>>>>>     select
>>>>> >>> >>>>>>         volumes.id,
>>>>> >>> >>>>>>         volumes.uuid,
>>>>> >>> >>>>>>         volumes.name,
>>>>> >>> >>>>>>         volumes.device_id,
>>>>> >>> >>>>>>         volumes.volume_type,
>>>>> >>> >>>>>>         volumes.size,
>>>>> >>> >>>>>>         volumes.min_iops,
>>>>> >>> >>>>>>         volumes.max_iops,
>>>>> >>> >>>>>>         volumes.created,
>>>>> >>> >>>>>>         volumes.state,
>>>>> >>> >>>>>>         volumes.attached,
>>>>> >>> >>>>>>         volumes.removed,
>>>>> >>> >>>>>>         volumes.pod_id,
>>>>> >>> >>>>>>         volumes.display_volume,
>>>>> >>> >>>>>>         volumes.format,
>>>>> >>> >>>>>>         volumes.path,
>>>>> >>> >>>>>>         volumes.chain_info,
>>>>> >>> >>>>>>         account.id account_id,
>>>>> >>> >>>>>>         account.uuid account_uuid,
>>>>> >>> >>>>>>         account.account_name account_name,
>>>>> >>> >>>>>>         account.type account_type,
>>>>> >>> >>>>>>         domain.id domain_id,
>>>>> >>> >>>>>>         domain.uuid domain_uuid,
>>>>> >>> >>>>>>         domain.name domain_name,
>>>>> >>> >>>>>>         domain.path domain_path,
>>>>> >>> >>>>>>         projects.id project_id,
>>>>> >>> >>>>>>         projects.uuid project_uuid,
>>>>> >>> >>>>>>         projects.name project_name,
>>>>> >>> >>>>>>         data_center.id data_center_id,
>>>>> >>> >>>>>>         data_center.uuid data_center_uuid,
>>>>> >>> >>>>>>         data_center.name data_center_name,
>>>>> >>> >>>>>>         data_center.networktype data_center_type,
>>>>> >>> >>>>>>         vm_instance.id vm_id,
>>>>> >>> >>>>>>         vm_instance.uuid vm_uuid,
>>>>> >>> >>>>>>         vm_instance.name vm_name,
>>>>> >>> >>>>>>         vm_instance.state vm_state,
>>>>> >>> >>>>>>         vm_instance.vm_type,
>>>>> >>> >>>>>>         user_vm.display_name vm_display_name,
>>>>> >>> >>>>>>         volume_store_ref.size volume_store_size,
>>>>> >>> >>>>>>         volume_store_ref.download_pct,
>>>>> >>> >>>>>>         volume_store_ref.download_state,
>>>>> >>> >>>>>>         volume_store_ref.error_str,
>>>>> >>> >>>>>>         volume_store_ref.created created_on_store,
>>>>> >>> >>>>>>         disk_offering.id disk_offering_id,
>>>>> >>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>>>>> >>> >>>>>>         disk_offering.name disk_offering_name,
>>>>> >>> >>>>>>         disk_offering.display_text
>>>>> disk_offering_display_text,
>>>>> >>> >>>>>>         disk_offering.use_local_storage,
>>>>> >>> >>>>>>         disk_offering.system_use,
>>>>> >>> >>>>>>         disk_offering.bytes_read_rate,
>>>>> >>> >>>>>>         disk_offering.bytes_write_rate,
>>>>> >>> >>>>>>         disk_offering.iops_read_rate,
>>>>> >>> >>>>>>         disk_offering.iops_write_rate,
>>>>> >>> >>>>>>         disk_offering.cache_mode,
>>>>> >>> >>>>>>         storage_pool.id pool_id,
>>>>> >>> >>>>>>         storage_pool.uuid pool_uuid,
>>>>> >>> >>>>>>         storage_pool.name pool_name,
>>>>> >>> >>>>>>         cluster.hypervisor_type,
>>>>> >>> >>>>>>         vm_template.id template_id,
>>>>> >>> >>>>>>         vm_template.uuid template_uuid,
>>>>> >>> >>>>>>         vm_template.extractable,
>>>>> >>> >>>>>>         vm_template.type template_type,
>>>>> >>> >>>>>>         vm_template.name template_name,
>>>>> >>> >>>>>>         vm_template.display_text template_display_text,
>>>>> >>> >>>>>>         iso.id iso_id,
>>>>> >>> >>>>>>         iso.uuid iso_uuid,
>>>>> >>> >>>>>>         iso.name iso_name,
>>>>> >>> >>>>>>         iso.display_text iso_display_text,
>>>>> >>> >>>>>>         resource_tags.id tag_id,
>>>>> >>> >>>>>>         resource_tags.uuid tag_uuid,
>>>>> >>> >>>>>>         resource_tags.key tag_key,
>>>>> >>> >>>>>>         resource_tags.value tag_value,
>>>>> >>> >>>>>>         resource_tags.domain_id tag_domain_id,
>>>>> >>> >>>>>>         resource_tags.account_id tag_account_id,
>>>>> >>> >>>>>>         resource_tags.resource_id tag_resource_id,
>>>>> >>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>>> >>> >>>>>>         resource_tags.resource_type tag_resource_type,
>>>>> >>> >>>>>>         resource_tags.customer tag_customer,
>>>>> >>> >>>>>>         async_job.id job_id,
>>>>> >>> >>>>>>         async_job.uuid job_uuid,
>>>>> >>> >>>>>>         async_job.job_status job_status,
>>>>> >>> >>>>>>         async_job.account_id job_account_id
>>>>> >>> >>>>>>     from
>>>>> >>> >>>>>>         `cloud`.`volumes`
>>>>> >>> >>>>>>             inner join
>>>>> >>> >>>>>>         `cloud`.`account` ON volumes.account_id =
>>>>> account.id
>>>>> >>> >>>>>>             inner join
>>>>> >>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>>>>> >>> account.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>>>> >>> >>>>>> data_center.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>>>>> >>> vm_instance.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>>>> >>> >>>>>> volume_store_ref.volume_id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id
>>>>> =
>>>>> >>> >>>>>> disk_offering.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>>>>> >>> storage_pool.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id =
>>>>> cluster.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>>>>> >>> vm_template.id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`vm_template` iso ON iso.id =
>>>>> volumes.iso_id
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`resource_tags` ON
>>>>> resource_tags.resource_id =
>>>>> >>> >>>>>> volumes.id
>>>>> >>> >>>>>>             and resource_tags.resource_type = 'Volume'
>>>>> >>> >>>>>>             left join
>>>>> >>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id =
>>>>> volumes.id
>>>>> >>> >>>>>>             and async_job.instance_type = 'Volume'
>>>>> >>> >>>>>>             and async_job.job_status = 0;
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> Thanks,
>>>>> >>> >>>>>> Bharat.
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>>>> >>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>>>>> >>> >>>>>>
>>>>> >>> >>>>>> > Hi,
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>> > If you click on the Storage tab in the GUI when you have
>>>>> one or
>>>>> >>> more
>>>>> >>> >>>>>> > volumes, you receive the following exception (is this
>>>>> something
>>>>> >>> >>>>>> someone is
>>>>> >>> >>>>>> > already working on?):
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>> > Caused by:
>>>>> >>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>>>> >>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>>>> >>> >>>>>> >    at
>>>>> >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>> >>> >>>>>> Method)
>>>>> >>> >>>>>> >    at
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>>
>>>>> >>>
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>>> >>> >>>>>> >    at
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>>
>>>>> >>>
>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>> >>> >>>>>> >    at
>>>>> >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>>> >>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>>> >>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>>> >>> >>>>>> >    at
>>>>> >>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>>>> >>> >>>>>> >    at
>>>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>>>> >>> >>>>>> >    at
>>>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>>>> >>> >>>>>> >    at
>>>>> com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>>>> >>> >>>>>> >    at
>>>>> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>>>> >>> >>>>>> >    at
>>>>> >>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>>>> >>> >>>>>> >    at
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>>
>>>>> >>>
>>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>>>> >>> >>>>>> >    at
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>>
>>>>> >>>
>>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>>>> >>> >>>>>> >    at
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>>
>>>>> >>>
>>>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>> > Thanks!
>>>>> >>> >>>>>> >
>>>>> >>> >>>>>> > --
>>>>> >>> >>>>>> > *Mike Tutkowski*
>>>>> >>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> >>>>>> > e: mike.tutkowski@solidfire.com
>>>>> >>> >>>>>> > o: 303.746.7302
>>>>> >>> >>>>>> > Advancing the way the world uses the cloud
>>>>> >>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>> >>>>>>
>>>>> >>> >>>>>>
>>>>> >>> >>>>>
>>>>> >>> >>>>>
>>>>> >>> >>>>> --
>>>>> >>> >>>>> *Mike Tutkowski*
>>>>> >>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> >>>>> e: mike.tutkowski@solidfire.com
>>>>> >>> >>>>> o: 303.746.7302
>>>>> >>> >>>>> Advancing the way the world uses the cloud
>>>>> >>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>> >>>>>
>>>>> >>> >>>>
>>>>> >>> >>>>
>>>>> >>> >>>>
>>>>> >>> >>>> --
>>>>> >>> >>>> *Mike Tutkowski*
>>>>> >>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> >>>> e: mike.tutkowski@solidfire.com
>>>>> >>> >>>> o: 303.746.7302
>>>>> >>> >>>> Advancing the way the world uses the cloud
>>>>> >>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>> >>>>
>>>>> >>> >>>
>>>>> >>> >>>
>>>>> >>> >>>
>>>>> >>> >>> --
>>>>> >>> >>> *Mike Tutkowski*
>>>>> >>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> >>> e: mike.tutkowski@solidfire.com
>>>>> >>> >>> o: 303.746.7302
>>>>> >>> >>> Advancing the way the world uses the cloud
>>>>> >>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>> >>>
>>>>> >>> >>
>>>>> >>> >>
>>>>> >>> >>
>>>>> >>> >> --
>>>>> >>> >> *Mike Tutkowski*
>>>>> >>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> >> e: mike.tutkowski@solidfire.com
>>>>> >>> >> o: 303.746.7302
>>>>> >>> >> Advancing the way the world uses the cloud
>>>>> >>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>> >>
>>>>> >>> >
>>>>> >>> >
>>>>> >>> >
>>>>> >>> > --
>>>>> >>> > *Mike Tutkowski*
>>>>> >>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >>> > e: mike.tutkowski@solidfire.com
>>>>> >>> > o: 303.746.7302
>>>>> >>> > Advancing the way the world uses the cloud
>>>>> >>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> --
>>>>> >> *Mike Tutkowski*
>>>>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>>>> >> e: mike.tutkowski@solidfire.com
>>>>> >> o: 303.746.7302
>>>>> >> Advancing the way the world uses the cloud
>>>>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > *Mike Tutkowski*
>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>>> > e: mike.tutkowski@solidfire.com
>>>>> > o: 303.746.7302
>>>>> > Advancing the way the world uses the cloud
>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Mike Tutkowski*
>>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>> e: mike.tutkowski@solidfire.com
>>>> o: 303.746.7302
>>>> Advancing the way the world uses the cloud
>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkowski@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the cloud
>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Interesting...one of my three ROOT disks shows up at the time being.


On Sun, Jul 6, 2014 at 12:17 AM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> I noticed tonight that the Storage tab no longer shows me ROOT
> volumes...just DATADISK ones.
>
> Possibly related to the issue that was being discussed in this thread?
>
>
> On Tue, Jul 1, 2014 at 6:18 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> Actually, this is a good opportunity to remind devs in general that if
>> you make a change to a schema-upgrade file for a release and you are not on
>> master that you should take a peek at the schema-upgrade file on master to
>> see if it needs to be updated, as well.
>>
>> In this case, it would have been OK (nothing to do on master) had the
>> volume_view not been modified going from 4.4 to 4.5, but it had been (so
>> modifications to volume_view going from 4.3 to 4.4 needed to be carried
>> forward going from 4.4 to 4.5).
>>
>> Thanks!
>>
>>
>> On Tue, Jul 1, 2014 at 6:10 PM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> Thanks!
>>>
>>>
>>> On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <ma...@ynojima.net>
>>> wrote:
>>>
>>>> Hi all,
>>>> I pushed a commit to fix this issue.
>>>> I confirmed listVolumes doesn't throw an error now in my environment.
>>>>
>>>> Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
>>>> refs/heads/master from Yoshikazu Nojima
>>>> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]
>>>>
>>>> CLOUDSTACK-7032 bugfix: listVolumes throws an error
>>>>
>>>> Since schema change made on 4.4 is not applied to the upgrade script
>>>> from 4.4 to 4.5, listVolumes api throws an error.
>>>> This commit fix the issue.
>>>>
>>>>
>>>> 2014-07-01 14:06 GMT-06:00 Mike Tutkowski <mike.tutkowski@solidfire.com
>>>> >:
>>>> > Somehow I didn't see that aliasing going on there.
>>>> >
>>>> >
>>>> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <
>>>> mike.tutkowski@solidfire.com
>>>> >> wrote:
>>>> >
>>>> >> Ah, yes, good point.
>>>> >>
>>>> >>
>>>> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net>
>>>> wrote:
>>>> >>
>>>> >>> Hi Mike,
>>>> >>> I suppose "iso" is an alias for "vm_template".
>>>> >>> See the left join syntax you refered.
>>>> >>>
>>>> >>> >            left join
>>>> >>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>> >>>
>>>> >>>
>>>> >>> Regards,
>>>> >>> Noji
>>>> >>>
>>>> >>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <
>>>> mike.tutkowski@solidfire.com>:
>>>> >>> > This diff shows some of the problem:
>>>> >>> >
>>>> >>> > http://i.imgur.com/PW7lqbs.png
>>>> >>> >
>>>> >>> > Six fields have been removed from the volume_view and five of
>>>> those six
>>>> >>> are
>>>> >>> > still in use.
>>>> >>> >
>>>> >>> > It is not a simple matter of adding them back in, however,
>>>> because the
>>>> >>> iso
>>>> >>> > table that used to be used is no longer present in 4.5.
>>>> >>> >
>>>> >>> > That being the case, we need to figure out where to get this data
>>>> from
>>>> >>> in
>>>> >>> > 4.5. I don't have a lot of context, though, on why the iso table
>>>> doesn't
>>>> >>> > exist anymore.
>>>> >>> >
>>>> >>> > Thoughts?
>>>> >>> >
>>>> >>> >
>>>> >>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>>>> >>> > mike.tutkowski@solidfire.com> wrote:
>>>> >>> >
>>>> >>> >> Upon further consideration, I forgot that we drop and re-create
>>>> views
>>>> >>> in
>>>> >>> >> the SQL - if need be - from release to release.
>>>> >>> >>
>>>> >>> >> It looks like a new version of the volume_view went into 4.5 with
>>>> >>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review
>>>> Request
>>>> >>> >> 19446.
>>>> >>> >>
>>>> >>> >> It appears volume_view is missing several columns.
>>>> >>> >>
>>>> >>> >>
>>>> >>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>>>> >>> >> mike.tutkowski@solidfire.com> wrote:
>>>> >>> >>
>>>> >>> >>> Actually, in looking at "git blame", it appears this view has
>>>> never
>>>> >>> had
>>>> >>> >>> those two columns.
>>>> >>> >>>
>>>> >>> >>> I think the intent, however, is that those two columns exist in
>>>> the
>>>> >>> view.
>>>> >>> >>>
>>>> >>> >>> I'm adding them in my sandbox and testing this out now.
>>>> >>> >>>
>>>> >>> >>>
>>>> >>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>>>> >>> >>> mike.tutkowski@solidfire.com> wrote:
>>>> >>> >>>
>>>> >>> >>>> I looked into this a bit more.
>>>> >>> >>>>
>>>> >>> >>>> It appears that the "volume_view" no longer has the following
>>>> two
>>>> >>> >>>> columns:
>>>> >>> >>>>
>>>> >>> >>>> vm_template.name template_name
>>>> >>> >>>> vm_template.display_text template_display_text
>>>> >>> >>>>
>>>> >>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>>>> >>> reference to
>>>> >>> >>>> them (a variable for each one).
>>>> >>> >>>>
>>>> >>> >>>> I would just remove these variables; however, they are still
>>>> in use
>>>> >>> as
>>>> >>> >>>> they are returned to clients as responses (at least we try to
>>>> return
>>>> >>> them,
>>>> >>> >>>> but get an exception before being able to do so).
>>>> >>> >>>>
>>>> >>> >>>> If we really want to remove these two columns, that will mean
>>>> >>> breaking
>>>> >>> >>>> the API, which really should wait until a major release.
>>>> >>> >>>>
>>>> >>> >>>>
>>>> >>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>>> >>> >>>> mike.tutkowski@solidfire.com> wrote:
>>>> >>> >>>>
>>>> >>> >>>>> Thanks for the reply.
>>>> >>> >>>>>
>>>> >>> >>>>> The weird part is that this is the second time I've recreated
>>>> the DB
>>>> >>> >>>>> and seen this issue.
>>>> >>> >>>>>
>>>> >>> >>>>> If I have time a bit later, I can see if the SQL in Git is
>>>> wrong and
>>>> >>> >>>>> update it with what you provided.
>>>> >>> >>>>>
>>>> >>> >>>>> Thanks!
>>>> >>> >>>>>
>>>> >>> >>>>>
>>>> >>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>>>> >>> bharat.kumar@citrix.com>
>>>> >>> >>>>> wrote:
>>>> >>> >>>>>
>>>> >>> >>>>>> Hi Mike,
>>>> >>> >>>>>>
>>>> >>> >>>>>> I think the volume_view did not get created properly for some
>>>> >>> reason.
>>>> >>> >>>>>> I think recreating the volume_view will fix the problem.
>>>> >>> >>>>>>
>>>> >>> >>>>>> below commas should fix the issue.
>>>> >>> >>>>>>
>>>> >>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>>> >>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>>> >>> >>>>>>     select
>>>> >>> >>>>>>         volumes.id,
>>>> >>> >>>>>>         volumes.uuid,
>>>> >>> >>>>>>         volumes.name,
>>>> >>> >>>>>>         volumes.device_id,
>>>> >>> >>>>>>         volumes.volume_type,
>>>> >>> >>>>>>         volumes.size,
>>>> >>> >>>>>>         volumes.min_iops,
>>>> >>> >>>>>>         volumes.max_iops,
>>>> >>> >>>>>>         volumes.created,
>>>> >>> >>>>>>         volumes.state,
>>>> >>> >>>>>>         volumes.attached,
>>>> >>> >>>>>>         volumes.removed,
>>>> >>> >>>>>>         volumes.pod_id,
>>>> >>> >>>>>>         volumes.display_volume,
>>>> >>> >>>>>>         volumes.format,
>>>> >>> >>>>>>         volumes.path,
>>>> >>> >>>>>>         volumes.chain_info,
>>>> >>> >>>>>>         account.id account_id,
>>>> >>> >>>>>>         account.uuid account_uuid,
>>>> >>> >>>>>>         account.account_name account_name,
>>>> >>> >>>>>>         account.type account_type,
>>>> >>> >>>>>>         domain.id domain_id,
>>>> >>> >>>>>>         domain.uuid domain_uuid,
>>>> >>> >>>>>>         domain.name domain_name,
>>>> >>> >>>>>>         domain.path domain_path,
>>>> >>> >>>>>>         projects.id project_id,
>>>> >>> >>>>>>         projects.uuid project_uuid,
>>>> >>> >>>>>>         projects.name project_name,
>>>> >>> >>>>>>         data_center.id data_center_id,
>>>> >>> >>>>>>         data_center.uuid data_center_uuid,
>>>> >>> >>>>>>         data_center.name data_center_name,
>>>> >>> >>>>>>         data_center.networktype data_center_type,
>>>> >>> >>>>>>         vm_instance.id vm_id,
>>>> >>> >>>>>>         vm_instance.uuid vm_uuid,
>>>> >>> >>>>>>         vm_instance.name vm_name,
>>>> >>> >>>>>>         vm_instance.state vm_state,
>>>> >>> >>>>>>         vm_instance.vm_type,
>>>> >>> >>>>>>         user_vm.display_name vm_display_name,
>>>> >>> >>>>>>         volume_store_ref.size volume_store_size,
>>>> >>> >>>>>>         volume_store_ref.download_pct,
>>>> >>> >>>>>>         volume_store_ref.download_state,
>>>> >>> >>>>>>         volume_store_ref.error_str,
>>>> >>> >>>>>>         volume_store_ref.created created_on_store,
>>>> >>> >>>>>>         disk_offering.id disk_offering_id,
>>>> >>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>>>> >>> >>>>>>         disk_offering.name disk_offering_name,
>>>> >>> >>>>>>         disk_offering.display_text
>>>> disk_offering_display_text,
>>>> >>> >>>>>>         disk_offering.use_local_storage,
>>>> >>> >>>>>>         disk_offering.system_use,
>>>> >>> >>>>>>         disk_offering.bytes_read_rate,
>>>> >>> >>>>>>         disk_offering.bytes_write_rate,
>>>> >>> >>>>>>         disk_offering.iops_read_rate,
>>>> >>> >>>>>>         disk_offering.iops_write_rate,
>>>> >>> >>>>>>         disk_offering.cache_mode,
>>>> >>> >>>>>>         storage_pool.id pool_id,
>>>> >>> >>>>>>         storage_pool.uuid pool_uuid,
>>>> >>> >>>>>>         storage_pool.name pool_name,
>>>> >>> >>>>>>         cluster.hypervisor_type,
>>>> >>> >>>>>>         vm_template.id template_id,
>>>> >>> >>>>>>         vm_template.uuid template_uuid,
>>>> >>> >>>>>>         vm_template.extractable,
>>>> >>> >>>>>>         vm_template.type template_type,
>>>> >>> >>>>>>         vm_template.name template_name,
>>>> >>> >>>>>>         vm_template.display_text template_display_text,
>>>> >>> >>>>>>         iso.id iso_id,
>>>> >>> >>>>>>         iso.uuid iso_uuid,
>>>> >>> >>>>>>         iso.name iso_name,
>>>> >>> >>>>>>         iso.display_text iso_display_text,
>>>> >>> >>>>>>         resource_tags.id tag_id,
>>>> >>> >>>>>>         resource_tags.uuid tag_uuid,
>>>> >>> >>>>>>         resource_tags.key tag_key,
>>>> >>> >>>>>>         resource_tags.value tag_value,
>>>> >>> >>>>>>         resource_tags.domain_id tag_domain_id,
>>>> >>> >>>>>>         resource_tags.account_id tag_account_id,
>>>> >>> >>>>>>         resource_tags.resource_id tag_resource_id,
>>>> >>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>> >>> >>>>>>         resource_tags.resource_type tag_resource_type,
>>>> >>> >>>>>>         resource_tags.customer tag_customer,
>>>> >>> >>>>>>         async_job.id job_id,
>>>> >>> >>>>>>         async_job.uuid job_uuid,
>>>> >>> >>>>>>         async_job.job_status job_status,
>>>> >>> >>>>>>         async_job.account_id job_account_id
>>>> >>> >>>>>>     from
>>>> >>> >>>>>>         `cloud`.`volumes`
>>>> >>> >>>>>>             inner join
>>>> >>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>>> >>> >>>>>>             inner join
>>>> >>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>>>> >>> account.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>>> >>> >>>>>> data_center.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>>>> >>> vm_instance.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>>> >>> >>>>>> volume_store_ref.volume_id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>>> >>> >>>>>> disk_offering.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>>>> >>> storage_pool.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id =
>>>> cluster.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>>>> >>> vm_template.id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id
>>>> =
>>>> >>> >>>>>> volumes.id
>>>> >>> >>>>>>             and resource_tags.resource_type = 'Volume'
>>>> >>> >>>>>>             left join
>>>> >>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id =
>>>> volumes.id
>>>> >>> >>>>>>             and async_job.instance_type = 'Volume'
>>>> >>> >>>>>>             and async_job.job_status = 0;
>>>> >>> >>>>>>
>>>> >>> >>>>>> Thanks,
>>>> >>> >>>>>> Bharat.
>>>> >>> >>>>>>
>>>> >>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>>> >>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>>>> >>> >>>>>>
>>>> >>> >>>>>> > Hi,
>>>> >>> >>>>>> >
>>>> >>> >>>>>> > If you click on the Storage tab in the GUI when you have
>>>> one or
>>>> >>> more
>>>> >>> >>>>>> > volumes, you receive the following exception (is this
>>>> something
>>>> >>> >>>>>> someone is
>>>> >>> >>>>>> > already working on?):
>>>> >>> >>>>>> >
>>>> >>> >>>>>> > Caused by:
>>>> >>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>>> >>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>>> >>> >>>>>> >    at
>>>> >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> >>> >>>>>> Method)
>>>> >>> >>>>>> >    at
>>>> >>> >>>>>> >
>>>> >>> >>>>>>
>>>> >>>
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>> >>> >>>>>> >    at
>>>> >>> >>>>>> >
>>>> >>> >>>>>>
>>>> >>>
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>> >>> >>>>>> >    at
>>>> >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>> >>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>> >>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>> >>> >>>>>> >    at
>>>> >>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>>> >>> >>>>>> >    at
>>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>>> >>> >>>>>> >    at
>>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>>> >>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>>> >>> >>>>>> >    at
>>>> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>>> >>> >>>>>> >    at
>>>> >>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>>> >>> >>>>>> >    at
>>>> >>> >>>>>> >
>>>> >>> >>>>>>
>>>> >>>
>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>>> >>> >>>>>> >    at
>>>> >>> >>>>>> >
>>>> >>> >>>>>>
>>>> >>>
>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>>> >>> >>>>>> >    at
>>>> >>> >>>>>> >
>>>> >>> >>>>>>
>>>> >>>
>>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>>> >>> >>>>>> >
>>>> >>> >>>>>> > Thanks!
>>>> >>> >>>>>> >
>>>> >>> >>>>>> > --
>>>> >>> >>>>>> > *Mike Tutkowski*
>>>> >>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> >>>>>> > e: mike.tutkowski@solidfire.com
>>>> >>> >>>>>> > o: 303.746.7302
>>>> >>> >>>>>> > Advancing the way the world uses the cloud
>>>> >>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>> >>>>>>
>>>> >>> >>>>>>
>>>> >>> >>>>>
>>>> >>> >>>>>
>>>> >>> >>>>> --
>>>> >>> >>>>> *Mike Tutkowski*
>>>> >>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> >>>>> e: mike.tutkowski@solidfire.com
>>>> >>> >>>>> o: 303.746.7302
>>>> >>> >>>>> Advancing the way the world uses the cloud
>>>> >>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>> >>>>>
>>>> >>> >>>>
>>>> >>> >>>>
>>>> >>> >>>>
>>>> >>> >>>> --
>>>> >>> >>>> *Mike Tutkowski*
>>>> >>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> >>>> e: mike.tutkowski@solidfire.com
>>>> >>> >>>> o: 303.746.7302
>>>> >>> >>>> Advancing the way the world uses the cloud
>>>> >>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>> >>>>
>>>> >>> >>>
>>>> >>> >>>
>>>> >>> >>>
>>>> >>> >>> --
>>>> >>> >>> *Mike Tutkowski*
>>>> >>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> >>> e: mike.tutkowski@solidfire.com
>>>> >>> >>> o: 303.746.7302
>>>> >>> >>> Advancing the way the world uses the cloud
>>>> >>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>> >>>
>>>> >>> >>
>>>> >>> >>
>>>> >>> >>
>>>> >>> >> --
>>>> >>> >> *Mike Tutkowski*
>>>> >>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> >> e: mike.tutkowski@solidfire.com
>>>> >>> >> o: 303.746.7302
>>>> >>> >> Advancing the way the world uses the cloud
>>>> >>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>> >>
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > --
>>>> >>> > *Mike Tutkowski*
>>>> >>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>> >>> > e: mike.tutkowski@solidfire.com
>>>> >>> > o: 303.746.7302
>>>> >>> > Advancing the way the world uses the cloud
>>>> >>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>>
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> *Mike Tutkowski*
>>>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>>> >> e: mike.tutkowski@solidfire.com
>>>> >> o: 303.746.7302
>>>> >> Advancing the way the world uses the cloud
>>>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > *Mike Tutkowski*
>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>> > e: mike.tutkowski@solidfire.com
>>>> > o: 303.746.7302
>>>> > Advancing the way the world uses the cloud
>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkowski@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the cloud
>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
I noticed tonight that the Storage tab no longer shows me ROOT
volumes...just DATADISK ones.

Possibly related to the issue that was being discussed in this thread?


On Tue, Jul 1, 2014 at 6:18 PM, Mike Tutkowski <mike.tutkowski@solidfire.com
> wrote:

> Actually, this is a good opportunity to remind devs in general that if you
> make a change to a schema-upgrade file for a release and you are not on
> master that you should take a peek at the schema-upgrade file on master to
> see if it needs to be updated, as well.
>
> In this case, it would have been OK (nothing to do on master) had the
> volume_view not been modified going from 4.4 to 4.5, but it had been (so
> modifications to volume_view going from 4.3 to 4.4 needed to be carried
> forward going from 4.4 to 4.5).
>
> Thanks!
>
>
> On Tue, Jul 1, 2014 at 6:10 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> Thanks!
>>
>>
>> On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <ma...@ynojima.net>
>> wrote:
>>
>>> Hi all,
>>> I pushed a commit to fix this issue.
>>> I confirmed listVolumes doesn't throw an error now in my environment.
>>>
>>> Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
>>> refs/heads/master from Yoshikazu Nojima
>>> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]
>>>
>>> CLOUDSTACK-7032 bugfix: listVolumes throws an error
>>>
>>> Since schema change made on 4.4 is not applied to the upgrade script
>>> from 4.4 to 4.5, listVolumes api throws an error.
>>> This commit fix the issue.
>>>
>>>
>>> 2014-07-01 14:06 GMT-06:00 Mike Tutkowski <mike.tutkowski@solidfire.com
>>> >:
>>> > Somehow I didn't see that aliasing going on there.
>>> >
>>> >
>>> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <
>>> mike.tutkowski@solidfire.com
>>> >> wrote:
>>> >
>>> >> Ah, yes, good point.
>>> >>
>>> >>
>>> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net>
>>> wrote:
>>> >>
>>> >>> Hi Mike,
>>> >>> I suppose "iso" is an alias for "vm_template".
>>> >>> See the left join syntax you refered.
>>> >>>
>>> >>> >            left join
>>> >>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>> >>>
>>> >>>
>>> >>> Regards,
>>> >>> Noji
>>> >>>
>>> >>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <
>>> mike.tutkowski@solidfire.com>:
>>> >>> > This diff shows some of the problem:
>>> >>> >
>>> >>> > http://i.imgur.com/PW7lqbs.png
>>> >>> >
>>> >>> > Six fields have been removed from the volume_view and five of
>>> those six
>>> >>> are
>>> >>> > still in use.
>>> >>> >
>>> >>> > It is not a simple matter of adding them back in, however, because
>>> the
>>> >>> iso
>>> >>> > table that used to be used is no longer present in 4.5.
>>> >>> >
>>> >>> > That being the case, we need to figure out where to get this data
>>> from
>>> >>> in
>>> >>> > 4.5. I don't have a lot of context, though, on why the iso table
>>> doesn't
>>> >>> > exist anymore.
>>> >>> >
>>> >>> > Thoughts?
>>> >>> >
>>> >>> >
>>> >>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>>> >>> > mike.tutkowski@solidfire.com> wrote:
>>> >>> >
>>> >>> >> Upon further consideration, I forgot that we drop and re-create
>>> views
>>> >>> in
>>> >>> >> the SQL - if need be - from release to release.
>>> >>> >>
>>> >>> >> It looks like a new version of the volume_view went into 4.5 with
>>> >>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review
>>> Request
>>> >>> >> 19446.
>>> >>> >>
>>> >>> >> It appears volume_view is missing several columns.
>>> >>> >>
>>> >>> >>
>>> >>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>>> >>> >> mike.tutkowski@solidfire.com> wrote:
>>> >>> >>
>>> >>> >>> Actually, in looking at "git blame", it appears this view has
>>> never
>>> >>> had
>>> >>> >>> those two columns.
>>> >>> >>>
>>> >>> >>> I think the intent, however, is that those two columns exist in
>>> the
>>> >>> view.
>>> >>> >>>
>>> >>> >>> I'm adding them in my sandbox and testing this out now.
>>> >>> >>>
>>> >>> >>>
>>> >>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>>> >>> >>> mike.tutkowski@solidfire.com> wrote:
>>> >>> >>>
>>> >>> >>>> I looked into this a bit more.
>>> >>> >>>>
>>> >>> >>>> It appears that the "volume_view" no longer has the following
>>> two
>>> >>> >>>> columns:
>>> >>> >>>>
>>> >>> >>>> vm_template.name template_name
>>> >>> >>>> vm_template.display_text template_display_text
>>> >>> >>>>
>>> >>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>>> >>> reference to
>>> >>> >>>> them (a variable for each one).
>>> >>> >>>>
>>> >>> >>>> I would just remove these variables; however, they are still in
>>> use
>>> >>> as
>>> >>> >>>> they are returned to clients as responses (at least we try to
>>> return
>>> >>> them,
>>> >>> >>>> but get an exception before being able to do so).
>>> >>> >>>>
>>> >>> >>>> If we really want to remove these two columns, that will mean
>>> >>> breaking
>>> >>> >>>> the API, which really should wait until a major release.
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>> >>> >>>> mike.tutkowski@solidfire.com> wrote:
>>> >>> >>>>
>>> >>> >>>>> Thanks for the reply.
>>> >>> >>>>>
>>> >>> >>>>> The weird part is that this is the second time I've recreated
>>> the DB
>>> >>> >>>>> and seen this issue.
>>> >>> >>>>>
>>> >>> >>>>> If I have time a bit later, I can see if the SQL in Git is
>>> wrong and
>>> >>> >>>>> update it with what you provided.
>>> >>> >>>>>
>>> >>> >>>>> Thanks!
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>>> >>> bharat.kumar@citrix.com>
>>> >>> >>>>> wrote:
>>> >>> >>>>>
>>> >>> >>>>>> Hi Mike,
>>> >>> >>>>>>
>>> >>> >>>>>> I think the volume_view did not get created properly for some
>>> >>> reason.
>>> >>> >>>>>> I think recreating the volume_view will fix the problem.
>>> >>> >>>>>>
>>> >>> >>>>>> below commas should fix the issue.
>>> >>> >>>>>>
>>> >>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>> >>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>> >>> >>>>>>     select
>>> >>> >>>>>>         volumes.id,
>>> >>> >>>>>>         volumes.uuid,
>>> >>> >>>>>>         volumes.name,
>>> >>> >>>>>>         volumes.device_id,
>>> >>> >>>>>>         volumes.volume_type,
>>> >>> >>>>>>         volumes.size,
>>> >>> >>>>>>         volumes.min_iops,
>>> >>> >>>>>>         volumes.max_iops,
>>> >>> >>>>>>         volumes.created,
>>> >>> >>>>>>         volumes.state,
>>> >>> >>>>>>         volumes.attached,
>>> >>> >>>>>>         volumes.removed,
>>> >>> >>>>>>         volumes.pod_id,
>>> >>> >>>>>>         volumes.display_volume,
>>> >>> >>>>>>         volumes.format,
>>> >>> >>>>>>         volumes.path,
>>> >>> >>>>>>         volumes.chain_info,
>>> >>> >>>>>>         account.id account_id,
>>> >>> >>>>>>         account.uuid account_uuid,
>>> >>> >>>>>>         account.account_name account_name,
>>> >>> >>>>>>         account.type account_type,
>>> >>> >>>>>>         domain.id domain_id,
>>> >>> >>>>>>         domain.uuid domain_uuid,
>>> >>> >>>>>>         domain.name domain_name,
>>> >>> >>>>>>         domain.path domain_path,
>>> >>> >>>>>>         projects.id project_id,
>>> >>> >>>>>>         projects.uuid project_uuid,
>>> >>> >>>>>>         projects.name project_name,
>>> >>> >>>>>>         data_center.id data_center_id,
>>> >>> >>>>>>         data_center.uuid data_center_uuid,
>>> >>> >>>>>>         data_center.name data_center_name,
>>> >>> >>>>>>         data_center.networktype data_center_type,
>>> >>> >>>>>>         vm_instance.id vm_id,
>>> >>> >>>>>>         vm_instance.uuid vm_uuid,
>>> >>> >>>>>>         vm_instance.name vm_name,
>>> >>> >>>>>>         vm_instance.state vm_state,
>>> >>> >>>>>>         vm_instance.vm_type,
>>> >>> >>>>>>         user_vm.display_name vm_display_name,
>>> >>> >>>>>>         volume_store_ref.size volume_store_size,
>>> >>> >>>>>>         volume_store_ref.download_pct,
>>> >>> >>>>>>         volume_store_ref.download_state,
>>> >>> >>>>>>         volume_store_ref.error_str,
>>> >>> >>>>>>         volume_store_ref.created created_on_store,
>>> >>> >>>>>>         disk_offering.id disk_offering_id,
>>> >>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>>> >>> >>>>>>         disk_offering.name disk_offering_name,
>>> >>> >>>>>>         disk_offering.display_text disk_offering_display_text,
>>> >>> >>>>>>         disk_offering.use_local_storage,
>>> >>> >>>>>>         disk_offering.system_use,
>>> >>> >>>>>>         disk_offering.bytes_read_rate,
>>> >>> >>>>>>         disk_offering.bytes_write_rate,
>>> >>> >>>>>>         disk_offering.iops_read_rate,
>>> >>> >>>>>>         disk_offering.iops_write_rate,
>>> >>> >>>>>>         disk_offering.cache_mode,
>>> >>> >>>>>>         storage_pool.id pool_id,
>>> >>> >>>>>>         storage_pool.uuid pool_uuid,
>>> >>> >>>>>>         storage_pool.name pool_name,
>>> >>> >>>>>>         cluster.hypervisor_type,
>>> >>> >>>>>>         vm_template.id template_id,
>>> >>> >>>>>>         vm_template.uuid template_uuid,
>>> >>> >>>>>>         vm_template.extractable,
>>> >>> >>>>>>         vm_template.type template_type,
>>> >>> >>>>>>         vm_template.name template_name,
>>> >>> >>>>>>         vm_template.display_text template_display_text,
>>> >>> >>>>>>         iso.id iso_id,
>>> >>> >>>>>>         iso.uuid iso_uuid,
>>> >>> >>>>>>         iso.name iso_name,
>>> >>> >>>>>>         iso.display_text iso_display_text,
>>> >>> >>>>>>         resource_tags.id tag_id,
>>> >>> >>>>>>         resource_tags.uuid tag_uuid,
>>> >>> >>>>>>         resource_tags.key tag_key,
>>> >>> >>>>>>         resource_tags.value tag_value,
>>> >>> >>>>>>         resource_tags.domain_id tag_domain_id,
>>> >>> >>>>>>         resource_tags.account_id tag_account_id,
>>> >>> >>>>>>         resource_tags.resource_id tag_resource_id,
>>> >>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>> >>> >>>>>>         resource_tags.resource_type tag_resource_type,
>>> >>> >>>>>>         resource_tags.customer tag_customer,
>>> >>> >>>>>>         async_job.id job_id,
>>> >>> >>>>>>         async_job.uuid job_uuid,
>>> >>> >>>>>>         async_job.job_status job_status,
>>> >>> >>>>>>         async_job.account_id job_account_id
>>> >>> >>>>>>     from
>>> >>> >>>>>>         `cloud`.`volumes`
>>> >>> >>>>>>             inner join
>>> >>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>> >>> >>>>>>             inner join
>>> >>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>>> >>> account.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>> >>> >>>>>> data_center.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>>> >>> vm_instance.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>> >>> >>>>>> volume_store_ref.volume_id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>> >>> >>>>>> disk_offering.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>>> >>> storage_pool.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id =
>>> cluster.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>>> >>> vm_template.id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>> >>> >>>>>> volumes.id
>>> >>> >>>>>>             and resource_tags.resource_type = 'Volume'
>>> >>> >>>>>>             left join
>>> >>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id =
>>> volumes.id
>>> >>> >>>>>>             and async_job.instance_type = 'Volume'
>>> >>> >>>>>>             and async_job.job_status = 0;
>>> >>> >>>>>>
>>> >>> >>>>>> Thanks,
>>> >>> >>>>>> Bharat.
>>> >>> >>>>>>
>>> >>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>> >>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>>> >>> >>>>>>
>>> >>> >>>>>> > Hi,
>>> >>> >>>>>> >
>>> >>> >>>>>> > If you click on the Storage tab in the GUI when you have
>>> one or
>>> >>> more
>>> >>> >>>>>> > volumes, you receive the following exception (is this
>>> something
>>> >>> >>>>>> someone is
>>> >>> >>>>>> > already working on?):
>>> >>> >>>>>> >
>>> >>> >>>>>> > Caused by:
>>> >>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>> >>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>> >>> >>>>>> >    at
>>> >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> >>> >>>>>> Method)
>>> >>> >>>>>> >    at
>>> >>> >>>>>> >
>>> >>> >>>>>>
>>> >>>
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>> >>> >>>>>> >    at
>>> >>> >>>>>> >
>>> >>> >>>>>>
>>> >>>
>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>> >>> >>>>>> >    at
>>> >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>> >>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>> >>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>> >>> >>>>>> >    at
>>> >>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>> >>> >>>>>> >    at
>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>> >>> >>>>>> >    at
>>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>> >>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>> >>> >>>>>> >    at
>>> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>> >>> >>>>>> >    at
>>> >>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>> >>> >>>>>> >    at
>>> >>> >>>>>> >
>>> >>> >>>>>>
>>> >>>
>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>> >>> >>>>>> >    at
>>> >>> >>>>>> >
>>> >>> >>>>>>
>>> >>>
>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>> >>> >>>>>> >    at
>>> >>> >>>>>> >
>>> >>> >>>>>>
>>> >>>
>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>> >>> >>>>>> >
>>> >>> >>>>>> > Thanks!
>>> >>> >>>>>> >
>>> >>> >>>>>> > --
>>> >>> >>>>>> > *Mike Tutkowski*
>>> >>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> >>>>>> > e: mike.tutkowski@solidfire.com
>>> >>> >>>>>> > o: 303.746.7302
>>> >>> >>>>>> > Advancing the way the world uses the cloud
>>> >>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>> >>>>>>
>>> >>> >>>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>> --
>>> >>> >>>>> *Mike Tutkowski*
>>> >>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> >>>>> e: mike.tutkowski@solidfire.com
>>> >>> >>>>> o: 303.746.7302
>>> >>> >>>>> Advancing the way the world uses the cloud
>>> >>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>> >>>>>
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>> --
>>> >>> >>>> *Mike Tutkowski*
>>> >>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> >>>> e: mike.tutkowski@solidfire.com
>>> >>> >>>> o: 303.746.7302
>>> >>> >>>> Advancing the way the world uses the cloud
>>> >>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>> >>>>
>>> >>> >>>
>>> >>> >>>
>>> >>> >>>
>>> >>> >>> --
>>> >>> >>> *Mike Tutkowski*
>>> >>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> >>> e: mike.tutkowski@solidfire.com
>>> >>> >>> o: 303.746.7302
>>> >>> >>> Advancing the way the world uses the cloud
>>> >>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>> >>>
>>> >>> >>
>>> >>> >>
>>> >>> >>
>>> >>> >> --
>>> >>> >> *Mike Tutkowski*
>>> >>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> >> e: mike.tutkowski@solidfire.com
>>> >>> >> o: 303.746.7302
>>> >>> >> Advancing the way the world uses the cloud
>>> >>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>> >>
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>> > --
>>> >>> > *Mike Tutkowski*
>>> >>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> > e: mike.tutkowski@solidfire.com
>>> >>> > o: 303.746.7302
>>> >>> > Advancing the way the world uses the cloud
>>> >>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> *Mike Tutkowski*
>>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>> >> e: mike.tutkowski@solidfire.com
>>> >> o: 303.746.7302
>>> >> Advancing the way the world uses the cloud
>>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > *Mike Tutkowski*
>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> > e: mike.tutkowski@solidfire.com
>>> > o: 303.746.7302
>>> > Advancing the way the world uses the cloud
>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Actually, this is a good opportunity to remind devs in general that if you
make a change to a schema-upgrade file for a release and you are not on
master that you should take a peek at the schema-upgrade file on master to
see if it needs to be updated, as well.

In this case, it would have been OK (nothing to do on master) had the
volume_view not been modified going from 4.4 to 4.5, but it had been (so
modifications to volume_view going from 4.3 to 4.4 needed to be carried
forward going from 4.4 to 4.5).

Thanks!


On Tue, Jul 1, 2014 at 6:10 PM, Mike Tutkowski <mike.tutkowski@solidfire.com
> wrote:

> Thanks!
>
>
> On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <ma...@ynojima.net> wrote:
>
>> Hi all,
>> I pushed a commit to fix this issue.
>> I confirmed listVolumes doesn't throw an error now in my environment.
>>
>> Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
>> refs/heads/master from Yoshikazu Nojima
>> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]
>>
>> CLOUDSTACK-7032 bugfix: listVolumes throws an error
>>
>> Since schema change made on 4.4 is not applied to the upgrade script
>> from 4.4 to 4.5, listVolumes api throws an error.
>> This commit fix the issue.
>>
>>
>> 2014-07-01 14:06 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
>> > Somehow I didn't see that aliasing going on there.
>> >
>> >
>> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com
>> >> wrote:
>> >
>> >> Ah, yes, good point.
>> >>
>> >>
>> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net>
>> wrote:
>> >>
>> >>> Hi Mike,
>> >>> I suppose "iso" is an alias for "vm_template".
>> >>> See the left join syntax you refered.
>> >>>
>> >>> >            left join
>> >>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>> >>>
>> >>>
>> >>> Regards,
>> >>> Noji
>> >>>
>> >>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <
>> mike.tutkowski@solidfire.com>:
>> >>> > This diff shows some of the problem:
>> >>> >
>> >>> > http://i.imgur.com/PW7lqbs.png
>> >>> >
>> >>> > Six fields have been removed from the volume_view and five of those
>> six
>> >>> are
>> >>> > still in use.
>> >>> >
>> >>> > It is not a simple matter of adding them back in, however, because
>> the
>> >>> iso
>> >>> > table that used to be used is no longer present in 4.5.
>> >>> >
>> >>> > That being the case, we need to figure out where to get this data
>> from
>> >>> in
>> >>> > 4.5. I don't have a lot of context, though, on why the iso table
>> doesn't
>> >>> > exist anymore.
>> >>> >
>> >>> > Thoughts?
>> >>> >
>> >>> >
>> >>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>> >>> > mike.tutkowski@solidfire.com> wrote:
>> >>> >
>> >>> >> Upon further consideration, I forgot that we drop and re-create
>> views
>> >>> in
>> >>> >> the SQL - if need be - from release to release.
>> >>> >>
>> >>> >> It looks like a new version of the volume_view went into 4.5 with
>> >>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review
>> Request
>> >>> >> 19446.
>> >>> >>
>> >>> >> It appears volume_view is missing several columns.
>> >>> >>
>> >>> >>
>> >>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>> >>> >> mike.tutkowski@solidfire.com> wrote:
>> >>> >>
>> >>> >>> Actually, in looking at "git blame", it appears this view has
>> never
>> >>> had
>> >>> >>> those two columns.
>> >>> >>>
>> >>> >>> I think the intent, however, is that those two columns exist in
>> the
>> >>> view.
>> >>> >>>
>> >>> >>> I'm adding them in my sandbox and testing this out now.
>> >>> >>>
>> >>> >>>
>> >>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>> >>> >>> mike.tutkowski@solidfire.com> wrote:
>> >>> >>>
>> >>> >>>> I looked into this a bit more.
>> >>> >>>>
>> >>> >>>> It appears that the "volume_view" no longer has the following two
>> >>> >>>> columns:
>> >>> >>>>
>> >>> >>>> vm_template.name template_name
>> >>> >>>> vm_template.display_text template_display_text
>> >>> >>>>
>> >>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>> >>> reference to
>> >>> >>>> them (a variable for each one).
>> >>> >>>>
>> >>> >>>> I would just remove these variables; however, they are still in
>> use
>> >>> as
>> >>> >>>> they are returned to clients as responses (at least we try to
>> return
>> >>> them,
>> >>> >>>> but get an exception before being able to do so).
>> >>> >>>>
>> >>> >>>> If we really want to remove these two columns, that will mean
>> >>> breaking
>> >>> >>>> the API, which really should wait until a major release.
>> >>> >>>>
>> >>> >>>>
>> >>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>> >>> >>>> mike.tutkowski@solidfire.com> wrote:
>> >>> >>>>
>> >>> >>>>> Thanks for the reply.
>> >>> >>>>>
>> >>> >>>>> The weird part is that this is the second time I've recreated
>> the DB
>> >>> >>>>> and seen this issue.
>> >>> >>>>>
>> >>> >>>>> If I have time a bit later, I can see if the SQL in Git is
>> wrong and
>> >>> >>>>> update it with what you provided.
>> >>> >>>>>
>> >>> >>>>> Thanks!
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>> >>> bharat.kumar@citrix.com>
>> >>> >>>>> wrote:
>> >>> >>>>>
>> >>> >>>>>> Hi Mike,
>> >>> >>>>>>
>> >>> >>>>>> I think the volume_view did not get created properly for some
>> >>> reason.
>> >>> >>>>>> I think recreating the volume_view will fix the problem.
>> >>> >>>>>>
>> >>> >>>>>> below commas should fix the issue.
>> >>> >>>>>>
>> >>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>> >>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>> >>> >>>>>>     select
>> >>> >>>>>>         volumes.id,
>> >>> >>>>>>         volumes.uuid,
>> >>> >>>>>>         volumes.name,
>> >>> >>>>>>         volumes.device_id,
>> >>> >>>>>>         volumes.volume_type,
>> >>> >>>>>>         volumes.size,
>> >>> >>>>>>         volumes.min_iops,
>> >>> >>>>>>         volumes.max_iops,
>> >>> >>>>>>         volumes.created,
>> >>> >>>>>>         volumes.state,
>> >>> >>>>>>         volumes.attached,
>> >>> >>>>>>         volumes.removed,
>> >>> >>>>>>         volumes.pod_id,
>> >>> >>>>>>         volumes.display_volume,
>> >>> >>>>>>         volumes.format,
>> >>> >>>>>>         volumes.path,
>> >>> >>>>>>         volumes.chain_info,
>> >>> >>>>>>         account.id account_id,
>> >>> >>>>>>         account.uuid account_uuid,
>> >>> >>>>>>         account.account_name account_name,
>> >>> >>>>>>         account.type account_type,
>> >>> >>>>>>         domain.id domain_id,
>> >>> >>>>>>         domain.uuid domain_uuid,
>> >>> >>>>>>         domain.name domain_name,
>> >>> >>>>>>         domain.path domain_path,
>> >>> >>>>>>         projects.id project_id,
>> >>> >>>>>>         projects.uuid project_uuid,
>> >>> >>>>>>         projects.name project_name,
>> >>> >>>>>>         data_center.id data_center_id,
>> >>> >>>>>>         data_center.uuid data_center_uuid,
>> >>> >>>>>>         data_center.name data_center_name,
>> >>> >>>>>>         data_center.networktype data_center_type,
>> >>> >>>>>>         vm_instance.id vm_id,
>> >>> >>>>>>         vm_instance.uuid vm_uuid,
>> >>> >>>>>>         vm_instance.name vm_name,
>> >>> >>>>>>         vm_instance.state vm_state,
>> >>> >>>>>>         vm_instance.vm_type,
>> >>> >>>>>>         user_vm.display_name vm_display_name,
>> >>> >>>>>>         volume_store_ref.size volume_store_size,
>> >>> >>>>>>         volume_store_ref.download_pct,
>> >>> >>>>>>         volume_store_ref.download_state,
>> >>> >>>>>>         volume_store_ref.error_str,
>> >>> >>>>>>         volume_store_ref.created created_on_store,
>> >>> >>>>>>         disk_offering.id disk_offering_id,
>> >>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>> >>> >>>>>>         disk_offering.name disk_offering_name,
>> >>> >>>>>>         disk_offering.display_text disk_offering_display_text,
>> >>> >>>>>>         disk_offering.use_local_storage,
>> >>> >>>>>>         disk_offering.system_use,
>> >>> >>>>>>         disk_offering.bytes_read_rate,
>> >>> >>>>>>         disk_offering.bytes_write_rate,
>> >>> >>>>>>         disk_offering.iops_read_rate,
>> >>> >>>>>>         disk_offering.iops_write_rate,
>> >>> >>>>>>         disk_offering.cache_mode,
>> >>> >>>>>>         storage_pool.id pool_id,
>> >>> >>>>>>         storage_pool.uuid pool_uuid,
>> >>> >>>>>>         storage_pool.name pool_name,
>> >>> >>>>>>         cluster.hypervisor_type,
>> >>> >>>>>>         vm_template.id template_id,
>> >>> >>>>>>         vm_template.uuid template_uuid,
>> >>> >>>>>>         vm_template.extractable,
>> >>> >>>>>>         vm_template.type template_type,
>> >>> >>>>>>         vm_template.name template_name,
>> >>> >>>>>>         vm_template.display_text template_display_text,
>> >>> >>>>>>         iso.id iso_id,
>> >>> >>>>>>         iso.uuid iso_uuid,
>> >>> >>>>>>         iso.name iso_name,
>> >>> >>>>>>         iso.display_text iso_display_text,
>> >>> >>>>>>         resource_tags.id tag_id,
>> >>> >>>>>>         resource_tags.uuid tag_uuid,
>> >>> >>>>>>         resource_tags.key tag_key,
>> >>> >>>>>>         resource_tags.value tag_value,
>> >>> >>>>>>         resource_tags.domain_id tag_domain_id,
>> >>> >>>>>>         resource_tags.account_id tag_account_id,
>> >>> >>>>>>         resource_tags.resource_id tag_resource_id,
>> >>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>> >>> >>>>>>         resource_tags.resource_type tag_resource_type,
>> >>> >>>>>>         resource_tags.customer tag_customer,
>> >>> >>>>>>         async_job.id job_id,
>> >>> >>>>>>         async_job.uuid job_uuid,
>> >>> >>>>>>         async_job.job_status job_status,
>> >>> >>>>>>         async_job.account_id job_account_id
>> >>> >>>>>>     from
>> >>> >>>>>>         `cloud`.`volumes`
>> >>> >>>>>>             inner join
>> >>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>> >>> >>>>>>             inner join
>> >>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>> >>> account.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>> >>> >>>>>> data_center.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>> >>> vm_instance.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>> >>> >>>>>> volume_store_ref.volume_id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>> >>> >>>>>> disk_offering.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>> >>> storage_pool.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id =
>> cluster.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>> >>> vm_template.id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>> >>> >>>>>> volumes.id
>> >>> >>>>>>             and resource_tags.resource_type = 'Volume'
>> >>> >>>>>>             left join
>> >>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id =
>> volumes.id
>> >>> >>>>>>             and async_job.instance_type = 'Volume'
>> >>> >>>>>>             and async_job.job_status = 0;
>> >>> >>>>>>
>> >>> >>>>>> Thanks,
>> >>> >>>>>> Bharat.
>> >>> >>>>>>
>> >>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>> >>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>> >>> >>>>>>
>> >>> >>>>>> > Hi,
>> >>> >>>>>> >
>> >>> >>>>>> > If you click on the Storage tab in the GUI when you have one
>> or
>> >>> more
>> >>> >>>>>> > volumes, you receive the following exception (is this
>> something
>> >>> >>>>>> someone is
>> >>> >>>>>> > already working on?):
>> >>> >>>>>> >
>> >>> >>>>>> > Caused by:
>> >>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>> >>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>> >>> >>>>>> >    at
>> >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> >>> >>>>>> Method)
>> >>> >>>>>> >    at
>> >>> >>>>>> >
>> >>> >>>>>>
>> >>>
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>> >>> >>>>>> >    at
>> >>> >>>>>> >
>> >>> >>>>>>
>> >>>
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>> >>> >>>>>> >    at
>> >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>> >>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>> >>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>> >>> >>>>>> >    at
>> >>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>> >>> >>>>>> >    at
>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>> >>> >>>>>> >    at
>> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>> >>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>> >>> >>>>>> >    at
>> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>> >>> >>>>>> >    at
>> >>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>> >>> >>>>>> >    at
>> >>> >>>>>> >
>> >>> >>>>>>
>> >>>
>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>> >>> >>>>>> >    at
>> >>> >>>>>> >
>> >>> >>>>>>
>> >>>
>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>> >>> >>>>>> >    at
>> >>> >>>>>> >
>> >>> >>>>>>
>> >>>
>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>> >>> >>>>>> >
>> >>> >>>>>> > Thanks!
>> >>> >>>>>> >
>> >>> >>>>>> > --
>> >>> >>>>>> > *Mike Tutkowski*
>> >>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>> >>> >>>>>> > e: mike.tutkowski@solidfire.com
>> >>> >>>>>> > o: 303.746.7302
>> >>> >>>>>> > Advancing the way the world uses the cloud
>> >>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>> >>> >>>>>>
>> >>> >>>>>>
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>> --
>> >>> >>>>> *Mike Tutkowski*
>> >>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>> >>> >>>>> e: mike.tutkowski@solidfire.com
>> >>> >>>>> o: 303.746.7302
>> >>> >>>>> Advancing the way the world uses the cloud
>> >>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>> >>>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>> --
>> >>> >>>> *Mike Tutkowski*
>> >>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>> >>> >>>> e: mike.tutkowski@solidfire.com
>> >>> >>>> o: 303.746.7302
>> >>> >>>> Advancing the way the world uses the cloud
>> >>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>> >>>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>> --
>> >>> >>> *Mike Tutkowski*
>> >>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>> >>> >>> e: mike.tutkowski@solidfire.com
>> >>> >>> o: 303.746.7302
>> >>> >>> Advancing the way the world uses the cloud
>> >>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>> >>>
>> >>> >>
>> >>> >>
>> >>> >>
>> >>> >> --
>> >>> >> *Mike Tutkowski*
>> >>> >> *Senior CloudStack Developer, SolidFire Inc.*
>> >>> >> e: mike.tutkowski@solidfire.com
>> >>> >> o: 303.746.7302
>> >>> >> Advancing the way the world uses the cloud
>> >>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>> >>
>> >>> >
>> >>> >
>> >>> >
>> >>> > --
>> >>> > *Mike Tutkowski*
>> >>> > *Senior CloudStack Developer, SolidFire Inc.*
>> >>> > e: mike.tutkowski@solidfire.com
>> >>> > o: 303.746.7302
>> >>> > Advancing the way the world uses the cloud
>> >>> > <http://solidfire.com/solution/overview/?video=play>*™*
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> *Mike Tutkowski*
>> >> *Senior CloudStack Developer, SolidFire Inc.*
>> >> e: mike.tutkowski@solidfire.com
>> >> o: 303.746.7302
>> >> Advancing the way the world uses the cloud
>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>
>> >
>> >
>> >
>> > --
>> > *Mike Tutkowski*
>> > *Senior CloudStack Developer, SolidFire Inc.*
>> > e: mike.tutkowski@solidfire.com
>> > o: 303.746.7302
>> > Advancing the way the world uses the cloud
>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Thanks!


On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <ma...@ynojima.net> wrote:

> Hi all,
> I pushed a commit to fix this issue.
> I confirmed listVolumes doesn't throw an error now in my environment.
>
> Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
> refs/heads/master from Yoshikazu Nojima
> [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]
>
> CLOUDSTACK-7032 bugfix: listVolumes throws an error
>
> Since schema change made on 4.4 is not applied to the upgrade script
> from 4.4 to 4.5, listVolumes api throws an error.
> This commit fix the issue.
>
>
> 2014-07-01 14:06 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
> > Somehow I didn't see that aliasing going on there.
> >
> >
> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com
> >> wrote:
> >
> >> Ah, yes, good point.
> >>
> >>
> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net>
> wrote:
> >>
> >>> Hi Mike,
> >>> I suppose "iso" is an alias for "vm_template".
> >>> See the left join syntax you refered.
> >>>
> >>> >            left join
> >>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
> >>>
> >>>
> >>> Regards,
> >>> Noji
> >>>
> >>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <
> mike.tutkowski@solidfire.com>:
> >>> > This diff shows some of the problem:
> >>> >
> >>> > http://i.imgur.com/PW7lqbs.png
> >>> >
> >>> > Six fields have been removed from the volume_view and five of those
> six
> >>> are
> >>> > still in use.
> >>> >
> >>> > It is not a simple matter of adding them back in, however, because
> the
> >>> iso
> >>> > table that used to be used is no longer present in 4.5.
> >>> >
> >>> > That being the case, we need to figure out where to get this data
> from
> >>> in
> >>> > 4.5. I don't have a lot of context, though, on why the iso table
> doesn't
> >>> > exist anymore.
> >>> >
> >>> > Thoughts?
> >>> >
> >>> >
> >>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
> >>> > mike.tutkowski@solidfire.com> wrote:
> >>> >
> >>> >> Upon further consideration, I forgot that we drop and re-create
> views
> >>> in
> >>> >> the SQL - if need be - from release to release.
> >>> >>
> >>> >> It looks like a new version of the volume_view went into 4.5 with
> >>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review
> Request
> >>> >> 19446.
> >>> >>
> >>> >> It appears volume_view is missing several columns.
> >>> >>
> >>> >>
> >>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
> >>> >> mike.tutkowski@solidfire.com> wrote:
> >>> >>
> >>> >>> Actually, in looking at "git blame", it appears this view has never
> >>> had
> >>> >>> those two columns.
> >>> >>>
> >>> >>> I think the intent, however, is that those two columns exist in the
> >>> view.
> >>> >>>
> >>> >>> I'm adding them in my sandbox and testing this out now.
> >>> >>>
> >>> >>>
> >>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
> >>> >>> mike.tutkowski@solidfire.com> wrote:
> >>> >>>
> >>> >>>> I looked into this a bit more.
> >>> >>>>
> >>> >>>> It appears that the "volume_view" no longer has the following two
> >>> >>>> columns:
> >>> >>>>
> >>> >>>> vm_template.name template_name
> >>> >>>> vm_template.display_text template_display_text
> >>> >>>>
> >>> >>>> The problem is that the Java class, VolumeJoinVO, still has
> >>> reference to
> >>> >>>> them (a variable for each one).
> >>> >>>>
> >>> >>>> I would just remove these variables; however, they are still in
> use
> >>> as
> >>> >>>> they are returned to clients as responses (at least we try to
> return
> >>> them,
> >>> >>>> but get an exception before being able to do so).
> >>> >>>>
> >>> >>>> If we really want to remove these two columns, that will mean
> >>> breaking
> >>> >>>> the API, which really should wait until a major release.
> >>> >>>>
> >>> >>>>
> >>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
> >>> >>>> mike.tutkowski@solidfire.com> wrote:
> >>> >>>>
> >>> >>>>> Thanks for the reply.
> >>> >>>>>
> >>> >>>>> The weird part is that this is the second time I've recreated
> the DB
> >>> >>>>> and seen this issue.
> >>> >>>>>
> >>> >>>>> If I have time a bit later, I can see if the SQL in Git is wrong
> and
> >>> >>>>> update it with what you provided.
> >>> >>>>>
> >>> >>>>> Thanks!
> >>> >>>>>
> >>> >>>>>
> >>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
> >>> bharat.kumar@citrix.com>
> >>> >>>>> wrote:
> >>> >>>>>
> >>> >>>>>> Hi Mike,
> >>> >>>>>>
> >>> >>>>>> I think the volume_view did not get created properly for some
> >>> reason.
> >>> >>>>>> I think recreating the volume_view will fix the problem.
> >>> >>>>>>
> >>> >>>>>> below commas should fix the issue.
> >>> >>>>>>
> >>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
> >>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
> >>> >>>>>>     select
> >>> >>>>>>         volumes.id,
> >>> >>>>>>         volumes.uuid,
> >>> >>>>>>         volumes.name,
> >>> >>>>>>         volumes.device_id,
> >>> >>>>>>         volumes.volume_type,
> >>> >>>>>>         volumes.size,
> >>> >>>>>>         volumes.min_iops,
> >>> >>>>>>         volumes.max_iops,
> >>> >>>>>>         volumes.created,
> >>> >>>>>>         volumes.state,
> >>> >>>>>>         volumes.attached,
> >>> >>>>>>         volumes.removed,
> >>> >>>>>>         volumes.pod_id,
> >>> >>>>>>         volumes.display_volume,
> >>> >>>>>>         volumes.format,
> >>> >>>>>>         volumes.path,
> >>> >>>>>>         volumes.chain_info,
> >>> >>>>>>         account.id account_id,
> >>> >>>>>>         account.uuid account_uuid,
> >>> >>>>>>         account.account_name account_name,
> >>> >>>>>>         account.type account_type,
> >>> >>>>>>         domain.id domain_id,
> >>> >>>>>>         domain.uuid domain_uuid,
> >>> >>>>>>         domain.name domain_name,
> >>> >>>>>>         domain.path domain_path,
> >>> >>>>>>         projects.id project_id,
> >>> >>>>>>         projects.uuid project_uuid,
> >>> >>>>>>         projects.name project_name,
> >>> >>>>>>         data_center.id data_center_id,
> >>> >>>>>>         data_center.uuid data_center_uuid,
> >>> >>>>>>         data_center.name data_center_name,
> >>> >>>>>>         data_center.networktype data_center_type,
> >>> >>>>>>         vm_instance.id vm_id,
> >>> >>>>>>         vm_instance.uuid vm_uuid,
> >>> >>>>>>         vm_instance.name vm_name,
> >>> >>>>>>         vm_instance.state vm_state,
> >>> >>>>>>         vm_instance.vm_type,
> >>> >>>>>>         user_vm.display_name vm_display_name,
> >>> >>>>>>         volume_store_ref.size volume_store_size,
> >>> >>>>>>         volume_store_ref.download_pct,
> >>> >>>>>>         volume_store_ref.download_state,
> >>> >>>>>>         volume_store_ref.error_str,
> >>> >>>>>>         volume_store_ref.created created_on_store,
> >>> >>>>>>         disk_offering.id disk_offering_id,
> >>> >>>>>>         disk_offering.uuid disk_offering_uuid,
> >>> >>>>>>         disk_offering.name disk_offering_name,
> >>> >>>>>>         disk_offering.display_text disk_offering_display_text,
> >>> >>>>>>         disk_offering.use_local_storage,
> >>> >>>>>>         disk_offering.system_use,
> >>> >>>>>>         disk_offering.bytes_read_rate,
> >>> >>>>>>         disk_offering.bytes_write_rate,
> >>> >>>>>>         disk_offering.iops_read_rate,
> >>> >>>>>>         disk_offering.iops_write_rate,
> >>> >>>>>>         disk_offering.cache_mode,
> >>> >>>>>>         storage_pool.id pool_id,
> >>> >>>>>>         storage_pool.uuid pool_uuid,
> >>> >>>>>>         storage_pool.name pool_name,
> >>> >>>>>>         cluster.hypervisor_type,
> >>> >>>>>>         vm_template.id template_id,
> >>> >>>>>>         vm_template.uuid template_uuid,
> >>> >>>>>>         vm_template.extractable,
> >>> >>>>>>         vm_template.type template_type,
> >>> >>>>>>         vm_template.name template_name,
> >>> >>>>>>         vm_template.display_text template_display_text,
> >>> >>>>>>         iso.id iso_id,
> >>> >>>>>>         iso.uuid iso_uuid,
> >>> >>>>>>         iso.name iso_name,
> >>> >>>>>>         iso.display_text iso_display_text,
> >>> >>>>>>         resource_tags.id tag_id,
> >>> >>>>>>         resource_tags.uuid tag_uuid,
> >>> >>>>>>         resource_tags.key tag_key,
> >>> >>>>>>         resource_tags.value tag_value,
> >>> >>>>>>         resource_tags.domain_id tag_domain_id,
> >>> >>>>>>         resource_tags.account_id tag_account_id,
> >>> >>>>>>         resource_tags.resource_id tag_resource_id,
> >>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
> >>> >>>>>>         resource_tags.resource_type tag_resource_type,
> >>> >>>>>>         resource_tags.customer tag_customer,
> >>> >>>>>>         async_job.id job_id,
> >>> >>>>>>         async_job.uuid job_uuid,
> >>> >>>>>>         async_job.job_status job_status,
> >>> >>>>>>         async_job.account_id job_account_id
> >>> >>>>>>     from
> >>> >>>>>>         `cloud`.`volumes`
> >>> >>>>>>             inner join
> >>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
> >>> >>>>>>             inner join
> >>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
> >>> account.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
> >>> >>>>>> data_center.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
> >>> vm_instance.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
> >>> >>>>>> volume_store_ref.volume_id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
> >>> >>>>>> disk_offering.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
> >>> storage_pool.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id =
> cluster.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
> >>> vm_template.id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
> >>> >>>>>> volumes.id
> >>> >>>>>>             and resource_tags.resource_type = 'Volume'
> >>> >>>>>>             left join
> >>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id =
> volumes.id
> >>> >>>>>>             and async_job.instance_type = 'Volume'
> >>> >>>>>>             and async_job.job_status = 0;
> >>> >>>>>>
> >>> >>>>>> Thanks,
> >>> >>>>>> Bharat.
> >>> >>>>>>
> >>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
> >>> >>>>>> mike.tutkowski@solidfire.com> wrote:
> >>> >>>>>>
> >>> >>>>>> > Hi,
> >>> >>>>>> >
> >>> >>>>>> > If you click on the Storage tab in the GUI when you have one
> or
> >>> more
> >>> >>>>>> > volumes, you receive the following exception (is this
> something
> >>> >>>>>> someone is
> >>> >>>>>> > already working on?):
> >>> >>>>>> >
> >>> >>>>>> > Caused by:
> >>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
> >>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
> >>> >>>>>> >    at
> >>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >>> >>>>>> Method)
> >>> >>>>>> >    at
> >>> >>>>>> >
> >>> >>>>>>
> >>>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> >>> >>>>>> >    at
> >>> >>>>>> >
> >>> >>>>>>
> >>>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> >>> >>>>>> >    at
> >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
> >>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
> >>> >>>>>> >    at
> >>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
> >>> >>>>>> >    at
> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
> >>> >>>>>> >    at
> com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
> >>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
> >>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
> >>> >>>>>> >    at
> >>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
> >>> >>>>>> >    at
> >>> >>>>>> >
> >>> >>>>>>
> >>>
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
> >>> >>>>>> >    at
> >>> >>>>>> >
> >>> >>>>>>
> >>>
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
> >>> >>>>>> >    at
> >>> >>>>>> >
> >>> >>>>>>
> >>>
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> >>> >>>>>> >
> >>> >>>>>> > Thanks!
> >>> >>>>>> >
> >>> >>>>>> > --
> >>> >>>>>> > *Mike Tutkowski*
> >>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
> >>> >>>>>> > e: mike.tutkowski@solidfire.com
> >>> >>>>>> > o: 303.746.7302
> >>> >>>>>> > Advancing the way the world uses the cloud
> >>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
> >>> >>>>>>
> >>> >>>>>>
> >>> >>>>>
> >>> >>>>>
> >>> >>>>> --
> >>> >>>>> *Mike Tutkowski*
> >>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
> >>> >>>>> e: mike.tutkowski@solidfire.com
> >>> >>>>> o: 303.746.7302
> >>> >>>>> Advancing the way the world uses the cloud
> >>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>> >>>>>
> >>> >>>>
> >>> >>>>
> >>> >>>>
> >>> >>>> --
> >>> >>>> *Mike Tutkowski*
> >>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
> >>> >>>> e: mike.tutkowski@solidfire.com
> >>> >>>> o: 303.746.7302
> >>> >>>> Advancing the way the world uses the cloud
> >>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>> >>>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> --
> >>> >>> *Mike Tutkowski*
> >>> >>> *Senior CloudStack Developer, SolidFire Inc.*
> >>> >>> e: mike.tutkowski@solidfire.com
> >>> >>> o: 303.746.7302
> >>> >>> Advancing the way the world uses the cloud
> >>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>> >>>
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >> *Mike Tutkowski*
> >>> >> *Senior CloudStack Developer, SolidFire Inc.*
> >>> >> e: mike.tutkowski@solidfire.com
> >>> >> o: 303.746.7302
> >>> >> Advancing the way the world uses the cloud
> >>> >> <http://solidfire.com/solution/overview/?video=play>*™*
> >>> >>
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > *Mike Tutkowski*
> >>> > *Senior CloudStack Developer, SolidFire Inc.*
> >>> > e: mike.tutkowski@solidfire.com
> >>> > o: 303.746.7302
> >>> > Advancing the way the world uses the cloud
> >>> > <http://solidfire.com/solution/overview/?video=play>*™*
> >>>
> >>
> >>
> >>
> >> --
> >> *Mike Tutkowski*
> >> *Senior CloudStack Developer, SolidFire Inc.*
> >> e: mike.tutkowski@solidfire.com
> >> o: 303.746.7302
> >> Advancing the way the world uses the cloud
> >> <http://solidfire.com/solution/overview/?video=play>*™*
> >>
> >
> >
> >
> > --
> > *Mike Tutkowski*
> > *Senior CloudStack Developer, SolidFire Inc.*
> > e: mike.tutkowski@solidfire.com
> > o: 303.746.7302
> > Advancing the way the world uses the cloud
> > <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Yoshikazu Nojima <ma...@ynojima.net>.
Hi all,
I pushed a commit to fix this issue.
I confirmed listVolumes doesn't throw an error now in my environment.

Commit 890e71cb5c2f80b09cd4db7947d94e325d7bd182 in cloudstack's branch
refs/heads/master from Yoshikazu Nojima
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=890e71c ]

CLOUDSTACK-7032 bugfix: listVolumes throws an error

Since schema change made on 4.4 is not applied to the upgrade script
from 4.4 to 4.5, listVolumes api throws an error.
This commit fix the issue.


2014-07-01 14:06 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
> Somehow I didn't see that aliasing going on there.
>
>
> On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <mike.tutkowski@solidfire.com
>> wrote:
>
>> Ah, yes, good point.
>>
>>
>> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net> wrote:
>>
>>> Hi Mike,
>>> I suppose "iso" is an alias for "vm_template".
>>> See the left join syntax you refered.
>>>
>>> >            left join
>>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>
>>>
>>> Regards,
>>> Noji
>>>
>>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
>>> > This diff shows some of the problem:
>>> >
>>> > http://i.imgur.com/PW7lqbs.png
>>> >
>>> > Six fields have been removed from the volume_view and five of those six
>>> are
>>> > still in use.
>>> >
>>> > It is not a simple matter of adding them back in, however, because the
>>> iso
>>> > table that used to be used is no longer present in 4.5.
>>> >
>>> > That being the case, we need to figure out where to get this data from
>>> in
>>> > 4.5. I don't have a lot of context, though, on why the iso table doesn't
>>> > exist anymore.
>>> >
>>> > Thoughts?
>>> >
>>> >
>>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>>> > mike.tutkowski@solidfire.com> wrote:
>>> >
>>> >> Upon further consideration, I forgot that we drop and re-create views
>>> in
>>> >> the SQL - if need be - from release to release.
>>> >>
>>> >> It looks like a new version of the volume_view went into 4.5 with
>>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
>>> >> 19446.
>>> >>
>>> >> It appears volume_view is missing several columns.
>>> >>
>>> >>
>>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>>> >> mike.tutkowski@solidfire.com> wrote:
>>> >>
>>> >>> Actually, in looking at "git blame", it appears this view has never
>>> had
>>> >>> those two columns.
>>> >>>
>>> >>> I think the intent, however, is that those two columns exist in the
>>> view.
>>> >>>
>>> >>> I'm adding them in my sandbox and testing this out now.
>>> >>>
>>> >>>
>>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>>> >>> mike.tutkowski@solidfire.com> wrote:
>>> >>>
>>> >>>> I looked into this a bit more.
>>> >>>>
>>> >>>> It appears that the "volume_view" no longer has the following two
>>> >>>> columns:
>>> >>>>
>>> >>>> vm_template.name template_name
>>> >>>> vm_template.display_text template_display_text
>>> >>>>
>>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>>> reference to
>>> >>>> them (a variable for each one).
>>> >>>>
>>> >>>> I would just remove these variables; however, they are still in use
>>> as
>>> >>>> they are returned to clients as responses (at least we try to return
>>> them,
>>> >>>> but get an exception before being able to do so).
>>> >>>>
>>> >>>> If we really want to remove these two columns, that will mean
>>> breaking
>>> >>>> the API, which really should wait until a major release.
>>> >>>>
>>> >>>>
>>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>> >>>> mike.tutkowski@solidfire.com> wrote:
>>> >>>>
>>> >>>>> Thanks for the reply.
>>> >>>>>
>>> >>>>> The weird part is that this is the second time I've recreated the DB
>>> >>>>> and seen this issue.
>>> >>>>>
>>> >>>>> If I have time a bit later, I can see if the SQL in Git is wrong and
>>> >>>>> update it with what you provided.
>>> >>>>>
>>> >>>>> Thanks!
>>> >>>>>
>>> >>>>>
>>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>>> bharat.kumar@citrix.com>
>>> >>>>> wrote:
>>> >>>>>
>>> >>>>>> Hi Mike,
>>> >>>>>>
>>> >>>>>> I think the volume_view did not get created properly for some
>>> reason.
>>> >>>>>> I think recreating the volume_view will fix the problem.
>>> >>>>>>
>>> >>>>>> below commas should fix the issue.
>>> >>>>>>
>>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>> >>>>>>     select
>>> >>>>>>         volumes.id,
>>> >>>>>>         volumes.uuid,
>>> >>>>>>         volumes.name,
>>> >>>>>>         volumes.device_id,
>>> >>>>>>         volumes.volume_type,
>>> >>>>>>         volumes.size,
>>> >>>>>>         volumes.min_iops,
>>> >>>>>>         volumes.max_iops,
>>> >>>>>>         volumes.created,
>>> >>>>>>         volumes.state,
>>> >>>>>>         volumes.attached,
>>> >>>>>>         volumes.removed,
>>> >>>>>>         volumes.pod_id,
>>> >>>>>>         volumes.display_volume,
>>> >>>>>>         volumes.format,
>>> >>>>>>         volumes.path,
>>> >>>>>>         volumes.chain_info,
>>> >>>>>>         account.id account_id,
>>> >>>>>>         account.uuid account_uuid,
>>> >>>>>>         account.account_name account_name,
>>> >>>>>>         account.type account_type,
>>> >>>>>>         domain.id domain_id,
>>> >>>>>>         domain.uuid domain_uuid,
>>> >>>>>>         domain.name domain_name,
>>> >>>>>>         domain.path domain_path,
>>> >>>>>>         projects.id project_id,
>>> >>>>>>         projects.uuid project_uuid,
>>> >>>>>>         projects.name project_name,
>>> >>>>>>         data_center.id data_center_id,
>>> >>>>>>         data_center.uuid data_center_uuid,
>>> >>>>>>         data_center.name data_center_name,
>>> >>>>>>         data_center.networktype data_center_type,
>>> >>>>>>         vm_instance.id vm_id,
>>> >>>>>>         vm_instance.uuid vm_uuid,
>>> >>>>>>         vm_instance.name vm_name,
>>> >>>>>>         vm_instance.state vm_state,
>>> >>>>>>         vm_instance.vm_type,
>>> >>>>>>         user_vm.display_name vm_display_name,
>>> >>>>>>         volume_store_ref.size volume_store_size,
>>> >>>>>>         volume_store_ref.download_pct,
>>> >>>>>>         volume_store_ref.download_state,
>>> >>>>>>         volume_store_ref.error_str,
>>> >>>>>>         volume_store_ref.created created_on_store,
>>> >>>>>>         disk_offering.id disk_offering_id,
>>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>>> >>>>>>         disk_offering.name disk_offering_name,
>>> >>>>>>         disk_offering.display_text disk_offering_display_text,
>>> >>>>>>         disk_offering.use_local_storage,
>>> >>>>>>         disk_offering.system_use,
>>> >>>>>>         disk_offering.bytes_read_rate,
>>> >>>>>>         disk_offering.bytes_write_rate,
>>> >>>>>>         disk_offering.iops_read_rate,
>>> >>>>>>         disk_offering.iops_write_rate,
>>> >>>>>>         disk_offering.cache_mode,
>>> >>>>>>         storage_pool.id pool_id,
>>> >>>>>>         storage_pool.uuid pool_uuid,
>>> >>>>>>         storage_pool.name pool_name,
>>> >>>>>>         cluster.hypervisor_type,
>>> >>>>>>         vm_template.id template_id,
>>> >>>>>>         vm_template.uuid template_uuid,
>>> >>>>>>         vm_template.extractable,
>>> >>>>>>         vm_template.type template_type,
>>> >>>>>>         vm_template.name template_name,
>>> >>>>>>         vm_template.display_text template_display_text,
>>> >>>>>>         iso.id iso_id,
>>> >>>>>>         iso.uuid iso_uuid,
>>> >>>>>>         iso.name iso_name,
>>> >>>>>>         iso.display_text iso_display_text,
>>> >>>>>>         resource_tags.id tag_id,
>>> >>>>>>         resource_tags.uuid tag_uuid,
>>> >>>>>>         resource_tags.key tag_key,
>>> >>>>>>         resource_tags.value tag_value,
>>> >>>>>>         resource_tags.domain_id tag_domain_id,
>>> >>>>>>         resource_tags.account_id tag_account_id,
>>> >>>>>>         resource_tags.resource_id tag_resource_id,
>>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>> >>>>>>         resource_tags.resource_type tag_resource_type,
>>> >>>>>>         resource_tags.customer tag_customer,
>>> >>>>>>         async_job.id job_id,
>>> >>>>>>         async_job.uuid job_uuid,
>>> >>>>>>         async_job.job_status job_status,
>>> >>>>>>         async_job.account_id job_account_id
>>> >>>>>>     from
>>> >>>>>>         `cloud`.`volumes`
>>> >>>>>>             inner join
>>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>> >>>>>>             inner join
>>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>>> account.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>> >>>>>> data_center.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>>> vm_instance.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>> >>>>>> volume_store_ref.volume_id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>> >>>>>> disk_offering.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>>> storage_pool.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>>> vm_template.id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>> >>>>>> volumes.id
>>> >>>>>>             and resource_tags.resource_type = 'Volume'
>>> >>>>>>             left join
>>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>> >>>>>>             and async_job.instance_type = 'Volume'
>>> >>>>>>             and async_job.job_status = 0;
>>> >>>>>>
>>> >>>>>> Thanks,
>>> >>>>>> Bharat.
>>> >>>>>>
>>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>>> >>>>>>
>>> >>>>>> > Hi,
>>> >>>>>> >
>>> >>>>>> > If you click on the Storage tab in the GUI when you have one or
>>> more
>>> >>>>>> > volumes, you receive the following exception (is this something
>>> >>>>>> someone is
>>> >>>>>> > already working on?):
>>> >>>>>> >
>>> >>>>>> > Caused by:
>>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>> >>>>>> >    at
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> >>>>>> Method)
>>> >>>>>> >    at
>>> >>>>>> >
>>> >>>>>>
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>> >>>>>> >    at
>>> >>>>>> >
>>> >>>>>>
>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>> >>>>>> >    at
>>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>> >>>>>> >    at
>>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>> >>>>>> >    at
>>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>> >>>>>> >    at
>>> >>>>>> >
>>> >>>>>>
>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>> >>>>>> >    at
>>> >>>>>> >
>>> >>>>>>
>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>> >>>>>> >    at
>>> >>>>>> >
>>> >>>>>>
>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>> >>>>>> >
>>> >>>>>> > Thanks!
>>> >>>>>> >
>>> >>>>>> > --
>>> >>>>>> > *Mike Tutkowski*
>>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> >>>>>> > e: mike.tutkowski@solidfire.com
>>> >>>>>> > o: 303.746.7302
>>> >>>>>> > Advancing the way the world uses the cloud
>>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>>>>>
>>> >>>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> --
>>> >>>>> *Mike Tutkowski*
>>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>> >>>>> e: mike.tutkowski@solidfire.com
>>> >>>>> o: 303.746.7302
>>> >>>>> Advancing the way the world uses the cloud
>>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> *Mike Tutkowski*
>>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> >>>> e: mike.tutkowski@solidfire.com
>>> >>>> o: 303.746.7302
>>> >>>> Advancing the way the world uses the cloud
>>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> *Mike Tutkowski*
>>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>>> >>> e: mike.tutkowski@solidfire.com
>>> >>> o: 303.746.7302
>>> >>> Advancing the way the world uses the cloud
>>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> *Mike Tutkowski*
>>> >> *Senior CloudStack Developer, SolidFire Inc.*
>>> >> e: mike.tutkowski@solidfire.com
>>> >> o: 303.746.7302
>>> >> Advancing the way the world uses the cloud
>>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > *Mike Tutkowski*
>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> > e: mike.tutkowski@solidfire.com
>>> > o: 303.746.7302
>>> > Advancing the way the world uses the cloud
>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Somehow I didn't see that aliasing going on there.


On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski <mike.tutkowski@solidfire.com
> wrote:

> Ah, yes, good point.
>
>
> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net> wrote:
>
>> Hi Mike,
>> I suppose "iso" is an alias for "vm_template".
>> See the left join syntax you refered.
>>
>> >            left join
>> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>
>>
>> Regards,
>> Noji
>>
>> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
>> > This diff shows some of the problem:
>> >
>> > http://i.imgur.com/PW7lqbs.png
>> >
>> > Six fields have been removed from the volume_view and five of those six
>> are
>> > still in use.
>> >
>> > It is not a simple matter of adding them back in, however, because the
>> iso
>> > table that used to be used is no longer present in 4.5.
>> >
>> > That being the case, we need to figure out where to get this data from
>> in
>> > 4.5. I don't have a lot of context, though, on why the iso table doesn't
>> > exist anymore.
>> >
>> > Thoughts?
>> >
>> >
>> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
>> > mike.tutkowski@solidfire.com> wrote:
>> >
>> >> Upon further consideration, I forgot that we drop and re-create views
>> in
>> >> the SQL - if need be - from release to release.
>> >>
>> >> It looks like a new version of the volume_view went into 4.5 with
>> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
>> >> 19446.
>> >>
>> >> It appears volume_view is missing several columns.
>> >>
>> >>
>> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>> >> mike.tutkowski@solidfire.com> wrote:
>> >>
>> >>> Actually, in looking at "git blame", it appears this view has never
>> had
>> >>> those two columns.
>> >>>
>> >>> I think the intent, however, is that those two columns exist in the
>> view.
>> >>>
>> >>> I'm adding them in my sandbox and testing this out now.
>> >>>
>> >>>
>> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>> >>> mike.tutkowski@solidfire.com> wrote:
>> >>>
>> >>>> I looked into this a bit more.
>> >>>>
>> >>>> It appears that the "volume_view" no longer has the following two
>> >>>> columns:
>> >>>>
>> >>>> vm_template.name template_name
>> >>>> vm_template.display_text template_display_text
>> >>>>
>> >>>> The problem is that the Java class, VolumeJoinVO, still has
>> reference to
>> >>>> them (a variable for each one).
>> >>>>
>> >>>> I would just remove these variables; however, they are still in use
>> as
>> >>>> they are returned to clients as responses (at least we try to return
>> them,
>> >>>> but get an exception before being able to do so).
>> >>>>
>> >>>> If we really want to remove these two columns, that will mean
>> breaking
>> >>>> the API, which really should wait until a major release.
>> >>>>
>> >>>>
>> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>> >>>> mike.tutkowski@solidfire.com> wrote:
>> >>>>
>> >>>>> Thanks for the reply.
>> >>>>>
>> >>>>> The weird part is that this is the second time I've recreated the DB
>> >>>>> and seen this issue.
>> >>>>>
>> >>>>> If I have time a bit later, I can see if the SQL in Git is wrong and
>> >>>>> update it with what you provided.
>> >>>>>
>> >>>>> Thanks!
>> >>>>>
>> >>>>>
>> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
>> bharat.kumar@citrix.com>
>> >>>>> wrote:
>> >>>>>
>> >>>>>> Hi Mike,
>> >>>>>>
>> >>>>>> I think the volume_view did not get created properly for some
>> reason.
>> >>>>>> I think recreating the volume_view will fix the problem.
>> >>>>>>
>> >>>>>> below commas should fix the issue.
>> >>>>>>
>> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
>> >>>>>>     select
>> >>>>>>         volumes.id,
>> >>>>>>         volumes.uuid,
>> >>>>>>         volumes.name,
>> >>>>>>         volumes.device_id,
>> >>>>>>         volumes.volume_type,
>> >>>>>>         volumes.size,
>> >>>>>>         volumes.min_iops,
>> >>>>>>         volumes.max_iops,
>> >>>>>>         volumes.created,
>> >>>>>>         volumes.state,
>> >>>>>>         volumes.attached,
>> >>>>>>         volumes.removed,
>> >>>>>>         volumes.pod_id,
>> >>>>>>         volumes.display_volume,
>> >>>>>>         volumes.format,
>> >>>>>>         volumes.path,
>> >>>>>>         volumes.chain_info,
>> >>>>>>         account.id account_id,
>> >>>>>>         account.uuid account_uuid,
>> >>>>>>         account.account_name account_name,
>> >>>>>>         account.type account_type,
>> >>>>>>         domain.id domain_id,
>> >>>>>>         domain.uuid domain_uuid,
>> >>>>>>         domain.name domain_name,
>> >>>>>>         domain.path domain_path,
>> >>>>>>         projects.id project_id,
>> >>>>>>         projects.uuid project_uuid,
>> >>>>>>         projects.name project_name,
>> >>>>>>         data_center.id data_center_id,
>> >>>>>>         data_center.uuid data_center_uuid,
>> >>>>>>         data_center.name data_center_name,
>> >>>>>>         data_center.networktype data_center_type,
>> >>>>>>         vm_instance.id vm_id,
>> >>>>>>         vm_instance.uuid vm_uuid,
>> >>>>>>         vm_instance.name vm_name,
>> >>>>>>         vm_instance.state vm_state,
>> >>>>>>         vm_instance.vm_type,
>> >>>>>>         user_vm.display_name vm_display_name,
>> >>>>>>         volume_store_ref.size volume_store_size,
>> >>>>>>         volume_store_ref.download_pct,
>> >>>>>>         volume_store_ref.download_state,
>> >>>>>>         volume_store_ref.error_str,
>> >>>>>>         volume_store_ref.created created_on_store,
>> >>>>>>         disk_offering.id disk_offering_id,
>> >>>>>>         disk_offering.uuid disk_offering_uuid,
>> >>>>>>         disk_offering.name disk_offering_name,
>> >>>>>>         disk_offering.display_text disk_offering_display_text,
>> >>>>>>         disk_offering.use_local_storage,
>> >>>>>>         disk_offering.system_use,
>> >>>>>>         disk_offering.bytes_read_rate,
>> >>>>>>         disk_offering.bytes_write_rate,
>> >>>>>>         disk_offering.iops_read_rate,
>> >>>>>>         disk_offering.iops_write_rate,
>> >>>>>>         disk_offering.cache_mode,
>> >>>>>>         storage_pool.id pool_id,
>> >>>>>>         storage_pool.uuid pool_uuid,
>> >>>>>>         storage_pool.name pool_name,
>> >>>>>>         cluster.hypervisor_type,
>> >>>>>>         vm_template.id template_id,
>> >>>>>>         vm_template.uuid template_uuid,
>> >>>>>>         vm_template.extractable,
>> >>>>>>         vm_template.type template_type,
>> >>>>>>         vm_template.name template_name,
>> >>>>>>         vm_template.display_text template_display_text,
>> >>>>>>         iso.id iso_id,
>> >>>>>>         iso.uuid iso_uuid,
>> >>>>>>         iso.name iso_name,
>> >>>>>>         iso.display_text iso_display_text,
>> >>>>>>         resource_tags.id tag_id,
>> >>>>>>         resource_tags.uuid tag_uuid,
>> >>>>>>         resource_tags.key tag_key,
>> >>>>>>         resource_tags.value tag_value,
>> >>>>>>         resource_tags.domain_id tag_domain_id,
>> >>>>>>         resource_tags.account_id tag_account_id,
>> >>>>>>         resource_tags.resource_id tag_resource_id,
>> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>> >>>>>>         resource_tags.resource_type tag_resource_type,
>> >>>>>>         resource_tags.customer tag_customer,
>> >>>>>>         async_job.id job_id,
>> >>>>>>         async_job.uuid job_uuid,
>> >>>>>>         async_job.job_status job_status,
>> >>>>>>         async_job.account_id job_account_id
>> >>>>>>     from
>> >>>>>>         `cloud`.`volumes`
>> >>>>>>             inner join
>> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>> >>>>>>             inner join
>> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
>> account.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>> >>>>>> data_center.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
>> vm_instance.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>> >>>>>> volume_store_ref.volume_id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>> >>>>>> disk_offering.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id =
>> storage_pool.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
>> vm_template.id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>> >>>>>>             left join
>> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>> >>>>>> volumes.id
>> >>>>>>             and resource_tags.resource_type = 'Volume'
>> >>>>>>             left join
>> >>>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>> >>>>>>             and async_job.instance_type = 'Volume'
>> >>>>>>             and async_job.job_status = 0;
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>> Bharat.
>> >>>>>>
>> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>> >>>>>> mike.tutkowski@solidfire.com> wrote:
>> >>>>>>
>> >>>>>> > Hi,
>> >>>>>> >
>> >>>>>> > If you click on the Storage tab in the GUI when you have one or
>> more
>> >>>>>> > volumes, you receive the following exception (is this something
>> >>>>>> someone is
>> >>>>>> > already working on?):
>> >>>>>> >
>> >>>>>> > Caused by:
>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>> >>>>>> >    at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> >>>>>> Method)
>> >>>>>> >    at
>> >>>>>> >
>> >>>>>>
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>> >>>>>> >    at
>> >>>>>> >
>> >>>>>>
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>> >>>>>> >    at
>> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>> >>>>>> >    at
>> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>> >>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>> >>>>>> >    at
>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>> >>>>>> >    at
>> >>>>>> >
>> >>>>>>
>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>> >>>>>> >    at
>> >>>>>> >
>> >>>>>>
>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>> >>>>>> >    at
>> >>>>>> >
>> >>>>>>
>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>> >>>>>> >
>> >>>>>> > Thanks!
>> >>>>>> >
>> >>>>>> > --
>> >>>>>> > *Mike Tutkowski*
>> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>> >>>>>> > e: mike.tutkowski@solidfire.com
>> >>>>>> > o: 303.746.7302
>> >>>>>> > Advancing the way the world uses the cloud
>> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>> >>>>>>
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> *Mike Tutkowski*
>> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>> >>>>> e: mike.tutkowski@solidfire.com
>> >>>>> o: 303.746.7302
>> >>>>> Advancing the way the world uses the cloud
>> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> *Mike Tutkowski*
>> >>>> *Senior CloudStack Developer, SolidFire Inc.*
>> >>>> e: mike.tutkowski@solidfire.com
>> >>>> o: 303.746.7302
>> >>>> Advancing the way the world uses the cloud
>> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> *Mike Tutkowski*
>> >>> *Senior CloudStack Developer, SolidFire Inc.*
>> >>> e: mike.tutkowski@solidfire.com
>> >>> o: 303.746.7302
>> >>> Advancing the way the world uses the cloud
>> >>> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> *Mike Tutkowski*
>> >> *Senior CloudStack Developer, SolidFire Inc.*
>> >> e: mike.tutkowski@solidfire.com
>> >> o: 303.746.7302
>> >> Advancing the way the world uses the cloud
>> >> <http://solidfire.com/solution/overview/?video=play>*™*
>> >>
>> >
>> >
>> >
>> > --
>> > *Mike Tutkowski*
>> > *Senior CloudStack Developer, SolidFire Inc.*
>> > e: mike.tutkowski@solidfire.com
>> > o: 303.746.7302
>> > Advancing the way the world uses the cloud
>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Ah, yes, good point.


On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <ma...@ynojima.net> wrote:

> Hi Mike,
> I suppose "iso" is an alias for "vm_template".
> See the left join syntax you refered.
>
> >            left join
> >        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>
>
> Regards,
> Noji
>
> 2014-07-01 12:19 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
> > This diff shows some of the problem:
> >
> > http://i.imgur.com/PW7lqbs.png
> >
> > Six fields have been removed from the volume_view and five of those six
> are
> > still in use.
> >
> > It is not a simple matter of adding them back in, however, because the
> iso
> > table that used to be used is no longer present in 4.5.
> >
> > That being the case, we need to figure out where to get this data from in
> > 4.5. I don't have a lot of context, though, on why the iso table doesn't
> > exist anymore.
> >
> > Thoughts?
> >
> >
> > On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
> > mike.tutkowski@solidfire.com> wrote:
> >
> >> Upon further consideration, I forgot that we drop and re-create views in
> >> the SQL - if need be - from release to release.
> >>
> >> It looks like a new version of the volume_view went into 4.5 with
> >> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
> >> 19446.
> >>
> >> It appears volume_view is missing several columns.
> >>
> >>
> >> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
> >> mike.tutkowski@solidfire.com> wrote:
> >>
> >>> Actually, in looking at "git blame", it appears this view has never had
> >>> those two columns.
> >>>
> >>> I think the intent, however, is that those two columns exist in the
> view.
> >>>
> >>> I'm adding them in my sandbox and testing this out now.
> >>>
> >>>
> >>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
> >>> mike.tutkowski@solidfire.com> wrote:
> >>>
> >>>> I looked into this a bit more.
> >>>>
> >>>> It appears that the "volume_view" no longer has the following two
> >>>> columns:
> >>>>
> >>>> vm_template.name template_name
> >>>> vm_template.display_text template_display_text
> >>>>
> >>>> The problem is that the Java class, VolumeJoinVO, still has reference
> to
> >>>> them (a variable for each one).
> >>>>
> >>>> I would just remove these variables; however, they are still in use as
> >>>> they are returned to clients as responses (at least we try to return
> them,
> >>>> but get an exception before being able to do so).
> >>>>
> >>>> If we really want to remove these two columns, that will mean breaking
> >>>> the API, which really should wait until a major release.
> >>>>
> >>>>
> >>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
> >>>> mike.tutkowski@solidfire.com> wrote:
> >>>>
> >>>>> Thanks for the reply.
> >>>>>
> >>>>> The weird part is that this is the second time I've recreated the DB
> >>>>> and seen this issue.
> >>>>>
> >>>>> If I have time a bit later, I can see if the SQL in Git is wrong and
> >>>>> update it with what you provided.
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>>
> >>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <
> bharat.kumar@citrix.com>
> >>>>> wrote:
> >>>>>
> >>>>>> Hi Mike,
> >>>>>>
> >>>>>> I think the volume_view did not get created properly for some
> reason.
> >>>>>> I think recreating the volume_view will fix the problem.
> >>>>>>
> >>>>>> below commas should fix the issue.
> >>>>>>
> >>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
> >>>>>> CREATE VIEW `cloud`.`volume_view` AS
> >>>>>>     select
> >>>>>>         volumes.id,
> >>>>>>         volumes.uuid,
> >>>>>>         volumes.name,
> >>>>>>         volumes.device_id,
> >>>>>>         volumes.volume_type,
> >>>>>>         volumes.size,
> >>>>>>         volumes.min_iops,
> >>>>>>         volumes.max_iops,
> >>>>>>         volumes.created,
> >>>>>>         volumes.state,
> >>>>>>         volumes.attached,
> >>>>>>         volumes.removed,
> >>>>>>         volumes.pod_id,
> >>>>>>         volumes.display_volume,
> >>>>>>         volumes.format,
> >>>>>>         volumes.path,
> >>>>>>         volumes.chain_info,
> >>>>>>         account.id account_id,
> >>>>>>         account.uuid account_uuid,
> >>>>>>         account.account_name account_name,
> >>>>>>         account.type account_type,
> >>>>>>         domain.id domain_id,
> >>>>>>         domain.uuid domain_uuid,
> >>>>>>         domain.name domain_name,
> >>>>>>         domain.path domain_path,
> >>>>>>         projects.id project_id,
> >>>>>>         projects.uuid project_uuid,
> >>>>>>         projects.name project_name,
> >>>>>>         data_center.id data_center_id,
> >>>>>>         data_center.uuid data_center_uuid,
> >>>>>>         data_center.name data_center_name,
> >>>>>>         data_center.networktype data_center_type,
> >>>>>>         vm_instance.id vm_id,
> >>>>>>         vm_instance.uuid vm_uuid,
> >>>>>>         vm_instance.name vm_name,
> >>>>>>         vm_instance.state vm_state,
> >>>>>>         vm_instance.vm_type,
> >>>>>>         user_vm.display_name vm_display_name,
> >>>>>>         volume_store_ref.size volume_store_size,
> >>>>>>         volume_store_ref.download_pct,
> >>>>>>         volume_store_ref.download_state,
> >>>>>>         volume_store_ref.error_str,
> >>>>>>         volume_store_ref.created created_on_store,
> >>>>>>         disk_offering.id disk_offering_id,
> >>>>>>         disk_offering.uuid disk_offering_uuid,
> >>>>>>         disk_offering.name disk_offering_name,
> >>>>>>         disk_offering.display_text disk_offering_display_text,
> >>>>>>         disk_offering.use_local_storage,
> >>>>>>         disk_offering.system_use,
> >>>>>>         disk_offering.bytes_read_rate,
> >>>>>>         disk_offering.bytes_write_rate,
> >>>>>>         disk_offering.iops_read_rate,
> >>>>>>         disk_offering.iops_write_rate,
> >>>>>>         disk_offering.cache_mode,
> >>>>>>         storage_pool.id pool_id,
> >>>>>>         storage_pool.uuid pool_uuid,
> >>>>>>         storage_pool.name pool_name,
> >>>>>>         cluster.hypervisor_type,
> >>>>>>         vm_template.id template_id,
> >>>>>>         vm_template.uuid template_uuid,
> >>>>>>         vm_template.extractable,
> >>>>>>         vm_template.type template_type,
> >>>>>>         vm_template.name template_name,
> >>>>>>         vm_template.display_text template_display_text,
> >>>>>>         iso.id iso_id,
> >>>>>>         iso.uuid iso_uuid,
> >>>>>>         iso.name iso_name,
> >>>>>>         iso.display_text iso_display_text,
> >>>>>>         resource_tags.id tag_id,
> >>>>>>         resource_tags.uuid tag_uuid,
> >>>>>>         resource_tags.key tag_key,
> >>>>>>         resource_tags.value tag_value,
> >>>>>>         resource_tags.domain_id tag_domain_id,
> >>>>>>         resource_tags.account_id tag_account_id,
> >>>>>>         resource_tags.resource_id tag_resource_id,
> >>>>>>         resource_tags.resource_uuid tag_resource_uuid,
> >>>>>>         resource_tags.resource_type tag_resource_type,
> >>>>>>         resource_tags.customer tag_customer,
> >>>>>>         async_job.id job_id,
> >>>>>>         async_job.uuid job_uuid,
> >>>>>>         async_job.job_status job_status,
> >>>>>>         async_job.account_id job_account_id
> >>>>>>     from
> >>>>>>         `cloud`.`volumes`
> >>>>>>             inner join
> >>>>>>         `cloud`.`account` ON volumes.account_id = account.id
> >>>>>>             inner join
> >>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
> >>>>>>             left join
> >>>>>>         `cloud`.`projects` ON projects.project_account_id =
> account.id
> >>>>>>             left join
> >>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
> >>>>>> data_center.id
> >>>>>>             left join
> >>>>>>         `cloud`.`vm_instance` ON volumes.instance_id =
> vm_instance.id
> >>>>>>             left join
> >>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
> >>>>>>             left join
> >>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
> >>>>>> volume_store_ref.volume_id
> >>>>>>             left join
> >>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
> >>>>>> disk_offering.id
> >>>>>>             left join
> >>>>>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
> >>>>>>             left join
> >>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
> >>>>>>             left join
> >>>>>>         `cloud`.`vm_template` ON volumes.template_id =
> vm_template.id
> >>>>>>             left join
> >>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
> >>>>>>             left join
> >>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
> >>>>>> volumes.id
> >>>>>>             and resource_tags.resource_type = 'Volume'
> >>>>>>             left join
> >>>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
> >>>>>>             and async_job.instance_type = 'Volume'
> >>>>>>             and async_job.job_status = 0;
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Bharat.
> >>>>>>
> >>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
> >>>>>> mike.tutkowski@solidfire.com> wrote:
> >>>>>>
> >>>>>> > Hi,
> >>>>>> >
> >>>>>> > If you click on the Storage tab in the GUI when you have one or
> more
> >>>>>> > volumes, you receive the following exception (is this something
> >>>>>> someone is
> >>>>>> > already working on?):
> >>>>>> >
> >>>>>> > Caused by:
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
> >>>>>> > Unknown column 'volume_view.template_name' in 'field list'
> >>>>>> >    at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >>>>>> Method)
> >>>>>> >    at
> >>>>>> >
> >>>>>>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> >>>>>> >    at
> >>>>>> >
> >>>>>>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> >>>>>> >    at
> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
> >>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
> >>>>>> >    at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
> >>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
> >>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
> >>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
> >>>>>> >    at
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
> >>>>>> >    at
> >>>>>> >
> >>>>>>
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
> >>>>>> >    at
> >>>>>> >
> >>>>>>
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
> >>>>>> >    at
> >>>>>> >
> >>>>>>
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> >>>>>> >
> >>>>>> > Thanks!
> >>>>>> >
> >>>>>> > --
> >>>>>> > *Mike Tutkowski*
> >>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
> >>>>>> > e: mike.tutkowski@solidfire.com
> >>>>>> > o: 303.746.7302
> >>>>>> > Advancing the way the world uses the cloud
> >>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> *Mike Tutkowski*
> >>>>>  *Senior CloudStack Developer, SolidFire Inc.*
> >>>>> e: mike.tutkowski@solidfire.com
> >>>>> o: 303.746.7302
> >>>>> Advancing the way the world uses the cloud
> >>>>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> *Mike Tutkowski*
> >>>> *Senior CloudStack Developer, SolidFire Inc.*
> >>>> e: mike.tutkowski@solidfire.com
> >>>> o: 303.746.7302
> >>>> Advancing the way the world uses the cloud
> >>>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> *Mike Tutkowski*
> >>> *Senior CloudStack Developer, SolidFire Inc.*
> >>> e: mike.tutkowski@solidfire.com
> >>> o: 303.746.7302
> >>> Advancing the way the world uses the cloud
> >>> <http://solidfire.com/solution/overview/?video=play>*™*
> >>>
> >>
> >>
> >>
> >> --
> >> *Mike Tutkowski*
> >> *Senior CloudStack Developer, SolidFire Inc.*
> >> e: mike.tutkowski@solidfire.com
> >> o: 303.746.7302
> >> Advancing the way the world uses the cloud
> >> <http://solidfire.com/solution/overview/?video=play>*™*
> >>
> >
> >
> >
> > --
> > *Mike Tutkowski*
> > *Senior CloudStack Developer, SolidFire Inc.*
> > e: mike.tutkowski@solidfire.com
> > o: 303.746.7302
> > Advancing the way the world uses the cloud
> > <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Yoshikazu Nojima <ma...@ynojima.net>.
Hi Mike,
I suppose "iso" is an alias for "vm_template".
See the left join syntax you refered.

>            left join
>        `cloud`.`vm_template` iso ON iso.id = volumes.iso_id


Regards,
Noji

2014-07-01 12:19 GMT-06:00 Mike Tutkowski <mi...@solidfire.com>:
> This diff shows some of the problem:
>
> http://i.imgur.com/PW7lqbs.png
>
> Six fields have been removed from the volume_view and five of those six are
> still in use.
>
> It is not a simple matter of adding them back in, however, because the iso
> table that used to be used is no longer present in 4.5.
>
> That being the case, we need to figure out where to get this data from in
> 4.5. I don't have a lot of context, though, on why the iso table doesn't
> exist anymore.
>
> Thoughts?
>
>
> On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> Upon further consideration, I forgot that we drop and re-create views in
>> the SQL - if need be - from release to release.
>>
>> It looks like a new version of the volume_view went into 4.5 with
>> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
>> 19446.
>>
>> It appears volume_view is missing several columns.
>>
>>
>> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> Actually, in looking at "git blame", it appears this view has never had
>>> those two columns.
>>>
>>> I think the intent, however, is that those two columns exist in the view.
>>>
>>> I'm adding them in my sandbox and testing this out now.
>>>
>>>
>>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>>> mike.tutkowski@solidfire.com> wrote:
>>>
>>>> I looked into this a bit more.
>>>>
>>>> It appears that the "volume_view" no longer has the following two
>>>> columns:
>>>>
>>>> vm_template.name template_name
>>>> vm_template.display_text template_display_text
>>>>
>>>> The problem is that the Java class, VolumeJoinVO, still has reference to
>>>> them (a variable for each one).
>>>>
>>>> I would just remove these variables; however, they are still in use as
>>>> they are returned to clients as responses (at least we try to return them,
>>>> but get an exception before being able to do so).
>>>>
>>>> If we really want to remove these two columns, that will mean breaking
>>>> the API, which really should wait until a major release.
>>>>
>>>>
>>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>>> mike.tutkowski@solidfire.com> wrote:
>>>>
>>>>> Thanks for the reply.
>>>>>
>>>>> The weird part is that this is the second time I've recreated the DB
>>>>> and seen this issue.
>>>>>
>>>>> If I have time a bit later, I can see if the SQL in Git is wrong and
>>>>> update it with what you provided.
>>>>>
>>>>> Thanks!
>>>>>
>>>>>
>>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <bh...@citrix.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Mike,
>>>>>>
>>>>>> I think the volume_view did not get created properly for some reason.
>>>>>> I think recreating the volume_view will fix the problem.
>>>>>>
>>>>>> below commas should fix the issue.
>>>>>>
>>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>>>>>     select
>>>>>>         volumes.id,
>>>>>>         volumes.uuid,
>>>>>>         volumes.name,
>>>>>>         volumes.device_id,
>>>>>>         volumes.volume_type,
>>>>>>         volumes.size,
>>>>>>         volumes.min_iops,
>>>>>>         volumes.max_iops,
>>>>>>         volumes.created,
>>>>>>         volumes.state,
>>>>>>         volumes.attached,
>>>>>>         volumes.removed,
>>>>>>         volumes.pod_id,
>>>>>>         volumes.display_volume,
>>>>>>         volumes.format,
>>>>>>         volumes.path,
>>>>>>         volumes.chain_info,
>>>>>>         account.id account_id,
>>>>>>         account.uuid account_uuid,
>>>>>>         account.account_name account_name,
>>>>>>         account.type account_type,
>>>>>>         domain.id domain_id,
>>>>>>         domain.uuid domain_uuid,
>>>>>>         domain.name domain_name,
>>>>>>         domain.path domain_path,
>>>>>>         projects.id project_id,
>>>>>>         projects.uuid project_uuid,
>>>>>>         projects.name project_name,
>>>>>>         data_center.id data_center_id,
>>>>>>         data_center.uuid data_center_uuid,
>>>>>>         data_center.name data_center_name,
>>>>>>         data_center.networktype data_center_type,
>>>>>>         vm_instance.id vm_id,
>>>>>>         vm_instance.uuid vm_uuid,
>>>>>>         vm_instance.name vm_name,
>>>>>>         vm_instance.state vm_state,
>>>>>>         vm_instance.vm_type,
>>>>>>         user_vm.display_name vm_display_name,
>>>>>>         volume_store_ref.size volume_store_size,
>>>>>>         volume_store_ref.download_pct,
>>>>>>         volume_store_ref.download_state,
>>>>>>         volume_store_ref.error_str,
>>>>>>         volume_store_ref.created created_on_store,
>>>>>>         disk_offering.id disk_offering_id,
>>>>>>         disk_offering.uuid disk_offering_uuid,
>>>>>>         disk_offering.name disk_offering_name,
>>>>>>         disk_offering.display_text disk_offering_display_text,
>>>>>>         disk_offering.use_local_storage,
>>>>>>         disk_offering.system_use,
>>>>>>         disk_offering.bytes_read_rate,
>>>>>>         disk_offering.bytes_write_rate,
>>>>>>         disk_offering.iops_read_rate,
>>>>>>         disk_offering.iops_write_rate,
>>>>>>         disk_offering.cache_mode,
>>>>>>         storage_pool.id pool_id,
>>>>>>         storage_pool.uuid pool_uuid,
>>>>>>         storage_pool.name pool_name,
>>>>>>         cluster.hypervisor_type,
>>>>>>         vm_template.id template_id,
>>>>>>         vm_template.uuid template_uuid,
>>>>>>         vm_template.extractable,
>>>>>>         vm_template.type template_type,
>>>>>>         vm_template.name template_name,
>>>>>>         vm_template.display_text template_display_text,
>>>>>>         iso.id iso_id,
>>>>>>         iso.uuid iso_uuid,
>>>>>>         iso.name iso_name,
>>>>>>         iso.display_text iso_display_text,
>>>>>>         resource_tags.id tag_id,
>>>>>>         resource_tags.uuid tag_uuid,
>>>>>>         resource_tags.key tag_key,
>>>>>>         resource_tags.value tag_value,
>>>>>>         resource_tags.domain_id tag_domain_id,
>>>>>>         resource_tags.account_id tag_account_id,
>>>>>>         resource_tags.resource_id tag_resource_id,
>>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>>>>         resource_tags.resource_type tag_resource_type,
>>>>>>         resource_tags.customer tag_customer,
>>>>>>         async_job.id job_id,
>>>>>>         async_job.uuid job_uuid,
>>>>>>         async_job.job_status job_status,
>>>>>>         async_job.account_id job_account_id
>>>>>>     from
>>>>>>         `cloud`.`volumes`
>>>>>>             inner join
>>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>>>>>             inner join
>>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>>>>             left join
>>>>>>         `cloud`.`projects` ON projects.project_account_id = account.id
>>>>>>             left join
>>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>>>>> data_center.id
>>>>>>             left join
>>>>>>         `cloud`.`vm_instance` ON volumes.instance_id = vm_instance.id
>>>>>>             left join
>>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>>>>             left join
>>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>>>>> volume_store_ref.volume_id
>>>>>>             left join
>>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>>>>> disk_offering.id
>>>>>>             left join
>>>>>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
>>>>>>             left join
>>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>>>>>             left join
>>>>>>         `cloud`.`vm_template` ON volumes.template_id = vm_template.id
>>>>>>             left join
>>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>>>>             left join
>>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>>>>> volumes.id
>>>>>>             and resource_tags.resource_type = 'Volume'
>>>>>>             left join
>>>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>>>>>             and async_job.instance_type = 'Volume'
>>>>>>             and async_job.job_status = 0;
>>>>>>
>>>>>> Thanks,
>>>>>> Bharat.
>>>>>>
>>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>>>>> mike.tutkowski@solidfire.com> wrote:
>>>>>>
>>>>>> > Hi,
>>>>>> >
>>>>>> > If you click on the Storage tab in the GUI when you have one or more
>>>>>> > volumes, you receive the following exception (is this something
>>>>>> someone is
>>>>>> > already working on?):
>>>>>> >
>>>>>> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>>>>> >    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>> Method)
>>>>>> >    at
>>>>>> >
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>>>> >    at
>>>>>> >
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>>> >    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>>>> >    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>>>>> >    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>>>>> >    at
>>>>>> >
>>>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>>>>> >    at
>>>>>> >
>>>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>>>>> >    at
>>>>>> >
>>>>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>>>>> >
>>>>>> > Thanks!
>>>>>> >
>>>>>> > --
>>>>>> > *Mike Tutkowski*
>>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>>>> > e: mike.tutkowski@solidfire.com
>>>>>> > o: 303.746.7302
>>>>>> > Advancing the way the world uses the cloud
>>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Mike Tutkowski*
>>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>>>> e: mike.tutkowski@solidfire.com
>>>>> o: 303.746.7302
>>>>> Advancing the way the world uses the cloud
>>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Mike Tutkowski*
>>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>> e: mike.tutkowski@solidfire.com
>>>> o: 303.746.7302
>>>> Advancing the way the world uses the cloud
>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkowski@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the cloud
>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
This diff shows some of the problem:

http://i.imgur.com/PW7lqbs.png

Six fields have been removed from the volume_view and five of those six are
still in use.

It is not a simple matter of adding them back in, however, because the iso
table that used to be used is no longer present in 4.5.

That being the case, we need to figure out where to get this data from in
4.5. I don't have a lot of context, though, on why the iso table doesn't
exist anymore.

Thoughts?


On Mon, Jun 30, 2014 at 11:12 PM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> Upon further consideration, I forgot that we drop and re-create views in
> the SQL - if need be - from release to release.
>
> It looks like a new version of the volume_view went into 4.5 with
> 11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
> 19446.
>
> It appears volume_view is missing several columns.
>
>
> On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> Actually, in looking at "git blame", it appears this view has never had
>> those two columns.
>>
>> I think the intent, however, is that those two columns exist in the view.
>>
>> I'm adding them in my sandbox and testing this out now.
>>
>>
>> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> I looked into this a bit more.
>>>
>>> It appears that the "volume_view" no longer has the following two
>>> columns:
>>>
>>> vm_template.name template_name
>>> vm_template.display_text template_display_text
>>>
>>> The problem is that the Java class, VolumeJoinVO, still has reference to
>>> them (a variable for each one).
>>>
>>> I would just remove these variables; however, they are still in use as
>>> they are returned to clients as responses (at least we try to return them,
>>> but get an exception before being able to do so).
>>>
>>> If we really want to remove these two columns, that will mean breaking
>>> the API, which really should wait until a major release.
>>>
>>>
>>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>>> mike.tutkowski@solidfire.com> wrote:
>>>
>>>> Thanks for the reply.
>>>>
>>>> The weird part is that this is the second time I've recreated the DB
>>>> and seen this issue.
>>>>
>>>> If I have time a bit later, I can see if the SQL in Git is wrong and
>>>> update it with what you provided.
>>>>
>>>> Thanks!
>>>>
>>>>
>>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <bh...@citrix.com>
>>>> wrote:
>>>>
>>>>> Hi Mike,
>>>>>
>>>>> I think the volume_view did not get created properly for some reason.
>>>>> I think recreating the volume_view will fix the problem.
>>>>>
>>>>> below commas should fix the issue.
>>>>>
>>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>>>> CREATE VIEW `cloud`.`volume_view` AS
>>>>>     select
>>>>>         volumes.id,
>>>>>         volumes.uuid,
>>>>>         volumes.name,
>>>>>         volumes.device_id,
>>>>>         volumes.volume_type,
>>>>>         volumes.size,
>>>>>         volumes.min_iops,
>>>>>         volumes.max_iops,
>>>>>         volumes.created,
>>>>>         volumes.state,
>>>>>         volumes.attached,
>>>>>         volumes.removed,
>>>>>         volumes.pod_id,
>>>>>         volumes.display_volume,
>>>>>         volumes.format,
>>>>>         volumes.path,
>>>>>         volumes.chain_info,
>>>>>         account.id account_id,
>>>>>         account.uuid account_uuid,
>>>>>         account.account_name account_name,
>>>>>         account.type account_type,
>>>>>         domain.id domain_id,
>>>>>         domain.uuid domain_uuid,
>>>>>         domain.name domain_name,
>>>>>         domain.path domain_path,
>>>>>         projects.id project_id,
>>>>>         projects.uuid project_uuid,
>>>>>         projects.name project_name,
>>>>>         data_center.id data_center_id,
>>>>>         data_center.uuid data_center_uuid,
>>>>>         data_center.name data_center_name,
>>>>>         data_center.networktype data_center_type,
>>>>>         vm_instance.id vm_id,
>>>>>         vm_instance.uuid vm_uuid,
>>>>>         vm_instance.name vm_name,
>>>>>         vm_instance.state vm_state,
>>>>>         vm_instance.vm_type,
>>>>>         user_vm.display_name vm_display_name,
>>>>>         volume_store_ref.size volume_store_size,
>>>>>         volume_store_ref.download_pct,
>>>>>         volume_store_ref.download_state,
>>>>>         volume_store_ref.error_str,
>>>>>         volume_store_ref.created created_on_store,
>>>>>         disk_offering.id disk_offering_id,
>>>>>         disk_offering.uuid disk_offering_uuid,
>>>>>         disk_offering.name disk_offering_name,
>>>>>         disk_offering.display_text disk_offering_display_text,
>>>>>         disk_offering.use_local_storage,
>>>>>         disk_offering.system_use,
>>>>>         disk_offering.bytes_read_rate,
>>>>>         disk_offering.bytes_write_rate,
>>>>>         disk_offering.iops_read_rate,
>>>>>         disk_offering.iops_write_rate,
>>>>>         disk_offering.cache_mode,
>>>>>         storage_pool.id pool_id,
>>>>>         storage_pool.uuid pool_uuid,
>>>>>         storage_pool.name pool_name,
>>>>>         cluster.hypervisor_type,
>>>>>         vm_template.id template_id,
>>>>>         vm_template.uuid template_uuid,
>>>>>         vm_template.extractable,
>>>>>         vm_template.type template_type,
>>>>>         vm_template.name template_name,
>>>>>         vm_template.display_text template_display_text,
>>>>>         iso.id iso_id,
>>>>>         iso.uuid iso_uuid,
>>>>>         iso.name iso_name,
>>>>>         iso.display_text iso_display_text,
>>>>>         resource_tags.id tag_id,
>>>>>         resource_tags.uuid tag_uuid,
>>>>>         resource_tags.key tag_key,
>>>>>         resource_tags.value tag_value,
>>>>>         resource_tags.domain_id tag_domain_id,
>>>>>         resource_tags.account_id tag_account_id,
>>>>>         resource_tags.resource_id tag_resource_id,
>>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>>>         resource_tags.resource_type tag_resource_type,
>>>>>         resource_tags.customer tag_customer,
>>>>>         async_job.id job_id,
>>>>>         async_job.uuid job_uuid,
>>>>>         async_job.job_status job_status,
>>>>>         async_job.account_id job_account_id
>>>>>     from
>>>>>         `cloud`.`volumes`
>>>>>             inner join
>>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>>>>             inner join
>>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>>>             left join
>>>>>         `cloud`.`projects` ON projects.project_account_id = account.id
>>>>>             left join
>>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>>>> data_center.id
>>>>>             left join
>>>>>         `cloud`.`vm_instance` ON volumes.instance_id = vm_instance.id
>>>>>             left join
>>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>>>             left join
>>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>>>> volume_store_ref.volume_id
>>>>>             left join
>>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>>>> disk_offering.id
>>>>>             left join
>>>>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
>>>>>             left join
>>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>>>>             left join
>>>>>         `cloud`.`vm_template` ON volumes.template_id = vm_template.id
>>>>>             left join
>>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>>>             left join
>>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>>>> volumes.id
>>>>>             and resource_tags.resource_type = 'Volume'
>>>>>             left join
>>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>>>>             and async_job.instance_type = 'Volume'
>>>>>             and async_job.job_status = 0;
>>>>>
>>>>> Thanks,
>>>>> Bharat.
>>>>>
>>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>>>> mike.tutkowski@solidfire.com> wrote:
>>>>>
>>>>> > Hi,
>>>>> >
>>>>> > If you click on the Storage tab in the GUI when you have one or more
>>>>> > volumes, you receive the following exception (is this something
>>>>> someone is
>>>>> > already working on?):
>>>>> >
>>>>> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>>>> >    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>> Method)
>>>>> >    at
>>>>> >
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>>> >    at
>>>>> >
>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>> >    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>>> >    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>>>> >    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>>>> >    at
>>>>> >
>>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>>>> >    at
>>>>> >
>>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>>>> >    at
>>>>> >
>>>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>>>> >
>>>>> > Thanks!
>>>>> >
>>>>> > --
>>>>> > *Mike Tutkowski*
>>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>>> > e: mike.tutkowski@solidfire.com
>>>>> > o: 303.746.7302
>>>>> > Advancing the way the world uses the cloud
>>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Mike Tutkowski*
>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>>> e: mike.tutkowski@solidfire.com
>>>> o: 303.746.7302
>>>> Advancing the way the world uses the cloud
>>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkowski@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the cloud
>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Upon further consideration, I forgot that we drop and re-create views in
the SQL - if need be - from release to release.

It looks like a new version of the volume_view went into 4.5 with
11f5bdd78de4121331b07995800f6e9e7c22f2c0, which is from Review Request
19446.

It appears volume_view is missing several columns.


On Mon, Jun 30, 2014 at 10:30 PM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> Actually, in looking at "git blame", it appears this view has never had
> those two columns.
>
> I think the intent, however, is that those two columns exist in the view.
>
> I'm adding them in my sandbox and testing this out now.
>
>
> On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> I looked into this a bit more.
>>
>> It appears that the "volume_view" no longer has the following two columns:
>>
>> vm_template.name template_name
>> vm_template.display_text template_display_text
>>
>> The problem is that the Java class, VolumeJoinVO, still has reference to
>> them (a variable for each one).
>>
>> I would just remove these variables; however, they are still in use as
>> they are returned to clients as responses (at least we try to return them,
>> but get an exception before being able to do so).
>>
>> If we really want to remove these two columns, that will mean breaking
>> the API, which really should wait until a major release.
>>
>>
>> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> Thanks for the reply.
>>>
>>> The weird part is that this is the second time I've recreated the DB and
>>> seen this issue.
>>>
>>> If I have time a bit later, I can see if the SQL in Git is wrong and
>>> update it with what you provided.
>>>
>>> Thanks!
>>>
>>>
>>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <bh...@citrix.com>
>>> wrote:
>>>
>>>> Hi Mike,
>>>>
>>>> I think the volume_view did not get created properly for some reason. I
>>>> think recreating the volume_view will fix the problem.
>>>>
>>>> below commas should fix the issue.
>>>>
>>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>>> CREATE VIEW `cloud`.`volume_view` AS
>>>>     select
>>>>         volumes.id,
>>>>         volumes.uuid,
>>>>         volumes.name,
>>>>         volumes.device_id,
>>>>         volumes.volume_type,
>>>>         volumes.size,
>>>>         volumes.min_iops,
>>>>         volumes.max_iops,
>>>>         volumes.created,
>>>>         volumes.state,
>>>>         volumes.attached,
>>>>         volumes.removed,
>>>>         volumes.pod_id,
>>>>         volumes.display_volume,
>>>>         volumes.format,
>>>>         volumes.path,
>>>>         volumes.chain_info,
>>>>         account.id account_id,
>>>>         account.uuid account_uuid,
>>>>         account.account_name account_name,
>>>>         account.type account_type,
>>>>         domain.id domain_id,
>>>>         domain.uuid domain_uuid,
>>>>         domain.name domain_name,
>>>>         domain.path domain_path,
>>>>         projects.id project_id,
>>>>         projects.uuid project_uuid,
>>>>         projects.name project_name,
>>>>         data_center.id data_center_id,
>>>>         data_center.uuid data_center_uuid,
>>>>         data_center.name data_center_name,
>>>>         data_center.networktype data_center_type,
>>>>         vm_instance.id vm_id,
>>>>         vm_instance.uuid vm_uuid,
>>>>         vm_instance.name vm_name,
>>>>         vm_instance.state vm_state,
>>>>         vm_instance.vm_type,
>>>>         user_vm.display_name vm_display_name,
>>>>         volume_store_ref.size volume_store_size,
>>>>         volume_store_ref.download_pct,
>>>>         volume_store_ref.download_state,
>>>>         volume_store_ref.error_str,
>>>>         volume_store_ref.created created_on_store,
>>>>         disk_offering.id disk_offering_id,
>>>>         disk_offering.uuid disk_offering_uuid,
>>>>         disk_offering.name disk_offering_name,
>>>>         disk_offering.display_text disk_offering_display_text,
>>>>         disk_offering.use_local_storage,
>>>>         disk_offering.system_use,
>>>>         disk_offering.bytes_read_rate,
>>>>         disk_offering.bytes_write_rate,
>>>>         disk_offering.iops_read_rate,
>>>>         disk_offering.iops_write_rate,
>>>>         disk_offering.cache_mode,
>>>>         storage_pool.id pool_id,
>>>>         storage_pool.uuid pool_uuid,
>>>>         storage_pool.name pool_name,
>>>>         cluster.hypervisor_type,
>>>>         vm_template.id template_id,
>>>>         vm_template.uuid template_uuid,
>>>>         vm_template.extractable,
>>>>         vm_template.type template_type,
>>>>         vm_template.name template_name,
>>>>         vm_template.display_text template_display_text,
>>>>         iso.id iso_id,
>>>>         iso.uuid iso_uuid,
>>>>         iso.name iso_name,
>>>>         iso.display_text iso_display_text,
>>>>         resource_tags.id tag_id,
>>>>         resource_tags.uuid tag_uuid,
>>>>         resource_tags.key tag_key,
>>>>         resource_tags.value tag_value,
>>>>         resource_tags.domain_id tag_domain_id,
>>>>         resource_tags.account_id tag_account_id,
>>>>         resource_tags.resource_id tag_resource_id,
>>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>>         resource_tags.resource_type tag_resource_type,
>>>>         resource_tags.customer tag_customer,
>>>>         async_job.id job_id,
>>>>         async_job.uuid job_uuid,
>>>>         async_job.job_status job_status,
>>>>         async_job.account_id job_account_id
>>>>     from
>>>>         `cloud`.`volumes`
>>>>             inner join
>>>>         `cloud`.`account` ON volumes.account_id = account.id
>>>>             inner join
>>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>>             left join
>>>>         `cloud`.`projects` ON projects.project_account_id = account.id
>>>>             left join
>>>>         `cloud`.`data_center` ON volumes.data_center_id =
>>>> data_center.id
>>>>             left join
>>>>         `cloud`.`vm_instance` ON volumes.instance_id = vm_instance.id
>>>>             left join
>>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>>             left join
>>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>>> volume_store_ref.volume_id
>>>>             left join
>>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>>> disk_offering.id
>>>>             left join
>>>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
>>>>             left join
>>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>>>             left join
>>>>         `cloud`.`vm_template` ON volumes.template_id = vm_template.id
>>>>             left join
>>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>>             left join
>>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>>> volumes.id
>>>>             and resource_tags.resource_type = 'Volume'
>>>>             left join
>>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>>>             and async_job.instance_type = 'Volume'
>>>>             and async_job.job_status = 0;
>>>>
>>>> Thanks,
>>>> Bharat.
>>>>
>>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <
>>>> mike.tutkowski@solidfire.com> wrote:
>>>>
>>>> > Hi,
>>>> >
>>>> > If you click on the Storage tab in the GUI when you have one or more
>>>> > volumes, you receive the following exception (is this something
>>>> someone is
>>>> > already working on?):
>>>> >
>>>> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>>> > Unknown column 'volume_view.template_name' in 'field list'
>>>> >    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> Method)
>>>> >    at
>>>> >
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>> >    at
>>>> >
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>> >    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>> >    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>>> >    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>>> >    at
>>>> >
>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>>> >    at
>>>> >
>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>>> >    at
>>>> >
>>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>>> >
>>>> > Thanks!
>>>> >
>>>> > --
>>>> > *Mike Tutkowski*
>>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>>> > e: mike.tutkowski@solidfire.com
>>>> > o: 303.746.7302
>>>> > Advancing the way the world uses the cloud
>>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>>
>>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkowski@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the cloud
>>> <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*

Re: [ACS4.5] Can't access volumes on storage tab in GUI

Posted by Mike Tutkowski <mi...@solidfire.com>.
Actually, in looking at "git blame", it appears this view has never had
those two columns.

I think the intent, however, is that those two columns exist in the view.

I'm adding them in my sandbox and testing this out now.


On Mon, Jun 30, 2014 at 10:11 PM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> I looked into this a bit more.
>
> It appears that the "volume_view" no longer has the following two columns:
>
> vm_template.name template_name
> vm_template.display_text template_display_text
>
> The problem is that the Java class, VolumeJoinVO, still has reference to
> them (a variable for each one).
>
> I would just remove these variables; however, they are still in use as
> they are returned to clients as responses (at least we try to return them,
> but get an exception before being able to do so).
>
> If we really want to remove these two columns, that will mean breaking the
> API, which really should wait until a major release.
>
>
> On Mon, Jun 30, 2014 at 9:07 AM, Mike Tutkowski <
> mike.tutkowski@solidfire.com> wrote:
>
>> Thanks for the reply.
>>
>> The weird part is that this is the second time I've recreated the DB and
>> seen this issue.
>>
>> If I have time a bit later, I can see if the SQL in Git is wrong and
>> update it with what you provided.
>>
>> Thanks!
>>
>>
>> On Mon, Jun 30, 2014 at 5:47 AM, Bharat Kumar <bh...@citrix.com>
>> wrote:
>>
>>> Hi Mike,
>>>
>>> I think the volume_view did not get created properly for some reason. I
>>> think recreating the volume_view will fix the problem.
>>>
>>> below commas should fix the issue.
>>>
>>> DROP VIEW IF EXISTS `cloud`.`volume_view`;
>>> CREATE VIEW `cloud`.`volume_view` AS
>>>     select
>>>         volumes.id,
>>>         volumes.uuid,
>>>         volumes.name,
>>>         volumes.device_id,
>>>         volumes.volume_type,
>>>         volumes.size,
>>>         volumes.min_iops,
>>>         volumes.max_iops,
>>>         volumes.created,
>>>         volumes.state,
>>>         volumes.attached,
>>>         volumes.removed,
>>>         volumes.pod_id,
>>>         volumes.display_volume,
>>>         volumes.format,
>>>         volumes.path,
>>>         volumes.chain_info,
>>>         account.id account_id,
>>>         account.uuid account_uuid,
>>>         account.account_name account_name,
>>>         account.type account_type,
>>>         domain.id domain_id,
>>>         domain.uuid domain_uuid,
>>>         domain.name domain_name,
>>>         domain.path domain_path,
>>>         projects.id project_id,
>>>         projects.uuid project_uuid,
>>>         projects.name project_name,
>>>         data_center.id data_center_id,
>>>         data_center.uuid data_center_uuid,
>>>         data_center.name data_center_name,
>>>         data_center.networktype data_center_type,
>>>         vm_instance.id vm_id,
>>>         vm_instance.uuid vm_uuid,
>>>         vm_instance.name vm_name,
>>>         vm_instance.state vm_state,
>>>         vm_instance.vm_type,
>>>         user_vm.display_name vm_display_name,
>>>         volume_store_ref.size volume_store_size,
>>>         volume_store_ref.download_pct,
>>>         volume_store_ref.download_state,
>>>         volume_store_ref.error_str,
>>>         volume_store_ref.created created_on_store,
>>>         disk_offering.id disk_offering_id,
>>>         disk_offering.uuid disk_offering_uuid,
>>>         disk_offering.name disk_offering_name,
>>>         disk_offering.display_text disk_offering_display_text,
>>>         disk_offering.use_local_storage,
>>>         disk_offering.system_use,
>>>         disk_offering.bytes_read_rate,
>>>         disk_offering.bytes_write_rate,
>>>         disk_offering.iops_read_rate,
>>>         disk_offering.iops_write_rate,
>>>         disk_offering.cache_mode,
>>>         storage_pool.id pool_id,
>>>         storage_pool.uuid pool_uuid,
>>>         storage_pool.name pool_name,
>>>         cluster.hypervisor_type,
>>>         vm_template.id template_id,
>>>         vm_template.uuid template_uuid,
>>>         vm_template.extractable,
>>>         vm_template.type template_type,
>>>         vm_template.name template_name,
>>>         vm_template.display_text template_display_text,
>>>         iso.id iso_id,
>>>         iso.uuid iso_uuid,
>>>         iso.name iso_name,
>>>         iso.display_text iso_display_text,
>>>         resource_tags.id tag_id,
>>>         resource_tags.uuid tag_uuid,
>>>         resource_tags.key tag_key,
>>>         resource_tags.value tag_value,
>>>         resource_tags.domain_id tag_domain_id,
>>>         resource_tags.account_id tag_account_id,
>>>         resource_tags.resource_id tag_resource_id,
>>>         resource_tags.resource_uuid tag_resource_uuid,
>>>         resource_tags.resource_type tag_resource_type,
>>>         resource_tags.customer tag_customer,
>>>         async_job.id job_id,
>>>         async_job.uuid job_uuid,
>>>         async_job.job_status job_status,
>>>         async_job.account_id job_account_id
>>>     from
>>>         `cloud`.`volumes`
>>>             inner join
>>>         `cloud`.`account` ON volumes.account_id = account.id
>>>             inner join
>>>         `cloud`.`domain` ON volumes.domain_id = domain.id
>>>             left join
>>>         `cloud`.`projects` ON projects.project_account_id = account.id
>>>             left join
>>>         `cloud`.`data_center` ON volumes.data_center_id = data_center.id
>>>             left join
>>>         `cloud`.`vm_instance` ON volumes.instance_id = vm_instance.id
>>>             left join
>>>         `cloud`.`user_vm` ON user_vm.id = vm_instance.id
>>>             left join
>>>         `cloud`.`volume_store_ref` ON volumes.id =
>>> volume_store_ref.volume_id
>>>             left join
>>>         `cloud`.`disk_offering` ON volumes.disk_offering_id =
>>> disk_offering.id
>>>             left join
>>>         `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
>>>             left join
>>>         `cloud`.`cluster` ON storage_pool.cluster_id = cluster.id
>>>             left join
>>>         `cloud`.`vm_template` ON volumes.template_id = vm_template.id
>>>             left join
>>>         `cloud`.`vm_template` iso ON iso.id = volumes.iso_id
>>>             left join
>>>         `cloud`.`resource_tags` ON resource_tags.resource_id =
>>> volumes.id
>>>             and resource_tags.resource_type = 'Volume'
>>>             left join
>>>         `cloud`.`async_job` ON async_job.instance_id = volumes.id
>>>             and async_job.instance_type = 'Volume'
>>>             and async_job.job_status = 0;
>>>
>>> Thanks,
>>> Bharat.
>>>
>>> On 28-Jun-2014, at 3:30 am, Mike Tutkowski <mi...@solidfire.com>
>>> wrote:
>>>
>>> > Hi,
>>> >
>>> > If you click on the Storage tab in the GUI when you have one or more
>>> > volumes, you receive the following exception (is this something
>>> someone is
>>> > already working on?):
>>> >
>>> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
>>> > Unknown column 'volume_view.template_name' in 'field list'
>>> >    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> Method)
>>> >    at
>>> >
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>> >    at
>>> >
>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>> >    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>> >    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>> >    at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>> >    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
>>> >    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
>>> >    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
>>> >    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
>>> >    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
>>> >    at
>>> >
>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
>>> >    at
>>> >
>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
>>> >    at
>>> >
>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>> >
>>> > Thanks!
>>> >
>>> > --
>>> > *Mike Tutkowski*
>>> > *Senior CloudStack Developer, SolidFire Inc.*
>>> > e: mike.tutkowski@solidfire.com
>>> > o: 303.746.7302
>>> > Advancing the way the world uses the cloud
>>> > <http://solidfire.com/solution/overview/?video=play>*™*
>>>
>>>
>>
>>
>> --
>> *Mike Tutkowski*
>>  *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkowski@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the cloud
>> <http://solidfire.com/solution/overview/?video=play>*™*
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud
> <http://solidfire.com/solution/overview/?video=play>*™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
<http://solidfire.com/solution/overview/?video=play>*™*