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

Cloudify was designed from the ground up on principles of openness to power the IT transformation revolution - enabling organizations to design, build and deliver core business applications and network services more economically, without compromising on security or IT simplicity