Professional Documents
Culture Documents
BRKDCT-1456
Agenda
• Conclusion
3
Focus of This Session
4
Cisco UCS Director
Overview
5
Complex IT Processes to Deploy Application
Resources
Challenges: 1 6
Server Admins
Requirements
Application
Setup Bare metal Configure
• Disparate management systems
Business
Servers Provisioning Servers
• Under utilization
3
2
Network Adm
• Manual processes IT
Planning
Add Users
and Groups 5 Create
VLANs
Update
Trunks
• High operational cost Define Create Create UCS Configure
Approvals Network Policies Service Profiles SAN Zoning
Cost Models
• Rigid silos
Storage
IP space vFilers to Group
VM provisioning under 5 minutes
Map Create UCS Blade
Physical Infrastructure provisioning How Long? NetApp LUN Storage Policy Power On
7
Introducing Cisco UCS Director
Enabling Enterprise Private Clouds
Web Business Critical Dev./Test
UCS Director Apps Apps Sandboxes
L4-7
Storage L4-7
Storage
Physical Virtual
8
Cisco UCS Director Solution Overview
LDAP, Single Sign On
RBAC
IT Ticketing Systems
Tenant CMDB,
Admins Operators
Users Metering/Chargeback
Self Service Admin System
REST API
Web Portal Web Console Integration
Open
Automation Integrated Multi-tenant Cloud Platform
Framework
vASA, Nexus
CSR1000v MDS
VBLOCK FlexPod
200, 300, Data Center
700
FlexPod
VPLEX Express
10
Key Use Infra.
Application Cases
provisioning with UCS-Director : 100% VMs
Infrastructure Provisioning for Applications : 100% Virtual & Mixed
15
Introducing Orchestration and Workflows
my-workflow Suspend/Resume Workflow
Start
Rollback Workflow
Storage Task-1
Approvals
Network Task-2 Complex logic (loops, if-else)
Inputs Inputs
Outputs Inputs
Task-1 Task-2
Workflow
Task Library – 1500+ Tasks
What is a Task
18
Drag ‘n Drop Workflow Creation
Orchestration, Workflow and Tasks Defined
20
Drag ‘n Drop Workflow Creation
Orchestration, Workflow and Tasks Defined
21
Deliver IT Services within Minutes with Workflows
Single-click provisioning
Result:
Improved time to market
Minutes
170+ Workflows, Tasks, Tutorials on Community Site
https://communities.cisco.com/docs/DOC-56419
Introducing Workflow Rollback
What is Rollback
• De-Provision Infra resources
• State-aware, Model-aware
• Reverse-order of execution
Use Cases
• Proof of concepts
• DR Testing
• Resource de-allocation on
customer termination
https://communities.cisco.com/docs/DOC-55502
Real World Scenario
Virtualization Admin Mark requesting Cloud admin John for New NFS Datastore in his ESXi
Cluster
Mark John
Virtualization Admin Cloud Admin
① START
UCS C-mode 8.2 vSphere 5.5 ② Create Volume
③ Create Mount Point
Tenant User Specified Inputs
Datastore Name ④ Mount Volume as NFS
Datastore Size in GB Datastore
29
30
31
Custom Inputs for Workflows – List of Values (LOVs)
Pre-Defined list of Datastore Sizes
LOV Tutorial
https://communities.cisco.com/docs/DOC-55871
Implementing Complex Logic in Workflows
Path-2
True False
Path-1 Path-3
If-Else
Conditional
Lists Failed
Failed
Counts
Start
Start Start
Power Status
Start Loop n=5 If Else
Conditional
VLAN test
VM Power
Action
Add VLAN Delete VLAN
OFF ON DELETE
End Loop
End
End End
Advanced Orchestration Features
Activities
Generalize IT Operations
Triggers
Corrective actions in response to monitoring conditions
Compound Workflow
Leverage existing workflows to build complex workflows
Custom Tasks
Create new tasks to build Workflows to deliver business specific IT services
Extending UCS Director
Various Options – Where to start, Where to end?
Custom Tasks
Southbound
SSH Tasks
APIs
PowerShell
REST APIs Workflows
Agents
Open Northbound
Automation Custom APIs
Workflows
UCS Director Extensibility Model
An option for every customization level, and skill level
Southbound APIs
• Open Automation
Northbound APIs
Implementation • REST
Skill Level • PowerShell
Custom Tasks
• Javascript
Generic Tasks
• SSH
• PowerShell
Customization Level
Generic Tasks
39
SSH Tasks
Overview
Description
Suitable for
Skillset
Define Inputs
Command list
Execute workflow
PowerShell Scripts
Invoke through “Executed PowerShell Command” Task
Description
Environment
Skillset
MS-Domain-1 PSA
UCS Director
MS-Domain-2
winrm quickconfig
winrm g winrm/config
Install Cisco PSA Add to Workflow
winrm set winrm/config/client
@{TrustedHosts="*"}
Configure Windows
• Enable WinRS &
WinRM Test PowerShell
• Configure Firewall
VDC
Windows
VM
Process state
Firewall policy
Policy
Audit
Generic Tasks Summary
SSH Task
Executed CLI commands on remote system in SSH session
PowerShell Task
Execute PowerShell commands on remote system through PSA
Custom Tasks
47
Custom Tasks
Overview
Description
Environment
Skillset
importPackage(java.util);
UCS Director Runtime importPackage(com.cloupia.model.cIM);
50
Reusing Code and Libraries in Custom Tasks
using Script Modules
Benefits
• Re-use Javascript functions
• Leverage Java JAR file libraries
Sample Script
loadLibrary("myModule/myFunctions");
Custom Tasks
Extend the task library with a new task written in JavaScript
Northbound API
60
Northbound APIs
About
Orchestration Engine
Cisco UCS
Physical Infrastructure Virtual Infrastructure
Cisco Nexus
Service Now
REST APIs
Supported Protocols/Formats
https://developer.cisco.com/site/ucs-director/rest-api-guide/
REST APIs
Example: Getting the list of all VMs
http://172.31.240.203/app/api/rest?formatType=json&opName=userAPIGetAllVMs&opData={}
Params
UCS Director IP address Format type = JSON API Operation
{None}
RESPONSE (RAW)
{ "serviceResult":{"rows":[{"Cloud":"MGMT-2-
VMWare","Request_ID":0,"VM_ID":1,"VM_Label":"","Instance_ID":"tme-mgmt-2-
vCenter","Host_Name":"mgmt-2-vcenter","IP_Address":"172.31.240.202","Image_Id":"tme-mgmt-
2-vCenter","Power_State":"ON","vDC":"Default vDC","Category":"Discovered
VM","Provisioned_Time":"","Scheduled_Termination_Time":"","Guest_OS_Type":"SUSE Linux
Enterprise 11 (64-bit)","Assigned_To_User":""}
REST APIs
So What about Java?
import java.util.Collection;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import com.cisco.cuic.api.client.CuicServer;
import com.cisco.cuic.api.client.UserAPIGlobal;
import com.cisco.cuic.api.client.APITabularReport;
/*
* Fill-in the Cuic Server info.
*/
CuicServer server =
CuicServer.getAPI("<IP address>",
"<REST Key>", "https", 443);
https://communities.cisco.com/docs/DOC-55973
https://communities.cisco.com/docs/DOC-57426
REST API Request
POST to URL
REST API Response
• REST API responds with the Service Request ID
{
"serviceResult": 531,
"serviceError": null,
"serviceName": "InfraMgr",
"opName”:"userAPISubmitWorkflowServiceRequest"
}
73
REST API Execution
PowerShell API
Introduction
Verify CiscoUcsdPS
module is installed
PowerShell API – Available Command Set
Get-Command –Module CiscoUCSDPS
Invoke-userAPICancelServiceRequest Invoke-userAPIGetServiceRequestDetails
Invoke-userAPIExecuteVMAction Invoke-userAPIGetServiceRequests
Invoke-userAPIGetAllCatalogs Invoke-userAPIGetServiceRequestWorkFlow
Invoke-userAPIGetAllGroups Invoke-userAPIGetTabularReport
Invoke-userAPIGetAllVDCs Invoke-userAPIGetVMActionRequests
Invoke-userAPIGetAvailableReports Invoke-userAPIGetWorkflowInputs
Invoke-userAPIGetHistoricalReport Invoke-userAPIGetWorkflowInputValue
Invoke-userAPIGetInstantDataReport Invoke-userAPIGetWorkflowInputValues
Invoke-userAPIGetPage Invoke-userAPIGetWorkflows
77
PowerShell API
Getting Started
Register the API Access Key:
[Environment]::SetEnvironmentVariable("UCSD_SERVER","10.1.1.1","User")
[Environment]::SetEnvironmentVariable("UCSD_RESTKEY","562FDF763A384E78B9BAB7FE02CA13B6"
,"User")
Verify:
API Access Key
[Environment]::GetEnvironmentVariable("UCSD_RESTKEY","User")
PowerShell API
Example Invoke-userAPIGetWorkflows
Northbound APIs Summary
REST APIs
Perform application integrations with JSON, XML and Java bindings
PowerShell APIs
PowerShell wrappers over REST API to integrate with Microsoft environments
Open Automation
Framework
81
Extending UCS Director to Support 3rd Party
Infrastructure
VMware
3rd Party
Hyper-V
Infrastructure
82
Introducing Open Automation Framework
Open API and SDK to build custom integrations to support 3rd Party Infrastructure
VMware
Hyper-V
Capabilities in Open Automation based Integrations
• 3rd Party infrastructure support
• Task Library for usage in workflow automation
• Life Cycle Management
• Custom Account Type, Pod
• Inventory, Configuration, Provisioning, Monitoring Triggers
• GUI
• New Menu Items
• Reports
• Tabular, Summary, Pie Charts
• CloudSense® On-demand Reports
84
Developing Open Automation Connector
85
Partner Ecosystem
Examples
86
NimbleStorage SmartStackTM Support in UCS Director using Open
Automation
Use Cases
1. Converged SmartStack
Management
Cisco UCS + Nimble
Storage CS Series
Platform
SmartStackTM
UCS Director Integration with ServiceNow using RESTful APIs and
Open Automation
by
RESTful APIs
Cisco UCS
Physical Infrastructure Virtual Infrastructure
Cisco Nexus
91
Cisco UCS Director Community Workflows Index
https://communities.cisco.com/docs/DOC-56419
Developer Network (DevNet) for Cisco UCS Director
https://developer.cisco.com/site/ucs-director/overview/
Steps to Get Your Device Supported and Certified in Cisco UCS Director
1. Register Register as a Cisco Solution Partner @ http://solutionpartner.cisco.com/
3.Order Order NFR License – Member benefit for registered Solution Partners
6.Submit Submit the Connector module for IVT verification and validation
Publish the software, collateral, white papers and other assets to Market place
8.Publish https://marketplace.cisco.com/catalog
1. Orchestrator
IT service delivery with Workflows and Custom Tasks
2. Northbound APIs
REST and Powershell API allow integrate with IT systems
96
Call to Action
• Attend the Breakout Session on ACI
BRKACI-2410
Intermediate - End-to-End Application-Centric Infrastructure Automation with UCS Director
99