You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Amogh Vasekar <am...@citrix.com> on 2014/03/03 21:44:49 UTC

[PROPOSAL] Ability to add new guest OS

Hi,

CloudStack currently does not allow an easy way to add new guest OS types,
for example, a standard way to add say, CentOS 6.5 even though a
hypervisor may support it.
Part of the reason is since the OS to hypervisor-specific platform
mappings are currently hard-coded into the code-base [1][2]
To support such new OS addition, the current way is to manipulate the DB
using upgrade scripts and make the necessary code changes.
This proposal aims to partially mitigate this issue by allowing the
CloudStack admin the ability to add new OS in the list, and update the
mapping to hypervisor-specific platform names, via APIs / UI. For now, the
admin will be responsible for providing the mapping to hypervisor-specific
platform names based on his knowledge, which may be enhanced in future.
For example, based on [1], an admin should be able to add a mapping like :
CentOS 6.5 (64 bit) -> CentsOS 6.5 .

The functional spec can be found at :
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal+-+Ability+t
o+add+new+guest+OS+mappings

Comments / suggestions welcome.

Thanks,
Amogh


[1] 
https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/sr
c/com/cloud/hypervisor/kvm/resource/KVMGuestOsMapper.java
[2] 
https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/xen/sr
c/com/cloud/hypervisor/xen/resource/CitrixHelper.java


Re: [PROPOSAL] Ability to add new guest OS

Posted by Amogh Vasekar <am...@citrix.com>.

On 3/4/14 2:33 AM, "Abhinandan Prateek" <Ab...@citrix.com>
wrote:

>Is the initial list of supported os coming from Hypervisor

Yes. More specifically, for now the list is coming from :
KVM : http://bit.ly/1kY6msQ
Xen : http://bit.ly/1mUei3f
VMW : http://bit.ly/MMsAlF


Re: [PROPOSAL] Ability to add new guest OS

Posted by Abhinandan Prateek <Ab...@citrix.com>.
On 04/03/14 2:14 am, "Amogh Vasekar" <am...@citrix.com> wrote:

>Hi,
>
>CloudStack currently does not allow an easy way to add new guest OS types,
>for example, a standard way to add say, CentOS 6.5 even though a
>hypervisor may support it.
>Part of the reason is since the OS to hypervisor-specific platform
>mappings are currently hard-coded into the code-base [1][2]

The guest os support is driven by Hypervisor and their version.
Is the initial list of supported os coming from Hypervisor (like for xen
we can get it by Œxe template-list¹ ) ?


>To support such new OS addition, the current way is to manipulate the DB
>using upgrade scripts and make the necessary code changes.
>This proposal aims to partially mitigate this issue by allowing the
>CloudStack admin the ability to add new OS in the list, and update the
>mapping to hypervisor-specific platform names, via APIs / UI. For now, the
>admin will be responsible for providing the mapping to hypervisor-specific
>platform names based on his knowledge, which may be enhanced in future.
>For example, based on [1], an admin should be able to add a mapping like :
>CentOS 6.5 (64 bit) -> CentsOS 6.5 .
>
>The functional spec can be found at :
>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal+-+Ability+
>t
>o+add+new+guest+OS+mappings
>
>Comments / suggestions welcome.
>
>Thanks,
>Amogh
>
>
>[1] 
>https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/s
>r
>c/com/cloud/hypervisor/kvm/resource/KVMGuestOsMapper.java
>[2] 
>https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/xen/s
>r
>c/com/cloud/hypervisor/xen/resource/CitrixHelper.java
>


Re: [PROPOSAL] Ability to add new guest OS

Posted by John Kinsella <jl...@stratosec.co>.
+1 for the feature, but usually I just go for “other paravirtualized (64 bit)” (paraphrasing, mistakes mine) nowadays. What would be more useful, IMHO, is to better document the what the selection OS type selection choice means for a VM. For KVM, it’s a hell of a lot more than SCSI vs IDE root disk...

On Mar 3, 2014, at 12:44 PM, Amogh Vasekar <am...@citrix.com>> wrote:

Hi,

CloudStack currently does not allow an easy way to add new guest OS types,
for example, a standard way to add say, CentOS 6.5 even though a
hypervisor may support it.
Part of the reason is since the OS to hypervisor-specific platform
mappings are currently hard-coded into the code-base [1][2]
To support such new OS addition, the current way is to manipulate the DB
using upgrade scripts and make the necessary code changes.
This proposal aims to partially mitigate this issue by allowing the
CloudStack admin the ability to add new OS in the list, and update the
mapping to hypervisor-specific platform names, via APIs / UI. For now, the
admin will be responsible for providing the mapping to hypervisor-specific
platform names based on his knowledge, which may be enhanced in future.
For example, based on [1], an admin should be able to add a mapping like :
CentOS 6.5 (64 bit) -> CentsOS 6.5 .

The functional spec can be found at :
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal+-+Ability+t
o+add+new+guest+OS+mappings

Comments / suggestions welcome.

Thanks,
Amogh


[1]
https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/sr
c/com/cloud/hypervisor/kvm/resource/KVMGuestOsMapper.java
[2]
https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/xen/sr
c/com/cloud/hypervisor/xen/resource/CitrixHelper.java


