W3C W3C Member Submission

Installable Unit Deployment Descriptor Specification Version 1.0

W3C Member Submission 12 July 2004

This version:
http://www.w3.org/Submission/2004/SUBM-InstallableUnit-DD-20040712/
Latest version:
http://www.w3.org/Submission/InstallableUnit-DD/
Authors:
Marcello Vitaletti, IBM Autonomic Computing Architecture, marcello.vitaletti@it.ibm.com (Editor)
Christine Draper, IBM Autonomic Computing Architecture, cdraper@uk.ibm.com
Randy George, IBM Tivoli Architecture, randyg@us.ibm.com
Julia McCarthy, IBM SWG Componentization Architecture, julia@us.ibm.com
Devin Poolman, Zero G Software, devin.poolman@zerog.com
Tim Miller, Zero G Software, tim.miller@ZeroG.com
Art Middlekauff, InstallShield Software Corp., artm@installshield.com
Carlos Montero-Luque, Novell, carlos@novell.com

This document is also available in these non-normative formats: PDF.


Abstract

The purpose of this specification is to define the schema of an XML document describing the characteristics of an installable unit (IU) of software that are relevant for its deployment, configuration and maintenance. The XML schema is referred to as the Installable Unit Deployment Descriptor or IUDD schema.

IUDDs are intended to describe the aggregation of installable units at all levels of the software stack, including middleware products aggregated together into a platform; and user solutions composed of application-level artifacts which run on such a platform. The XML schema is flexible enough to support the definition of atomic units of software (Smallest Installable Units) as well as complex, multi-platform, heterogeneous solutions.

A solution is any combination of products, components or application artifacts addressing a particular user requirement. This includes what would traditionally be referred to as a product offering (e.g. a database product), as well as a solution offering (e.g. a business integration platform comprising multiple integrated products), or a user application (e.g. a set of application artifacts like J2EE applications and database definitions). All the software constituents of a solution can be represented by a single IUDD as a hierarchy of installable unit aggregates. The top-level aggregation is the root installable unit. In addition to the installable units that comprise a solution, the IUDD also describes the logical topology of targets onto which the solution can be deployed.

Status of this document

By publishing this document, W3C acknowledges that International Business Machines, Inc. and Novell, Inc. have made a formal submission to W3C for discussion. Publication of this document by W3C indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. This document is not the product of a chartered W3C group, but is published as potential input to the W3C Process. Publication of acknowledged Member Submissions at the W3C site is one of the benefits of W3C Membership. Please consult the requirements associated with Member Submissions of section 3.3 of the W3C Patent Policy. Please consult the complete list of acknowledged W3C Member Submissions.

Table of contents

1      Document Control 8

1.1       Contributing Authors. 8

2      Introduction. 9

2.1       Purpose. 9

2.2       Scope. 10

2.3       Audience. 10

2.4       Notational Convention. 10

3      Installable Unit Deployment Descriptor Overview.. 11

3.1       Deployment architectural pattern. 12

3.2       Roles. 14

3.3       XML schema files. 14

3.4       UML representation of the RootIU type. 15

3.4.1         IUorFixDefinition. 15

3.4.2         Variables. 15

3.4.3         ConditionedIU.. 17

3.4.4         RootIU.rootInfo. 17

3.4.5         RootIU.features. 17

3.4.6         RootIU.groups. 17

3.4.7         RootIU.topology. 17

3.4.8         RootIU.customCheckDefinitions. 18

3.4.9         RootIU.requisites. 18

3.4.10       RootIU.files. 18

4      Software Change Management 19

4.1       Hosting Environments. 21

4.2       Software Life-Cycle Operations. 21

4.2.1         Create. 22

4.2.2         Update. 22

4.2.3         InitialConfig. 23

4.2.4         Migrate. 23

4.2.5         Configure. 23

4.2.6         VerifyIU.. 24

4.2.7         VerifyConfig. 24

4.2.8         Repair 24

4.2.9         Delete. 24

4.2.10       Optional operations: Undo and Commit 25

4.3       The configuration process. 25

5      Installable Unit Deployment Descriptor 27

5.1       Installable Unit Identity. 28

5.1.1         Rules for assigning the UUID.. 30

5.1.2         IU Identity Example. 31

5.2       Temporary Fix Identity. 31

5.3       Root Installable Unit 33

5.4       Features and Installation Groups. 36

5.4.1         Feature. 38

5.4.2         Referenced Features. 40

5.4.3         Scoping of Features. 41

5.4.4         Installation Groups. 41

5.4.5         Scoping of Installation Groups. 42

5.5       Root IU Information. 44

5.6       Target Topology. 45

5.6.1         Target 45

5.6.2         Scoping of Targets. 49

5.6.3         Target Maps. 49

5.6.4         Deployed Target 50

5.7       Bundled requisite IUs. 52

5.8       Files. 53

6      Installable Units. 55

6.1       Solution Module. 56

6.2       Referenced IU.. 58

6.2.1         Parameter Maps. 60

6.3       Federated IU.. 60

6.4       Container Installable Unit 62

7      Dependencies. 64

7.1       Checks. 64

7.1.1         Scoping of Checks. 66

7.2       Requirements. 67

7.2.1         Uses relationships. 69

7.2.2         Example – Install requirements. 70

7.2.3         Example – Adding Requirements for Configuration. 72

7.2.4         Example – Declaring non exclusive alternatives. 72

7.2.5         Requirements in referenced installable units. 74

7.3       Built-in checks. 74

7.3.1         Capacity check. 74

7.3.2         Consumption check. 75

7.3.3         Property check. 77

7.3.4         Version check. 78

7.3.5         Software check. 79

7.3.6         Installable Unit Check. 83

7.3.7         Relationship Check. 85

7.3.8         Custom Check. 87

8      Variables, Expressions and Conditions. 91

8.1       Variables. 91

8.1.1         Parameter 92

8.1.2         Derived Variable. 93

8.1.3         Property Query. 94

8.1.4         IU Discriminant Query. 95

8.1.5         Resolved Target List 96

8.1.6         Inherited Variable. 97

8.1.7         Scoping rules for variables. 97

8.2       Variable Expressions. 98

8.3       Conditional Expressions. 98

8.3.1         Example. 99

8.4       Evaluation of variables, checks and conditions. 99

9      Software Smallest Installable Unit 100

9.1       Installable Unit Definition. 101

9.1.1         IU Constraints Example. 104

9.1.2         Obsoleted IUs. 104

9.1.3         Superseded Fixes. 104

9.2       Temporary Fix Definition. 104

9.2.1         Fix Dependencies. 105

9.2.2         Fix Definition Example. 106

9.3       Unit - Artifact Sets. 107

9.4       Install Artifacts and IU Lifecycle Operations. 110

9.5       Artifact 113

9.5.1         Declarative Hosting Environment Restart 114

10     Configuration Unit 116

10.1     Configuration Artifact Set 117

10.2     Configuration Artifacts and IU life cycle. 118

11     Temporary Fixes and Updates. 119

11.1     Full update use for Create and Update. 124

11.2     Requirements checking on updates. 125

11.2.1       Target instances selected for the update. 126

11.2.2       Reference to variables in the base IU descriptor 126

11.2.3       Updating dependencies. 126

11.2.4       Requirements with multiple alternatives. 127

11.3     Update to an instance with non superseded fixes. 129

11.4     Bundling updates to a federated IU.. 129

11.5     Configuration units and the update process. 130

12     Evaluation Order 131

12.1     Variable evaluation. 131

12.2     Target evaluation. 131

12.3     IU dependency evaluation. 131

12.4     Order of installation. 132

12.5     IU lifecycle operations and prerequisites. 133

12.5.1       Multiple updates with pre-requisites. 135

12.5.2       Updates to an IU federated by an aggregate. 137

13     Installable Unit Signatures. 139

13.1     File Signatures. 140

13.1.1       File Signatures Example. 141

13.2     Windows Registry Signatures. 142

13.2.1       Windows Registry signatures examples. 143

13.3     Os Registry Signatures. 144

13.3.1       Example of generic OS Registry signature. 145

13.4     Signature definitions in a temporary fix. 145

14     Action Definition. 146

14.1     Variables. 147

14.2     Built-In Variables. 148

14.2.1       Example. 148

14.3     Required Action Set 149

14.4     UnitActionGroup. 150

14.4.1       BaseAction. 150

14.4.2       Concrete Action Set Example. 151

14.4.3       Artifact Example. 152

15     Resource Properties Definition. 154

