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
CI | Description |
---|---|
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
CI | Description |
---|---|
openshift.ImageStream | OpenShift Image Stream. |
openshift.Project | OpenShift Project. |
openshift.Resources | OpenShift Generic Resource Template |
openshift.Route | OpenShift Route. |
Containers
CI | Description |
---|---|
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
|
||
|
|
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
|
||
|
|
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 task | Parameter CI | Attributes | Description |
---|---|---|---|
checkConnection |
delegate = jythonScript, script = xld/openshift/check_connection.py |
Verify the connection to the Openshift Cloud. |