Anything that's hard coded is potentially a problem to change for a user.

You can take a somewhat similar view on the vmware disk controller issue
(cloudstack-4787 iirc) , where it is hard coded what to use, and changing
it to ui based has taken a couple of versions and is still not fixed. Which
is why i would vote against any hard coded value that could and should
either be dynamic or user specified.

Regards,
Erik Weber
12. mars 2014 16:24 skrev "Stephen Turner" <stephen.tur...@citrix.com>
følgende:

> Does anyone else have a view on this? I'm not familiar with the code base
> yet, so am I worrying about nothing?
>
> --
> Stephen Turner
>
>
> -----Original Message-----
> From: Stephen Turner [mailto:stephen.tur...@citrix.com]
> Sent: 11 March 2014 16:13
> To: dev@cloudstack.apache.org
> Cc: Sanjay Tripathi
> Subject: RE: Review Request 17889: CLOUDSTACK-4762: Enabling vGPU support
> for XenServer.
>
> Thanks for your reply, Sanjay. I understand that it's only K1 and K2 cards
> at the moment, but when they add more, do we really want to have to edit
> the code to match? What is the notification process by which we know there
> are new types? Does the user have to upgrade CloudStack to get access to
> the new types? In contrast, if we could use the current list from the
> server, we don't have to worry about it: it will just keep itself up to
> date.
>
> --
> Stephen Turner
>
>
> -----Original Message-----
> From: Sanjay Tripathi
> Sent: 11 March 2014 16:05
> To: Stephen Turner; dev@cloudstack.apache.org
> Subject: RE: Review Request 17889: CLOUDSTACK-4762: Enabling vGPU support
> for XenServer.
>
> Hi Stephen,
>
> As of now, there are 2 GPU cards available in market i.e. NVIDIA GRID K1
> and K2 cards. These card supports 5 different configurations of vGPUs which
> we call as vGPU types (for details:
> http://www.nvidia.com/object/virtual-gpus.html).  In future, if this list
> grows, then we'll add a separate table similar to guest_os table, which
> will have the list of supported vGPU types.
>
> Also, the table "vgpu_types" has the entries of different vGPU types
> supported in hosts managed by CloudStack.
>
> --Sanjay
>
> -----Original Message-----
> From: Stephen Turner
> Sent: Tuesday, March 11, 2014 5:54 PM
> To: dev@cloudstack.apache.org
> Cc: Sanjay Tripathi
> Subject: RE: Review Request 17889: CLOUDSTACK-4762: Enabling vGPU support
> for XenServer.
>
> I see that the change has been pushed already, but I'm a bit concerned
> about there being a hard-coded list of vGPU types in the class GPU. I
> anticipate that Nvidia or other vendors will add more vGPU types later, and
> this will require us to keep up with the list. Is there a way we can use
> the list of vGPU types returned from the servers instead?
>
> --
> Stephen Turner
>
>
>
> -----Original Message-----
> From: ASF Subversion and Git Services [mailto:nore...@reviews.apache.org]
> On Behalf Of ASF Subversion and Git Services
> Sent: 11 March 2014 10:10
> To: Koushik Das; Devdeep Singh; Alex Huang
> Cc: Sanjay Tripathi; ASF Subversion and Git Services; cloudstack
> Subject: Re: Review Request 17889: CLOUDSTACK-4762: Enabling vGPU support
> for XenServer.
>
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17889/#review36769
> -----------------------------------------------------------
>
>
> Commit c7d31fe288b13ff4f0f046f83f9eb4a9c2bf06c5 in cloudstack's branch
> refs/heads/master from Sanjay Tripathi [
> https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c7d31fe ]
>
> CLOUDSTACK-4760 : Enabling GPU support for XenServer.
> CLOUDSTACK-4762 : Enabling VGPU support for XenServer.
>
> This feature is to enable the GPU-passthrough and vGPU functionality, with
> the help of this feature, admins/users will be able to leverage the GPU
> graphics unit power by deploying a virtul machine with GPU or vGPU support
> or by changing the service offering of an existing VM at any later point of
> time. There GPU/vGPU enabled VMs are able to run graphical applications.
> For now, this feature is only supported with XenServer hypervisor but can
> be extended to add the support of other hypervisors.
>
>
> - ASF Subversion and Git Services
>
>
> On Feb. 27, 2014, 12:35 p.m., Sanjay Tripathi wrote:
> >
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > https://reviews.apache.org/r/17889/
> > -----------------------------------------------------------
> >
> > (Updated Feb. 27, 2014, 12:35 p.m.)
> >
> >
> > Review request for cloudstack, Alex Huang, Devdeep Singh, and Koushik
> Das.
> >
> >
> > Bugs: CLOUDSTACK-4760 and CLOUDSTACK-4762
> >     https://issues.apache.org/jira/browse/CLOUDSTACK-4760
> >     https://issues.apache.org/jira/browse/CLOUDSTACK-4762
> >
> >
> > Repository: cloudstack-git
> >
> >
> > Description
> > -------
> >
> > CLOUDSTACK-4760 : Enabling GPU support for XenServer.
> > CLOUDSTACK-4762 : Enabling VGPU support for XenServer.
> >
> > This feature is to enable the GPU-passthrough and vGPU functionality,
> > with the help of this feature, admins/users will be able to leverage
> > the GPU graphics unit power by deploying a virtul machine with GPU or
> > vGPU support or by changing the service offering of an existing VM at
> > any later point of time. There GPU/vGPU enabled VMs are able to run
> > graphical applications.
> > For now, this feature is only supported with XenServer hypervisor but
> > can be extended to add the support of other hypervisors.
> >
> >
> > Diffs
> > -----
> >
> >   api/src/com/cloud/agent/api/to/GPUDeviceTO.java PRE-CREATION
> >   api/src/com/cloud/agent/api/to/VirtualMachineTO.java bed3e1d
> >   api/src/com/cloud/gpu/GPU.java PRE-CREATION
> >   api/src/org/apache/cloudstack/api/ApiConstants.java 7b7f9ca
> >
> api/src/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java
> 1d8cbff
> >   api/src/org/apache/cloudstack/api/response/GpuResponse.java
> PRE-CREATION
> >   api/src/org/apache/cloudstack/api/response/HostResponse.java e2d8eb5
> >   api/src/org/apache/cloudstack/api/response/UserVmResponse.java 84d532b
> >   api/src/org/apache/cloudstack/api/response/VgpuResponse.java
> PRE-CREATION
> >   core/src/com/cloud/agent/api/GetGPUStatsAnswer.java PRE-CREATION
> >   core/src/com/cloud/agent/api/GetGPUStatsCommand.java PRE-CREATION
> >   core/src/com/cloud/agent/api/StartupRoutingCommand.java 626c87f
> >   core/src/com/cloud/agent/api/StopCommand.java 6a29aa6
> >   engine/components-api/src/com/cloud/resource/ResourceManager.java
> 95fb385
> >   engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
> d19fc38
> >
> engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml
> 08efb83
> >   engine/schema/src/com/cloud/gpu/HostGpuGroupsVO.java PRE-CREATION
> >   engine/schema/src/com/cloud/gpu/VGPUTypesVO.java PRE-CREATION
> >   engine/schema/src/com/cloud/gpu/dao/HostGpuGroupsDao.java PRE-CREATION
> >   engine/schema/src/com/cloud/gpu/dao/HostGpuGroupsDaoImpl.java
> PRE-CREATION
> >   engine/schema/src/com/cloud/gpu/dao/VGPUTypesDao.java PRE-CREATION
> >   engine/schema/src/com/cloud/gpu/dao/VGPUTypesDaoImpl.java PRE-CREATION
> >   engine/schema/src/com/cloud/host/HostVO.java 56c066b
> >   engine/schema/src/com/cloud/host/dao/HostDaoImpl.java 08a4366
> >   engine/schema/src/com/cloud/service/ServiceOfferingDetailsVO.java
> e1a1e93
> >
> plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
> 48ae3ea
> >
> server/src/com/cloud/agent/manager/allocator/impl/FirstFitAllocator.java
> b77f8ac
> >   server/src/com/cloud/api/ApiDBUtils.java a23244b
> >   server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java 1b95d9b
> >   server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java 08478e2
> >   server/src/com/cloud/configuration/ConfigurationManagerImpl.java
> 1c1da1f
> >   server/src/com/cloud/deploy/DeploymentPlanningManagerImpl.java 3c87b24
> >   server/src/com/cloud/hypervisor/HypervisorGuruBase.java 7fb79fa
> >   server/src/com/cloud/network/NetworkUsageManagerImpl.java e9b0393
> >   server/src/com/cloud/resource/ResourceManagerImpl.java adad85c
> >   server/src/com/cloud/server/ManagementServerImpl.java 2a08ddc
> >   server/src/com/cloud/server/StatsCollector.java 548587c
> >   server/src/com/cloud/storage/VolumeApiServiceImpl.java c95d316
> >   server/src/com/cloud/vm/UserVmManagerImpl.java 97e3ae7
> >   server/test/com/cloud/resource/MockResourceManagerImpl.java 5599e8c
> >   server/test/com/cloud/vm/DeploymentPlanningManagerImplTest.java 751a3bd
> >   server/test/resources/createNetworkOffering.xml c6228da
> >   setup/db/db/schema-430to440.sql 0ded7a9
> >   test/integration/smoke/test_deploy_vgpu_enabled_vm.py PRE-CREATION
> >   tools/marvin/marvin/integration/lib/base.py 0a7ad94
> >   ui/scripts/configuration.js 869b876
> >   ui/scripts/instances.js 53c9e98
> >
> > Diff: https://reviews.apache.org/r/17889/diff/
> >
> >
> > Testing
> > -------
> >
> > Tests:
> >
> > Hosts:
> > 1) Add a XS hosts with GPU cards.
> > 2) Create a pool of XS hosts with GPU cards.
> > 3) Create a pool of XS hosts which are GPU enabled as well which are not
> enabled.
> > 4) Checke the values in both the tables and verify the no. of GPU cards,
> remaining capacity etc.
> > 5) Remove a host from a pool and the remaining capacity should get
> updated properly.
> >
> > VM:
> > 1) Create a compute offering with GPU/vGPU capability.
> > 2) Deploy HVM OS with this service offering.
> > 3) In case of successful start of VM, remaining capacity should get
> updated correspondingly.
> > 4) Stop the VM and verify the capacity.
> > 5) Destroy the VM and verify the capacity.
> > 6) If the hosts does not have capacity to deploy a gpu enabled VM, then
> CS throws the InsufficientServerCapacity exception with proper error
> message in the logs.
> >
> >
> > Thanks,
> >
> > Sanjay Tripathi
> >
> >
>
>

Reply via email to