Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

COSMOS SDD Topology

Revision as of 12:42, 9 July 2009 by Unnamed Poltroon (Talk)

Talking points

  • How we define topology directly ties into how we resolve variables. Only top-level variables are visible in topology and how they are associated with resource instances are not defined by the SDD spec. In the case of the current implementation, we use "Name" as the identifier of the resource. For certain resources, "Name" is a valid property, but for others like CIM_FileSystem.Root in the example below, Name is mapped to Root for the purposes of resource resolution. The OASIS TC came up with Name/Property in topology before a resource model was decided upon. Given the use of Resource.Property as QNames for identifying logical resources and binding them with physical instances, should Name be abandoned all together?
  • Also highlighted in the example below is a jre resource with three potential physical instances depending upon scope. The SDD spec indicates that when logical resources may map to different physical resources (variable topologies) that each physical resource should be listed a separate logical resources in topology. Relevant SDD spec is cut/paste below. This is in section 4.2 paragraph 6 ...

1113 Some topologies are variable. That is, a particular set of logical resources of the same type in the
1114 topology might be associated with different physical resource instances or the same physical resource
1115 during deployment. In this case, a separate logical resource definition is created in topology for each
1116 possible physical resource instance. Uniqueness constraints can then be used to describe the conditions
1117 under which the separate resources can be associated with a single resource.

Example SDD

<sdd-dd:Topology>
    <sdd-dd:Resource id="os" type="sp:CIM_OperatingSystem">
        <sdd-dd:HostedResource id="preciseJre" type="sp:CIM_J2eeJVM">
            <sdd-dd:Property>
                <sdd-dd:PropertyName>sp:CIM_J2eeJVM.Version</sdd-dd:PropertyName>
                <sdd-dd:Value>$(preciseJreVersion)</sdd-dd:Value>
            </sdd-dd:Property>
        </sdd-dd:HostedResource>
        <sdd-dd:HostedResource id="minJre" type="sp:CIM_J2eeJVM">
            <sdd-dd:Property>
                <sdd-dd:PropertyName>sp:CIM_J2eeJVM.Version</sdd-dd:PropertyName>
                <sdd-dd:Value>$(minJreVersion)</sdd-dd:Value>
            </sdd-dd:Property>
        </sdd-dd:HostedResource>
        <sdd-dd:HostedResource id="maxJre" type="sp:CIM_J2eeJVM">
            <sdd-dd:Property>
                <sdd-dd:PropertyName>sp:CIM_J2eeJVM.Version</sdd-dd:PropertyName>
                <sdd-dd:Value>$(maxJreVersion)</sdd-dd:Value>
            </sdd-dd:Property>
        </sdd-dd:HostedResource>           
        <sdd-dd:HostedResource id="filesystem" type="sp:CIM_FileSystem">
            <sdd-dd:Property>
                <sdd-dd:PropertyName>sp:CIM_FileSystem.Root</sdd-dd:PropertyName>
                <sdd-dd:Value>$(installRoot)</sdd-dd:Value>
            </sdd-dd:Property>
            <sdd-dd:HostedResource id="installDir" type="sp:CIM_Directory">
                <sdd-dd:Property>
                    <sdd-dd:PropertyName>sp:CIM_Directory.Name</sdd-dd:PropertyName>
                    <sdd-dd:Value>$(installLocation)</sdd-dd:Value>
                </sdd-dd:Property>
            </sdd-dd:HostedResource>
        </sdd-dd:HostedResource>

<sdd-dd:DerivedVariable id="preciseJreVersion">
    <sdd-dd:ConditionalExpression>
        <sdd-dd:Condition>
            <sdd-dd:ResourceConstraint id="preciseJreIBMCondition" resourceRef="os" >
                <sdd-dd:PropertyConstraint>
                    <sdd-dd:PropertyName>sp:CIM_OperatingSystem.OSType</sdd-dd:PropertyName>
                    <sdd-dd:ListOfValues>
                        <sdd-dd:Value>AIX</sdd-dd:Value>
                    </sdd-dd:ListOfValues>
                </sdd-dd:PropertyConstraint>
            </sdd-dd:ResourceConstraint>
        </sdd-dd:Condition>
        <sdd-dd:Expression>1.5.0 SR5</sdd-dd:Expression>
    </sdd-dd:ConditionalExpression>
    <sdd-dd:ConditionalExpression>
        <sdd-dd:Condition>
            <sdd-dd:ResourceConstraint id="preciseJreSunCondition" resourceRef="os" >
                <sdd-dd:PropertyConstraint>
                    <sdd-dd:PropertyName>sp:CIM_OperatingSystem.OSType</sdd-dd:PropertyName>
                    <sdd-dd:ListOfValues>
                        <sdd-dd:Value>Solaris</sdd-dd:Value>
                        <sdd-dd:Value>Windows XP</sdd-dd:Value>
                        <sdd-dd:Value>Windows Vista</sdd-dd:Value>
                    </sdd-dd:ListOfValues>
                </sdd-dd:PropertyConstraint>
            </sdd-dd:ResourceConstraint>
        </sdd-dd:Condition>
        <sdd-dd:Expression>1.5.0_12</sdd-dd:Expression>
    </sdd-dd:ConditionalExpression>
</sdd-dd:DerivedVariable>

Back to the top