ElectricFlow 8.5 Release Notes

Electric Cloud is pleased to announce the general availability of the ElectricFlow 8.5 feature release (FR). This release delivers innovation across many vectors such as:

  • A new kanban-style release view.

  • Object tagging for custom reporting and enhanced searching.

  • Custom filters to create and save personalized views of objects of interest.

  • New continuous integration dashboard to track and analyze build processes, failures, and successes.

Feature releases make new features available more frequently than long-term support (LTS) releases (such as ElectricFlow 8.0). The features and enhancements introduced in feature releases are typically rolled into the subsequent LTS release. For details about types of releases, see ElectricFlow Release Strategy.

What’s New

New Features and Functionality

Release and Pipeline Kanban Views

ElectricFlow 8.5 introduces a new user interface based on the familiar kanban-like paradigm for releases and pipelines.

  • The release kanban view provides an easy-to-use management and execution view of pipelines, stages, and individual tasks in one screen.

  • The legacy Pipeline stage-based view remains available: users can pick between the two views to manage their releases and pipelines based on the form factor they prefer.

Additionally, selecting task types for releases and pipelines is simplified for faster authoring.

Object Tagging

Improved reporting, searching, and navigation

This release introduces object tagging for key objects to facilitate better searching and filtering of content. and to provide easy access to objects across projects. Additionally, tagging information flows over to DevOps Insight to enhance slicing and dicing of data for reports and dashboards.

If you are using ec_tags for the Project object (which is stored in a property in prior releases), then these tags are migrated to a new Tag object created in ElectricFlow. There is no change in functionality, but the use of ec_tags in a property for the Project is no longer used. Also, ec_tags is migrated to a new Tag object with certain limitations.

Since there were no character restrictions for property ec_tags name previously, ElectricFlow copies them “as is” and allows modification of those tags.

For details about object tags and character restrictions in tag names created in 8.5 and newer versions, see “Object Tags” in the ElectricFlow 8.5 User Guide, found on the Electric Flow 8.5 documentation site .( CEV-19441 )

Custom Filters

New ways to search and filter content for personalization

ElectricFlow 8.5 now has a custom filtering capability for all key objects to let you quickly zero in on objects of interest. You can create simple or advanced queries to locate objects of interest such as “show Pipelines launched by me” or “show all Environments with the Production tag.” Additionally, ElectricFlow 8.5 lets you save custom filters so that you can personalize views for later use. (CEV-19332)

Continuous Integration and Code Commit Dashboards

Providing better management of build processes

This release introduces two new, out-of-the-box DevOps Insight dashboards dedicated to Continuous Integration (CI) processes and Code Commit activity to help identify trends and bottlenecks in critical release build phases.

  • The Continuous Integration dashboard allows visibility into the build throughput, success/failure rates, average build durations, longest running builds, commits that caused build failures, and so on. This visibility is available whether you use ElectricFlow for CI, another tool like Jenkins, or even if you use multiple CI tools.

  • The Code Commit dashboard where you can see trends of code commit frequency, number of commits, number of SCM repositories with highest code changes, and more.

  • Additionally, not just CI, but details for all jobs are sent to DevOps Insight to let users create custom dashboards on job execution trends.

Improved End User Experience and Administration

ElectricFlow 8.5 has numerous additional enhancements to improve administration as well as end user experience. Here are some key updates.

End user experience improvements:

  • Lighter and faster Release object listing: each line item shows top-level information that can be expanded for more details.

  • Improved security and control over who can skip stages in a pipeline.

  • Ability to copy pipeline tasks and application processes for faster authoring.

  • Ability to create custom filters for DevOps Insight dashboards for better control and personalization.

  • Multiple improvements to DevOps Insight widget creation and additional visualization options such as negative bar charts, scaling values, and more.

Administration and installation improvements:

  • Easily collect logs across multiple ElectricFlow servers, at the click of a button, in a clustered HA setup for faster troubleshooting.

  • Easily report on resource usage for better license control and clean up.

  • Flexible control of the default URL: either to platform (/commander) or ElectricFlow Release or Deploy (/flow).

  • Optional clustered installation of the DevOps Insight server.

  • Non-root option for ElectricFlow Server full installation on Linux.

