Ystia Orchestrator 3.1.0 released

Yorc release

The Ystia Orchestrator (Yorc) 3.1.0 has been released.

Download links

Documentation & Resources

You can find documentation on several places:

New and noteworthy

Yorc Bootstrap

Let’s start with a very cool UX feature that we are very proud of, Yorc can now deploy itself on supported infrastructures in one single command line.

You will just have to answer some few questions about the infrastructure and then Yorc will automatically provision the infrastructure, install required software and configure them to let you enjoy a ready-to-use setup.

Supported infrastructures are for now GCP, OpenStack, AWS and whatever you want using the HostsPool.

We provide two different setups at all-in-one-machine for testing and development and a fully HA setup for production.

Please refer to the bootstrap documentation for details.

Yorc Upgrades

Starting with the 3.1 release Yorc supports upgradation without loosing information on deployed applications. It is safe to upgrade from Yorc 3.0 to 3.1, but upgrading from an older version can lead to unpredictable results.

Currently this process requires a service interruption, all Yorc instances should be stopped before upgrading.

We plan to support rolling upgrades in the future version.

Please refer to the upgrade documentation for details.

Jobs, Jobs, Jobs everywhere!

Yet another feature we are very proud to announce is our support of jobs workloads.

What’s a job? Well it is simply an application that runs to completion by opposition to a service that is designed to run forever (well, at least to decommissioning…).

Orchestrating jobs life-cycle and making it manageable within hybrid applications like any other component is one of our key differentiator.

While Yorc 3.0 shipped a tech-preview for jobs on top of Slurm, Yorc 3.1 had improved the previous model and now support builtin integrations with Slurm and Kubernetes for managing jobs.

We also support jobs implemented in pure-TOSCA by providing implementation of the job life-cycle in Bash or Python scripts or even in Ansible playbooks. Simply put, this means that you can develop your own implementation to interact with any job scheduler, PBS, TORQUE, Spark, Nomad, … whatever you want, there is no limit.

Please refer to the jobs documentation for details.

Alien 2.1

We now rely on Alien4Cloud 2.1 (was previously 2.0) as our UI.

This version comes with several UI improvements. You can now see live progress on workflows, trace executions and have a direct access to specific logs.

Applications secrets

Secrets can now be defined directly into a property of the application using the {get_secret: [ /path/to/secret ]} TOSCA function.

This function is interpreted by Yorc which will get the information within Hashicorp Vault and encode it using Ansible Vault. This way we guarantee that your secret will never been write in clear on disk at any time. For SSH private keys used to connect to computes we integrate with the ssh-agent to also prevent writing it on disk. The ssh-agent is killed when the ssh connection is done so it can’t be reuse.

GCP improvements

We worked hard on Google Cloud support for this release!

We now support provisioning of BlockStorages, Static IPs and VPC.

This makes GCP production-ready.

Please refer to the Google Cloud location documentation for details.

Kubernetes

Finally, Kubernetes was one of our main focus for this release.

As we discuss above we implemented support of jobs on top of Kubernetes, but we also added support of Google Kubernetes Engine (GKE) to integrate with Kubernetes clusters deployed by Google Cloud, and we improved our support of namespaces.

Ystia Forge

For this release we focused on deploying our orchestration solution itself using TOSCA components.

So, you will find components to deploy Yorc and its dependencies, Ansible, Terraform, Consul, but also Slurm or instance.

Some components were also updated please refer to the changelog for details.

Release Notes

We also made a lot of bug fixes and improvements, you can checkout change logs here: