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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@solidfire.com> wrote: >>> >>>> Thanks! >>>> >>>> >>>> On Tue, Jul 1, 2014 at 4:26 PM, Yoshikazu Nojima <m...@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.tutkow...@solidfire.com>: >>>>> > Somehow I didn't see that aliasing going on there. >>>>> > >>>>> > >>>>> > On Tue, Jul 1, 2014 at 2:05 PM, Mike Tutkowski < >>>>> mike.tutkow...@solidfire.com >>>>> >> wrote: >>>>> > >>>>> >> Ah, yes, good point. >>>>> >> >>>>> >> >>>>> >> On Tue, Jul 1, 2014 at 2:02 PM, Yoshikazu Nojima <m...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.ku...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@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.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud <http://solidfire.com/solution/overview/?video=play>*™*