Pipeline Enhancements

ElectricFlow 8.5 introduces several user interface, configuration, and runtime enhancements to pipelines. See Chapter 3, “Pipelines,” in the ElectricFlow 8.5 User Guide, found on the Electric Flow 8.5 documentation site for details.

  • Ability to configure who has authority to disable stage selection when running a pipeline is introduced. (CEV-19645)

  • The Release list is simplified. (CEV-19628)

  • Pipeline names can now be changed at runtime. (CEV-19369)

  • Support for specifying runtime security context for pipelines and stages is added. (CEV-19350)

  • Users can now specify pipelineRun name templates. (CEV-18974)

  • Pipeline owners can now restrict or completely disable pipeline stage selection. (CEV-18795)

  • You can now use approver security context as a principle of stage runtime. (CEV-12433)

DevOps Insight Dashboard and Reporting Enhancements

Enhancements include a new and improved user interface, support for custom filter creation, tag filters, report parameters, and more.

  • Users can now filter data from the DevOps Insight dashboards using tags stored against the data. Since tags can span across different objects or data sets, the tagging support in DevOps Insight allows users to filter and correlate metrics and events across their release pipelines or end-to-end DevOps activities. ( CEV-20099 )

  • The Widget Definition dialog has been improved to render input fields based on the visualization type. ( CEV-19651 )

  • Users can define parameters for reports and configure report parameters as part of the Widget Definition. (CEV-19614)

  • Example widgets in the Dashboard Editor now appear in grey tones to set them apart from real widgets. (CEV-19437)

  • Documentation for disaster recovery for DevOps Insight is added. See details in the “Disaster Recovery” section of the ElectricFlow 8.5 Installation Guide, found on the Electric Flow 8.5 documentation site . (CEV-19393)

  • The report selection in the Widget Definition dialog has been made more intuitive. (CEV-19336)

  • Line charts now have an option to disable line smoothing. (CEV-19050)

  • Auto-created Elasticsearch fields are now documented. See the “Previewing Report Query Results by Using Tabular Preview” section and the “API Commands—DevOps Insight” section of the ElectricFlow 8.5 User Guide and the ElectricFlow 8.5 API Guide , both found on the Electric Flow 8.5 documentation site . (CEV-18941)

  • Users can now add custom filters on the DevOps Insight dashboards. (CEV-18935 and CEV-18430)

  • Elasticsearch and Logstash (which are installed with ElectricFlow) are upgraded to versions xxx and xxx respectively. ( CEV-18332 )

  • Chart axes can now start with non-zero minimum values. (CEV-18821)

  • A dashboard widget can now be created from an existing widget. (CEV-18784)

  • The DevOps Insight installer is enhanced with the --nonRoot option, which allows installations as a non-root user or a user without sudo privileges.

    (NMB-26253)

  • Support for clustered installation of ElectricFlow DevOps servers. (NMB-26784)

Linux Installer Enhancements

Non-Root Linux ElectricFlow Installer
  • The existing full installer is enhanced with the --nonRoot option, which allows installations as a non-root user or a user without sudo privileges. (NMB-25381 and NMB-24972).

  • Centralized Agent Management (CAM) now supports non-root installation. (NMB-26367)

  • For the agent non-root installer, the dependency on a home directory for installation is removed, and flow has been improved. Users can now specify the install directory using the `installDirectory ` parameter. (NMB-26345 and NMB-26323)

Pure 64-Bit ElectricFlow Full Installer on Linux Platforms

A native 64-bit version of the ElectricFlow full installer is introduced. This includes 64-bit components of the ElectricFlow server, Apache web server, repository server, and the local agent.

When you upgrade with the 8.5 Linux installer, the ElectricFlow server and other components are upgraded to a pure 64-bit version. This also upgrades the local agent used with the ElectricFlow server, web server, or repository server. (NMB-26569, NMB-26371, NMB-24240, and NMB-19872)

Security Improvements

