Infrablock Plugin
Requirements
- Python versions:
- 3.6.x
- Dell BMO Orchestrator plugin 1.0.0 or higher
Workflows
The following workflows are available in Infrablock plugin:
- provision_sysctrl
- provision_subclouds
- Decommission subclouds
- WRA management
1. Provision Sysctrl
Comments in the code:
# assumption:
# 1, install workflow executed successfully,
# 2, during install workflow, bmo_node_instance
# has stored 'site_name', 'ciq_values' to runtime_properties
# 3, there must be 1 and only 1 bmo_node_instance
# bmo discover servers, wrcp audit servers, bmo update hwprofiles
# subgraph_name = 'predeploy_wrcp'
Objective:
Runs a set of pre-defined operations.
Summary: Creates a set of operations including:
- Prediscover
- Discover
- Postdiscover
- Predeploy
- Deploy
- Postdeploy
Builds a workflow graph using these operations as parameter: for each instance of node_instances adds a sub tasks as dependency of the parent’s workflow graph.
2. Provision Subclouds
Comments in the code:
# bmo discover servers, wrcp audit servers, bmo update hwprofiles
Objective:
Discovers and audit servers to update hwprofiles.
Summary:
Receives a blueprint id and sites names, checks if there is a deployment for each site name, if there isn’t, uses the predeploy method to get bmo info and uses it to create a set of operations that will be added to the workflow graph.
The operations in each set includes:
prediscover_subclouddiscover_subcloudpostdiscover_subcloudpredeploy_subclouddeploy_subcloudpostdeploy_subcloud
3. Decommission subclouds
Objective:
Decommission a list of subclouds that were installed by the Provision subclouds workflow. This will power off all nodes of each subcloud, unmanage and delete them from the System Controller, and delete their subenvironments in Conductor.
Requirements:
- Infrablock plugin environment successfully installed, with
Provision sysctrlandProvision subcloudsalready executed. - The subclouds named as input for the workflow must still exist in Conductor as subenvironments for the System Controller environment.
- The subclouds named as input for the workflow must still have their secrets stored in Conductor.
Inputs:
site_names(required): a list with the names of the subclouds to be decommissioned, e.g.["cellsite-1", "cellsite-2", "cellsite-3"].
Usage:
- Run the
Decommission subcloudsworkflow from the System Controller deployment with the specified inputs. It will:- Power off all servers from each subcloud provided as input and wait until the subcloud becomes offline in the system controller;
- Unmanage the subclouds if they’re still
managedin the system controller; - Delete the subclouds from the system controller;
- Mark their status as
decommissionedin the WRCP node’s runtime properties; - Delete their subenvironments in Conductor.
Installing and using the plugin
Upload the built wagon alongside the plugin’s yaml. Then, upload the desired blueprint (there are some samples inside the examples folder).
Blueprints found in the repository
Blueprint_ib.yaml
This blueprint can be used to provision system controllers.
Imports:
- https://cloudify.co/spec/cloudify/5.2.0/types.yaml
- plugin:windriver_infrablock_plugin?version= >=1.0.1
- plugin:dell_bmo_orchestrator_plugin?version= >=0.1.0
Inputs:
file_serverciq_file_pathciq_file_listgolden_config_file_pathgolden_config_file_listaudit_use_external_resourcebmc_use_external_resourcedm_use_external_resourcedm_chart_file
Dsl Definitions:
deployment_configdmfiles_configsubclouddeployfiles_config
Node Templates:
bmo_global_controlleribprofile_auditormaster_isoRedfishWrcpmaster_iso_cleaner
Capabilities:
wrcp-custom-iso-urlwrcp-os-auth-urlwrcp-os-userwrcp-os-passwordwrcp-os-cacertwrcp-os-insecurewrcp-os-region-namek8s-cluster-namek8s-admin-userk8s-ipk8s-service-account-tokenk8s-cacertk8s-admin-client-certk8s-admin-client-key
Blueprint_subcloud.yaml
This blueprint can be used to provision subclouds.
Inputs:
site_namesystemcontroller_ssh_hostsystemcontroller_ssh_usernamesystemcontroller_ssh_passwordbmo_infofile_serverciq_file_pathciq_file_listgolden_config_file_pathgolden_config_file_list
Dsl definitions:
systemcontroller_ssh_configdeployment_config
Node Templates:
Subcloudcontroller
Removed the following capabilities
wrcp-os-userwrcp-os-auth-urlwrcp-os-passwordwrcp-os-cacertwrcp-os-insecurewrcp-os-region-nameopenstack-ipopenstack-key
