CL1 Proposal - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

CL1 Proposal

Description:

... package type of 'baseUninstall' is inconsistent with the expression of the ... installType attribute and inconsistent with requirement of the ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 13
Provided by: randyg2
Category:

less

Transcript and Presenter's Notes

Title: CL1 Proposal


1
CL1 Proposal
  • Redefine install.
  • Add update artifact.
  • Remove inconsistencies introduced by
    baseUninstall package type.

2
Operation Artifact Mapping
  • Current
  • Operations are used in requirements to indicate
    how the requirement applies to artifacts. (Or in
    the case of use to indicate that the
    requirement does not apply to the artifacts only
    to use of the deployed software.)
  • Operations are used in completion elements to
    indicate how completion actions are associated
    with artifacts.
  • Operation values include granular operations
    and macro operations. Macro operations are
    used as a convenience to refer to multiple
    operations. The two macro operations are Install
    and InstallAndUse.
  • The install artifact can map to either create or
    update or both. All the other artifacts map to a
    single operation. The installType attribute of a
    content element is used to indicate if the
    InstallArtifact can be used with create, update
    or both.
  • Issue
  • A package type of baseUninstall is inconsistent
    with the expression of the required installType
    attribute and inconsistent with requirement of
    the InstallArtifact element.
  • Packages intended to provide only repair,
    verification or undo have no corresponding
    package type and are inconsistent with
    requirement of the InstallArtifact element.
  • It is not possible to support both install and
    update in one package if they use different
    artifact files.
  • Proposal
  • Redefine install to replace create instead of
    referring to either create or update. This
    parallels our recent redefinition of uninstall
    to replace delete instead of referring to
    delete or undo. Remove create.
  • Add an UpdateArtifact element to
    InstallableArtifactsType. Leave the
    InstallArtifact - with its new purpose.
  • This allows install and update to use either the
    same or different artifacts as required.
  • This makes all mapping of operations to artifacts
    one-to-one.
  • Remove the installType attribute from
    InstallUnitType.
  • Not needed because now the presence of the
    artifact element indicates support for the
    corresponding operation.
  • Installable units will no long claim to support
    install or update in a package that is identified
    as an uninstall package.
  • Make the install and update artifacts optional.
  • An uninstall package would presumably only
    include uninstall artifacts.

3
Proposed CL1 Schema Change - artifacts
ltcomplexType name"InstallableArtifactsType"gt ltseq
uencegt ltelement name"InstallArtifact"
type"sdd-ddArtifactType"/gt ltelement
name"UndoArtifact" type"sdd-ddArtifactType"
minOccurs"0"/gt ltelement name"UninstallArtifact"
type"sdd-ddArtifactType" minOccurs"0"/gt ltany
namespace"other" processContents"lax"
minOccurs"0" maxOccurs"unbounded"/gt lt/sequencegt
lt/complexTypegt
ltcomplexType name"InstallableArtifactsType"gt ltseq
uencegt ltelement nameInstallArtifact"
type"sdd-ddArtifactType"/gt ltelement
name"UpdateArtifact" type"sdd-ddArtifactType"/gt
ltelement name"UndoArtifact" type"sdd-ddArtifac
tType" minOccurs"0"/gt ltelement
name"UninstallArtifact" type"sdd-ddArtifactType
" minOccurs"0"/gt ltany namespace"other"
processContents"lax" minOccurs"0"
maxOccurs"unbounded"/gt lt/sequencegt lt/complexTypegt
This change affects the list of artifact
elements in InstallableUnits and
LocalizationUnits.
4
Proposed Schema Change remove installType
ltcomplexType name"InstallUnitType"gt ltcomplexConte
ntgt ltextension base"sdd-ddBaseUnitType"gt ltsequen
cegt ltelement name"SupportedLanguages"
type"sdd-ddLanguageSetType" minOccurs"0"/gt ltele
ment name"RequiredBase" type"sdd-ddRequiredBase
Type" minOccurs"0"/gt ltelement name"Requirements"
type"sdd-ddRequirementsType"
minOccurs"0"/gt lt/sequencegt ltattribute
name"installType" type"sdd-ddInstallTypeType"
use"optional" default"baseInstall"/gt ltanyAttribu
te namespace"other" processContents"lax"/gt lt/e
xtensiongt lt/complexContentgt lt/complexTypegt
This change affects InstallableUnits,
LocalizationUnits and, in CL2, CompositeInstallabl
e.
5
Proposed Schema Change new package types
  • ltsimpleType name"SDDPackageTypeType"gt
  • ltrestriction base"NCName"gt
  • ltenumeration value"baseInstall"/gt
  • ltenumeration value"baseUninstall"/gt
  • ltenumeration value"configuration"/gt
  • ltenumeration value"maintenance"/gt
  • ltenumeration value"modification"/gt
  • ltenumeration value"replacement"/gt
  • ltenumeration valuerepair"/gt
  • ltenumeration valueverification"/gt
  • ltenumeration valueundo"/gt
  • lt/restrictiongt
  • lt/simpleTypegt

6
Proposed Schema Change operation enum
ltsimpleType name"OperationApplicabilityType"gt ltre
striction base"NCName"gt ltenumeration
value"configure"/gt ltenumeration
value"create"/gt ltenumeration value"install"/gt lte
numeration value"installAndUse"/gt
default ltenumeration value"repair"/gt ltenumerati
on value"undo"/gt ltenumeration value"update"/gt lte
numeration valueupdateAndUse"/gt ltenumeration
value"use"/gt ltenumeration value"uninstall"/gt lten
umeration value"verifyConfiguration"/gt ltenumerati
on value"verifyResults"/gt lt/restrictiongt lt/simple
Typegt
7
Proposed Specification Changes
  • Many minor changes to references to
    InstallArtifact. This will simplify a number of
    sentences.
  • Example Old A resource that will be updated
    when the InstallableUnits InstallArtifact is
    processed for an update operation. New A
    resource that will be updated when the
    InstallableUnits UpdateArtifact is processed.
  • Remove
  • installType The installType attribute
    communicates whether the create and update
    operations are supported by the defining
    InstallableUnit or LocalizationUnit. Valid values
    for installType are
  • baseInstall This value for installType indicates
    that the InstallArtifact can be used only to
    create new resources.
  • updateOnly This value indicates that the
    InstallArtifact can be used only to update
    existing resources.
  • updateOrBaseInstall This value indicates that
    the InstallArtifact can be used either to create
    new resources or to update existing resources.
  • If no installType is specified, the type defaults
    to baseInstall.
  • Redefine InstallArtifact element and add
    UpdateArtifact
  • InstallArtifact The InstallArtifact element
    declares deployment information sufficient to
    enable the target resource to perform a create or
    update using the named artifact files.
  • See ArtifactType for structure and usage details
    6.3.3.
  • InstallArtifact The InstallArtifact element
    declares deployment information sufficient to
    enable the target resource to perform an install
    operation It is optional.
  • See ArtifactType for structure and usage details
    6.3.3.
  • UpdateArtifact The UpdateArtifact element
    declares deployment information sufficient to
    enable the target resource to perform an update
    operation. It is optional.
  • See ArtifactType for structure and usage details
    6.3.3.
  • Update PackageType and OperationApplicabilityType
    enumerations.
  • Plus picture and table changes as needed.

8
An inconsistency that remains InstallableUnits
that do not install
  • When we added a package type of baseUninstall
    we opened a can of worms. Previously an
    underlying assumption of the SDD was that it
    existed to support deployment of resources,
    either by creation or update. InstallArtifact was
    required. Other artifacts were included to
    support additional, future, lifecycle operations.
  • Changes proposed here to provide consistency with
    the newly added baseUninstall create a new
    inconsistency. Specifically, we now have a thing
    called InstallableUnit that might only have
    uninstall artifacts or only repair artifacts or
    only verification artifacts or only undo
    artifacts.
  • Three options
  • Let the naming inconsistency be OK.
  • Remove the inconsistency introduced by
    baseUninstall by deciding to keep to the
    original assumption that SDDs always describe
    deployment.
  • Remove baseUninstall package type
  • do not accept the newly proposed package types
  • and let the specification state that an
    InstallableUnit must have at least one of
    InstallArtifact or UpdateArtifact.
  • Change the name of InstallableUnit to ???
    something else.

9
Backup
  • Slides that further explain and illustrate the
    current situation and issues identified on slide
    2.

10
Current Situation
  • Operation defaults to the macro operation
    install, which covers create and update. Heres
    a requirement from SimpleApp that takes the
    default. This requirement must be met when the
    InstallArtifact is processed. If you add the text
    in teal, this becomes a requirement for
    processing the UninstallArtifact.
  • ltsdd-ddRequirement id"OS.reqt
    operationuninstallgt
  • ltsdd-ddDescriptiongt Simple Application Client is
    supported on AIX V5.3 and Windows XP
    Professionallt/sdd-ddDescriptiongt
  • lt/sdd-ddRequirementgt
  • A single content element may contain
    requirements for multiple operations but only
    for operations associated with artifact elements
    that it defines.

11
Issue BaseUninstall introduces inconsistency
  • We recently added the package type
    baseUninstall which indicates that the package
    is intended to be used to uninstall resources.
  • ltsdd-pdPackageIdentity softwareID"3000-123"
    packageType"baseUnInstall"gt
  • The UninstallArtifacts in the deployment
    descriptor will be in InstallableUnits (or
    LocalizationUnits).
  • ltsdd-ddInstallableUnit id"App01"
    targetResourceRef"os" installType"baseInstall"gt
  • ltsdd-ddArtifactsgt
  • ltsdd-ddInstallArtifact /gt
  • ltsdd-ddUninstallArtifact type"jar"
    fileRef"SAC_UninstallArtifact"gt
  • ltsdd-ddArgumentsgt
  • ltsdd-ddArgument name"(InstallLocation)"
    /gt
  • lt/sdd-ddArgumentsgt
  • lt/sdd-ddUninstallArtifactgt
  • lt/sdd-ddArtifactsgt
  • lt/sdd-ddInstallableUnitgt
  • Notice that the InstallableUnit has an
    installType and an InstallArtifact, both of which
    are required and neither of which make sense in
    an uninstall package.
  • Notice that a fundamental assumption of the
    SDD is that an SDD always creates or updates.

12
Issue Create and Update must share artifact files
  • The current InstallArtifact definition works well
    in SDDs that support both create and update only
    when a single artifact file supports both create
    and update. (ArtifactType can define only one
    artifactFile plus one set of AdditionalFiles.)
  • Anyone who wants to package an SDD that uses
    different artifact files to support create and
    update would be forced to create two different
    InstallableUnits and set installType to
    baseInstall on one and to updateOnly on the
    other. This requires aggregation (CL2) and the
    ability to define a condition on operation (not
    CL1 or CL2).
  • How could you know when a create of the overall
    SDD required only a create or only an update of
    the split InstallableUnit? This situation adds
    even more complexity to our CL2 Cascading
    Operations issue.
Write a Comment
User Comments (0)
About PowerShow.com