ElectricFlow can now be configured with more-secure versions of the SSL/TLS protocols. For example, only the TLSv1.2 protocol can be set up for communication with all ElectricFlow components including the ElectricFlow, repository, and agent servers. The default security configurations are as follows:

  • First-time ElectricFlow installations: TLSv1, TLSv1.1, and TLSv1.2 are enabled

  • Existing ElectricFlow installations: TLSv1, TLSv1.1, TLSv1.2, and SSLv2Hello are enabled

During an upgrade, you can change the security setting via a screen in the GUI-based installer or via the following parameters when you invoke a console or silent mode installation:

--serverTLSEnabledProtocol , --agentTLSEnabledProtocol , and --repositoryTLSEnabledProtocol

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)

Logging Collection Feature

ElectricFlow now offers the EC-FlowLogCollector plugin, which lets you collect logs automatically for all components in an ElectricFlow standalone server and its agents or in an ElectricFlow cluster. Log collection can be used to capture a set of data around a specific event for your own purposes or to pass this forward to the Electric Cloud Support team. Types of logs are:

  • ElectricFlow server logs

  • Agent logs

  • Repository server logs

  • Job logs

  • Installer logs

  • Apache (web server) logs

  • User-defined logs

This functionality collects logs from a standalone ElectricFlow server and one or more of its agents or a cluster of two or more ElectricFlow servers and one or more agents on each server. For details, see the “Collecting ElectricFlow Logs” section in the “Maintenance” chapter of the ElectricFlow 8.5 Installation Guide, found on the Electric Flow 8.5 documentation site . (NMB-26581)

DevOps Foresight Enhancements

DevOps Foresight adds a predictive analytics capability to ElectricFlow. It now has a dedicated full installer and standalone documentation. For details, see the DevOps Foresight 8.5 Installation and User Guide found on the Electric Flow 8.5 documentation site .

DevOps Foresight requires an additional license. Contact Electric Cloud Support to understand how you can take advantage of ElectricFlow DevOps Foresight .

Plugin Enhancements

Here are the latest plugin enhancements. See Bundled Plugins for a complete list of new or updated plugins.

  • EC-JIRA, EC-Artifactory, EC-Servicenow, and EC-EC2: Http proxy support has been introduced for these plugins.

  • EC-AzureContainerService: Support for cluster visibility, service modeling, and service discovery has been added.

  • EC-Tomcat: Support added for JMS, Multiple Virtual Environments, and Static Deployment.

  • EC-Weblogic: Support added for JMS and Environment discovery.

  • EC-FlowLogCollector: New! This plugin collects server and agent logs.

Other Enhancements

Several enhancements across the ElectricFlow 8.5 enterprise suite are added:

  • Tier mapping is enhanced to let you provide a Javascript expression on a tier mapping (application tier and environment tier) to select specific resources that should be used for deployment. The modifyTierMapping Perl API command is introduced. (CEV-20191 and CEV-19831)

  • Breadcrumbs are now consistent across all objects. (CEV-19508)

  • Added flexibility to control the default URL to navigate to during login. It now defaults to the ElectricFlow UI for new customers and the Automation Platform UI for existing customers.

    For details about setting the default URL during installation, see the following sections: “Running an Advanced Graphical User Interface Installation” section in the “Installing ElectricFlow” chapter of the ElectricFlow 8.5 Installation Guide at Electric Flow 8.5 documentation . --webDefaultUI installer option in the “Silent Install Arguments” section in the “Installing ElectricFlow” chapter of the ElectricFlow 8.5 Installation Guide at Electric Flow 8.5 documentation .

    + For details about setting the default URL after installation, see the --webDefaultUI ecconfigure option in the “Web Server Configuration Options” section of the ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation . (NMB-26703)

  • The last job run on a resource is now tracked, thus allowing you to view and manage the registered host usage. For details, see the “Resource Page Information and Functions” section in the “Automation Platform” chapter of the ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation . (NMB-26655)

  • The ElectricFlow 8.5 Installation Guide is enhanced with instructions on installing a remote web server. For details see the guide at Electric Flow 8.5 documentation . (NMB-26606)

  • With ecconfigure , you can use the new --skipServiceRestart option to skip restart of the server or service. (NMB-26179 and NMB-26594)

  • In HA scenarios, ElectricFlow logging is enhanced to determine if messages need to be ignored by a set of nodes. (NMB-26570)

  • The folder, <DATA_DIR>/tmp , is now created at install time so it is available when artifacts are uploaded from the UI. (NMB-26217)

  • A warning is added to the ElectricFlow 8.5 User Guide to never run the `eccert ` script as sudo, because this can change the ownership of the keystore and other files to the root user. (NMB-26212)

  • Clarification is added to the ElectricFlow 8.5 User Guide about the Gateway(s): property on the Resource Details UI to to explain that the field is defined only for gateway agents and will be blank for normal resources. For details, see the guide at Electric Flow 8.5 documentation . (NMB-26197)

  • Added the ability in the Search tab in the Automation Platform to query users’ last login information. (NMB-26084)

  • Default memory settings are updated for local agents that are installed with the ElectricFlow server, web server, or repository components, as outlined in the ElectricFlow 8.5 Installation Guide at Electric Flow 8.5 documentation . (NMB-11415)

  • Object lists now support pagination. See the section, “Deploy UI Elements,” in the ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation . (CEV-19301)

  • Project credentials can now be configured during the project creation UI workflow. (CEV-19067)

  • Better searching and filtering with new Custom Filters is added. See the “Searching and Filtering” section in the ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation .

Platform Support

No changes.

Database Support

  • Support for MySQL 8.0 is added. (NMB-26106)

  • Support for Oracle 18c is added. (NMB-26104)

  • Microsoft SQL Server 2008 R2 is no longer supported. (NMB-26035)

Browser Support

  • Microsoft Edge is now supported. (NMB-26241)

  • Microsoft Internet Explorer 10 is no longer supported. (NMB-26118)

Resolved Issues

  • The Apache web server used in ElectricFlow is upgraded from version 2.2 to 2.4.34. For details, see https://www.apache.org/dist/httpd/CHANGES_2.4.

    To add new Apache modules that are not provided out-of-the-box, you must add a custom configuration file under the <INSTALL_DIR>/apache/conf/conf.d folder and add appropriate LoadModule entries. (NMB-26231)

  • The Apache web server no longer has the “Sweet32” SSL/TLS vulnerability. The Triple-DES ciphers were removed from the available ciphers list in the web server to prevent the CVE-2016-2183 “Sweet32” vulnerability. The following ciphers are now disabled: ECDHE-ECDSA-DES-CBC3-SHA, ECDHE-RSA-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, and DES-CBC3-SHA. (NMB-26759)

  • PHP is upgraded to version 5.6.36. For details, see https://www.php.net/ChangeLog-5.php . (NMB-26231)

  • OpenSSL is upgraded to version 1.0.2p. For details, see https://www.openssl.org/news/openssl-1.0.2-notes.html . (NMB-26231)

  • ec-groovy steps in agents now send REST calls to the ElectricFlow server using secure port 8443 instead of unsecure port 8000. (CEV-20207)

Other Issues

  • The “Load options from property sheet” property path used for drop-down parameter types now supports dots. (CEV-20406)

  • The error message for the ectool `deleteWaitDependency ` command that appears when the `dependentReleaseName ` argument is used without the releaseName argument is rewritten for clarity. (CEV-20122)

  • An issue where creating a task and grouping it with an existing task group in a release caused an error is fixed.(CEV-19811)

  • A DevOps Insight Report Editor issue is fixed where creating a report with valid Elasticsearch code that does not name a filter resulted in a correct Tabular Preview but an empty dashboard widget. (CEV-19798)

  • You can now create a task and group it with an existing task group in a Release. (CEV-19528)

  • An issue where provisioning dynamic AWS EC2 instances failed when an environment had 10 tiers or more is fixed.(CEV-19329)

  • An issue is fixed in which an application process with a step that failed and immediately followed by a Rollback step set to Always Run caused the entire job to be aborted. (CEV-19262)

  • Points on line and area charts are now connected in the order of the x-axis values. (CEV-19049)

  • Creating a release with a trailing space in the name no longer causes issues. (CEV-18686)

  • The application-process connector no longer disappears when changing a target step to Finish when a source step is already connected to another step. (CEV-16808)

  • The example in the “Pipeline Objects and Conditions” section in the “Pipelines” chapter of the ElectricFlow 8.5 User Guide is improved. For details, see the guide at the Electric Flow 8.5 documentation site . (CEV-13344)

  • Special characters are now allowed in the property sheet path for procedure parameters of the dropdown menu type used for pipeline stage tasks. (CEV-12350)

  • Deadlocks on Microsoft SQL Server including the query "SELECT * FROM ec_sm_state WITH (TABLOCK*) WHERE state_machine_id = @P0"are fixed. (NMB-27077)

  • The repository server keystore certificate is renewed and is valid until Sep 5, 2023. (NMB-26777)

  • The FindObjects API would now return an error if it is used to generate a query with an empty IN clause (which is illegal in SQL). In previous ElectricFlow versions, the database error was ignored, and an empty result set was returned. (NMB-26510)

  • In the Automation Platform, email configurations that have mail user authentication credentials no longer store passwords in the database as plain text. (NMB-26509)

  • In the Automation Platform, DevOps Insight Server configuration settings that have authentication credentials no longer store passwords in the database as plain text. (NMB-26508)

  • (Microsoft SQL Server only) A performance issue where job steps would spend an excessive amount of time in the “waiting” state is fixed. (NMB-26265)

  • An issue is fixed where the web server could not find the plugins directory on a network drive because the PHP layer is 32-bit and not able to access the 64-bit plugins share in Amazon EFS. (NMB-26176)

  • Descriptions of the Elasticsearch and Logstash ports in the installer dialog boxes and command line prompts are improved. (NMB-26129)

  • The required umask and permissions that the ElectricFlow installer sets on all ElectricFlow directories and files are added to the ElectricFlow 8.5 Installation Guide . For details, see the ”umask and File Permission Requirements” section in the “Installing ElectricFlow” chapter of the guide at the Electric Flow 8.5 documentation site . (NMB-26060)

  • An issue where the DevOps Insight Server (with SSL enabled ) failed on a VM when you specified a hostname during installation that started with a digit or number is fixed. The installer now informs you of the proper naming conventions and prompts you to enter another name instead of failing with a Failed to Initialize Elasticsearch Keystore error message. (NMB-25626)

  • When a resource is modified (such as when the host type is changed), the agent is now pinged automatically to make it available for jobs. (NMB-23260)

Behavior Changes

None.

Bundled Plugins

The following plugins are new or updated. ifdef::future[Certain plugins require specific versions of the ElectricFlow server and ElectricFlow agents as noted in the table.]

Name New Version Name New Version

EC-Ansible

1.0.7

EC-Powershell

2.1.0

EC-Artifactory

1.2.1

EC-Selenium

2.0.6

EC-Azure

1.1.6

EC-ServiceNow

2.2.0

EC-AzureContainerService

1.1.0

EC-SonarQube

1.1.1

EC-DefectTracking-TFS

2.0.8

EC-Tomcat

2.3.0

EC-EC2

2.5.2

EC-WebLogic

3.4.0

EC-FlowLogCollector NEW!

1.0.0

EC-WebSphere

2.5.0

EC-Jenkins

1.11.0

ECSCM-Git

3.8.1

EC-JIRA

1.2.0

ECSCM-SVN

3.3.3

EC-Kubernetes

1.1.2

ECSCM-TFS

2.4.0

EC-Maven

2.4.3

For a complete list of bundled plugins, see the “Plugins That are Bundled with ElectricFlow” appendix in the ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation.

Installation and Upgrade Notes

For complete installation and upgrade information, see the ElectricFlow 8.5 Installation Guide at Electric Flow 8.5 documentation.

Upgrading Your Existing ElectricFlow Environment

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

ElectricCommander and ElectricFlow Versions That Are Upgradable

Upgrades to ElectricFlow 8. x are supported only from ElectricCommander 4.2. x or any version before 8.0. Any ElectricCommander systems and servers that are pre-Commander 4.2 must be upgraded to an ElectricCommander 4.2. x release. For upgrade instructions, see the ElectricFlow 8.5 Installation Guide at the Electric Flow 8.5 documentation site.

Upgrading Your DevOps Insight Server to DevOps Insight Server Version 8.5

