CloudBees Flow 9.1 Release Notes

23 minute read

CloudBees is pleased to announce the general availability of the CloudBees Flow 9.1 feature release. This release delivers innovation across many vectors such as:

  • Single Sign-on with SAML

  • DevOps Insight Dashboard and Reporting Enhancements

  • Pipeline Enhancements

  • Enhanced Swagger Playground

Feature releases make new features available more frequently than long-term support (LTS) releases (such as ElectricFlow 9.0). The features and enhancements introduced in feature releases are typically rolled into the subsequent LTS release. Consult CloudBees maintenance lifecycle policies for more details about types of releases.

What’s New

ElectricFlow is now CloudBees Flow!

Electric Cloud has recently been acquired by CloudBees, Inc. As our teams work together to help formulate an expanded set of solutions for the Software Development market, expect some effect on how you communicate with the Flow team going forward. These effects are anticipated to roll out at various times through the year ahead, depending on the underlying complexities involved. Some changes which may affect the look and feel on how you work with our teams include: re-branding of our products, merging of internal tooling systems like: Zendesk, Sharefile, web site access, documentation, and so on.

In this release, the Flow product is shipped under the name CloudBees Flow with primarily cosmetic changes that do not affect usability of the products, although subsequent changes may come inside future releases. We always encourage you to test your upgrade in advance using a separate test system. So please reach out to the support team for a temporary test license when you reach this point. If you believe you may have special use of the product which may depend on the presence of the CloudBees Flow name in some context, and are concerned about this news, please file a ticket to the Support team with your questions that outline your special use case. At that point, support can work with the Engineering team to confirm what, if any impact, there may be with these versions.

New Features and Functionality

Single Sign-on with SAML

You can now enable and configure SAML 2.0 single sign-on (SSO) in CloudBees Flow. SSO allows users to take action in CloudBees Flow without being prompted for login details. (NMB-1046)

For details, see the:

  • "Logging in to CloudBees Flow" section of the CloudBees Flow 9.1 User Guide.

  • "Configuring Single Sign-On" section in the "Configuring CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide.

  • "Single Sign-On" section in the "Automation Platform" chapter of the CloudBees Flow 9.1 User Guide.

Pipeline and Release Enhancements

CloudBees Flow 9.1 introduces several user interface, configuration, and runtime enhancements to pipelines.

CEV-13880

Ability to include $[/myPipelineRuntime/…​] variables into pipeline naming templates.

CEV-16641

Pipelines can now be configured to restrict them to one run at a time.

CEV-17442

Dynamically referenced procedure names can now be specified with the $[] variable syntax within a pipeline task call.

CEV-19749

The `restartPipelineRun ` command now allows restart at any point.

CEV-20460

Manual pipeline tasks and gates now support user-defined data entry that serves to simply complete the task/gate without an option to fail.

CEV-20540

It is now optional to specify an end date for a pipeline schedule.

CEV-20652

The filter UI for release objects now provides the ability to filter unsuccessful releases.

CEV-20659

Failed release tasks now automatically appear in viewable area without having to scroll.

CEV-21361

The release object list now includes a Last Run status column.

CEV-21597

A nested group of tasks specified in a pipeline DSL script now correctly inherits the group membership.

CEV-21653

A new option is now available to allow exclusive usage of a pipeline and release pipelines preventing concurrent runs from interfering with each other.

  • API: create/modifyReleaseOperation and create/modifyPipelineOperation now support the new argument --disableMultipleActiveRuns .

  • UI: the pipeline details dialog now includes a checkbox to disable multiple active runs.

CEV-21662

Finer granularity scheduling is now available for pipelines and release pipelines.

CEV-21684

The timezone as configured by the user is now passed along with planned release start and end date.

CEV-21753

Manual tasks and application processes now support user-defined text on action labels.

CEV-21758

Manual tasks gates and process steps now allow users to skip them after they have been activated bypassing active approval.

CEV-21771 CEV-21646

Added new arguments for pipeline `workspaceName ` and `overrideWorkspace ` to capture workspace name and to overrirde workspace specified at procedure/process step levels.

CEV-21839

Release Portfolio has been redesigned with a more intuitive interface.

CEV-22099

Tasks in future stages/gates can now be run out of order from normal pipeline execution.

This feature is supported only in pipeline Kanban view. There is no support in legacy pipeline stage view.

CEV-22247

Gate approval no longer requires pipeline execution permission.

Parameter Enhancements

This release includes new input parameter types for these deploy objects: application, environment, microservice, pipeline, and release. (NMB-27169)

For details, see:

  • "Parameters" in the CloudBees Flow 9.1 User Guide.

  • "API-Parameters" section of the CloudBees Flow 9.1 API Reference Guide.

Data Retention

More and more enterprises from regulated industries, like financial services and healthcare, have strict auditing guidelines around data retention–for example, the need to maintain records for seven years for compliance purposes. As CloudBees Flow is used, the volume of runtime data accumulates in its databases possibly eroding performance, along with data storage challenges. CloudBees Flow data retention provides a way for the enterprise to manage their data archival and purge needs for runtime objects. (NMB-27947)

Data retention in CloudBees Flow includes support for these concepts:

  • Support for data archiving—The process of copying data to storage external to the CloudBees Flow server. Available via either UI or API.

  • Support for data purging—The process of deleting data from the CloudBees Flow server. Available via API, only.

  • Data retention policies—Data archive and purge criteria, based on object type. Configure via either UI or API.

  • Archive connectors—Specifications of the target archival systems. Configure via API, only.

  • "Data Retention" section in the CloudBees Flow 9.1 User Guide .

  • "API Commands–Data Retention" in the CloudBees Flow 9.1 API Guide .

DevOps Insight Dashboard and Reporting Enhancements

Enhancements include the following:

  • The full DevOps Insight dashboard editor functionality is extended to the Release Command Center dashboard and any other command-center type of dashboard. This lets you customize the Release Command Center based on your release processes, displaying the metrics that matter to your organization. (CEV-21904)

  • A new optional parameter, validate , is now available for the sendReportingData API that can be used to validate the data being sent to DevOps Insight Server based on the attributes defined for the report object type. see the "API Commands–DevOps Insight" chapter of the CloudBees Flow 9.1 API Guide, found on the Legacy documentation site. (NMB-27066)

  • The DevOps Insight server is upgraded from version 5.3.1 to version 6.6.2 of the Elasticsearch search engine and the Logstash data-collection and log-parsing engine. If you have customized your Elasticsearch configuration or have built custom reports built using the Elasticsearch queries directly, see the "Breaking Changes" documents at https://www.elastic.co/guide/en/elasticsearch/reference/index.html for Elasticsearch releases 5.4 through 6.6 for details. (NMB-27806)

  • You can now use output parameters to send additional values from CloudBees Flow run-time objects (pipeline runs, deployments, and jobs) to the DevOps Insight server. (CEV-16532)

For details about these enhancements, see the "DevOps Insight" chapter of the CloudBees Flow 9.1 User Guide, found on the Legacy documentation site.

Enhanced Swagger UI for the REST API

For details about the newly enhanced Swagger playground and the RESTful API, see the "Using the CloudBees Flow RESTful API" section of the _CloudBees Flow 9.1 API Guide, found on the Legacy documentation site.

NMB-22971 NMB-24321 NMB-26746

All Restful API endpoints are now available in the Swagger UI, including findObject .

NMB-26827

Recent changes in the getProperty ` operation eliminates the need for the `request=findProperties query parameter in the URL.

NMB-26776

Deleting one or more resources from resource pool is now available.

NMB-24123

Documentation now includes samples for specifying filter type parameters.

NMB-26725

REST API /resources/{resourceName} doesn’t delete non-dynamic resource from Swagger UI.

NMB-23654

REST URL POST /jobs?request=tearDown remains usable as tearDown functionality was implemented as procedure calls which create a job as a side-effect.Though it has hiddenFromSwagger=true annotation, it is visible in UI. Please hide it from Swagger UI.

NMB-26747

The PUT /resourcePools/{resourcePoolName} endpoint now picks up the `resourceNames ` field.

NMB-26321

The `searchField ` parameter for `getUsers ` is now spelled correctly in the Swagger UI suggestion.

NMB-26748

The Swagger UI now allows addition of multiple resources.

Java Runtime Environment Updates

None.

Security Improvements

The following security-related improvements were made:

  • Swagger is updated to version 3.22.0 to eliminate the usage of a JavaScript library that has a known vulnerability.

  • The Apache web server used in CloudBees Flow is upgraded from version 2.4.37 to 2.4.39. (NMB-27887)

  • PHP is upgraded from version 7.2.14 to 7.2.16. For details, see https://www.php.net/releases/7_2_16.php. (NMB-27887)

  • OpenSSL is upgraded from version 1.0.2q to 1.0.2r. (NMB-27887)

  • Curl is upgraded from version 7.62.0 to 7.64.0. For details, see https://curl.se/mail/archive-2019-02/0005.html. (NMB-27887)

  • The version of ActiveMQ Artemis is updated to v1.5.6. (NMB-26039, NMB-27686)

  • Jetty is upgraded from version 9.2.24 to 9.2.25 (NMB-28261)

Plugin Enhancements

Plugin Development Framework

The new Flow Plugin Development Framework ( flowpdf ) provides a combination of tools, APIs, and libraries that are used to create a flow plugin in four steps. The entire set of capabilities of the framework are made available through a single command line tool (CLI) called flowpdk . This tool is available in our open source community GitHub organization here: https://github.com/electric-cloud-community/flowpdf

In addition, a comprehensive Plugin Developer Guide , which consists of plugin concepts, samples, and tutorials in both HTML and PDF formats, can be found in the URL above.

Going forward, the Flow Plugin Development Framework is the recommended approach to create plugins and replaces the Plugin Commander SDK. The Plugin Commander SDK, and its guide, is considered obsolete and is no longer supported.
New Plugins in this Release

EC-AzureDevOps

Integrates with both Azure DevOps Services (previously known as VSTS) and Azure DevOps Server (previously known as TFS) to provide management of Work Items and Builds.

EC-Twistlock

Integrates with Twistlock a container security solution to run Scans and create policy reports on Images.

EC-Nexus

Integrates with SonaType Nexus Repository Manager to provide Artifact Retrieval and enables Nexus as one of the Maven Repositories available in the Flow Component Definition.

EC-RemoteAccess

Provides the ability to execute one or more commands (including interactive commands) on Linux Remote Hosts.

Plugins EC-RemoteAccess and EC-Nexus are installed by default with the CloudBees Flow installer. Plugins EC-Ant, EC-EMake, EC-Klocwork are no longer installed by default.
Plugin Enhancements in this Release

The following is a list of key changes made to existing plugins:

EC-Artifactory

Now supports Publishing one or more artifacts to JFrog Artifactory.

EC-Ansible

Improved to have more optimal promotion time supports credentials stored in Vault Privilege Escalation and is certified to work on Windows based Ansible Targets.

EC-Jenkins

Enhanced to support monitoring concurrent parameterized Jenkins jobs as part of `RunAndMonitorBuild ` and `RunAndWait ` procedures.

EC-ServiceNow

Enhanced to support Agile/Release Module objects.

EC-BigIP

Revamped with more usable and robust procedure interfaces. The issue caused due to interpolation where in an @ in a user name causes a plugin configuration creation to fail is addressed for a large number of plugins.

Flow Native Jenkins

Improvements to address Security Vulnerabilities as in https://www.cloudbees.com/security-advisories/cloudbees-security-advisory-2019-06-11.

Other Enhancements

CEV-21356

The New Trigger dialog box for creating event-based (webhook or polling) triggers is enhanced with a new Select Plugin drop down menu.

CEV-21636 CEV-22061

The new API command `runCatalogItem ` has been added to execute a catalog item.

CEV-21814

In 9.0 and prior versions, a user was able to restart a pipeline run as long as they had execute privilege on pipeline or release. As of 9.0.1, when restarting a pipeline run from a specific stage or task the system checks for execute privilege on all stages/tasks that will run.

CEV-21850

Improvements in path-to-production inventory management.

  • Allow seeding even if application/component/snapshot does not exist in system.

  • Allow seeding in context of a release.

  • Enhanced seedEnvironmentInventory ` API to accept new arguments: `releaseName , releaseProjectName , and stageName .

  • Enhanced `deleteEnvironmentInventoryItem ` API to delete parent records, if the inventory has only one parent `DeploymentDetailsItem ` record and `DeploymentHistoryItem ` has `seeded ` flag = true.

  • Enhanced `deleteApplication ` API to have a new argument `retainInventory ` that allows user to indicate if the inventory for the application should be retained after deleting the application.

For more informantion, see the "API Commands—Environment" chapter of the API Guide, found on the Legacy documentation site.

CEV-21854

For many CloudBees Flow objects, access control can now be configured from the object’s editor view. See "Access Control" in the CloudBees Flow User Guide, found on the Legacy documentation site.

CEV-21954

Upgrade issue when upgrading from 8.0 or older versions to 9.0 due to existence of releases with no associated pipelines has now been fixed.

CEV-22403

The response for the `getReleaseInventory ` Perl API command now includes an `environmentInventoryDetail ` element that contains the latest deployment history details in the environment. This can be the same as the release inventory or it can differ if a deployment for the application occurred after the deployment of the application from the release.

NMB-16268 NMB-21324

Upgrades now support symbolic links in <DATA_DIR> and are correctly preserved.

NMB-27134 NMB-27151

The addResourcesToEnvironmentTier ` API, which was previously missing, is now available in `ec-groovy .

NMB-27824

The following environment variables for server communication are introduced.

  • COMMANDER_ECTOOL_TIMEOUT –round-trip timeout, in seconds. The default is 180 seconds. The ectool timeout global argument overrides this environment variable.

  • COMMANDER_ECTOOL_RETRY_TIMEOUT –the value for overall retry timeout. The default is 24 hours. The --retry <seconds> and --retryTimeout <0|1> ectool global arguments override this environment variable.

NMB-27827

The `ClusterInfoTool ` utility is updated to provide more debugging information. For details see the "Getting information on the CloudBees Flow Server Cluster from ZooKeeper" section in the "Creating a Server Cluster for CloudBees Flow or DevOps Insight" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27135 NMB-28020

Support for the `pruneUpgradeObsolete ` flag of the `pruneChangeHistory ` operation has been extended to the ec-perl, ec-groovy, and REST APIs.

NMB-27861

Property references are now supported in the ec_parameterForm procedure for rendering the parameters.

Documentation enhancements

NMB-25022

The "CloudBees Flow Server is Unresponsive and Displays an OutOfMemory Error" section is obsolete and is therefore removed from the "Troubleshooting an CloudBees Flow Installation" section in the CloudBees Flow 9.1 Installation Guide.

NMB-25923

A new step is added to rename the downloaded connector in the "Installing the MySQL JDBC Driver" section in the "Installing CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-26183

A new "Configuring Repository Servers" section is added to the "Creating a Server Cluster for CloudBees Flow or DevOps Insight" chapter of the CloudBees Flow 9.0 Installation Guide, found on the Legacy documentation site.

NMB-26992

A new "Configuring the Web and Repository Servers to Use IPv4" section is added to the "Configuring CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27111

The procedure in the "Running a Cluster in Single-Server Mode" section in the "Creating a Server Cluster for CloudBees Flow or DevOps Insight" chapter of the CloudBees Flow 9.1 Installation Guide is updated with a new step: "3. Add: wrapper.java.additional.261=-DCOMMANDER_IGNORE_SERVER_MISMATCH=1 to the wrapper.conf file of the machine that you are working on." For details see the guide found on the Legacy documentation site.

NMB-27112

The "Uploading Configuration Files to ZooKeeper" > "Copying the Configuration Files to the Other Server Nodes" subsection in the "Clustering" chapter of the CloudBees Flow 9.1 Installation Guide is updated with a new step: "5. Copy all of the Configuration files to each of the conf folders of the other Server Nodes. This is to ensure parity for all server nodes in the cluster." For details see the guide found on the Legacy documentation site.

NMB-27481

The knowledge base article, KBEC-00306 - High Availability and CloudBees Flow Performance, is updated with more information about how jobs are balanced between the two machines in an HA system. For details see https://docs.cloudbees.com/d/kb-360032827852

NMB-27734

All information about remote agents is removed from the "Configuring Universal Access for a Network Location" section of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27759

An "Adding a Node to an Existing Cluster" section is added to the "Creating a Server Cluster for CloudBees Flow or DevOps Insight" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27833

A "Using a Separate CloudBees Flow Production Server to Minimize Business Risk" section is added to the "Installing CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27870

The "Running ZooKeeper as a Service on Linux" section is updated and a new "Configuring ZooKeeper Service Auto-Restart on Linux" section is added to the "Creating a Server Cluster for CloudBees Flow or DevOps Insight" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27874

The two instances of the "sync" parameter are removed from the procedures in the "Leaving the Plugins Directory on the CloudBees Flow Server" section in the "Configuring CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

NMB-27877

A step for adding a vm.swappiness=0 line to the /etc/sysctl.conf file is added to the procedure in the "Adjusting Swappiness on Linux" section in the "Configuring CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide. For details see the guide found on the Legacy documentation site.

NMB-27931

NMB-28076

The example in the "runProcedure" section of the CloudBees Flow 9.1 API Guide is fixed to show that ectool prompts you for the password for the credential on a separate line after you enter the runProcedure command. For details see the guide found on the Legacy documentation site.

NMB-28265

The --nonRoot --unixAgentUser --unixAgentGroup --unixServerUser and --unixServerGroup argument descriptions in the "Silent Install Arguments" section in the "Installing CloudBees Flow" chapter of the CloudBeesFlow 9.1 Installation Guide are updated to state that the --nonRoot argument is not compatible with the other arguments listed above. For details see the guide found on the Legacy documentation site.

A new "Mounting Network Plugins Shares for High-Availability CloudBees Flow Components" section is added to the "Configuring CloudBees Flow" chapter of the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

Platform Support

No changes.

Database Support

No changes.

Browser Support

No changes.

Resolved Issues

NMB-16268

Better handling of symbolic links for data and artifacts and apache during upgrade

NMB-26218

Document clearly what network share files need to be mounted for high availability.

NMB-26405

Error when installing DOIS using install directory "C:\Program Files (x86)\Electric Cloud\ElectricCommander" on Windows

NMB-26454

Added information into the documentation on how to create the first trusted agent in a new Zone.

NMB-27108

Added information about the Stomp Client URI to the "Installing and Configuring a Load Balancer" section in the "Creating a Server Cluster for ElectricFlow or DevOps Insight" chapter of the ElectricFlow 9.0 Installation Guide:

NMB-27148

Email notifications now include the correct event in the name.

NMB-27817

All Deploy intrinsic properties are now available via the `describeObject ` API command.

NMB-27926

Fixed regression issue with OutOfMemoryError: Requested array size exceeds VM limit. (NMB-27926)

NMB-27945

An issue is fixed in which an CloudBees Flow server upgrade caused ACLs on plugin projects to be lost.

NMB-27983

9.0 Repository doesn’t preserve directory structure when uploading folder using "Folder Upload" option from UI.Works via ectool

NMB-28067

An issue is fixed where certain jobs that had subprocedure calls were not moving forward for hours even though the subprocedure step with command actually completed.

NMB-28198

No document about reset/delete email notifier template Document that on windows Agents %TMP% %TEMP%. %USERPROFILE% should not have folder names with spaces

NMB-28223

An issue in which using the ec-groovy evalDsl command to import DSL files longer than 8 KB failed with an "Error HTTP/1.1 414 Request-URI Too Long" error is fixed.

CEV-11283

Project-filter feature on applications-list page should only filter on projects that actually have applications in them instead of showing a list of potentially 100s of projects.

CEV-19510

Schedule multiple days on a weekly schedule Similar for Commander.

CEV-19797

CEV-21642 /myService shortcut is not documented.

CEV-20189

Application/service deployments can now obtain exclusive access to an environment to restrict simultaneous deployments.

CEV-21105

Unable to proceed with pipeline when waiting on approval gate and deleted approval gate from definition.

CEV-21384

Being approver on a gate in a pipeline requires user to have Execute ACL on Project.

CEV-21475

CEV-21642 filter in "ectool getPipelineRuntimes" does not work.

CEV-21569

Allow a different snapshot in each deployer.

CEV-21799

generateDsl does not work for Puppet plugin.

CEV-21800

generateDsl of properties does not include expandable and value tracking options.

CEV-21827

Option lists for services specified with options DSL in formal parameters of type select no longer return an unknown exception.

CEV-21893

UI - Doesn’t clean up simpleList when modifying Parameter Type from Dropdown to other type.

CEV-21917

Custom validation doesn’t work in the property view

CEV-22018

myResourcePool is not available when using in a component process

CEV-22100

Calling a component process with a "bad Property Reference" within a, application processs step does not prevent user from running (which is ok) but "Succeeds" without error on the top level step (not ok).The top level step should fail with PropertyReferenceError

CEV-22125

Flow page does not load when a user group has session ACLs defined. Needs read privilege on systemObject 'devOpsInsightServerConfigurations'

CEV-22325

"name patterns" for environments in release are not dynamic

CEV-22418

Selected environments disappear when selecting configuration

CEV-22750

Smart-Deploy is not working properly for master-components

Behavior Changes

  • With the introduction of the Release Command Center Setup capability in version 9.0, the "Setup for Command Center" procedures are obsolete, are no longer created for new installations, and are deprecated for upgrades:

    • HP-ALM Setup for Command Center - quality

    • Jenkins Setup for Command Center - build and quality

    • JIRA Setup for Command Center - defect

    • JIRA Setup for Command Center - feature

    • ServiceNow Setup for Command Center - incident

      After an upgrade to 9.1 from a version prior to 9.0, the descriptions for these procedures appear as follows:

      [DEPRECATED] This procedure is deprecated and will be removed in a future release. Go to the Command Center Editor to setup the Command Center for a given release. (CEV-21234)

Updated Plugins

This section lists plugins that have new functionality introduced in this release. The version numbers are provided for convenience: refer to the individual plugin documentation for more details.

EC-AmazonECS

1.1.1

EC-Ansible

1.2.1

EC-Artifact

1.1.7

EC-Artifactory

1.4.2

EC-Azure

1.1.8

EC-BigIP

3.0.0

EC-CloudFoundry

1.4.3

EC-Docker

1.5.3

EC-DynaTrace

1.1.1

EC-EC2

2.5.4

EC-ESX

2.3.5

EC-FlowLogCollector

1.1.2

EC-GoogleContainerEngine

1.2.1

EC-JBoss

2.6.3

EC-Jenkins

1.14.1

EC-SonarQube

1.2.1

EC-Tomcat

2.3.4

EC-WebLogic

3.4.3

EC-WebSphere

2.6.3

ECSCM-Git

3.9.1

For a complete list of bundled plugins, see the "Plugins That are Bundled with CloudBees Flow" appendix in the CloudBees Flow 9.1 User Guide, found on the Legacy documentation site.

Installation and Upgrade Notes

For complete installation and upgrade information, see the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

Upgrading Your Existing CloudBees Flow Environment

Before starting an upgrade , make sure to back up your existing CloudBees Flow data.

CloudBees Flow and Automation Platform Versions That Are Upgradable

Upgrades to CloudBees Flow 9. x are supported only from ElectricCommander 5.0 or any version before 9.0. Upgrades to version 9. x from any ElectricCommander version that is 4.2 or earlier are not supported. For upgrade instructions, see the CloudBees Flow 9.1 Installation Guide, found on the Legacy documentation site.

Upgrading an Older DevOps Insight Version to Version 9.1

Upgrading to CloudBees Flow 9.1 requires upgrading your older version of DevOps Insight server to DevOps Insight server 9.1.

Updating Elements Containing applicationServiceMapping in XML Export Files from CloudBees Flow 8.0.1 or Earlier

If your XML export file from CloudBees Flow 8.0.1 or earlier versions has elements containing applicationServiceMapping , you must change all instances of that string in the file to serviceClusterMapping before importing the file into version 9.1. For example, change the following XML:

<applicationServiceMapping>
  <applicationServiceMappingId>9efcda31-a85f-11e7-8500-0800279f198d</applicationServiceMappingId>
  <applicationServiceMappingName>9efcda31-a85f-11e7-8500-0800279f198d</applicationServiceMappingName>
  …
</applicationServiceMapping>

to

<serviceClusterMapping>
  <serviceClusterMappingId>9efcda31-a85f-11e7-8500-0800279f198d</serviceClusterMappingId>
  <serviceClusterMappingName>9efcda31-a85f-11e7-8500-0800279f198d</serviceClusterMappingName>
  …
</serviceClusterMapping>

(CEV-16237 and CEV-16158)

Backing Up and Restoring Custom Settings in the elasticsearch.yml File for DevOps Insight Versions 8.2 and Earlier

The DevOps Insight installer overwrites the elasticsearch.yml configuration file with a new file. As of DevOps Insight version 8.3, the file includes a Custom Settings section, which lets you add Elasticsearch settings not managed by the DevOps Insight server without being lost during an upgrade. If you added settings to this file in version 8.2 or earlier that you want to preserve, you must back up the file to a separate location before upgrading to version 9.1 or newer versions and then add the settings to the Custom Settings section after the upgrade. During future upgrades, the installer will preserve the settings in the Custom Settings section. (NMB-25850)

Removing init_connect and skip-character-set-client-handshake from Your MySQL Configuration Before Upgrading

Since release 8.0.1, CloudBees has instructed customers using a MySQL database to use the following two lines in their MySQL configuration:

init_connect='SET collation_connection = utf8_unicode_ci, NAMES utf8'
skip-character-set-client-handshake

Before upgrading CloudBees Flow, you must remove these lines or comment them out. Otherwise, jobs will not start. (NMB-27937)

Ensuring the Correct Default MySQL Default Collation

Since release 8.0.1, CloudBees has instructed customers using a MySQL database to ensure that the default collation for their database schema is set to utf8_unicode_ci or utf8_general_ci and that no table in their schema overrides this. As of release 9.0, the CloudBees Flow server checks this configuration on startup and logs errors in the server log if it is not set correctly.

If the collation is not configured correctly, then entering non-ASCII text into CloudBees Flow might cause errors. For example, setting a release name to a non-ASCII value and attempting a search causes an exception.

If your MySQL database schema or any tables in it are set to a non-UTF-8 collation order, see Knowledge Base article KBEC-00385 - Converting a MySQL Database From Latin-1 to UTF-8 Before Upgrading to CloudBees Flow 8.0.1 for detailed instructions about safely converting your schema to UTF-8. (NMB-26521)

Upgrading Agents that Run the ec-groovy Job Step in Multizone Deployments

In multizone CloudBees Flow deployments, CloudBees Flow agents that are in a different zone than the CloudBees Flow server must be upgraded to version 9.0 or later for the ec-groovy job step to run successfully on those agents. You must also upgrade the gateway agents that lead back to the server’s zone including those in any zones in between the agent’s zone and the server’s zone. (NMB-27490)

For details about multiple zones and gateway agents, see the "Gateways and Zones," "Zones," and "Gateways" sections in the "Automation Platform" chapter of the CloudBees Flow User Guide .

Removing the SSL 2.0 Client Hello or SSLv2Hello Protocol from Your Security Configurations

To avoid the following warning in the Automation Platform web UI, we recommend removing the SSL 2.0 Client Hello or SSLv2Hello protocol from your security configurations for all components:

We recommend removing "SSL 2.0 Client Hello format from server configuration and upgrade older agents as indicated on the Cloud / Resources Page to avoid security risk.

To safely remove this protocol, enter the following command on the ElectricFlow server:

$ ecconfigure --serverTLSEnabledProtocol=TLSv1,TLSv1.1,TLSv1.2

When you do this, you would also need to upgrade older agents to the latest version to avoid security risks. You would need to upgrade agents if you are using the following agent versions:

  • Windows, Linux: 6.0.3 or older; 6.2 or older

  • Sun Solaris, HP UX, Mac OS: 8.4 or older

(NMB-27934)

Upgrading the DevOps Insight Server

This section provides information about upgrading the DevOps Insight server from Version 7.3 to Version 9.1 .

Re-Specifying Configuration Settings Not Preserved During the Upgrade

The installers (GUI, interactive console, and silent mode) for the DevOps Insight server do not preserve the configuration setting for the DevOps Insight server host name (--hostName) or the setting for the Elasticsearch number of shards (--elasticsearchNumberOfShards) during the upgrade from 7.3 to 9.0. If you specified nondefault values during the 7.3 Reporting server installation, you must re-specify these settings during the upgrade. (All other settings are preserved.)

DevOps Insight Server Configuration Notes

For a production environment, Electric Cloud recommends that you install the DevOps Insight server on a system other than systems running other ElectricFlow components (such as the ElectricFlow server, web server, repository server, or agent). If you must install it on the same system (such as for testing or other non-production or trial-basis situations) see “Running the DevOps Insight Server on a System with Other ElectricFlow Components” in the CloudBees Flow Installation Guide at Legacy documentation for details.

Configuration Notes

Performing a Full Import

During a full import, the import operation might hang in the following scenarios. To import successfully into CloudBees Flow 8.0 and newer versions, perform the appropriate workarounds (CEV-15447 and (CEV-11873):

  • A manual process step in a process has formal parameters. The workaround is to remove the entry related to the property sheet for the job step that is associated with the manual process step.

  • In the exported XML file from the earlier release, two pipelines are in different projects, and both pipelines have no gate tasks. The flow associated with the pipeline is duplicated under both projects. The workaround is to remove the flow element under the projects.

Updating Application Component Plugins

Application components are based on plugins (EC-Artifact, EC-Maven and EC-FileSysRepo) with plugin details (such as name, procedure, and parameters) stored in properties on the component. Before version 5.4, the value for the pluginProjectName property included the plugin name and version (for example, EC-Artifact-1.0.3.4), which closely tied components to specific versions.

When you export your project data before upgrading from ElectricCommander 5.0, 5.1, 5.2, or 5.3 to CloudBees Flow 8. x, you must update the application component plugin versions in the export file to the versions on the target CloudBees Flow server before importing the data to CloudBees Flow 8. x .

For example, if the promoted EC-Artifact plugin version is 1.0.4.1, then in the snippet below, you would change EC-Artifact-1.0.3.4 to EC-Artifact-1.0.4.1:

<property>
  <propertyId>3f509ffd-506b-11e6-9960-f01faf2c26a3</propertyId>
  <propertyName>pluginProjectName</propertyName>
  <counter>0</counter>
  <createTime>2016-07-23T00:20:20.829Z</createTime>
  <expandable>1</expandable>
  <lastModifiedBy>admin</lastModifiedBy>
  <modifyTime>2016-07-23T00:20:20.829Z</modifyTime>
  <owner>admin</owner>
  <tracked>1</tracked>
  <value>EC-Artifact-1.0.3.4</value>
  </property>
<property>

Starting with release 5.4, CloudBees Flow uses the plugin key (which does not include the version) when defining a component. (CEV-6679)

Registering a Custom Plugin Procedure for the Step Creation Dialog

You must register a user-developed plugin so that it appears as an option:

  • When you use the plugin to configure a step in a component or application process.

  • In a procedure in the automation platform.

For details, see the "Register your procedure for the step creation dialog" section in the "Examples and Tutorials" chapter of the CloudBees Flow Plugin Developer Guide . (CEV-3649)

Limitations

  • When an application is cloned from one project (the original project) to another (the destination project), the tier maps for the application will point to the environments with the same names in the destination project. To deploy the application to the environments in the original project, you must create tier maps connecting the application to those environments.

  • When an assignee is added in a manual process step or stage task through the web interface, the Search field displays only the users who have actually logged into the system.

Known Issues

NMB-24949

When you use the Automation Platform UI to upload and publish artifact files with non-English characters in their file names the operation fails with the following error: Upload file: Exit code 1: ERROR: Publish failure: Unexpected retrieval exception for repository error .

NMB-25784

Web upload artifact failed with error "Upload file: CGI open of tmpfile: Too many open files"

NMB-26021

Modifications of LDAP user data (such as email addresses) on an Active Directory server after registration in CloudBees Flow do not appear properly in user details (in the Automation Platform UI or ectool) until the CloudBees Flow server is restarted.

NMB-26962

(Windows platforms only) If the Elasticsearch cluster which is used by DevOps Insight is in the red state (in Elasticsearch this means that it only partly functions and some data is unavailable) then upgrade reconfigure or uninstall operations will not work. Because the Elasticsearch service can not be stopped when a cluster is in red state kill the Elasticsearch service process by the task manager before running the installer for these actions.

NMB-28135

The Microsoft Edge browser does not work with SAML 2.0 and a self-signed certificate during redirection from the identity provider to the service provider. Edge is not recommended for login via SAML 2.0.

NMB-28380

NMB-28381

The ec-groovy command line utility fails when invoking createArtifactVersion ` with error `This server cannot handle version <x> messages .

CEV-11106

When an application with snapshots created in CloudBees Flow 6.1 or earlier is cloned and a project containing this application is imported to CloudBees Flow 6.3 or higher the import operation fails.

CEV-12363

Error prompts for runtimes started by a schedule are not visible if the schedule was created with a missed configuration.

CEV-12429

The stage inclusion status in the Release Dashboard changes color after a stage is renamed.

CEV-14689

No error prompt appears for failed tasks and retry tasks during a pipeline runtime.

CEV-15122

If an application process step cannot expand to its child steps (because of an invalid run condition or an invalid formal parameter) then the step is not retried even if it uses "retry on error" error handling. The job eventually completes with an error.

CEV-15829

The retry count for group tasks or rules using "automated retry on error" is missing from the Pipeline runtime page.

CEV-16245

Multiple mapped environments with the same name from different projects are not supported in email notifications.

CEV-16250

A project import might not include the path-to-production view.

CEV-16930

Jobs might not appear upon drill-down into the "Clusters With Most Deployments" widget in the DevOps Insight Microservices Dashboard if the service does not contain a deploy step in the process.

CEV-17164

When you do a full import from version 8.0 to version 8.2 or newer and two or more releases have the same name (under different projects) and are associated to the same pipeline then after import the runs for all releases might become associated to the first imported release. This is because CloudBees Flow cannot differentiate runs between the releases since all runs are under the same pipeline project and have the same name. To work around this issue rename releases in the export file so that all their occurrences (in deploymentHistoryItem flowRuntime and so on) are unique.

CEV-18531

All subreleases of a release must appear before the release in the DSL for the release-to-subrelease link to be created.

CEV-19239 CEV-19259

The ability to search by assignee in a Deployment Report is not available in the DevOps Insight report editor.

CEV-21426

If Release Command Center was setup for JIRA for user-stories and defects and the JIRA project name was mapped to the release project name using the following field mapping: ` projectName:releaseProjectName` then before upgrading to 9.1 the field mapping must be updated to mention the actual release project name using the following field mapping format: ` "release-project-name-in-CloudBees Flow":releaseProjectName`

CEV-22379

Long custom labels in email notifications do not render correctly.

CEV-22644

Navigation to a sub-release editor takes user to the parent release editor. As a workround, select the subrelease from the left-hand navigation in the parent’s release editor.

N/A

You can revert changes only for high-level design objects such as applications procedures procedure steps workflow definitions and state definitions.

Restarting the CloudBees Flow server while new records are created for all tracked objects might take at least as long as an export or import of all projects (10 to 40 minutes for a large project).

N/A

Enabling Recursively Traverse Group Hierarchy might impact system performance when the LDAP group hierarchy is traversed. The amount of impact varies with the configurations of the CloudBees Flow and LDAP servers the depth of group hierarchy in the LDAP server and the network latency between the servers. Make sure that your directory provider can handle the additional load for supporting nested group hierarchy traversal.

N/A

System performance might decrease if you disable change tracking at the server level and then re-enable it at that level. (Change tracking is enabled by default.) For details about using change tracking see the "Change Tracking" chapter in the CloudBees Flow 9.1 User Guide in the Legacy documentation

Documentation and Online Help

Product Documentation

CloudBees Flow product documentation is available at Legacy documentation as follows:

  • CloudBees Flow Installation Guide

  • CloudBees Flow User Guide

  • CloudBees Flow API Guide

  • CloudBees Flow Release Notes

  • Groovy API Guide

  • DevOps Foresight Installation and User Guide

Documentation on the website is updated periodically.

Automation Platform Online Help

The Automation Platform web UI has a complete, robust, context-sensitive online help system. To use it, click the Help button in any page of the web UI.

Troubleshooting and Getting Help

Technical Support

Contact Electric Cloud technical support:

Be prepared to provide your:

  • Name, title, company name, phone number, and email address

  • Operating system and version number

  • Product name and release version

  • Problem description

CloudBees Flow Knowledge Base

Go to https://support.cloudbees.com/hc/en-us/sections/360006415292-Flow-KB to find in-depth explanations of specific topics and solutions for specific problems.