16     Multi-Artifact 156

17     Display Elements. 159

18     Root IU Descriptor Validation. 160

19     Version comparison. 162

20     References. 163

A.    Solution Module IUDD example. 164

B.     Example of a container installable unit 168

C.     Example of features and installation groups. 171

D.    Example of update installable unit 173

E.     iudd.xsd. 176

F.     siu.xsd. 187

G.     base.xsd. 194

H.    version.xsd. 205

I.      relationships.xsd. 206

J.      resourceTypes.xsd. 207

K.    signatures.xsd. 211

L.     action.xsd. 214

M.    config.xsd. 217

N.    multiartifact.xsd. 218

 

1Document Control

1.1 Contributing Authors

The owner of this document is:

 

Marcello Vitaletti

Autonomic Computing Architecture

marcello.vitaletti@it.ibm.com

 

The authors of this document are:

 

Christine Draper

IBM Autonomic Computing Architecture

cdraper@uk.ibm.com

Marcello Vitaletti

IBM Autonomic Computing Architecture

marcello.vitaletti@it.ibm.com

Randy George

IBM Tivoli Architecture

randyg@us.ibm.com 

Julia McCarthy

IBM SWG Componentization Architecture

julia@us.ibm.com

Devin Poolman

Zero G Software

devin.poolman@zerog.com

Tim Miller

Zero G Software

tim.miller@ZeroG.com

Art Middlekauff

InstallShield Software Corp.

artm@installshield.com

Carlos Montero-Luque

Novell

carlos@novell.com

 

 

2         Introduction

The purpose of this specification is to define the schema of an XML document describing the characteristics of an installable unit (IU) of software that are relevant for its deployment, configuration and maintenance. The XML schema is referred to as the Installable Unit Deployment Descriptor or IUDD schema.

IUDDs are intended to describe the aggregation of installable units at all levels of the software stack, including middleware products aggregated together into a platform; and user solutions composed of application-level artifacts which run on such a platform. The XML schema is flexible enough to support the definition of atomic units of software (Smallest Installable Units) as well as complex solutions.

A solution is any combination of products, components or application artifacts addressing a particular user requirement. This includes what would traditionally be referred to as a product offering (e.g. a database product), as well as a solution offering (e.g. a business integration platform comprising multiple integrated products), or a user application (e.g. a set of application artifacts like J2EE applications and database definitions). All the software constituents of a solution can be represented by a single IUDD as a hierarchy of installable unit aggregates. The top-level aggregation is the root installable unit. In addition to the installable units that comprise a solution, the IUDD also describes the logical topology of targets onto which the solution can be deployed.

2.1 Purpose

The IUDD provides a unique identification of each installable unit and it supports a declarative specification of dependencies that each IU may have on its hosting environment and on other units of software. This information can be leveraged by common tools and services to reduce the human interactions required for

·        the integration of multiple units of software into an aggregated solution;

·        building packages that ensure a consistent deployment experience;

·        checking that dependencies are satisfied before creating or updating a  software instance;

·        rapid deployment and configuration with reduced costs;

·        checking the integrity of relationships that an IU instance is expected to maintain with other IU instances during its life cycle.

2.2 Scope

This specification defines

·        Smallest Installable Unit (SIU) – the elementary unit of software;

·        Configuration Unit (CU) – the elementary unit of configuration;  

·        Container Installable Unit (CIU) – an aggregated IU that is deployed entirely into a single target hosting environment;

·        Solution Module (SM) – an aggregated IU spanning multiple targets;

·        Root Installable Unit – the top-level aggregation within an IUDD.

This document does not define how the contents of a root installable unit, including the descriptor, are physically packaged together. This is defined in a separate specification [IUPACK].

2.3 Audience

This document is intended as a technical specification for people who require an in-depth understanding of the installable unit deployment descriptor. This includes developers of the IUDDs themselves, and developers of the associated tooling and applications for constructing and deploying IUDDs. This document is not intended as an introduction to the concepts of solution deployment or as a tutorial for developers.

2.4 Notational Convention

The key words “MUST,” “MUST NOT,” “REQUIRED,” “SHALL,” “SHALL NOT,” “SHOULD,” “SHOULD NOT,” “RECOMMENDED,” “MAY,” and “OPTIONAL” are to be interpreted as described in [RFC2119].

