RDA Packs
1. What is RDA Pack
RDA Pack is collection of various artifacts that are developed as part of a feature.
Example of a pack is vCenter Inventory
which may consists of datasets, pstreams, pipelines, dashboards that are required to support the inventory collection.
Following artifacts are supported to be part of a pack:
-
datasets (and initial data of the dataset)
-
persistent streams (optionally, the initial data to be populated)
-
dashboards
-
pipelines
-
credentials
-
icons
-
blueprints
-
stacks
-
graphdb
-
relationship maps
-
textfsm
2. Why RDA Packs
1. Feature as a Deliverable
-
Makes it easier to port a feature/app between deployments.
-
When a feature or an application is developed in one deployment or for one customer, it consists of several artifacts developed and tested over time. Copying these artifacts manually is time consuming and error prone.
2. Repeatable
- Makes features as repeatable deliverables to end customers.
3. Version Control of Features
- Makes version management of features easier.
3. Structure of RDA Packs
- RDA Pack is a
tar.gz
file of directory. There should be amanifest.yaml
file at the top level. Other files are optional.
3.1 Example Structure of RDA Pack tar.gz
-
manifest.yaml
-
Artifacts
-
Pstreams
- Pstream Definitions
-
Pipelines
- pipelines files in text format(.txt)
-
Dashboards
- Dashboard files in json format(.json)
-
Blueprints
- Service blueprint files in yaml format(.yaml)
-
Datasets
- Dataset files in csv format(.csv)
-
-
customer_level(Customer Scoped Artifacts)
-
Contains artifacts that are specific to a customer
-
May include: datasets, blueprints, credential
-
-
single_tenant(Single Tenant Scoped Artifacts)
-
Contains artifacts for the single tenant in an environment
-
May include: datasets, blueprints, credential
-
-
3.1.1 Manifest File Sections
Manifest file is the source of truth for a pack. It contains different sections which are listed below with examples.
-
Information
-
Artifact
-
Activation
-
Customer level
-
Single tenant
3.1.1.1 Information
This section contains the attributes that uniquely identifies a pack and lists down any dependencies the pack might have on other packs and /or fabric services.
In the above given example the pack name is "VMware vCenter" version is 9.0.0 & it requires Base Pack of version >= 5.0.0 to be deployed.
3.1.1.2 Artifacts
Artifacts listed under this section will be created during activation and removed during deactivation.
In the above given example Credentials, Pstreams, Dashboards, Pipelines & Stacks will be created upon activation and deleted upon deactivation.
3.1.1.3 Activation Actions
Note
Activation section is optional.
This Section Contains launch_dashboard
, variables
& run_on_activation
entries.
If variables are specified then at the time of activation, the user will be prompted for the values of the variables.
pipelines that are listed as part of “run_on_activation” will be executed after the pack artifacts are successfully created.
In the example shown above the user will be prompted for deployment_name
and simple_pipeline
will run upon successful creation of all artifacts
3.1.1.4 Customer Level
-
This section contains the artifacts that need to be created for different customers in a multi-tenant environment.
-
The artifacts are created with their names prepended with the customer tag.
-
This section can be enabled / disabled for different customers on as needed basis.
-
The customer level can only be enabled if the pack is in ACTIVATED state.
-
When customer level is disabled for a customer, all the artifacts created for that customer are deleted.
In the example shown above when the pack is enabled for, say customer with tag customer1 then credential & blueprint will be created with names customer1_vcenter-1 & customer1_vCenter 1.
3.1.1.5 Single Tenant
-
This section contains the artifacts that need to be created in a single tenant environment.
-
This section can be enabled after the pack is in ACTIVATED state.
-
When pack for single tenant is enabled, it creates the artifacts listed under single_tenant section in manifest.
-
When the single tenant is disable, the artifacts listed under single_tenant section are deleted.
In the example shown above when the pack is enabled for single tenant, credential & blueprint will be created with names vcenter-single-tenant & vCenter Single Tenant respectively.
4. RDA Packs Interface
4.1 Administration User Interface
RDA Packs comes with User Interface to conveniently manage RDA Packs. To access RDA Packs UI, login to RDA portal as MSP Administrator then Navigate to RDA Administration -> Packs page, It provides following functionality to Administrators:
-
Catalog of Packs
- Displays the list of packs that are available in RDA Portal along with their statuses, Upload time & activation/deactivation time.
-
Upload RDA Packs
- Upload the
tar.gz
file of the pack to the portal. -
View documentation on the uploaded packs
- View information, artifacts, requirements and variables of the pack.
-
Activate uploaded packs
- Deploy and create the artifacts defined in the packs.
-
View the status of activated packs
- Displays the deployment details of different artifacts.
-
Launch Dashboard
- If launch_dashboard is specified in the manifest file then upon successful activation of pack, Launch Dashboard action will be available to navigate to that dashboard directly.
-
Deactivate packs
- Remove the artifacts that were deployed as part of the pack.
-
Remove uploaded packs
- Remove the uploaded
tar.gz
file of the pack. -
Optionally, if pack contains single_tenant section then Single Tenant related options become available after the pack is in
ACTIVATED
state.
4.2 Single Tenant Administration User Interface
RDA Packs that contains single tenant section following menu options are available
1) Enable Single Tenant : Will be available if single_tenant section exists in the pack and pack is ACTIVATED. Creates the artifacts that are listed in single_tenant section in the manifest.
2) View Single Tenant Activation Status : Will be available when the pack is enabled for Single Tenant. Displays the deployment details of different artifacts.
3) Disable Single Tenant : Will be available when the pack is enabled for single tenant. Removes the artifacts that were created for single tenant.
4.3 Customer Level Administration User Interface
-
The Customer Packs page will display all the packs that can be activated for selected customer. This page will be available to customer administrator in multi tenant environment.
-
Following management options are available:
1 Enable Package : Will be available if customer_level section exists in the pack and pack is ACTIVATED. Creates the artifacts that are listed in customer_levelsection.
2 View Activation Status : Will be available when the pack is enabled for that customer. Displays the deployment details of different artifacts.
3 Disable Package : Will be available when the pack is enabled for that customer. Removes the artifacts that were created for that customer.
5 RDA Packs Command Line
In addition to User Interface for management of packs, administrator can also use “rdac pack” commands to perform various actions that are available through UI. Following commands are available.
upload Upload RDA Pack
remove Remove RDA Pack
list List RDA Packs
activate Activate RDA Pack and deploy corresponding common artifacts
enable-single-tenant Enable RDA Pack single tenant and deploy single tenant scoped artifacts
enable-customer Enable RDA Pack for a customer and deploy customer scoped artifacts
deactivate Deactivate RDA Pack and delete corresponding common artifacts
disable-customer Disable RDA Pack for a customer and delete customer scoped artifacts
disable-single-tenant Disable RDA Pack for single tenant and delete single tenant scoped artifacts
6 RDA Packs Deployment Steps
Prerequisite
- If one pack depends on another, then the parent pack must be deployed first.
- Follow steps 1 and 2 to upload and activate the parent pack.
High level steps
1) Upload the pack.
2) Activate the pack.
Single Tenant Environment
3) Enable the pack for single tenant.
4) Once the pack is enabled, Launch Dashboard option can be used to directly navigate to the dashboard.
Multi Tenant Environment
5) After the pack is activated, customer administrator can enable the pack for customer.
6) Once the pack is enabled for a customer, users can start using the pack from Customer Ops page. Customer ops page will be available to users in multi tenant environment.
6.1 RDA Packs Upload
Login to RDA Portal as an Administrator. Go to RDA Administration -> Packs.
Use Upload option to upload the tar.gz
file of a pack.
6.2 RDA Packs - Activate Pack
- From the Packs page, choose Activate Package menu option to activate the pack.
6.3 RDA Packs - Enable for Single Tenant
- After the pack is ACTIVATED, Enable Single Tenant menu option to enable the pack.
Note
Enable Single Tenant option will only be visible when pack is ACTIVATED
6.4 RDA Packs - Access Main Dashboard for Single Tenant
-
After the pack is enable for single tenant, Launch Dashboard menu option can be used to navigate to the main dashboard of the pack.
-
Administrator can make the main dashboard visible to the users upon login.
6.5 RDA Packs - Enable for a Customer in Multi Tenant
In multi-tenant environment Admin Ops page will be available for customer administrators.
After the pack is ACTIVATED, customer administrator can use the customer Admin page to enable the pack for that customer.
6.6 RDA Packs - Access Main Dashboard for Multi Tenant
After the pack is enabled for a customer, the pages of the dashboard will dynamically get added to the Customer Ops page.