OpenShift Plugin Reference 8.0.x

    The XL Deploy OpenShift plugin enables XL Deploy to work with Red Hat OpenShift v3 cloud PaaS. The plugin uses the kubernetes and openshift API libraries to communicate with OpenShift. For information about the plugin features, refer to Introduction to the XL OpenShift plugin.

    Requirements

    • XL Deploy 6.2.0 or later
    • A valid OpenShift account and a user with admin rights associated to it
    • xld-kubernetes-plugin 8.0.0

    Important: To use the XL Deploy OpenShift plugin with XL Deploy 7.1.0 or earlier, you must download the Jython jar file and replace jython-standalone-2.7.0.XXX.jar under the lib directory of the XL Deploy installation with it. This is not required for XL Deploy 7.2.0 or later.

    Important: The XL Deploy OpenShift plugin 7.2.0 no longer supports individual YAML CIs for Pod, Development, Image Stream, and so on. Instead, there is single CI for YAML configurations, which supports all types of OpenShift configurations. This is a breaking change; you must delete and recreate packages when upgrading from 7.1.0 to 7.2.0

    Release notes

    XL Deploy OpenShift plugin 8.0.1

    Bug Fixes

    • [DEPL-13315] - Check connection fix for windows

    Improvements

    • [DEPL-13276] - Supporting version of API as preferred by Openshift Cluster.

    XL Deploy OpenShift plugin 8.0.0

    New features

    • [DEPL-12947] - Add support to create/destroy Cron Jobs
    • [DEPL-12946] - Add support to create/destroy Stateful Sets
    • [DEPL-12945] - Add support to create/destroy Storage Class
    • [DEPL-13036] - Support for multi-document Yamls

    Improvements

    • [DEPL-12968] - Multiple api version support for YAML based deployables. Latest api versions will be used for property based deployables.
    • [DEPL-13053] - Update wait logic to use the count of unavailable pods while updating the deployment
    • [DEPL-12764] - Restart Pod/Deployment when an associated Config Map is modified
    • [DEPL-12766] - Improve error logging

    Bug fixes

    • [DEPL-13099] - Remove redundant deployment orders fields in k8s.ResourcesFile Artifacts

    XL Deploy OpenShift plugin 7.5.0

    New features

    • Supports various Kubernetes objects like Pod, Service etc via property-based-deployables
    • [DEPL-12201] - Deploy/Undeploy an image stream to OpenShift cluster using property-based-deployables
    • [DEPL-12401] - Client certificate authentication support added
    • [DEPL-12199] - Deploy/Undeploy a route to OpenShift Server via property-based-deployables

    XL Deploy OpenShift plugin 7.2.0

    New features

    • [DEPL-12119] - Deploy/Undeploy k8s Pod using CI
    • [DEPL-12128] - Deploy/Undeploy k8s Deployment Config using CI
    • [DEPL-12198] - Single CI for YAML-based configurations

    XL Deploy OpenShift plugin 7.1.0

    New features

    • Deploy/Undeploy Build Config
    • Deploy/Undeploy Deployment Config
    • Deploy/Undeploy Image Stream
    • Deploy/Undeploy Pod
    • Deploy/Undeploy Route
    • Deploy/Undeploy Service
    • Deploy/Undeploy List of items

    CI Reference

    Configuration Item Overview

    Deployables

    CIDescription
    openshift.ImageStreamSpec Specification for an OpenShift project.
    openshift.ProjectSpec Specification for an OpenShift project.
    openshift.ResourcesFile OpenShift Generic Resource Template (deployable)
    openshift.RouteSpec Specification for an OpenShift project.

    Deployeds

    CIDescription
    openshift.ImageStream OpenShift Image Stream.
    openshift.Project OpenShift Project.
    openshift.Resources OpenShift Generic Resource Template
    openshift.Route OpenShift Route.

    Containers

    CIDescription
    openshift.Project OpenShift Project.
    openshift.ProjectSpec Specification for an OpenShift project.
    openshift.Server OpenShift server

    Configuration Item Details

    openshift.ImageStream

    Type Hierarchy udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.Deployed, udm.EmbeddedDeployedContainer

    OpenShift Image Stream.

      Parent
     
     
    container: CI<udm.Container>
    The container on which this deployed runs.
      Public properties
     
     
    imageNameAndTag: STRING
    Image and tag name in format :. e.g. alpine:latest
     
     
    imageSourceUrl: STRING
    The hostname and port name where repository server is located. e.g. hub.docker.com/r/openshift.
     
     
    imageStreamName: STRING
    Name of the Image Stream. It must match [a-z0-9]+(?:[._-][a-z0-9]+)*
     
     
    deployable: CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    verifyCertificates: BOOLEAN
    Validate certificates?
      Hidden properties
     
     
    boundConfigurationItems: SET_OF_CI<udm.ConfigurationItem>
    The set of created CIs.

    openshift.ImageStreamSpec

    Type Hierarchy udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Deployable, udm.Taggable

    Specification for an OpenShift project.

      Public properties
     
     
    imageNameAndTag: STRING
    Image and tag name in format :. e.g. alpine:latest (string)
     
     
    imageSourceUrl: STRING
    The hostname and port name where repository server is located. e.g. hub.docker.com/r/openshift. (string)
     
     
    imageStreamName: STRING
    Name of the Image Stream. It must match [a-z0-9]+(?:[._-][a-z0-9]+)* (string)
     
     
    tags: SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
     
     
    verifyCertificates: STRING = false
    Validate certificates? (boolean) default(false)
      Hidden properties
     
     
    boundTemplates: SET_OF_CI<udm.Template>
    The set of CI templates.

    openshift.Project

    Type Hierarchy k8s.BasePodContainer >> udm.BaseDeployedContainer >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.Container, udm.Deployed, udm.EmbeddedDeployedContainer, udm.Taggable

    OpenShift Project.

      Parent
     
     
    container: CI<udm.Container>
    The container on which this deployed runs.
      Public properties
     
     
    projectName: STRING
    Project Name
     
     
    deployable: CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    description: STRING
    Description
     
     
    projectDisplayName: STRING
    Project Display Name
     
     
    tags: SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container.
      Hidden properties
     
     
    containerHelper: STRING = xld.openshift.project.helper.ProjectHelper
    Container Helper
     
     
    boundConfigurationItems: SET_OF_CI<udm.ConfigurationItem>
    The set of created CIs.

    openshift.ProjectSpec

    Type Hierarchy udm.BaseDeployableContainer >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Container, udm.Deployable, udm.DeployableContainer, udm.Taggable

    Specification for an OpenShift project.

      Public properties
     
     
    containerTags: SET_OF_STRING
    The tags to copy to the Deployed Container
     
     
    description: STRING
    Description (string)
     
     
    projectDisplayName: STRING
    Project Display Name (string)
     
     
    projectName: STRING
    Project Name (string)
     
     
    tags: SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container. (set_of_string)
      Hidden properties
     
     
    boundTemplates: SET_OF_CI<udm.Template>
    The set of CI templates.

    openshift.Resources

    Type Hierarchy k8s.AbstractResources >> udm.BaseDeployedArtifact >> udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.Artifact, udm.Deployed, udm.DerivedArtifact, udm.EmbeddedDeployedContainer

    OpenShift Generic Resource Template

      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 Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>
      Hidden properties
     
     
    resourceFactory: STRING = xld.openshift.resource.factory.OpenShiftResourceFactory
    Resource Factory
     
     
    resourceWaitTime: INTEGER = 50
    Resource Wait Time
     
     
    boundConfigurationItems: SET_OF_CI<udm.ConfigurationItem>
    The set of created CIs.

    openshift.ResourcesFile

    Type Hierarchy k8s.AbstractResourcesFile >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Artifact, udm.Deployable, udm.DeployableArtifact, udm.SourceArtifact, udm.Taggable

    OpenShift Generic Resource Template (deployable)

      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
     
     
    preScannedPlaceholders: BOOLEAN
    Whether this artifact has been pre-scanned by the packager (ie. scanned for placeholders and checksum is set)
     
     
    scanPlaceholders: BOOLEAN = true
    Whether to scan this artifact to replace 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 = .+\.( json | yml | yaml )
    Regular expression that matches file names of text files
     
     
    boundTemplates: SET_OF_CI<udm.Template>
    The set of CI templates.
     
     
    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

    openshift.Route

    Type Hierarchy udm.BaseDeployed >> udm.BaseConfigurationItem
    Interfaces udm.Deployed, udm.EmbeddedDeployedContainer

    OpenShift Route.

      Parent
     
     
    container: CI<udm.Container>
    The container on which this deployed runs.
      Public properties
     
     
    serviceName: STRING
    Primary service name for traffic routing.
     
     
    serviceWeight: INTEGER = 256
    Primary service weight determines the relative traffic to be routed to this service.
     
     
    terminationType: ENUM [None, Edge, Passthrough, ReEncrypt] = None
    Termination type specifies how the TLS termination occurs.
     
     
    alternateServices: MAP_STRING_STRING
    List of alternate services for splitting the traffic. The key-value represents the service name and service weight.
     
     
    caCertificate: STRING
    Certification authority certificate (ca.crt) to validate router certificate.
     
     
    certificate: STRING
    TLS certificate for router (apiserver.crt).
     
     
    deployable: CI<udm.Deployable>
    The deployable that this deployed is derived from.
     
     
    destinationCACertificate: STRING
    Certification authority certificate (ca.crt) to validate the endpoint certificate, securing the connection from the router to the destination.
     
     
    hostName: STRING
    Public hostname for the route. If not specified, a hostname is generated.
     
     
    insecureEdgeTerminationPolicy: STRING
    It specifies the desired behavior for insecure connections to a route.
     
     
    key: STRING
    TLS private key for router (apiserver.key).
     
     
    path: STRING
    Path that the router watches to route traffic to the service.
     
     
    routeName: STRING
    Name of the route.
     
     
    targetPort: STRING
    The target port on pods selected by the service this route points to.
     
     
    wildcardPolicy: STRING
    Wildcard policy for traffic routing. A wildcard policy allows a user to define a route that covers all hosts within a domain.
      Hidden properties
     
     
    boundConfigurationItems: SET_OF_CI<udm.ConfigurationItem>
    The set of created CIs.

    openshift.RouteSpec

    Type Hierarchy udm.BaseDeployable >> udm.BaseConfigurationItem
    Interfaces udm.Deployable, udm.Taggable

    Specification for an OpenShift project.

      Public properties
     
     
    alternateServices: MAP_STRING_STRING
    List of alternate services for splitting the traffic. The key-value represents the service name and service weight. (map_string_string)
     
     
    caCertificate: STRING
    Certification authority certificate (ca.crt) to validate router certificate. (string)
     
     
    certificate: STRING
    TLS certificate for router (apiserver.crt). (string)
     
     
    destinationCACertificate: STRING
    Certification authority certificate (ca.crt) to validate the endpoint certificate, securing the connection from the router to the destination. (string)
     
     
    hostName: STRING
    Public hostname for the route. If not specified, a hostname is generated. (string)
     
     
    insecureEdgeTerminationPolicy: STRING
    It specifies the desired behavior for insecure connections to a route. (string)
     
     
    key: STRING
    TLS private key for router (apiserver.key). (string)
     
     
    path: STRING
    Path that the router watches to route traffic to the service. (string)
     
     
    routeName: STRING
    Name of the route. (string)
     
     
    serviceName: STRING
    Primary service name for traffic routing. (string)
     
     
    serviceWeight: STRING = 256
    Primary service weight determines the relative traffic to be routed to this service. (integer) default(256)
     
     
    tags: SET_OF_STRING
    If set, this deployable will only be mapped automatically to containers with the same tag.
     
     
    targetPort: STRING
    The target port on pods selected by the service this route points to. (string)
     
     
    terminationType: STRING = None
    Termination type specifies how the TLS termination occurs. (enum) values(None, Edge, Passthrough, ReEncrypt) default(None)
     
     
    wildcardPolicy: STRING
    Wildcard policy for traffic routing. A wildcard policy allows a user to define a route that covers all hosts within a domain. (string)
      Hidden properties
     
     
    boundTemplates: SET_OF_CI<udm.Template>
    The set of CI templates.

    openshift.Server

    Type Hierarchy k8s.Cluster >> udm.BaseContainer >> udm.BaseConfigurationItem
    Interfaces udm.Container, udm.Taggable

    OpenShift server

      Public properties
     
     
    serverUrl: STRING
    Url of the OpenShift server
     
     
    caCert: STRING
    Certification authority certificate(ca.crt) for server
     
     
    debug: BOOLEAN
    Dump request/response for troubleshooting purposes.
     
     
    openshiftToken: STRING
    Openshift Token
     
     
    tags: SET_OF_STRING
    If set, only deployables with the same tag will be automatically mapped to this container.
     
     
    tlsCert: STRING
    TLS certificate for master server(apiserver.crt)
     
     
    tlsPrivateKey: STRING
    TLS private key for master server(apiserver.key)
     
     
    verifyCertificates: BOOLEAN = true
    Validate certificates?
      Hidden properties
     
     
    clientFactory: STRING = xld.openshift.factories.client_factory.OpenShiftClientFactory
    Client Factory
     
     
    containerHelper: STRING = xld.openshift.server_helper.ServerHelper
    Container Helper
    Control taskParameter CIAttributesDescription
    checkConnection

    delegate = jythonScript, script = xld/openshift/check_connection.py

    Verify the connection to the Openshift Cloud.