Cloudify 4.5 Release Notes

Download in PDF

What’s New

Execution dry run indication

The Executions Widget in the dashboard now displays a dry-run indicator in the attributes column for every dry-run execution. This allows quick differentiation between actual executions and dry-runs.

Dry-run indication:

Agents Widget

The Agents widget is a new dashboard tabular widget listing the Cloudify agents in the system.

The displayed attributes per each agent are: ID, IP, Deployment ID, Node ID, Hosting OS, Agent version, and installation mode.

The widget allows two operations: Installation of a new agent on selected deployments, and agent status validation.

Improved log filtering

Events and Logs widgets now allow sorting & filtering by operation, node, and node instances

Snapshots performance improvement

Snapshots are used for system backup, upgrades, and disaster recovery. Optimization of the snapshot restoration flow allows faster upgrade and recovery times.

Cloudify manager support for external database

The Cloudify manager can now be deployed with either embedded (same box) database or with existing customer maintained database.

Segregation of data store is a common compliance demand, hence some organizations are required to run the Cloudify manager database on their own self-maintained DB instance.

Learn more about using an external DB

Blueprint support for namespaces

Introduction of namespaces into the Cloudify DSL allows easy import and embedding of external blueprints in your blueprint, with an explicit call to the relevant resources.

Learn more about the syntax & potential usage

Deployment capability declaration

When managing a large deployment, some scenarios require specific details about the deployment. The new <capabilities> declaration allows each deployment to expose certain properties which can later be retrieved in real-time via CLI or Rest API call to be used as part of a workflow or an interacting deployment.

Learn more about the syntax & potential usage

Resumable Workflows

Failed or canceled workflow executions can now be resumed. This is useful for cases in which an execution failed after some tasks were already executed and re-execution should skip these tasks.

Learn more about this

Scheduled Workflows

Workflow executions can now be scheduled to certain date and time.

Learn more about scheduling executions

Security – AES256 encryption

Secrets and passwords stored by Cloudify are now encrypted using AES256 (previous encryption was AES128)
During an upgrade, all encrypted data will be updated to the new AES256 encryption.

Agents OS support

Extended agent support for Ubuntu Bionic 18.04

Removed support for Ubuntu Precise 12.04

Composite and recursive intrinsic functions

Intrinsic functions allow usage of complex structures such as lists or YAML and allow the selection of a certain item in these objects. For example, get_input: [mylist,5] will get the fifth element in mylist.

One may also use this recursively and use an intrinsic function as a parameter in another intrinsic function.

Learn more about this

Features and Improvements

Cloudify 4.5.5 features & general improvements:

Snapshots

CY-687 – Improved performance of snapshot restoration

UI & Widgets

CY-654 – New Agents widget

CY-764 – Create agents table in the DB

CY-681 – Improve error message in Deployment Wizard

CY-661 – Add dry-run indication in Executions widget

CY-669 – Add search filter to widgets presenting tabular data

CY-758 – Improve Events/Logs widgets to allow sorting/filtering by operations, nodes, node

CY-856 – Show node instance state in Topology widget

CY-880 – Change “Number of nodes” widget to “Number of Compute Nodes”

CY-722 – Allow providing a YAML file for execution parameters in Execute workflow modal

CY-726 – Update Blueprint Sources widget to support namespace-based imports

CY-718 – Allow providing a YAML file instead of a zip file in the blueprint upload form

CY-937 – Turn off disabling action menu in Deployments widget when execution is in progress

CY-891 – Optimize Deployments widget data fetching after /deployments REST API changes

CY-645 – Deployment Wizard improvements

CY-713 – Align inputs/parameters in deployments and executions creation

CY-678 – Align the presentation of roles picks and tenants pick in new template creation

DSL and service composition

CY-643 – Deployment capabilities

CY-642 – Adding namespace to import

CY-746 – Add ability to get_input to get nested property

CY-884 – Add support for nested intrinsic function calls

CY-866 – Add ability to get_capability to get nested property

Remote Database

CY-789 – Enable SSL communication with PostgreSQL in an external DB scenario

CY-634 – Add Cloudify Cluster support for external DB implementations

Security

CY-709 – Create RabbitMQ user per agent

CY-164 – Stop Rabbitmq listening on non-ssl port

CY-752 – Stop using `admin_token` file in Cloudify Stage backend

CY-782 – Stop using `admin_token` file in Cloudify Manager

CY-731 – Secrets and rabbit credentials encrypted with AES256

CY-682 – LDAP connection with a non-admin user

Agents

CY-780 – Configurable amqp heartbeat per agent

CY-658 – Verify agent is alive before sending a task

Workflow

CY-844 – Add resuming to each built-in workflow

CY-821 – Allow manual resume of failed or canceled executions

CY-974 – Uninstall skip stop/delete operation for stopped/deleted instances

CY-888 – Add possibility to schedule execution in UI

CY-790 – Workflow failure – option to wait for tasks

CY-844 – Add resuming to each built-in workflow

CY-818 – Create models for storing running workflows details

CY-792 – Add Resume action for canceled and failed executions in Cloudify UI

CY-819 – Add store/restore to each task type

CY-783 – Make scale down of specific node instances possible

Service Composition

CY-644 – Allow using get_capability to access another deployment’s capabilities

CY-680 – Adding the ability to import a loaded blueprint

CY-711 – Allow setting deployments as global (REST)

CY-793 – Allow setting deployment visibility to `global` (UI)

CY-794 – Update Outputs widget to show deployment’s capabilities

MOM

CY-967 – Fix Issue With Mom Plugin For Fixed IP Clusters

CY-745 – Enhance Cloudify Managers Management widget

Plugins

AWS

CY-893 – Fix Issue With Detach & Remove Elastic NetWork Interface When Creating AWS Lambda Function Inside VPC Enabled NetWork

CY-892 – Update AWS SDK Integration Tests To Use Cloudify Manager Integration Tests

CY-865 – Update AWS SDK Examples By Removing Reference To Old AWS Plugin

OpenStack

CY-854 – Add option to prevent floating IP stealing

CY-868 – Revert OpenStack Clients Upgraded In Version 2.13.0

CY-797 – Support IP, Public IP, IPv4 and IPv6 Runtime Properties for Server type

CY-798 – Support fixed_ip_address, mac_address Runtime Properties for Port type

CY-801 – Add node type for Routes

General

CY-675 – Node instance states update

CY-759 – Add force flag in blueprint and plugins deletion confirmation modal

CY-769 – nginx configuration to support ipv6

CY-815 – Raise error on improper external resource usage

CY-874 – Option to configure import resolver fallback

CY-873 – cfy profiles show: display cluster nodes

CY-720 – Add default ordering to queries (REST service)

Resolved Issues

Issues from previous releases that are resolved in Cloudify 4.5.5:

CY-710 – Some timestamps in the DB use local time and not UTC.

CY-708 – Deployment inputs from YAML file not properly recognized

CY-707 – Running `cfy_manager configure/install` doesn’t recreate RabbitMQ elements

CY-705 – Install: Composer doesn’t handle custom database URL or credentials

CY-702 – More than one popup menu can be open at once

CY-699 – Not optimal distribution of space in Deployments widget

CY-697 – Running `cfy_manager configure/install` breaks live deployments

CY-696 – Hooks.conf is overwritten on `cfy_manager configure/install`

CY-694 – Restoring a snapshot breaks `cfy_manager configure/

CY-692 – Snapshot restore breaks stage

CY-691 – Cloudify-stage.service auto-restart all time after snapshot restore

CY-688 – Deployment outputs doesn’t show values with type other than string

CY-674 – Workflow inputs not properly handled

CY-673 – Resource Filter not working on Dashboard page when execution is selected in Executions widget

CY-672 – State of nodes, topology and resource filter widgets not synced

CY-668 – Invalid pagination in Runtime Properties table in nodes widget

CY-667 – Runtime Properties outside of the window in node instance details modal

CY-666 – Resetting rest conf with writing write permissions into the conf file

CY-664 – Not possible to restore a snapshot in the UI

CY-663 – Menu action column in Executions widget not visible by default after upgrading to 4.5

CY-662 – Running a dry-run execution alters the states of node instances

CY-167 – File permissions aren’t set correctly on bootstrap instances

CY-736 – Add extended error message modal for events/logs with error_causes

CY-733 – Create Cloudify Managers Management widget

CY-729 – Support single deployment with 1000+ nodes

CY-728 – Removing the requirement for a blueprint to have node templates

CY-727 – Make parameter values (inputs, outputs, runtime properties, execution parameters, update details) more user-friendly

CY-693 – Adding protection against deleting used catalog blueprints

CY-859 – Remove validation of max pagination size

CY-761 – improve LDAP user search for non-active directory

CY-757 – Add post-operation events in default lifecycle

CY-750 – Metrics widget does not save graph resolution

CY-747 – Impossible to install multiple agents concurrently on the same VM

CY-744 – “cfy nodes get” should also print the node’s type hierarchy

CY-735 – Can’t update group roles in tenant when using external auth

CY-715 – When installing postgres_client add group might fail if OS system is not English

CY-791 – Management workers should connect to RMQ through a loopback

CY-781 – stdout, and stderr should be printed to context logger by default

CY-779 – Setting SSL state through the rest service no longer works

CY-777 – Detach agent effectively requires root

CY-776 – A detached agent doesn’t use the leader after a failover

CY-775 – Plugin uploads fail when a wheel is created as many-Linux

CY-774 – Agent package URL does not change upon HA failover

CY-771 – Relationship operations don’t have instance IDs

CY-768 – “cfy events list” requires a switch for a required parameter

CY-767 – Gunicorn restart REST worker every 1000 requests

CY-757 – Add post-operation events in default lifecycle

CY-719 – Log printing is delayed by more than a minute

CY-702 – More than one popup menu can be open at once

CY-816 – Wait for tasks to finish in scale list workflow when an exception is raised

CY-807 – Stabilize vSphere Tests

CY-806 – Validate Get Network

CY-767 – Gunicorn restart REST worker every 1000 requests

CY-702 – More than one popup menu can be open at once

CY-936 – Selection in files tree in Blueprint Sources widget looks bad for labeled nodes

CY-927 – Validate `scheduled for` date in CLI

CY-895 – WSOD in UI when resource visibility is not set properly in Cloudify Manager

CY-876 – Cluster join without a CA key tries to access the key anyway

CY-867 – Agent logs are hardcoded for 5MB / 7 backup files

CY-862 – Dropdowns from filter widget hidden behind topology canvas

CY-858 – Nodes Icons are different in topology widget than in nodes list widget.

CY-849 – WinRM runner should support NTLM transport

CY-833 – SQL injection possible in Template Handler

CY-970 – WSOD after putting special chars in log filter fields