Upgrading to ElectricFlow 8.5 requires upgrading your older version of DevOps Insight server to DevOps Insight server 8.5.

Upgrading the Database When Upgrading to ElectricFlow 8. x from ElectricCommander 4.2. x

Upgrading to ElectricFlow 8. x from ElectricCommander 4.2. x requires a database upgrade.

Upgrading From a Previous Version Running the Built-in Database to an Electricflow 8.x Database

You cannot upgrade from a previous version running the built-in database to an ElectricFlow 8. x database. If you want to continue using the built-in database in ElectricFlow 8. x , follow the database upgrade procedures described in the ElectricFlow 8.5 Installation Guide at the Electric Flow 8.5 documentation site.

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

If your XML export file from ElectricFlow 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 8.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 8.5 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, Electric Cloud 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 ElectricFlow, 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, Electric Cloud 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 8.5, the ElectricFlow 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 ElectricFlow 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 ElectricFlow 8.0.1 for detailed instructions about safely converting your schema to UTF-8. (NMB-26521)

Upgrading the DevOps Insight Server

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

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 8. x . 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.)

Configuring DevOps Insight Server Security

The introduction of enhanced security for the DevOps Insight server in version 8.0 requires that you specify the security settings during DevOps Insight server installation. These settings are used to enable connectivity and authentication between the DevOps Insight server and the ElectricFlow server. For details about specifying these settings during DevOps Insight server installation, see the “Installing ElectricFlow” chapter of the ElectricFlow 8.5 Installation Guide at Electric Flow 8.5 documentation .

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) “Running the DevOps Insight Server on a System with Other ElectricFlow Components” in the ElectricFlow Installation Guide at Electric Flow 8.5 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 ElectricFlow 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 ElectricFlow 8. x, you must update the application component plugin versions in the export file to the versions on the target ElectricFlow server before importing the data to ElectricFlow 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, ElectricFlow 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 ElectricFlow Plugin Developer Guide at Electric Flow 8.5 documentation . (CEV-3649)

Diffie-Hellman Key Size Incompatibility

To enable the ElectricFlow server versions 7.0 or newer to configure Diffie-Hellman cipher suites properly, ElectricFlow uses OpenSSL-1.0.1T or newer versions with SSLv2 enabled. Because of OpenSSL and JRE changes, the minimum Diffie-Hellman key size requirement is increased to 1024 bits (from 768 bits) as of version 7.0.

Server versions 7.0 or newer use Jetty (a Java HTTP server), which listens on the 8000 (unsecure) and 8443 (secure) ports. Server versions 7.0 or newer use Java 1.8.0_66, in which the ephemeral DH key size defaults to 1024 bits during SSL/TLS handshaking in the SunJSSE provider.

For details on the increase of the key size requirement as of Java 1.6-u101, see the Java release note at https://www.oracle.com/technetwork/java/javase/overview-156328.html#6u101-b31 . For details as of Java 1.7-u85, see the Java release note at https://www.oracle.com/technetwork/java/javase/7u85-relnotes-2587591.html .

Because their minimum key size is 1024 bits, agent versions 7.0 or newer can connect only to:

  • Server versions 5.4, 6.0.1, or 6.5 or higher via ectool

  • External applications that require SSL with a minimum key size of 1024 bits

However, ElectricCommander agents of versions 5.0.6, 5.3, or 5.4 and ElectricFlow agent versions 6.0.1 or 6.5 or newer can connect to all ElectricFlow server versions (including 7.0 or newer) via ectool and ec-perl.

ElectricCommander server versions 5.0.6 or 5.3 or newer can run jobs using all agent versions (including 7.0 or newer). ElectricFlow server versions 7.0 or newer can run jobs using ElectricCommander agent versions 5.0.6 or 5.3 or newer.

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.

  • Session management limitations:

    • When a user logs out, they are logged out only on that node.

    • When a user is deleted from the system, their session is active until it expires.

    • When a job ends, the user’s session is active until it expires.

Known Issues

Performance and Scalability Issues

Performance Impact of Recursive Traversal of Group Hierarchy

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 ElectricFlow 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.

The following response times were recorded during Electric Cloud performance tests with nested LDAP groups support.