3         Installable Unit Deployment Descriptor Overview

The installable unit deployment descriptor (IUDD) is a means for describing the components of a solution, and for providing instructions on how to deploy and configure that solution. The IUDD is a reusable asset that can be deployed onto many different physical topologies, and can be aggregated into larger solutions. It establishes knowledge of the relationships and dependencies between components of the solution, which can then be used for its lifecycle management.

Installable Units (IU) are the key abstraction governing the structure of the IUDD. Within the IUDD, installable units are aggregated in a tree-like hierarchy whose leaf nodes are Smallest Installable Units (SIU) and Configuration Units (CU).

An SIU is limited in scope to describing a unit of software that is targeted to and is entirely contained by the single hosting environment where it is deployed. Analogously, a CU defines the configuration applying to a single resource (target) in the topology.

Container Installable Units (CIU) aggregate SIUs, CUs and other CIUs, again for deployment onto a single hosting environment.

Solution Modules (SM) aggregate SIUs, CUs, CIUs and other solution modules. IUs aggregated in a solution module are typically deployed into multiple hosting environments, possibly located on multiple physical computers.

The IUDD defines a single-rooted installable unit – the root IU – that aggregates one or more installable units of the above types as its base content and may define one or more selectable IUs (features). The root IU represents a “unit of manufacture”. The following elements of information are specifically associated to the root IU:

·        Root IU information such  as schema version and build date;

·        Target topology;

·        Features (definitions of selectable IUs within the root IU aggregate);

·        Installation Groups (pre-defined groups of feature selections);

·        Custom Checks (definitions of custom action code referenced by checks);

·        File definitions (these are used to link references to packaged files that are made in various IUDD elements with the files physically bundled in a package and described in a separate package media descriptor; see [IUPACK]).

Other key elements of a RootIU that are also part of any other IU definition are:

·        Identity of the whole aggregated IU, and

·        Variables.

 

Figure 1 shows the structure of the IUDD, effectively the structure of the associated root IU definition.

Structure of the root IU definition

Figure 1: Structure of the root IU definition

Information in the IUDD is independent from the package format, which is covered by a separate specification [IUPACK]. The latter describes how to construct a package including the IUDD and all the other files that may need to be accessed in order to deploy the root IU.

The independence of the IUDD and packaging specifications allows an IU to be composed flexibly, and to make packaging decisions independently from the logical definition of the installable units.

3.1 Deployment architectural pattern

Figure 2 shows the fundamental architectural pattern for solution deployment. An installable unit is the fundamental building block or component from which products or solutions are composed. An installable unit package consists of a descriptor, which describes the content of the installable unit, and one or more artifacts that are to be installed. The installable unit is installed into a hosting environment, which is a container that can accept the artifacts in the installable unit.

This architectural pattern is reusable at all levels of the software stack, from the operating system, through the middleware, up to application artifacts such as EJBs and database tables.

Installable unit/Hosting environment design pattern

Figure 2: Installable Unit/Hosting Environment design pattern

Figure 3 describes the installable unit types introduced in section 11.

Types of installable unit

Figure 3: Types of installable unit

3.2 Roles

The overall process for developing and deploying a solution is illustrated in Figure 4. A solution is developed by application developers and/or product developers; it is then packaged as one or more root installable units, at which point the requirements on the target topology is defined; and distributed to deployers. The deployer makes installation-specific decisions about how the installable unit is to be configured, and the solution depoyment tooling assists in mapping the logical target topology defined in the IUDD onto the physical topology. The solution components (installable units) are then distributed and installed.

Solution development, integration test, and deployment process

Figure 4: Solution development, integration test and deployment

3.3 XML schema files

The IUDD schema is implemented by eight schema files. Types defined in each file are identified by a specific prefix, as indicated in the following:  

·        iudd.xsd  (prefix: iudd) – See Appendix E.
This is the main schema file. rootIU is the single global element defined in iudd.xsd. This element defines the whole content of an IUDD XML document. This file contains definitions for the elements of a root IU and for the installable unit aggregates.

·        siu.xsd  (prefix: siu) – See Appendix F.
This file contains definitions of the SIU and CU types

·        base.xsd  (prefix: base) – See Appendix G.
This file contains definitions of basic types, like identity, variables and check types, as well as types that are re-used by several derived types.

·        version.xsd  (prefix: vsn) – See Appendix H.
This file defines normalized string formats for version information.

·        iudd.relationships  (prefix: rel) – See Appendix I.
This file contains an enumeration of relationships defined between resources.

·        resourceTypes.xsd  (prefix: rtype) – See Appendix J.
This file contains enumerations of resource types.

·        signatures.xsd  (prefix: sigt) – See Appendix K.
This file contains types defining signatures associated to an IU.

Artifacts associated to an installable unit (see Section 3.1 above) also have an associated XML descriptor. However, artifacts are referenced from within the IUDD through an identifier of the corresponding file. Since they are not defined inline within the IUDD, the XML schema for artifacts are independent from the IUDD schema files. See Section 14 and Section 15 for a proposed artifact schema.

3.4 UML representation of the RootIU type

The class diagram in the following page illustrates the composition relationships of the RootIU class with other types defined in the IUDD schema. The following sections provide an overview of types represented in the diagram. This provides an introduction to the detailed XML schema definitions of those types that are described later in this document.

3.4.1           IUorFixDefinition

IUorFixDefinition is the type providing identity information for the root IU. Different elements of this type are applicable depending on the installable unit type (base IU, full or incremental update and temporary fix).

3.4.2           Variables

Variables is an aggregate containing the variable definitions associated with the root IU.

 


UML representation of RootIU type


3.4.3           ConditionedIU

ConditionedIU is the generic type describing any contained IU defined within the root IU. Two compositions of this type are defined by a root IU: one is for the base content (installableUnit) while the other is for features (selectableContent).

IUs that can appear in an IU aggregate have an associated condition. The condition is a boolean variable expression. When the condition is false, the IU is not selected for install.  IUs defined within the aggregate may have siblings. A sequence number may be associated to the IU to specify the order in which the IU should be processed with respect to its siblings. 

3.4.4           RootIU.rootInfo

The rootInfo element defines characteristics of the root IU instance, such as the schema version on which it is based and the size of all files associated to artifacts defined in this root IU.

3.4.5           RootIU.features

A root IU may define zero or more features. Either each feature represents a top-level IUs defined inline within the RootIU or it is a reference to a feature in a referenced, separately packaged IU. In both cases, the IU referred to by the feature definition MUST be defined within the root IU selectable content composite.

3.4.6           RootIU.groups

The root IU may define zero or more groups of features (installation groups). Each group represents a combination of installable units that could be chosen for a given configuration or role, e.g. minimal versus typical; administrator versus developer versus client.

3.4.7           RootIU.topology

The root IU topology is a composite of one or more target definitions. A target can be a hosting environment onto which one or more IUs are to be deployed, or it can be a generic resource that is needed for the proper functioning of the solution. Ordinary targets pre-exist the solution deployment. Deployed targets are defined in the topology to represent resources that are created by instantiating an installable unit. 

3.4.8           RootIU.customCheckDefinitions

The customCheckDefinitions element includes definitions of check artifacts. Each artifact is a descriptor of actions that need to be performed on a target to establish if the latter satisfies some given requirements. Some of the actions defined in a check artifact may specify the execution of custom code. Multiple checks defined in different IUs may need to reuse the same custom check artifact. For this reason, the identification of check artifacts is factored out in the root IU.

3.4.9           RootIU.requisites

In addition to IUs that are part of the aggregate, the root IU may define requisite IUs, i.e. bundled packaged IUs, which may be installed on a target to satisfy a software requirement.

3.4.10      RootIU.files

The files element of the root IU is a composite of File definitions. Each File definition includes a file identifier. Any element within a root IU that is associated to a physical file declares that association by means of a reference to the corresponding file identifier. Examples of elements associated to a physical file are Referenced IUs and bundled requisite IUs. Actions specified within install artifacts  (see Section 9.4) may also contain references to physical files that need to be bundled with the root IU. These files need to be defined in the files element.

 

 

 

 

 

4         Software Change Management

The following data-flow diagram provides a model for the process involved in a software change. This model is provided as an illustrative example and alternative processes MAY be supported by an implementation of an install runtime. The process is a sequence of five logical activities: Environment Checks, Input, Dependency Check, Change and Register. These activities interact with the target hosting environment, and the installable unit database. The hosting environment (e.g. a configured operating system image) is the actual destination of the software being installed. The installable unit database is the repository holding information about the installable unit configuration for a set of hosting environments within a given scope (for example those on a single machine, or those within a complete administrative domain). The user provides input, in this process, either interactively or via a response file, and that input drives the activity of a software installer program.

 

