The following blueprints are used for day 0 operations such as uploading a blueprint file and onboarding a server for the first time.
Upload a blueprint
Develop a new blueprint and upload it into Dell Telecom Infrastructure Automation Suite using the CCP API. The following is an example of the CCP API call to upload a blueprint file:
POST
https://dtias_ip/v1/tenants/{Tenant}/blueprints/{BlueprintId}
Run a day-0 operation or workflow
You can create your first deployment by running an operation or workflow by using the execute_operation
workflow. For example, running an operation that is labeled test
in an interface that is named day2.operations
, on a node called server
.
The following is an example blueprint for initiating a workflow on the server. In this example, it is creating a compute for the compute node template. This sample is in a YAML format.
tosca_definitions_version: cloudify_dsl_1_3
description: >
Deploys a Compute controlled by DTIAS BMC
imports:
- http://fileserver-svc/data/.artifacts/types/types-6.3.0.yaml
- plugin:dell-imgr-plugin
inputs:
# Base Resource attributes
imgr_svc_url:
type: string
description: Infra Mgr Svc URL
default: flcm-imgr-svc:8090
name:
type: string
description: Compute name
description:
type: string
description: Compute description
resource_type_did:
type: string
description: Resource Type Deployment Id
resource_pool_did:
type: string
description: Resource Pool Deployment Id
global_asset_id:
type: string
description: Global Asset Id
public:
type: string
description: Is it public or not
astate:
type: string
description: Admin state
opstate:
type: string
description: Operational state
ustate:
type: string
description: Usage state
labels:
description: Labels
default: []
# Compute specific attributes
resource_attributes:
description: Resource Attributes
site_did:
type: string
description: BMO Site Deployment Id
node_templates:
bmo:
type: cloudify.nodes.SharedResource
properties:
resource_config:
deployment:
id: { get_capability: [ { get_input: site_did }, bmo_did ] }
rt:
type: cloudify.nodes.SharedResource
properties:
resource_config:
deployment:
id: { get_input: resource_type_did }
rp:
type: cloudify.nodes.SharedResource
properties:
resource_config:
deployment:
id: { get_input: resource_pool_did }
site:
type: cloudify.nodes.SharedResource
properties:
resource_config:
deployment:
id: { get_input: site_did }
compute:
type: dell.nodes.imgr.bmo.resource.Compute
properties:
imgr_api:
url: { get_input: imgr_svc_url }
bmo_api: { get_capability: [ get_capability: [ { get_input: site_did }, bmo_did ], bmo_config ]}
# Base Resource
name: { get_input: name }
description: { get_input: description }
resource_type_id: { get_capability: [ { get_input: resource_type_did }, rt_id ] }
rp_id: { get_capability: [ { get_input: resource_pool_did }, rp_id ] }
site_id: { get_capability: [ { get_input: site_did }, site_id ] }
global_asset_id: { get_input: global_asset_id }
public: { get_input: public }
astate: { get_input: astate }
opstate: { get_input: opstate }
ustate: { get_input: ustate }
labels: { get_input: labels }
# Compute Attributes
resource_attributes: { get_input: resource_attributes }
relationships:
- type: dell.relationships.depends_on_shared_resource
target: rt
- type: dell.relationships.depends_on_shared_resource
target: rp
outputs:
rclass:
description: Resource Class
value: COMPUTE
capabilities:
}
The following is an example golden profile for configuration. This sample is in a JSON format.
{
"astate": "UNLOCKED",
"description": "",
"global_asset_id": "server12",
"imgr_svc_url": "flcm-imgr-svc:8090",
"labels": [
{
"ccp_resourcepool_id": "rp_dp"
},
{
"ccp_deployment_type": "Resource"
}
],
"name": "server1",
"opstate": "ENABLED",
"public": "TRUE",
"resource_attributes": {
"compute_config": {
"bmo_server_spec": {
"bmc": [
{
"attributes": null,
"serialRedirectEnable": "Enabled",
"ipmiLanEnable": "Enabled"
}
],
"bios": {
"attributes": {
"sriovGlobalEnable": "Enabled",
"logicalProc": "Enabled",
"procX2Apic": "Enabled",
"procVirtualization": "Enabled",
"serialPortAddress": "Com2",
"bootMode": "Uefi",
"pxeDev1EnDis": "Disabled",
"sysProfile": "PerfOptimized"
}
},
"raid": {
"deleteNonMatchingVolumes": true,
"raidVolumes": [
{
"name": "raidVolume3",
"raidType": "RAID1",
"minCapacityBytes": 100000000000,
"maxCapacityBytes": 600000000000,
"nVMeRaidVolume": false,
"numberOfDrives": 2,
"mediaType": "HDD",
"swRaid": "No"
}
],
"raidConversion": {
"convertTo": "None",
"storageDrives": [
"0",
"1"
]
}
}
}
},
"location": "gc",
"lom": {
"bmc_cred_secret_name": "compute_mgmt_server",
"bmc_endpoint": "https://10.239.60.12"
}
},
"resource_pool_did": "rp_dp",
"resource_type_did": "rt_compute_dp",
"site_did": "gc-site",
"ustate": "IDLE"
}
The blueprint is then uploaded, a deployment is created, and the install workflow invoked.
When the install workflow is running, a compute is created for the compute node template.