RPM Plugin Manual

    Preface

    This document describes the functionality provided by the RPM plugin.

    See the XL Deploy Reference Manual for background information on XL Deploy and deployment concepts.

    Overview

    The RPM plugin is a XL Deploy plugin that adds the capability to package RPM files and deploy them to a overthere.SshHost.

    Features

    • RPM package installation
    • RPM package upgrade
    • RPM package removal

    Requirements

    • XL Deploy requirements
      • XL Deploy: version 4.0+

    Usage in Deployment Packages

    The plugin works with the standard deployment package of DAR format. Please see the XL Deploy Packaging Manual for more details about the DAR format and the ways to compose one.

    The following is a sample MANIFEST.MF file that can be used to create a RPM specific deployment package.

    <?xml version="1.0" encoding="UTF-8"?>
    <udm.DeploymentPackage version="1.0" application="MyApp">
      <deployables>
        <rpm.Package name="myRpm" file="myRpm/myRpm-0.1.rpm">
          <scanPlaceholders>false</scanPlaceholders>
        </rpm.Package>
      </deployables>
    </udm.DeploymentPackage>
    

    Important: please specify the CI Name without the '.rpm' extension to allow RPM queries before the initial installation or update.

    Using the deployables and deployeds

    The following table describes which deployable/container combinations are possible.

    Deployable vs. Container table

    Deployable Container Generated deployed
    rpm.Package overthere.SshHost rpm.DeployedRPM

    The following table describes the effect a deployed has on it's container

    Deployed Actions Table

    Deployed Actions performed for operations
      Create Destroy Modify
    rpm.DeployedRPM
    • upload RPM package
    • validate RPM package not installed
    • install RPM package
    • remove RPM package
    • upload RPM package
    • validate RPM package installed
    • upgrade RPM package

    Extension points

    Please refer to the XL Deploy Customization Manual for a detailed explanation of the type system and advanced methods of customization of plugins.

    CI Reference

    Configuration Item Overview

    Deployables

    CI Description
    rpm.Package RPM package to install on a SSH host

    Deployeds

    CI Description
    rpm.AbstractDeployedRPM Defines the base RPM deployed
    rpm.DeployedRPM RPM package to install on a SSH host

    Other Configuration Items

    CI Description
    rpm.AbstractDeployedRPM Defines the base RPM deployed
    rpm.DeployedRPM RPM package to install on a SSH host
    rpm.Package RPM package to install on a SSH host

    Configuration Item Details

    rpm.AbstractDeployedRPM

    Virtual Type
    Type Hierarchy generic.ExecutedScriptWithDerivedArtifact >> generic.ExecutedScript >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.DerivedArtifact, udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem

    Defines the base RPM deployed.

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    placeholders : MAP_STRING_STRING
    A key/value pair mapping of placeholders in the deployed artifact to their values. Special values are and
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createScript : STRING  = rpm/create-rpm
    Classpath to the script that is uploaded and executed on the generic container for the create operation.
     
     
    createVerb : STRING  = Install RPM
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyScript : STRING  = rpm/destroy-rpm
    Classpath to the script that is uploaded and executed on the generic container for the destroy operation.
     
     
    destroyVerb : STRING  = Remove RPM
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyScript : STRING  = rpm/modify-rpm
    Classpath to the script that is uploaded and executed on the generic container for the modify operation.
     
     
    modifyVerb : STRING  = Upgrade RPM
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    classpathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the script.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    noopScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the noop operation.
     
     
    remoteWorkingDirectoryPath : STRING
    Name of working directory on target host. Default is to create a temporary directory which is deleted when connection is closed.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    retainRemoteWorkingDirectory : BOOLEAN  = false
    Retain the specified working directory on target host after completion.
     
     
    templateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    rpm.DeployedRPM

    Type Hierarchy rpm.AbstractDeployedRPM >> generic.ExecutedScriptWithDerivedArtifact >> generic.ExecutedScript >> generic.AbstractDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.DerivedArtifact, udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem

    RPM package to install on a SSH host.

    Parent
     
     
    container : CI<udm.Container>
    The container on which this deployed runs.
    Public Properties
     
     
    deployable : CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    placeholders : MAP_STRING_STRING
    A key/value pair mapping of placeholders in the deployed artifact to their values. Special values are and
    Hidden Properties
     
     
    createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    createOrder : INTEGER  = 50
    The order of the step in the step list for the create operation.
     
     
    createScript : STRING  = rpm/create-rpm
    Classpath to the script that is uploaded and executed on the generic container for the create operation.
     
     
    createVerb : STRING  = Install RPM
    Create Verb
     
     
    destroyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    destroyOrder : INTEGER  = 40
    The order of the step in the step list for the destroy operation.
     
     
    destroyScript : STRING  = rpm/destroy-rpm
    Classpath to the script that is uploaded and executed on the generic container for the destroy operation.
     
     
    destroyVerb : STRING  = Remove RPM
    Destroy Verb
     
     
    modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    modifyOrder : INTEGER  = 50
    The order of the step in the step list for the modify operation.
     
     
    modifyScript : STRING  = rpm/modify-rpm
    Classpath to the script that is uploaded and executed on the generic container for the modify operation.
     
     
    modifyVerb : STRING  = Upgrade RPM
    Modify Verb
     
     
    noopOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources, uploadTemplateClasspathResources]
    Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,uploadTemplateClasspathResources).
     
     
    noopOrder : INTEGER  = 50
    The order of the step in the step list for the noop operation.
     
     
    noopVerb : STRING  = Modify
    Noop Verb
     
     
    classpathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the script.
     
     
    inspectClasspathResources : SET_OF_STRING
    Additional classpath resources that should be uploaded to the working directory before executing the inspect script.
     
     
    inspectScript : STRING
    Classpath to the script used to inspect the generic container.
     
     
    inspectTemplateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the inspect script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.
     
     
    noopScript : STRING
    Classpath to the script that is uploaded and executed on the generic container for the noop operation.
     
     
    remoteWorkingDirectoryPath : STRING
    Name of working directory on target host. Default is to create a temporary directory which is deleted when connection is closed.
     
     
    restartRequired : BOOLEAN  = false
    The generic container requires a restart for the action performed by this deployed.
     
     
    restartRequiredForNoop : BOOLEAN  = false
    The generic container requires a restart for the NOOP action performed by this deployed.
     
     
    retainRemoteWorkingDirectory : BOOLEAN  = false
    Retain the specified working directory on target host after completion.
     
     
    templateClasspathResources : SET_OF_STRING
    Additional template classpath resources that should be uploaded to the working directory before executing the script.The template is first rendered and the rendered content copied to a file, with the same name as the template, in the working directory.

    rpm.Package

    Type Hierarchy generic.File >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.SourceArtifact, udm.Artifact, udm.ConfigurationItem, udm.Taggable, udm.DeployableArtifact, udm.Deployable, udm.FileArtifact

    RPM package to install on a SSH host.

    Public Properties
     
     
    checksum : STRING
    The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
     
     
    excludeFileNamesRegex : STRING
    Regular expression that matches file names that must be excluded from scanning
     
     
    fileUri : STRING
    The URI pointing to the (remote) location of the file this artifact represents
     
     
    placeholders : SET_OF_STRING
    Placeholders detected in this artifact
     
     
    scanPlaceholders : BOOLEAN  = true
    Whether to scan this artifact for placeholders when it is imported
     
     
    tags : SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
    Hidden Properties
     
     
    textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
    Regular expression that matches file names of text files
     
     
    delimiters : STRING  = {{ }}
    The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
     
     
    fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
    A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings