Cloudify 6.4.1 Release Notes

Nov 5, 2022

Table of Contents

6.4.1 New Functionality and Improvements
- Corrections and Fixes
6.4 New Functionality and Improvements
- Blueprint Marketplace
- Improved User Experience
- Token-based Authentication
- ServiceNow Integration
- CI/CD Integration Enhancement
- CLI Binary
- Supported Platforms
Operations and Orchestration Improvements
- Auto-labeling
- Terraform Ecosystem
- Onboarding Terraform Templates - Terraform Wrapper
- Terratag
- Infracost
- TFsec
- TFLint
Day-2 Updates and Enhancements
- Check Status
- Check Drift
- Resource Changes, Reconfiguration, and Updates
- Heal
- Input Parameters
- Workflow Availability
Blueprint Development and DSL Improvements
  Composer
    - Resources Visualization
    - Properties Presentation and Editing
    - Input and Output Definitions
    - CFY Linter
    - DSL 1.4
    - Optimization of Input Workflow Parameter Types
    - Workflow Availability Rules
- Plugin Updates
6.3.2 New Functionality and Improvements
- Corrections and Fixes
6.3.1 New Functionality and Improvements
- New Functionality
- Other Corrections and Fixes
6.3 New Functionality and Improvements
- New Functionality
- Other Corrections and Fixes
6.2.1 New Functionality and Improvements
- Corrections and Fixes
6.2 New Functionality and Improvements
- New Functionality
- Other Corrections and Fixes
6.1 New Functionality and Improvements
- New Functionality
- Other Corrections and Fixes
6.0 New Functionality
- Environment as a Service (EaaS) 2.0
- Hierarchy-based Environments View
- Map View
- Embedded Actions
Orchestration at Scale
- Labels and Filters
- Bulk Actions
- Environments Discovery
Operability
- Scheduled Workflows
- Deployment Display Name
- Menu Updates
- Getting Started Wizard
- StarlingX
Developer Enhancements
- The ‘Apply’ Command
- Intrinsic Functions
- Propagation of Workflow Parameters to Sub-components
- Blueprint Labels
Security and Compliance
- ISO Compliance
Maintenance
- Cloudify Cluster Manager
- Agents
- LDAP Authentication Improvements
- Okta IdP SSO Support
Other Improvements
  Deploying Cloudify 6.4.1
  - Upgrading from 5.1.x/ 5.2.x/ 6.0.x
    - Before the Upgrade
    - Upgrading Cloudify All-In-One
    - Upgrading a Cloudify Compact Cluster (3 Nodes)
      - Updating a Cloudify Compact Cluster Leveraging the Cloudify Cluster 
        Manager
      - Manually Updating a Cloudify Compact Cluster
    - Upgrading a Cloudify Fully Distributed Cluster (9+ Nodes)
      - Updating a Cloudify Fully Distributed Cluster Leveraging the Cloudify 
        Cluster Manager
      - Manually Updating a Fully Distributed Cluster
    - Upgrading from Previous Versions (4.x - 5.0.5) to 6.x.x
  - New Installation
  - Download Cloudify 6.4.1
Support
- Support Discontinuance
- Supported Versions

6.4.1 New Functionality and Improvements

This is a maintenance release and does not contain new functionality.

Corrections and Fixes

  • Improvement enabling the upload of snapshots up to 2GB via the UI
  • Correction to installation on RHEL8 
  • Python and libraries security enhancements
  • Corrections for manager uninstallation – enable processing of mounted filesystems.
  • A correction that enables the deletion of an LDAP user when they are part of a group
  • Enhancement preventing modification of system labels via the UI
  • Correction to excessive cron logs
  • UI layout adjustments 
  • Enhanced installation process – allows skipping filesystem replication
  • Fixed logging in containers – enabled logging at /var/log/Cloudify

6.4 New Functionality and Improvements

Blueprint Marketplace 

The Cloudify Marketplace will get your deployment started with dozens of blueprint options to choose. The marketplace blueprints include cloud providers and provisioning resources such as Terraform, Helm, AWS, Ansible, and more.

Improved User Experience

We upgraded the interface and functionality to improve deployment management. 

In version 6.4, the ‘Services and Environments’ are organized by deployment listing starting with the root object in the deployment view. 

  • The workflow listing displays only the workflows available for deployment execution.
  • In the topology view, we improved the visual representation of the resource. The new display presents a cleaner layout with icons corresponding to the cloud provider resources. 
  • The tenant’s name is always visible at the top of the page.

Token-based Authentication

Integrate with Cloudify using tokens that provide access to Cloudify’s API. Create and manage tokens from the new UI interface, CLI, or API.

Learn more: Tokens Documentation

ServiceNow Integration 

Integrating with ServiceNow enables organizations to automate infrastructure and environment delivery initiated from ServiceNow. The environment catalog offers improved handling of request inputs, added cloud configuration governance, and Cloudify Manager connection validation on setup.

Learn More:  Documentation  Developer-Guide

CI/CD Integration Enhancement 

Enhanced integration with CI/CD pipelines by introducing an update to the Jenkins plugin and Cloudify CLI.


Learn more: CI/DC Documentation

CLI Binary

The Cloudify CLI is now available as standalone executables for macOS and Linux. 

Supported Platforms

We now offer support for the RHEL8 operating system.

Operations and Orchestration Improvements

Auto-labeling

Keeping track of resources and locating them on various providers is a challenge. We addressed this issue with auto-labeling and tagging functionality. In version 6.4, the Cloudify Manager comes with pre-configured auto-tagging for deployed resources and labeling for blueprints. This enables users to locate blueprints and deployments by an infrastructure provider and resources at the provider by the name of the deployment that provisioned them.

Terraform Ecosystem

Lifecycle management of multiple resources provisioned by Terraform is a challenge Cloudify has addressed. In version 6.4, Cloudify developed multiple improvements and integrations of the Terraform ecosystem, enabling quick onboarding, resource tagging, security, and module integrity checks.

Learn more: Terraform Plugin Documentation.


Onboarding Terraform Templates – Terraform Wrapper

In order to assist users with onboarding Terraform modules into Cloudify, the Terraform wrapper was introduced. In version 6.4, the wrapper received multiple upgrades extending its usability by enabling a simpler import with automatic detection of variables and outputs, importing local Terraform modules, and improved integration with the Secret store.

Learn more: Create a Blueprint from Terraform Documentation

Terratag

Mapping between the resources in the cloud, environment, deployment, and internal/ external users is a challenge faced by anyone who has even a handful of provisioned resources.

Cloudify provides the methodology and tools to tag the provisioned resources with deployment metadata. In version 6.4, this functionality is available for resources provisioned with the Cloudify Terraform plugin.


Infracost

The integration of the Terracost into Cloudify’s Terraform plugin enables the user to estimate the costs of the resources provisioned by the Terraform module.

TFsec

The Terraform plugin supports security compliance checks and the Terraform module, by using the TFLin, prevents or informs the application of an inappropriate module.


TFLint

Support of TFLint by the Cloudify Terraform plugin enables the deployment to verify the Terraform module before attempting to apply it on the first deployment or updating the module.

Day-2 Updates and Enhancements 

Check Status

In version 6.4, Cloudify can check the status of a resource. The status of the resource’s summary is available in the deployment information. Based on the resource status, Cloudify is able to make a decision on whether it’s required to heal the resource and if it’s available for an update.

Check Drift

Keeping track of the actual resource parameters versus the desired parameters set by the designer is achieved by the check drift workflow and interface. A comparison is made between the parameters set by Cloudify to the actual parameters on the deployed resource. The information from drift is available for each node and has a summary of the entire deployment. Knowing the drift enables Cloudify to make a decision on whether updating the node is required. 

Resource Changes, Reconfiguration, and Updates

Performing changes, reconfiguring, or updating resources is a tough challenge that received our attention in version 6.4. Building on Cloudify’s strong modeling and workflow capabilities, the new sequence update enables cross-system updates that evaluate each resource state versus the expected and updated parameters. Based on the required updated parameters and the state of resources gathered by the check drift and the check status operation, the optimal workflow sequence is determined.

Heal

Deleting and redeploying a resource is a heavy operation. In many instances, the managed resource can be healed by restarting, resuming, or refreshing. The new heal workflow will determine the resource status with the check status operation. If the heal option is available, Cloudify will heal the resource instead of destroying and recreating it.

Input Parameters

Running day-2 operations such as heal or scale of resources becomes straightforward by improving the selection of workflow parameters.

Workflow Availability

Improved operational clarity by presenting the workflows that are available to run on the deployment, based on the state of the resources and the types of resources found in the deployment.

Blueprint Development and DSL Improvements 

Composer

Cloudify is moving forward to optimize and speed up blueprint development to enable users to compose environments and services in a drag-and-drop environment. This will address the challenge of integration and composition of resources. In version 6.4, the composer received improvements and optimization in multiple areas.

Learn More: Composer Documentation

Resources Visualization

Improved topology presentation of resources provided by the plugins. 

Properties Presentation and Editing

Presentation of resource properties and the ability to fill in properties with functions and inputs.

Input and Output Definitions

Visual definition of blueprint inputs and outputs with the ability to add restrictions and validations.

CFY Linter

CFY Linter is an offline tool that can be used as part of the blueprint development process or as part of your CI/CD to make the blueprint valid.

DSL 1.4

Cloudify Manager 6.4 supports DSL 1.4, which brings new features to manage Day-0 and Day-2 operations more efficiently. The features are available only for blueprints that use DSL1.4. For blueprints with DSL1.3, the behavior will remain as is.

Optimization of Input Workflow Parameter Types

Providing Cloudify objects as inputs to blueprints and workflows is simpler with new types that enable the user to select the options from dropdown menus, reducing human error.

Workflow Availability Rules

Developers have full control over the workflows available to the operator. Now it’s possible to define rules that determine when the workflow can be triggered. For example, to avoid triggering a day-2 operation when the system is not installed yet. It’s possible to control workflow availability by the state of the deployment (installed/ not installed). Workflow availability rules can be configured to make a workflow available only when specified resource types are present in the blueprint. 

Plugin Updates 

The following plugins have been updated to enhance functionality and security:


6.3.2 New Functionality and Improvements

Release 6.3.2 is a maintenance release that does not contain new functionality.

Corrections and Fixes

  • Corrections to upgrade
    • Failure when rsyslogd is installed and stopped
    • Failure when the IP Addresses are not set in config.YAML
    • Upgrade 5.2.7 to 6.3.2: details of last execution and haproxy errors
  • Correction to Setting CFY_EXEC_TEMP on mgmtworker extra_env breaks sanity
  • Correction to supervisor CRIT Errors on startup

6.3.1 New Functionality and Improvements

New Functionality 

  • Resource tags can be defined with intrinsic functions. Plugins are capable of tagging deployed resources. This update enables setting tag values from an intrinsic function that can retrieve manager or deployment information.
  • Terraform modules are now enabled to use Git to retrieve modules from the registry. Many Terraform modules rely on Git to retrieve dependency modules from the Terraform registry. Now Cloudify supports that functionality by adopting Git packages to the manager OS image.
  • Marketplace buttons and deployment count widget view on blueprints page. The actionable buttons to quickly access the marketplace and import a blueprint that appears on the dashboard were added to the blueprints page to allow quicker import of the blueprints from the marketplace.
    For more information on the Blueprints, please read:
    https://docs.cloudify.co/6.3.0/working_with/console/pages/blueprints-page/
  • Improvements to the upload blueprint from Terraform module interface. The dialog to create a blueprint from Terraform was updated in order to improve user experience with better error handling and the ability to reference secrets that have not yet been defined. This component will continue to be enhanced in future releases.
    For more information on creating blueprints from Terraform modules, please read:
    https://docs.cloudify.co/6.3.0/trial_getting_started/ft_start/tf_geting_started/

Other Corrections and Fixes

  • Improvements and clarification of logs
    Duplicated log entries were removed that were constantly reappearing in the log, clarifying logged information by keeping important entries more visible. These improvements apply primarily to Docker containers.
  • Maps display on widget, updates and fix
  • Cloudify-API startup fixes after cluster update
  • Cluster status tracking of scheduler and Cloudify API fix
  • Fix to the cfy_manager help command
  • Enforcement of HTTP proxy settings on external requests

6.3 New Functionality and Improvements

Cloudify’s version 6.3 contains new functionality that extends and improves usability and orchestration capabilities along with new stability fixes The main focus of the release is to enable DevOps teams to produce self-service environments and scale up their services by strengthening integrations with Terraform and ServiceNow – as well as to improve user experience by simplifying orchestration and the UI. 

The improvements in version 6.3 were performed in the following areas:

New Functionality

  1. Terraform Integration
    Terraform UI experience has been added that enables DevOps professionals to seamlessly import unlimited Terraform modules to Cloudify without writing blueprints or glue code. This advancement enables DevOps teams to turn their Terraform modules into self-service environments and scale up their services to the organization through Cloudify’s Environment as a Service approach.
    • UI widget to create a blueprint directly from a Terraform module
    • Introduction of plan and apply workflows
    • Predefined filter to locate and manage freeform-based deployments
    • Additional Terraform-based blueprints on the marketplace
  1. ServiceNow Integration
    The deep integration of Cloudify with the ServiceNow platform enables a self-service experience for developers needing to rapidly spin up and tear down dev/ test environments with minimal effort, as well as simplify change management of production environments.
    • Cloudify received certification with ServiceNow.
    • Cloudify automates the certified environments creation process
    • Day-2 management of certified environments through ServiceNow workflows
    • Cloudify’s integration is now available in the ServiceNow store
  1. UI and UX Improvements
    • New expandable side menu with page grouping, updated design, and behavior
    • Deployment creation and dialogue improvements 
    • Actionable dashboard layout and indicators
    • Improved Getting Started and cloud account setup wizard
  1. Orchestration Improvements
    • Automatic tagging of cloud resources
    • On-demand shared components enable reduction of unutilized resources uptime
    • Automatic labeling of blueprints and deployments based on plugin and technology
    • Introducing Resource Status Checks and format drift detection workflows
  1. Blueprint DSL Capabilities
    • Scale intrinsic functions and  retrieve runtime information from scaled nodes
    • String processing of intrinsic functions enables string manipulation with the DSL
    • System intrinsic functions retrieve deployment and manage information
  1. Security Administration and Maintenance
    • Improvements to LDAP authentication integration
    • Resource change ownership for blueprint, secrets, plugins, and deployments
  1. Plugins Enhancements
    • New Terragrun plugin
    • Terraform additional workflows and various fixes (see section 1)
    • New AWS support to create a resource, if missing and various fixes
    • New GCP updated example fixes to HTTP-balancer and SSL-balancer nodes
    • Azure support to create a resource, if missing various error fixes
    • K8s improvement search for mapping in Python library and various fixes
    • Vsphere improved scale down, shutdown, and restarting of an instance and various fixes
    • Fixes and corrections in the following plugins: Utilities, vCloud, Ansible, Fabric, and Helm

