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:
- Cloudify Terraform Plugin
- Cloudify AWS Plugin
- Cloudify Azure Plugin
- Cloudify Kubernetes Plugin
- Cloudify Ansible Plugin
- Cloudify Vsphere Plugin
- Cloudify Utilities Plugin
- Cloudify OpenStack Plugin
- Cloudify Docker Plugin
- Cloudify Fabric Plugin
- Cloudify vCloud Plugin
- Cloudify StarlingX Plugin
- Cloudify Terragrunt Plugin
- Cloudify Netconf Plugin
- Cloudify Spot Ocean Plugin
- Jenkins Cloudify Plugin
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
- 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
- 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
- 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
- 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
- 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
- Security Administration and Maintenance
- Improvements to LDAP authentication integration
- Resource change ownership for blueprint, secrets, plugins, and deployments
- 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
- 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:
- 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 - Security
Auditing activity in Cloudify - Blueprints DSL
Intrinsic functions to handle properties of scaled nodes - Kubernetes:
New Kubernetes ‘Getting Started’ guide
Discovery for GKE
Deploy-on example with EKS
Additional examples in catalog - Plugin Enhancements
Plugins upload UI and installation UI improvements
Ansible plugin support for Galaxy collections
AWS plugin enhancements - Installation and Maintenance
Helm enhancements and documentation
Other Corrections and Fixes
- Authentication and Audit
Correction to enable support for OCTA groups
Example section for LDAP configuration - Orchestration at Scale
Enchantments to deploy-on deployment naming - Deployment Lifecycle
Enhancements to deployment update - Performance Improvements
Optimization of workflow task handling - Workflow Engine
Correction to resuming workflows with subgraphs - 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:
- Filters
Filters now can be updated and defined dynamically on the environments and service view pages - Batch Executions
Improvements of batch executions: backend and interface
Performance improvements of executions - Deployment Display Name
Extended support for UI widgets to display the deployments display name - Authentication Improvements
Documentation, improved error messages, and roles improvements for LDAP - Environment Discovery
Discovered Kubernetes environments now support token refresh - General
IPV6 Support – adjustment of internal service for IPV6 environments
Other Corrections and Fixes
- 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 - Manager UI
Improvements to deployment display, topology and map view
Topology zooming improvements - Plugins Related
Terraform plugins directory structure support
Fixed: rendering issues for Terraform topology - 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.
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.
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:
# 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:
- Install the new 6.3.0 cloudify-manager-install RPM, by using the command:
sudo yum install -y <6.4.1 RPM> - To start the upgrade, run the command:
cfy_manager upgrade - If Cloudify agents are used in your deployments, run:
cfy agents install
- 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
- 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. - 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. - 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. - 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. - If Cloudify agents are used in your deployments, run the following command from just one of the cluster nodes:
cfy agents install - 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:
- 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. - On all three database nodes run cfy_manager upgrade.
Do it one after the other, not in parallel. - On all three RabbitMQ nodes run cfy_manager upgrade.
Do it one after the other, not in parallel. - On all manager nodes, run cfy_manager upgrade.
Do it one after the other, not in parallel. - If Cloudify agents are used in your deployments, run the following command from just one of the manager nodes:
cfy agents install - 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
- To deploy a single All-In-One manager, please follow the AIO manager installation guide.
- To deploy a highly available Compact Cluster, a distributed cluster of 3 nodes, please refer to the 3 nodes cluster installation guide.
- To deploy a highly available Fully Distributed Cluster, a distributed cluster of 9 nodes, please refer to the 9 nodes cluster installation guide.
NOTE! You can simplify the cluster deployment and automate the provisioning by leveraging the Cloudify Cluster Manager Package. - NOTE! When using your own signed certificates you must include the external_ca_cert_path as it will be used for all other certificates.
Download Cloudify 6.4.1
Premium Manager
- RPM EL7
- Intel / AMD x86_64 – Cloudify Manager Install
- ARM architecture aarch64 – Cloudify Manager Install
- RPM EL 8
- Intel / AMD x86_64 – Cloudify Manager Install
- OpenStack image – cloudify-manager-6.4.1.qcow2
- Docker containers
Premium CLI packages:
- EL7 Intel / AMD x86_64 – Cloudify CLI Centos/ Redhat (.rpm)
- EL8 Intel / AMD x86_64 – Cloudify CLI Centos/ Redhat (.rpm)
- ARM architecture aarch64 – Cloudify CLI Centos/ Redhat (.rpm)
- Cloudify DLI Debian (.dep)
- Cloudify CLI Windows (.exe)
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.
Version | Support Discontinuance Date |
Cloudify Premium & Community Editions v5.2.x | Apr. 5, 2023 |
Cloudify Premium & Community Editions v6.0.x | May 26, 2023 |
Cloudify Premium & Community Editions v6.1.x | Aug. 10, 2023 |
Cloudify Premium & Community Editions v6.2.x | Sep. 22, 2023 |
Cloudify Premium & Community Editions v6.3.x | Feb. 09, 2024 |
Cloudify Premium & Community Editions v6.4.x | Aug. 18, 2024 |