Test Environment Details
  • ElectricFlow server

    Intel® Core™ i5-3210M CPU @ 2.50GHz CPU

    3011MiB RAM

    80 GiB (85 GB) VBOX HARDDISK disk

  • Active Directory server

    Intel Core i5-3210M CPU @ 2.50GHz CPU

    2 GB RAM

    Windows Server 2012 R2 OS

  • Performance data set

    5040 users

    126 groups

    Average number of 40 users per group

    Average number of 2 immediate groups per parent group

    Maximum depth of 6 in group hierarchy

Response Times with Active Directory

Average of 1000 API calls with user and group at the fifth nested level in the Active Directory group hierarchy.

API command ElectricFlow 6.5 without recursive group hierarchy traversal ElectricFlow 6.5 with recursive group hierarchy traversal

login

1.066 seconds

1.195 seconds

getUser

1.086 seconds

1.213 seconds

getGroup

0.918 seconds

1.102 seconds

Response Times with OpenLDAP

Average of 1000 API calls with user and group at fifth nested level in the Active Directory group hierarchy.

API command ElectricFlow 6.5 without recursive group hierarchy traversal ElectricFlow 6.5 with recursive group hierarchy traversal

login

0.744 seconds

0.753 seconds

getUser

0.705 seconds

0.714 seconds

getGroup

0.657 seconds

1.011 seconds

Other Known Issues

  • (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-26962 )

  • The ability to search by assignee in a Deployment Report is not available in the DevOps Insight report editor. (CEV-19239 and CEV-19259)

  • All subreleases of a release must appear before the release in the DSL for the release-to-subrelease link to be created. ( CEV-18531 )

  • When you do a full import from version 8.0 to version 8.2 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 ElectricFlow 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-17164 )

  • 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-16930 )

  • A project import might not include the path-to-production view. (CEV-16250)

  • Multiple mapped environments with the same name from different projects are not supported in email notifications. (CEV-16245)

  • During an upgrade from version 8.0 (and prior versions with service and container support) to 8.1, the installer adds a default process to the application scoped service if the service is referenced in an application process step. For all other services in the application that have no reference in the application process step, you must manually create the process using the Hierarchy Menu. ( CEV-16212 )

  • Restarting of imported pipeline runs is not supported. (CEV-16121)

  • The retry count for group tasks or rules using “automated retry on error” is missing from the Pipeline runtime page. (CEV-15829)

  • 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-15122)

  • No error prompt appears for failed tasks and retry tasks during a pipeline runtime. (CEV-14689)

  • The stage inclusion status in the Release Dashboard changes color after a stage is renamed. (CEV-12429)

  • Error prompts for runtimes started by a schedule are not visible if the schedule was created with a missed configuration. (CEV-12363)

  • When an application with snapshots created in ElectricFlow 6.1 or earlier is cloned, and a project containing this application is imported to ElectricFlow 6.3 or higher, the import operation fails. (CEV-11106)

  • (Windows platforms only) When installing DevOps Insight, you cannot use parentheses (round brackets) in the installation directory or data directory paths. For example, the path C:\Program Files (x86)\ElectricCommander is not valid. (NMB-26406)

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

  • (Solaris and AIX platforms only) The artifact cache is not updated during artifact retrieval operations. (NMB-24955)

  • 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-24949)

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

    Restarting the ElectricFlow 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).
  • 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 ElectricFlow 8.5 User Guide at Electric Flow 8.5 documentation.

Documentation and Online Help

Product Documentation

ElectricFlow product documentation is available at Electric Flow 8.5 documentation as follows:

  • ElectricFlow Installation Guide

  • ElectricFlow User Guide

  • ElectricFlow API Guide

  • ElectricFlow Release Notes

  • ElectricFlow SDK Plugin Developer Guide (updated on its own release cycle)

  • ElectricFlow SDK Plugin Developer Release Notes (updated on its own release cycle)

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 CloudBees 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 "Ask" Website

Go to https://ask.cloudbees.com/ —a member-moderated community forum where you can:

  • Ask and answer questions as well as comment on (and vote for) the questions of others and their answers

  • Get help with installation and configuration

  • Submit feedback

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.