Other Corrections and Fixes 

Fixes and corrections were performed in the following areas:

  • Fixed multiple deployment changes in lock race condition
  • Reduced memory usage 
  • Error information level improvements
  • Enhancements to the deployment update workflow
  • Enhancements to the cluster mechanisms
  • CLI output table improvements
  • CLI error information level  improvements
  • CLI fixes to deployment creation command

6.2.1 New Functionality And Improvements

6.2.1 release is focused on backend improvements and stability, it does not contain new functionality.

 Corrections and Fixes

  1. Cloudify Manager and CLI
    Blueprint upload Correction, Upload might get stuck in uploading state
    Correction to cffi library version
    Blueprint listing correction in case there are no blueprints
    Plugins bundle upload correction
    Corrections and improvements of the testing and build process
    Corrections to workflow schedule setup

6.2 New Functionality and Improvements

New Functionality

Version 6.2 contains functionality improvements and extensions to features introduced in version 6.1. Improvements were performed in the following areas:

  1. UI & UX Improvements
    Enhancements to Dashboard
    Blueprint marketplace UX update
    Blueprints have a user-friendly display label
    Added ability to hide inputs when creating deployments
    Filters autocomplete for default filter and deployment display name search
    Enhancements to deployments view
    Automated plugin upload on blueprint upload
  2. Security
    Auditing activity in Cloudify
  3. Blueprints DSL
    Intrinsic functions to handle properties of scaled nodes
  4. Kubernetes:
    New Kubernetes ‘Getting Started’ guide
    Discovery for GKE
    Deploy-on example with EKS
    Additional examples in catalog
  5. Plugin Enhancements
    Plugins upload UI and installation UI improvements
    Ansible plugin support for Galaxy collections
    AWS plugin enhancements
  6. Installation and Maintenance
    Helm enhancements and documentation

Other Corrections and Fixes

  1. Authentication and Audit
    Correction to enable support for OCTA groups
    Example section for LDAP configuration
  2. Orchestration at Scale
    Enchantments to deploy-on deployment naming
  3. Deployment Lifecycle
    Enhancements to deployment update
  4. Performance Improvements
    Optimization of workflow task handling
  5. Workflow Engine
    Correction to resuming workflows with subgraphs
  6. Installation and Maintenance
    Correction of process installation with the existing database
    Snapshot corrections for deployments with a large amount of node instances
    Correction to uninstall clean up

6.1 New Functionality and Improvements

New Functionality

Version 6.1 contain functionality improvements and extensions to features introduced in version 6.0, the improvements were performed in the following areas:

  1. Filters
    Filters now can be updated and defined dynamically on the environments and service view pages
  2. Batch Executions
    Improvements of batch executions: backend and interface
    Performance improvements of executions
  3. Deployment Display Name
    Extended support for UI widgets to display the deployments display name 
  4. Authentication Improvements
    Documentation, improved error messages, and roles improvements for LDAP
  5. Environment Discovery
    Discovered Kubernetes environments now support token refresh
  6. General
    IPV6 Support – adjustment of internal service for IPV6 environments

Other Corrections and Fixes 

  1. High Availability and Load Balancing Clustering
    Fixed: cluster teardown fails with SSL
    Improved logging for cluster manager
    Fixed: Patroni permissions on the data directory
    Remove cluster manager RPM on clean up
    Fixed installing cluster without SSL
    Fixed log download issue in 3 node cluster configuration
  2. Manager UI
    Improvements to deployment display, topology and map view
    Topology zooming improvements
  3. Plugins Related
    Terraform plugins directory structure support
    Fixed: rendering issues for Terraform topology
  4. Manager Backup Snapshots
    Fixed: snapshot issue resulting in an error with high node count

6.0 New Functionality

The key theme of v6.0 is Workload orchestration at scale.

Providing complete governance over a single service or environment orchestration had been the focus of Cloudify in previous versions, and we take pride in our abilities to provide complete automation and day-2 management to any service, simple or complex, over every combination of infrastructure, platform, and scenario.

Real-life scenarios, however, don’t stop at that. With new Cloud-native and agile approaches, services are deployed over thousands of locations and require ongoing maintenance regardless of the underlay.

Cloudify 6.0 takes that to the next level with the ability to deploy, manage, and maintain workloads over thousands of locations in one action. Installation, update, configuration, modification, removal, and all other workflows can be executed over any number of services, based on a smart placement policy that takes into account any meaningful criteria – OS, architecture, location, and version are just a few examples.

Environment as a Service 2.0
Hierarchy-based environments and services new pages allow for a clear view of your entire system, with the ability to tune it to your organization’s needs and set it up automatically.

Automatic discovery of environments and the ability to deploy a service onto multiple environments (potentially tens of thousands) unleash the operator’s power to run multi-geography services as easily as deploying a local one.

Characterize your services and environments and apply smart placement policies
This major theme introduces enhancements to the way services and environments are described in the Cloudify database. By automatically or manually assigning labels to the objects, one may assign any set of criteria to their deployments and use that info to slice and dice their objects by any criteria that make sense. This allows for smart placement policies as well as mass day-2 operations over any group of services.

