
Extensions would do the home work:) Meanwhile for the long term I would propose the following approach. Some programming languages provides a so called standard library besides the core. I think a similar solution could work here as well. That is typical extensions those applicable to many situations but not all, could be covered by OCCI: maybe not in the core but in a standard "library", maybe not in the next release but in a later one. --- Regarding DHCP... an occi.ipnetwork.dhcp could be the additional attribute. Like occi.ipnetwork.gateway it would hold an IP address, namely the address of the DHCP server. This would support only one goal: to tell the cloud that this address is reserved in the range: available addresses := occi.ipnetwork.address(es) - occi.ipnetwork.gateway - occi.ipnetwork.dhcp But maybe I missunderstood the role of occi.ipnetwork.address: - The spec says: "IPv4 or IPv6 Address range, CIDR notation", so I thought it was something like this: 192.168.1.0/24 would define a C class subnet with 256 addresses. If this is the case than there is a need for a method to specify reserved addresses within the range. Gateway is a sample for such a reserved address but others could be there as wll (like DHCP if it is different from the gw). - The spec also says that multiplicity is 0..* so maybe one can define many addresses, but cannot specify a whole range. That is she should list avalailable addresses one by one. If this is the case then there is no need for the suggested attribute. One could simply exlude the reserved addresses from the range. So my question is: Could you please clarify the occi.ipnetwork.address semantics? in respect of (a) address ranges vs. individual addresses and (b) reserved addresses? Cheers, Gyula ________________________________________ Feladó: Ralf Nyren [ralf@nyren.net] Küldve: 2010. november 5. 17:14 Címzett: Csom Gyula; Edmonds, AndrewX; occi-wg@ogf.org Tárgy: Re: [occi-wg] Infrastructure Document
We are using KVM (hw-assisted virt) hence we need to specify both boot and storage device type:)
We are also using KVM. I suggest you do same as us and just extend the existing Compute and Storage creating your own sub-types (as nicely supported by OCCI). Then you can add the extra attributes needed. Works nicely for our KVM setup.
Regarding dhcp... it was a mistyping, sorry. What I really meant is adding support for separate DHCP IP addresses. Rationale:
* There could be situations when the gateway and the DHCP server are different, that is use different IP addresses. Meanwhile: * It seems to be a general feature that the cloud manages IP address leasing - it must ensure that the same IP is not used twice, hence in the above situation it must know about the DHCP address.
Not sure I get it still, sorry :) Could you explain which additional attributes you would want to add to the relevant types found in the infrastructure doc? Btw, to support customer's leasing static IP-addresses I choose to create a custom IPAddress Resource for that purpose. Not sure if that help your case but it is an example of how you can solve different implementation specific use cases. regards, Ralf
Cheers, Gyula ________________________________________ Feladó: Ralf Nyren [ralf@nyren.net] Küldve: 2010. november 5. 14:46 Címzett: Csom Gyula; Edmonds, AndrewX; occi-wg@ogf.org Tárgy: Re: [occi-wg] Infrastructure Document
Inline...
On Thu, 04 Nov 2010 22:57:31 +0100, Csom Gyula <csom@interface.hu> wrote:
[1] boot It might be useful to provide a boot param (0/1..*) in order to specify the boot order. Something like hd, cdrom, network, fd. Rationale: a system might provide * prebuilt OS images - boot=hd, * raw images with install CD - boot order = hd, cdrom * computes booting/installed through network (like computes in a Rocks Linux cluster) - boot order = hd, network
If accepted this could/should be an attribute of the compute.
Nice your brought this up. In the occi implementation I am involved in we add a boot-priority attribute in an extension to the Compute type.
Boot priority is relevant when you do "full hw virtualisation" but if you virtualise using e.g. Solaris containers or similar boot-priority is really not applicable.
So, for the generic case I think it should stay out of Compute and be left as an extension. Any other opinions?
[2] dhcp It might be useful if the IP mixin supported DHCP addresses ie. when using dynamic IP allocation, and the gateway and DHCP server IPs are different.
Not sure what you mean here. The IPNetwork mix-in indeed support dynamic address allocation, e.g. dhcp.
[3] network type The handling of public and private virtual networks might be different. For instance while anti IP spoofing against public IPs is a critical feature it is not relevant against private networks. That is it might be useful to tag networks as either public or private. Support could go to the IP mixin.
I think this would suite better as a separate mixin which adds the public/private attribute. But I may be wrong.
[4] device type It might be useful to tell what type of device the storage represents, for instance hd, cdrom.
Indeed, we do this in an extension of the Storage type in our implementation. If you model a block device (from the guest perspective) using the Storage type this is indeed needed. However if you represent an nfs export through the Storage type media type is not really relevant. So again, extension or separate mixin. Well, that's what I think anyway.
regards, Ralf