Stratosec<http://stratosec.co/> - Compliance as a Service
o: 415.315.9385
@johnlkinsella<http://twitter.com/johnlkinsella>


Re: [PROPOSAL] Ability to add new guest OS

Posted by Amogh Vasekar <am...@citrix.com>.
Hi,
Responses inline.

Thanks,
Amogh

On 3/4/14 12:00 AM, "Daan Hoogland" <da...@gmail.com> wrote:

>+1 for the feature,
>
>Did you consider systemvms? Or the default vm-template? Or are those
>marked as undeletable or even hardcoded in case the table gets editted
>outside of ACS?
[Amogh] Sorry, I don't think I get the question here. The table would only
map the OS name of systemvm, which is standardized in CloudStack, to the
hypervisor specific OS name.
For the undeletable part, please refer to the next one.
>
>The delete feature is vital. You marked it as open for discussion but
>I don't agree. The admin should delete when he makes a mistake! Or
>when an os has a structural vulnerability!
[Amogh] Sure! I should have been clearer in the doc. I meant to say that
some mappings may be marked as non-editable / non-deletable. These may be
the ones that come bundled in with CloudStack, or a subset of those. This
second point was the one I had in mind with respect to being open for
discussion.
All admin specified mappings should be editable / deletable.
>
>How and when is memory mapping done? Someone is busy instantiating a
>template based on an os which in the meanwhile is being deleted. What
>happens?
[Amogh] This is a good point. The current implementation I have in mind
would use these mappings as the VM details are being created to be sent to
the agent. As such, it should honor the user view of details. Let me get
back with more details on this though.
>
>regards,
>
>On Mon, Mar 3, 2014 at 9:44 PM, Amogh Vasekar <am...@citrix.com>
>wrote:
>> Hi,
>>
>> CloudStack currently does not allow an easy way to add new guest OS
>>types,
>> for example, a standard way to add say, CentOS 6.5 even though a
>> hypervisor may support it.
>> Part of the reason is since the OS to hypervisor-specific platform
>> mappings are currently hard-coded into the code-base [1][2]
>> To support such new OS addition, the current way is to manipulate the DB
>> using upgrade scripts and make the necessary code changes.
>> This proposal aims to partially mitigate this issue by allowing the
>> CloudStack admin the ability to add new OS in the list, and update the
>> mapping to hypervisor-specific platform names, via APIs / UI. For now,
>>the
>> admin will be responsible for providing the mapping to
>>hypervisor-specific
>> platform names based on his knowledge, which may be enhanced in future.
>> For example, based on [1], an admin should be able to add a mapping
>>like :
>> CentOS 6.5 (64 bit) -> CentsOS 6.5 .
>>
>> The functional spec can be found at :
>> 
>>https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal+-+Ability
>>+t
>> o+add+new+guest+OS+mappings
>>
>> Comments / suggestions welcome.
>>
>> Thanks,
>> Amogh
>>
>>
>> [1]
>> 
>>https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/
>>sr
>> c/com/cloud/hypervisor/kvm/resource/KVMGuestOsMapper.java
>> [2]
>> 
>>https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/xen/
>>sr
>> c/com/cloud/hypervisor/xen/resource/CitrixHelper.java
>>
>
>
>
>-- 
>Daan


Re: [PROPOSAL] Ability to add new guest OS

Posted by Daan Hoogland <da...@gmail.com>.
+1 for the feature,

Did you consider systemvms? Or the default vm-template? Or are those
marked as undeletable or even hardcoded in case the table gets editted
outside of ACS?

The delete feature is vital. You marked it as open for discussion but
I don't agree. The admin should delete when he makes a mistake! Or
when an os has a structural vulnerability!

How and when is memory mapping done? Someone is busy instantiating a
template based on an os which in the meanwhile is being deleted. What
happens?

regards,

On Mon, Mar 3, 2014 at 9:44 PM, Amogh Vasekar <am...@citrix.com> wrote:
> Hi,
>
> CloudStack currently does not allow an easy way to add new guest OS types,
> for example, a standard way to add say, CentOS 6.5 even though a
> hypervisor may support it.
> Part of the reason is since the OS to hypervisor-specific platform
> mappings are currently hard-coded into the code-base [1][2]
> To support such new OS addition, the current way is to manipulate the DB
> using upgrade scripts and make the necessary code changes.
> This proposal aims to partially mitigate this issue by allowing the
> CloudStack admin the ability to add new OS in the list, and update the
> mapping to hypervisor-specific platform names, via APIs / UI. For now, the
> admin will be responsible for providing the mapping to hypervisor-specific
> platform names based on his knowledge, which may be enhanced in future.
> For example, based on [1], an admin should be able to add a mapping like :
> CentOS 6.5 (64 bit) -> CentsOS 6.5 .
>
> The functional spec can be found at :
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal+-+Ability+t
> o+add+new+guest+OS+mappings
>
> Comments / suggestions welcome.
>
> Thanks,
> Amogh
>
>
> [1]
> https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/sr
> c/com/cloud/hypervisor/kvm/resource/KVMGuestOsMapper.java
> [2]
> https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/xen/sr
> c/com/cloud/hypervisor/xen/resource/CitrixHelper.java
>



-- 
Daan