Operability
With Cloudify 6.x, managing Cloudify is more granular and easier than before.

Recurrent workflows, usability improvements, onboarding wizard, and extended developer options are just some of the enhancements applied.

Cloudify 6.0 is a major Cloudify release containing over 300 developed stories and 350 resolved issues and tasks, improving all aspects from functionality to robustness and security.

Environment as a Service (EaaS) 2.0

Building on top of the foundations set in previous releases, Cloudify v6.0 includes dedicated `Environments` views and actions.

Hierarchy-based Environments View

The new environments page was designed to be the operator’s one-stop-shop for data, monitoring, and actions. It features three synchronized panes allowing quick identification of any service requiring attention based on its state, detecting data-center or regional issues, quick access to the complete details of the environment or service deployment details, immediate action, and workflow execution.

Each environment shares the aggregated state of all of its sub-environments and services which allows quick identification of issues. Drill-down to the root cause is done via the same page, and corrective actions are taken via the embedded workflow or action options.

Map View

The map view was adjusted to support tens of thousands of locations and hundreds of thousands of services and environments. It is optimized for anything from several regions, branches or data centers, to huge edge networks.
The operator view allows quick focus on the area or location of interest while reducing map clutter by aggregating and grouping items.

Embedded Actions

Run any day-1 or day-2 operation directly from the main view. See your updates take place in real time. Resolve issues and track the impact from a single view.

Learn more about the new Deployments view

Orchestration at Scale

Installing a single instance of an application or a service can be as easy or as complex as the service design and the infrastructure used. Running that service or app over 10K locations is more challenging.

With Cloudify 6.0 you can build your own placement policies by any criteria, and push both day1 and day 2 operations over any set of environments and services.
Installing a new service in all of your US branches, or running a certificate refresh over all of your production load balancers are just two examples of the new bulk actions.

Labels and Filters

Labels are sets of key+value which can be assigned with every Cloudify deployment. Labels are completely granular and any set of labels can be assigned to a deployment or to a set of deployments.

For example: one may assign labels to characterize the geo-details (region=”US East”, location=NY), the architecture (platform=K8s, OS=linux), metadata (type=environment, upgrade-group=green), and so on.

Labels can be assigned and maintained at any phase of the lifecycle. A developer may set them as part of the blueprint, a user may specify them during deployment, and an admin may manage labels post-deployment during its existence.

Labels allow easy characterization and make Cloudify a single source of truth regarding the criteria, removing the need to maintain tables/files with various lists of services.

Learn more about labels and the different options to manage them.

Once labels are applied, filters allow the user to group deployments by any combination of properties and thus slice and dice their services and environments to detect all items that comply with the filter’s logic.

Filters support multiple rules by various aspects such as labels, site, blueprint and owner, and a complete set of operators and logic. The user may save the filters and reuse them.

Filters can be used in the environments and Services views, but more importantly, filters are the basis for the bulk actions, allowing the user to deploy a service onto multiple environments or run a day2 operation over multiple services.

By selecting a filter, the user defines the list of systems onto which they wish to run the bulk actions, which makes for an extremely flexible placement policy.

Learn more about filters.

Bulk Actions

6.0 introduces two types of bulk actions, Deploy-on and run workflow.

Deploy-on allows the user to deploy a service onto multiple environments. For example, the user may select all of their EKS clusters that are used for staging as the list of environments, and use the Deploy-on bulk action to deploy the latest version of their application using a helm chart over these clusters.

Cloudify will leverage the filter and the labels to generate the list of target environments, and then iterate the installation of the service while making the correlation between each environment and the service deployed on it. Using this approach, the user will not need to maintain the different environments credentials or details. Each environment will declare its properties such that the placement will be done automatically.

Run Workflow allows the user to apply a day-2 operation over a large set of services and environments. After selecting the target list of deployments leveraging the new filters, the user selects the required day-2 operation, for example, run a security patch. Cloudify will apply the relevant workflow on each of the environments based on the specific workflow defined for that service or environment.

Deploy-on and run workflow bulk actions are available through API, CLI, and Web UI. The results of both can be tracked via the execution widget.

Learn more about bulk actions.

Environments Discovery

Populating the Cloudify DB with hundreds or thousands of existing environments is an important step on the path toward large-scale orchestration. Of course, such actions can be done manually or via a scripted flow. However, these options are cumbersome and error-prone. 

Cloudify 6.0 extends the options for auto-population of environments by adding an environment discovery automated workflow.

The new workflow scans existing services and retrieves the environment information into the Cloudify DB, thus allowing the user to discover their set of Amazon Kubernetes clusters (for example) and create an environment in Cloudify per EKS cluster. Each discovered system is then labeled automatically for its region, location, flavor, and more. Information such as the connection-token is also retrieved and securely stored to allow direct and seamless orchestration of services over this environment.

Once environment discovery is complete, the system has all the required details to allow for a smart placement policy over these clusters (by criteria), and the required credentials allowing seamless installation or day-2 operation over these environments.

Discovery can be executed as a recurrent workflow, it will detect newly added systems and import them into Cloudify while identifying already imported systems to keep an updated picture at all times.

Version 6.0 provides out-of-the-box support for EKS and StarlingX discovery. These can easily be extended for more platforms and infrastructures via their dedicated plugins and follow-up releases will include support for AKS discovery, OpenShift discovery, and multiple more platforms.

Operability

Scheduled Workflows

Scheduling a workflow was introduced in Cloudify 4.6, allowing users to set the expiration time to installed systems (scheduled uninstall), run workflows at specific time windows, and more.

Cloudify 6.x adds recurrent schedules, allowing the user to set up any workflow to be executed on a regular basis at a specified time. Backing up systems, refreshing keys and tokens, scheduling maintenance patches, or setting up systems to be deployed and removed every weekend can now be easily set.

This provides both additional required functionality, and potentially a large cost reduction by using resources only at the time they are needed.

6.0 further extends the developer’s abilities to set the scheduling as part of the blueprint definition, thus any deployment generated from that blueprint will spawn its scheduled workflows during its deployment.

The scheduling structure is extremely flexible and allows for frequent (every minute) recurrences, minutely, hourly, daily, weekly, and monthly options with smart flags (e.g. the last Monday of the month, how to handle failure and retry, how to handle downtime during scheduled execution, and more).

The workflow scheduling mechanism was updated and it is now running as a dedicated service. 

Deployment Display Name 

Cloudify deployment objects are identified by a unique ID through which other deployments may access the details of this deployment, users may search and detect that deployment.

In version 6.0 an additional property, Display Name is added to the deployment and presented next to the ID.
The Display Name may consist of any UTF8 character and contain spaces and special characters that are not allowed as part of the ID.

In various reports and views, the user may now filter by the Display Name as well as the ID.

Upon deployment creation, it is optional for the user to submit a unique ID for the deployment. If they do not, the system allocates a UUID.

Menu Updates

Version 6.0 introduces an update to the settings and resources options on the left menu.

All system resource options are now grouped and managed as tabs under the Resources menu option. The tabs include Secrets, Plugins, Sites, Agents, and Filters.

The new System Setup menu item includes tabs for the following: Users, Groups, Tenant Management, System Health, System Logs, and Snapshots.

Getting Started Wizard

For first-time users, Cloudify 6.x includes a Getting Started wizard, designed to simplify the initial setup experience for the Cloudify Manager.

The wizard walks the users through selecting the target infrastructures, uploading the relevant plugins, setting up the proper secrets (for access credentials), and uploading example blueprints.

The wizard appears upon login, unless opted out by the user. The admin may set this option to enabled/disabled.

StarlingX 

The StarlingX plugin is introduced as part of Cloudify 6.0. The new plugin provides discovery capabilities over StarlingX-based platforms. It has the ability to scan central controllers for subcloud objects, retrieve all related subcloud platforms, import their details into Cloudify, and label them based on existing properties. It further allows deployment of Kubernetes and Openstack based services over the relevant platforms.

Learn more about the StarlingX plugin.

Developer Enhancements

The ‘apply’ Command

The cfy apply command simplifies the development lifecycle by providing an easy update and testing flow in one command. It is used to install/update a deployment using Cloudify manager without having to manually go through the process of uploading a blueprint, creating a deployment, and executing a workflow

Upon introduced changes, the apply command will either deploy & install the new blueprint if such an instance does not exist yet, or will take the existing instance and update it with the new changes. 

Learn more about the apply command.

Intrinsic Functions

Cloudify v6.0 provides two new intrinsic functions allowing the blueprint developers to extract more information during deployment and runtime. get_label retrieves label value based on its referred key, and get_environment_capability retrieves a capability from the parent environment onto which that service is being deployed.

Using these intrinsic functions, the developer can set services to auto-retrieve environment details and seamlessly deploy itself over that environment with zero user inputs. It allows for an easy placement policy over different systems with different credentials or onboarding flows, by letting the service pick up the required info automatically from the environment.

Learn more about the intrinsic functions.

Propagation of Workflow Parameters to Sub-components

When executing a workflow that is propagated to deployment components, the workflow parameters are propagated as well. This is true for all workflows and all workflow parameters. If such parameters do not exist they are ignored.

Blueprint Labels

Similar to the deployment labels, a developer may now assign labels to blueprints, which allows for a search through the blueprints by category or any criteria.

Learn more about blueprint labels.

Security and Compliance

As with every Cloudify release, security improvements are included in v6.0. All used packages have been updated to accommodate all the latest security patches, and all known issues handled in all previous Cloudify patches have been resolved in v6.0. 

ISO Compliance

Cloudify is ISO 27001 (Security) and ISO 27701 (Data Privacy) certified.

Maintenance

Cloudify Cluster Manager

The Cloudify Cluster Manager is a tool simplifying the installation and upgrade of a Cloudify management cluster. Using a configuration file, the entire installation flow and setup (SSL certificates and more) is applied automatically. Once used for the installation, all following upgrades can be applied using the Cluster Manager running just a few commands executed from one node to upgrade the entire cluster.

It is capable of installing fully distributed clusters (>9 nodes) and compact clusters (3 nodes) with both embedded and external database.

Learn more about the Cluster Manager.

Agents

Cloudify 5.2 extends the agents OS support to include: 

  • RHEL 8.x agent
  • CentOS 8.x agent

LDAP Authentication Improvements

LDAP properties can now be configured allowing support for non-standard user directories through customization of:

  • Base DN
  • Group DN
  • Bind format 
  • User filter
  • Group member filter
  • Attributes used for the first name, last name, email, group membership, and uid

Providing admin credentials is no longer required. If credentials are configured they will be used, otherwise, the user login credentials are used to retrieve the group info.

Learn more

Okta IdP SSO Support

Cloudify supports several methods of user authentication to the Cloudify Management Console. One of the methods is allowing Single Sign-On (SSO) experience leveraging Identity Providers (IdP).
In v5.1.2 the framework was updated to accommodate the latest changes and Okta’s latest release is now fully supported.

Learn more

Other Improvements

v6.0 includes many medium and minor enhancements and improvements. 

  • Helm plugin – add support for verify_ssl
  • Sites map widget updated to reflect new states (Good, In progress, Requires attention)
  • Asynchronous deployment creation, starting v6.0 nodes and node instances are generated using a workflow in an asynchronous mode
  • Performance enhancements
  • Asynchronous blueprint upload
    • Blueprint upload to the system is now done in an asynchronous manner. The upload state is updated in the UI and can be queried through the CLI. The change is backward compatible.
  • API results caching was introduced for repeatable UI requests
  • Index optimization was applied
  • Deployment groups (API/ CLI only) – Deployments may be grouped leveraging a filter or through manual addition, and the groups can be used for bulk actions 
  • Jenkins logging. Improved visibility to errors in Jenkins nodes
  • White labeling and customization
    • Composer customization was added
    • String localization support was added

Deploying Cloudify 6.4.1

v6.4 can be deployed as a new installation, as an in-place update over a  5.2.x / 6.0.x Cloudify Manager, or as an upgrade version for any supported previous Cloudify release. 

Upgrading from  5.1.x/ 5.2.x/ 6.0.x

NOTE! 

Upgrading from 5.1.0 is supported only via snapshots, if you want to avoid the upgrade via the snapshot process, please upgrade first to any of the following 5.1.1, 5.1.2, 5.1.3, 5.1.4, and then continue the upgrade to 6.4. 

Before the Upgrade

As a best practice, we recommend taking a snapshot of the system before the update. Read this page for more details.

NOTE!
If the Cloudify cluster you are upgrading from was deployed using the Cloudify Cluster Manager (which is the recommended approach), you can simplify the update process to 6.2.x by running it through the Cluster Manager.
Below, you can find the procedures for either using the Cluster Manager, or a manual flow.

Tip: the upgrade steps require yum installation of the 6.4 RPM. This can be done either by downloading the rpm package to the local Cloudify nodes and directing the command to the rpm path or by referencing the URL of the package. The second option requires a live connection to the package path. Here are usage examples for both:

# Downloading the RPM to the current directorycurl -O http://repository.cloudifysource.org/cloudify/6.4.1/ga-release/cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm# Installing the downloaded RPMsudo yum install -y cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm
# Installing the RPM directlysudo yum install -y http://repository.cloudifysource.org/cloudify/6.4.1/ga-release/cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm

Upgrading Cloudify All-In-One

Update steps:

  1. Install the new 6.3.0 cloudify-manager-install RPM, by using the command:
    sudo yum install -y <6.4.1 RPM>
  2. To start the upgrade, run the command:
    cfy_manager upgrade
  3. If Cloudify agents are used in your deployments, run:
    cfy agents install
  1. When opening the Cloudify Management Console after the upgrade, you might see “This page is empty”, this happens because of cached data. To solve this, reload the page in your browser.

Upgrading a Cloudify Compact Cluster (3 Nodes)

If the initial cluster installation was done using the Cloudify Cluster Manager, follow this simplified process.

Updating a Cloudify Compact Cluster Leveraging the Cloudify Cluster Manager

You can use the Cloudify Cluster Manager tool to upgrade a compact cluster: 

Upgrade your Cloudify Cluster Manager by running:
sudo yum install -y http://repository.cloudifysource.org/cloudify/6.4.1/ga-release/cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm

On the host that has Cloudify Cluster Manager installed, run: cfy_cluster_manager upgrade.
Optional Arguments: 

–config-path The completed cluster configuration file path. Default: ./cfy_cluster_config.yaml.

–upgrade-rpm Path to a v6.4.1  cloudify-manager-install RPM. This can be either a local or remote path.


http://repository.cloudifysource.org/cloudify/6.4.1/ga-release/cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm

-v, –verbose Show verbose output

Running this command will automatically run the upgrade procedure on the cluster. 

If the Cluster was manually deployed, please follow this procedure instead:

Manually updating a Cloudify compact cluster

  1. Install the new 6.4.1 cloudify-manager-install RPM on all 3 nodes of the cluster, by using the command:
    sudo yum install -y <6.4.1 RPM>
    Repeat this step on all 3 nodes.
  2. On each of the cluster nodes, run  cfy_manager upgrade -c <path to DB config>.
    Do it one after the other, not in parallel.

    Tip: If you used the cloudify-cluster-manager tool to generate the Cloudify cluster, the path to the DB config file is   /etc/cloudify/postgresql-<node number>_config.yaml. If the cluster was manually installed, please direct the command to the path of the file you generated.
  3. On each of the cluster nodes, run  cfy_manager upgrade -c <path to rabbitmq config>.
    Do it one after the other, not in parallel.

    Tip: If you used the cloudify-cluster-manager tool to generate the Cloudify cluster, the path to the RabbitMQ config file is  /etc/cloudify/rabbitmq-<node number>_config.yaml. If the cluster was manually installed, please direct the command to the path of the file you generated.
  4. On each one of the cluster nodes, run  cfy_manager upgrade -c <path to manager config>
    Do it one after the other, not in parallel.

    Tip: If you used the cloudify-cluster-manager tool to generate the Cloudify cluster, the path to the manager config file is /etc/cloudify/manager-<node number>_config.yaml. If the cluster was manually installed, please direct the command to the path of the file you generated.
  5. If Cloudify agents are used in your deployments, run the following command from just one of the cluster nodes:
    cfy agents install
  6. When opening the Cloudify Management Console after the upgrade, you might see “This page is empty”, this happens because of cached data. To solve this, reload the page in your browser.

Upgrading a Cloudify Fully Distributed Cluster (9+ nodes)

If the initial cluster installation was done using the Cloudify Cluster Manager, follow this simplified process.

Updating a Cloudify Fully Distributed Cluster leveraging the Cloudify Cluster Manager

You can use the Cloudify Cluster Manager tool to upgrade a fully distributed cluster: 

Upgrade your Cloudify Cluster Manager by running
sudo yum install -y https://repository.cloudifysource.org/cloudify/cloudify-cluster-manager/1.1.4/ga-release/cloudify-cluster-manager-1.1.4-ga.el7.x86_64.rpm

On the host that has Cloudify Cluster Manager installed, run cfy_cluster_manager upgrade.
Optional Arguments: 

–config-path The completed cluster configuration file path. Default: ./cfy_cluster_config.yaml

–upgrade-rpm Path to a v6.4.1 cloudify-manager-install RPM. This can be either a local or remote path.
Default: http://repository.cloudifysource.org/cloudify/6.4.1/ga-release/cloudify-manager-install-6.4.1-ga.el7.x86_64.rpm

-v, –verbose Show verbose output

Running this command will automatically run the upgrade procedure on the cluster. 

If the cluster was manually deployed, please follow this procedure instead:

Manually updating a Fully Distributed Cluster

Update steps:

  1. Install the new 6.4.1 cloudify-manager-install RPM on all the cluster nodes, by using the command:
    sudo yum install -y <6.4.1 RPM>
    Repeat this step on all 9 nodes.
  2. On all three database nodes run cfy_manager upgrade.
    Do it one after the other, not in parallel.
  3. On all three RabbitMQ nodes run cfy_manager upgrade.
    Do it one after the other, not in parallel.
  4. On all manager nodes, run cfy_manager upgrade.
    Do it one after the other, not in parallel.
  5. If Cloudify agents are used in your deployments, run the following command from just one of the manager nodes:
    cfy agents install
  6. When opening the Cloudify Management Console after the upgrade, you might see “This page is empty”, this happens because of cached data. To solve this, reload the page in your browser.

Upgrading from Previous Versions (4.x – 5.0.5) to 6.x.x

The upgrade flow from versions 4x – 5.0.5 to versions 5.1 and above requires additional steps. This is due to the Python 3 migration introduced in 5.1. This migration requires updating plugin code.
Please review the 5.1 upgrade procedure carefully and consult with the Cloudify support team to assure a smooth and successful upgrade. 

New Installation

Download Cloudify 6.4.1

Premium Manager

Premium CLI packages:

Support

Support Discontinuance

With the official end of life for CentOS 6.x on November 30th, 2020, starting Cloudify 5.1.1 CentOS 6 agent is not supported (nor provided in the package).

Supported Versions

Listed below are the support discontinuance dates for the recent Cloudify versions. As of these dates, the respective versions will no longer be supported under the standard Cloudify support agreement.

VersionSupport Discontinuance Date
Cloudify Premium & Community Editions v4.6.xApr. 17th, 2021
Cloudify Premium & Community Editions v5.0.5Feb. 3rd, 2022
Cloudify Premium & Community Editions v5.1.xOct. 19, 2022
Cloudify Premium & Community Editions v5.2.xApr. 5, 2023
Cloudify Premium & Community Editions v6.0.xMay 26, 2023
Cloudify Premium & Community Editions v6.1.xAug. 10, 2023
Cloudify Premium & Community Editions v6.2.xSep. 22, 2023
Cloudify Premium & Community Editions v6.3.xFeb. 09, 2024
Cloudify Premium & Community Editions v6.4.xAug. 18, 2024
Back to top