Unlock Settings and Networks Tabs


This blueprint introduces new feature allowing a user to change cluster parameters on Settings and Networks Tabs for a deployed, partially deployed cluster (e.g. a stopped deployment case) for further redeployment with new parameters

Problem description

As an Operator I want to be able to adjust configuration on Settings and Networks tabs and hit “Deploy changes” (or do equivalent operation on CLI) in a post-deployment stage of cloud lifecycle so that I could perform “Day 2” operations (reconfigure cloud and plugins parameters, etc)

Proposed changes

We proposed to unlock Settings an Networks tabs for clusters in ‘operational’, ‘error’, ‘stopped’ and ‘partially_deployed’ states. And allow user to change and save new settings and then rerun the deployment.

Web UI

The Dashboard tab

The ‘Deploy Changes’ button behavior should be changed for clusters in ‘operational’, ‘stopped’, ‘error’ and ‘partially_deployed’ states.

UI should take into account the ‘changes’ field of Cluster model and should show the ‘Deploy Changes’ button if ‘attributes’ or ‘networks’ sections are not empty. UI should notify user about the consequences of the changes on clusters in ‘operational’, ‘error’, ‘stopped’ and ‘partially_deployed’ states. This notification should be added to the existing notification displayed right after the User clicked ‘Deploy Changes’ button

The ‘List of changes’ to deploy should include notifications about changed cluster attributes or network configuration (and such a notification should have Discard button to load deployed attributes/network configuration).

The Settings Tab

New plugins can be enabled on already deployed cluster. For hot-pluggable plugins it can be done w/o any warnings, but for not hot-pluggable plugins a warning should be shown to user. Not hot-pluggable plugins should be detected by ‘hot_pluggable’ attribute in openstack.yaml. ‘always_editable’ attribute should be depricated.

The ‘Load Deployed’ button should be implemented on ‘Settings’ tab. This button should load deployed settings for this cluster. This button is actual for cluster with not ‘new’ status. And the existing ‘Load Defaults’ button is actual for not “new” cluster too.

The Networks Tab

The ‘Load Deployed’ button should be implemented on ‘Networks’ tab. This button should load deployed network configuration for this cluster. This button is actual for cluster with not ‘new’ status


Modify the calculation of ‘is_locked’ attribute. ‘is_locked’ should be “True” during deployment and provisioning and for old clusters after deployment.

Data model

The ‘always_editable’ attribute in openstack.yaml is not applicable anymore. The ‘hot_pluggable’ attribute in openstack.yaml should be introduced. It will be set for hot-pluggable plugins during plugin installation and will be used to detect hot-plugablle plugins for UI warnings.


  • New ClusterAttributesDeployedHandler should be introduced:


    This handler allows to load last deployed attributes for the cluster.

  • New NetworkConfigurationDeployedHandler should be introduced:


    This handler allows to load last deployed network configuration for the cluster.

  • The existing handler


    should be extended to support YAQL expressions [0] and to keep the expected behavior: rerun all tasks on all nodes in the cluster.



RPC Protocol


Fuel Client



All settings introduced by activated plugins can be changed by user as well User can activate any plugins. For not hot-pluggable plugins there should be a warning from UI

Fuel Library




Upgrade impact


Security impact


Notifications impact


End user impact

End user can enjoy the full advantage of Life Cycle Management and 2nd-day operations on deploying and deployed clusters

Performance impact


Deployment impact


Developer impact

Developers should take into account the fact that all tasks can be rerun on already deployed clusters and make them work with same input parameters (idempotency) and with changed input parameters.

Infrastructure impact


Documentation impact

As part of Basic LCM this feature should be properly documented



Primary assignee:
Other contributors:
jaranovich vkramskikh vsharshov ikutukov vkuklin ashtokolov
Mandatory design review:
ikalnitsky vkramskikh rustyrobot

Work Items

Data model changes UI support CLI support

Testing, QA

This feature should be covered by test cases with redeployment for each parameter changes.

Acceptance criteria

As a user I should be able to change settings of deployed, partialy deployed, stopped or erred cluster and run redeployment with new parameters