Created
October 22, 2015 12:22
-
-
Save kiuby88/48684514aa73c31a4f1e to your computer and use it in GitHub Desktop.
Tosca
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aws-instance: | |
type: seaclouds.Nodes.Compute | |
properties: | |
location-configuration: | |
hardwareId: d2.2xlarge | |
location: "aws:ec2" | |
region: "us-west-1" | |
credentials: “user/pwd, token, whatever” | |
aws-ec2.identity = ... | |
aws-ec2.credential = ... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@ahgittin Thanks for your reply.
I proposed this approach following the same goal that you have described on your first point, however as you have mentioned, we will lost portability.
Your second point is very interesting too, it could be more portable.
In any case, I proposed encapsulate the location configuration properties in a single property map. I think it is important to avoid define a NodeType for each provider or a big NodeType (Jclouds configkeys, PaasLocation...). For example, AWS requires a set of properties such as
region
,user
,loginUser
, etc. If we add these properties directly toorg.apache.brooklyn.tosca.location.JcloudsLocation
NodeType properties declaration,we will find a problem when we will use a different provider which requires different properties. For example, HP will require a different set of properties, such as
selinux.disabled
,jclouds.openstack-nova.auto-create-floating-ips
,jclouds.openstack-nova.auto-generate-keypairs
, etc. But these properties are not supported byo.a.b.t.l.JcloudsLocation
because they were not defined from NodeType definition. In this case we should define a new NodeType for HP provider which contains the expected properties.Then, I proposed to use a map for containing all location properties, so any provider's property could be described using this NodeType. The following NodeType should allow to describe any location provider because the provider's properties will be added to the
location-configuration
map. Please, note that it is only a first NodeType definitionFor example, we could define the properties for AWS and HP using the same NodeTemplate.
does it make sense?
Of course a set of common properties could be fixed on top level properties, for example
provider
,region
,loginUser
(allbrooklyn.location.jclouds.JcloudsLocation
) could be defined directly aso.a.b.t.l.JcloudsLocation
's properties.Open Issues
org.apache.brooklyn.tosca.location.Location
).About, what solution should be support I also think that all of them may be supported easily.