Model of the software change management process

Figure 5: Model of the software change management process

The rectangles at the bottom of Figure 5 represent entities defined in this specification:

The rectangle on the left represents the IU descriptor, conforming to the IUDD XML descriptor defined by this specification.

The rectangles on the right side represent artifacts associated to an SIU or to a CU. An SIU or CU may define multiple artifacts, each one associated to a different type of change (operation). Each artifact includes one artifact descriptor defining actions – such as the ones for creating or removing files on an operating system environment. Action definitions in the artifact descriptor are interpreted on the IU’s hosting environment to implement the change, and may reference files that need to be available when the actions are performed. 

The following list provides a description of the five logical activities illustrated in   Figure 5:

 

4.1 Hosting Environments

Software deployment has been traditionally designed and implemented as a process by which a software package (artifact) is installed on the running operating system image on one or more physical computers. In general, deployment of a software component (e.g. a database client) on one target needs to be coordinated with deployment of a different software component (e.g. a database server) onto another target.

 

“Hosting Environment” is a term used to denote the target of a software component with specific characteristics. Therefore, the term “OS hosting environment” is used to denote the hosting environment of traditional software products that are installed on an operating system, while the term “J2EE hosting environment” is used to denote a J2EE application server hosting J2EE applications.  Other hosting environment types may be defined, such as RDBMS databases, messaging systems, and other middle-ware.

4.2 Software Life-Cycle Operations

The following state diagram applies to an instance of any installable unit (SIU or aggregate). During its life-cycle an IU instance makes state transitions as a consequence of Change Management (CM) operations being applied to it. A CM operation MAY require an artifact specifying the actions to be executed on the hosting environment.

 

State diagram of an installable unit instance

Figure 6: State diagram of an installable unit instance.

Error states that result from errors encountered when performing any of the indicated operations are not covered in this specification, and are not shown in the above diagram.

 

The following sections 4.2.1 to 4.2.10 describe the operations that create an IU instance, apply updates and configuration to that instance and delete the instance when it is no longer needed. The descriptions focus on the meaning of the operation for an SIU. Applying updates to an IU aggregate is discussed in Section 11. Ordering of install, applying to both Create and Update, is defined in Section 12.

4.2.1           Create

The Create operation creates a new instance of an SIU. The Install artifact associated to the SIU, see Section 9.4, defines the actions to be executed on the hosting environment to instantiate the SIU. 

The newly created IU instance transitions directly to the Usable state if no InitialConfig artifact is specified and there are no sibling configuration units defined in the same aggregate. Otherwise, the instance enters the Created state and an InitialConfig operation is needed to bring the instance to the Usable state.

On some hosting environments, the operation MAY be used to overwrite an existing instance of the SIU. The end result SHOULD be the same that would be obtained by performing the Create operation after applying the Delete operation to the existing instance.

An SIU may define a new base, an IU update or a temporary fix. An update can be full, in which case it is possible to use if for a fresh install; or incremental, in which case it must be applied to an existing instance.  The Create operation can only be performed for an SIU defining a new base or a full update. An SIU defining a temporary fix or an incremental update can only be applied to an existing instance using the Update operation. 

4.2.2           Update

The Update operation updates an existing instance.  The SIU defining an update or temporary fix contains a declaration of the version range of a base IU instance onto which it can be applied (update base). The Install artifact associated to the SIU, see Section 9.4,  defines the actions to be executed on the hosting environment to update the base instance. 

After the update, the version of the updated instance is changed to reflect the version specified by the SIU update.

The updated IU instance transitions directly to the Usable state if no Migrate artifact is specified and there are no sibling configuration units defined in the same aggregate. Otherwise, the instance enters the Updated state and the Migrate operation is needed to bring the instance to the Usable state.

The update may be applied in undo-able mode.  In this case, any resources (e.g. files) associated to the instance being updated that are being replaced or modified need to be saved, in order to support the roll-back of the update.

SIU updates and fixes may supersede fixes that are already applied to the instance being updated.

4.2.3           InitialConfig

The InitialConfig operation applies the initial configuration to an instance of the insta