Практические примеры использования API в...

Post on 16-Jul-2015

214 views 6 download

Tags:

transcript

8 апреля 2015 г.

Хаванкин Максим cистемный архитектор, CCIE mkhavank@cisco.com

Cisco Confidential 2 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

По завершении данного семинара примите участие в конкурсе в наших социальных сообществах. Вам потребуется ответить на вопрос по теме вебинара, и возможно, именно вы станете счастливым обладателем сувенира от компании Cisco. Вопросы будут опубликованы сразу после нашей трансляции. Удачи! vk.com/cisco facebook.com/CiscoRu facebook.com/CiscoUA *призы разыгрываются в каждом сообществе **результаты публикуются раз в неделю.

Внимание, конкурс!

Cisco Confidential 3 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

§  API для управления сетевой инфраструктурой ЦОД §  CLI, SNMP, REST, JSON-RPC

§  Практический пример № 1 – настройка Nexus 9000 при помощи API вызовов §  NX-API в коммутаторах Nexus

§  UCS Director – открытая и расширяемая платформа для автоматизации в ЦОД

§  Практический пример № 2 – внесение записей в MS DNS §  Интеграция UCS Director и PowerShell агента §  Использование PowerShell для автоматизации настройки DNS

§  Практический пример № 3 – получение расширенной информации о виртуальной машине §  Cloupia Script §  Использование CloupiaScript для получения информации об IP адресе виртуальной машины

§  Практический пример № 4 – интеграция UCS Director с Infoblox §  Интеграция с DDI-системой компании InfoBlox при помощи REST API

Содержание

Cisco Confidential 4 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

API для управления сетевой инфраструктурой ЦОД

Cisco Confidential 5 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

$ ssh admin@172.27.230.76

admin@172.27.230.76's password:

cho# conf t

Enter configuration commands, one per line. End with CNTL/Z.

cho(config)#

> 70% настроек сегодня выполняются так или > 90%?

Task Oriented

Human Friendly

Easy To Replay

No Special Tools

Software Unfriendly

Syntax/format

changes

No Common Data Model

No Error Reporting

Cisco Confidential 6 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

§  SNMP относительно хорош при решении задачи мониторинга (RFC 3535) §  Типичная настройка: SNMPv2 read-only community strings §  Типичное использование: сбор статистики с интерфейсов и trap-ы

§  Эмпирический факт: SNMP не используется для настройки

Почему не SNMP? Это ведь программный способ настройки?

Lack of Writeable

MIBs Security

Concerns Hard to Replay / Rollback

Requires special

applications

Cisco Confidential 7 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

API на уровне устройства • NETCONF • REST •  JSON-RPC

Высокоуровневые абстракции и DevOps •  Puppet • Chef • Openstack

Новые инструменты для настройки сетевых устройств

Cisco Confidential 8 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST

Cisco Confidential 9 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST использует знакомую модель

HTTP GET

HTML

Описывает как данные отображаются пользователю

HTTP GET

JSON/XML

Описывают данные в формате, который понятен приложению

{"ids":[303776224, 19449911, 607032789, 86544242, 2506725913, 17631389], "next_cursor":0, "next_cursor_str":"0", "previous_cursor":0, "previous_cursor_str":"0"}

Web серфинг REST API Twitter: IDs of last five followers

Cisco Confidential 10 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Это RESTful API - попробуйте! http://cerridwen.viridian-project.de/api/v1/sun?latitude=40.02&longitude=105.26

•  JSON: JavaScript Object Notation •  простой, открытый стандарт, формат понятный человеку

•  Более компактная альтернатива XML •  RFC 4627

JSON Format

Cisco Confidential 11 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST= REpresentational State Transfer

Предложен Roy Fielding в 2000 году

Разработан W3C параллельно с HTTP 1.1

REST больше похож на архитектурный стиль (не протокол)

Простой набор операций CRUD при помощи HTTP

Клиент-серверная модель без сохранения состояния

Использование URI для идентификации операции

CRUD = Create Read Update Delete

Cisco Confidential 12 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Количество REST API постоянно увеличивается

Cisco Confidential 13 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Почему это важно для сетевых инженеров?

Human Readable Software Friendly

Большое количество

разработчиков

Клиентские библиотеки

поддерживают большое

количество языков

Простота

Cisco Confidential 14 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST: не только для Web сервисов

Cisco Confidential 15 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST: Встречайте, «скоро не всех сетевых устройствах»?

Поддерживается на CSR1kV сXE 3.10 •  ASR1K сXE 3.14

В основном для конфигурации •  DNS, NTP, Interface, Routing, ACL, NAT

Сбор некоторой статистики •  Interface, CPU, Memory

Запуск внутри сервисного контейнера •  Использует onePK Python API

XR NX (9K) NX XE IOS

Cisco Confidential 16 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

JSON-RPC

Cisco Confidential 17 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

JSON-RPC: выглядит как REST, но немного по другому

Cisco Confidential 18 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Одинако: оба пересылают/принимают JSON поверх HTTP

REST (CSR 1000v) JSON-RPC (N9K NX-API)

Cisco Confidential 19 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST: много ресурсов

•  https://172.6.1.118/api/v1… …/global/banner …/global/hostname …/global/reload …/interfaces/… …/routing-svc/… …/nat-svc/… …/acl/… …

JSON-RPC: мало ресурсов

•  https://10.10.10.8/ins

Разное: Ресурсы (URI)

CSR1kV N9K

Cisco Confidential 20 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

REST: стандартные HTTP методы

•  GET: Retrieve/List •  PUT: Replace •  POST: Create New Entry •  DELETE: Delete

JSON-RPC: POST + body method

Разное: методы

Cisco Confidential 21 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

NXAPI •  CLI взаимодействие с устройством поверх HTTP / HTTPS •  Ввод/Вывод кодируется в JSON или XML

Show clock

NXAPI Web Server (NGINX)

[ { "jsonrpc": "2.0", "method": "cli", "params": { "cmd": "show clock", "version": 1 }, "id": 1 } ]

{ "jsonrpc": "2.0", "result": { "body": { "simple_time": "15:00:37.762 PST Mon Aug 18 2014\n" } }, "id": 1 }

HTTP / HTTPS

Switch# conf t Switch(config)# feature nxapi Switch(config)# exit

Cisco Confidential 22 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 1

Cisco Confidential 23 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка коммутатора Nexus 9000 при помощи API вызовов

NXAPI Web Server (NGINX)

API вызовы из Python скрипта 2

API вызовы из NX-API sandbox 1

Cisco Confidential 24 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

NXAPI – Web Sandbox Просто обратитесь по http к устройству с поддержкой NXAPI

Enter CLI Commands

Форматированный ввод/вывод

Cisco Confidential 25 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Модуль «Requests» для Python

>>> import requests >>> import json >>> url= 'https://api.github.com/some/endpoint' >>> payload= {'some': 'data'} >>> headers= {'content-type': 'application/json'} >>> r= requests.post(url, data=json.dumps(payload), headers=headers).json()

•  Модуль Requests : “HTTP для людей” o  Requests это распространяемая по лицензии Apache2

HTTP библиотека, написанная на языке Python.

•  Opensource, доступна для загрузки: o  https://pypi.python.org/pypi/requests o  http://docs.python-requests.org/en/latest/

•  Выполнять http вызовы при помощи конструкции requests проще чем при помощи urrlib2

Cisco Confidential 26 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Добавление VLAN при помощи NXAPI (python) import requests import json print "enter ip address" ip=raw_input() print "enter vlan to be configured" vlanId=raw_input() myheaders = {'content-type': 'application/json-rpc'} url = "http://"+ip+"/ins" username = "admin" password = ”очень_сложный_пароль" payload=[ {"jsonrpc": "2.0","method": "cli","params": {"cmd": "conf t","version": 1},"id": 1}, {"jsonrpc": "2.0","method": "cli","params": {"cmd": "vlan "+vlanId,"version": 1},"id": 2}, {"jsonrpc": "2.0","method": "cli","params": {"cmd": “exit”,"version": 1},"id": 3}, ] response = requests.post(url,data=json.dumps(payload), headers=myheaders,auth=(username,password)).json()

Модуль Requests для python

Запрашиваем IP адрес коммутатора

URL для обращения к коммутатору

Payload: switch# Conf t switch(config)#vlan <>, switch(config)# exit

Cisco Confidential 27 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

§  Коммутаторы Nexus часто разворачиваются в парах

§  Конфигурация/параметры на парных устройствах должны совпадать

§  В топологиях с поддержкой технологии vPC требуется чтобы VLAN-ы были настроены на каждом из пары коммутаторов

§  Как Python скрипт может помочь? Ø  С помощью python скрипта можно:

o  Использовать NXAPI чтобы выполнить show command-ы o  Сравнить VLAN-ы на всех парах коммутаторов

o  Настроить отсутствующие VLAN-ы

,

NXAPI: еще один пример использования

vPC

Cisco Confidential 28 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

UCS Director – открытая и расширяемая платформа для автоматизации в ЦОД

Cisco Confidential 29 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Портфолио решений Cisco для частного облака

Virtual Application Container Services

Cisco Intelligent Automation for Cloud Включает Prime Service Catalog

Управление интегированными стеками Cisco UCS Director

Инфраструктура: серверы, сеть, SAN, СХД, гипервизоры

Управление гибридным облаком Cisco Intercloud Fabric

C

loud

Ope

ratio

ns (P

rime

Ass

uran

ce) (

3rd

Par

ty B

illin

g, A

ssur

ance

, Res

ourc

e M

gmt)

APIC

Cloud Accelerators & Pre-defined

content

Prime Service Catalog Stack Designer

Cisco Confidential 30 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

UCS Director: управление конвергентной инфраструктурой «в целом»

Развертывание на основе политик

vFiler

СХД Вирт. машины Сеть Вычислит.

платформа

Безопасные контейнеры для приложений

Self-Service Infrastructure

Единая точка управления

Сквозная

автоматизация и управление

жизненным циклом

СХД

Сеть

Вычисления

Tenant B

Tenant C

Tenant A

A B C

Виртуализация

Storage Manager

B C A

Virtualization Manager

Network Manager

Compute Manager

Storage Manager

Cisco Confidential 31 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

UCS Director: возможности API и SDK

UCS Director

REST API на основе JSON и XML

Интеграция с внешними система управления

облаками

Cloupia Script

Физическая среда или среда виртуализации

Интеграция с инфраструктурой на основе атомарных

операций

Open Automation SDK

Физические или виртуализированные элементы

инфраструктуры ЦОД

Комплексная интеграция с

инфраструктурой, как правило, выполняется производителем

Cisco Confidential 32 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Публично доступные сценарии для UCS Director

на дату проведения семинара доступно 139 готовых сценариев

Cisco Confidential 33 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 2

Cisco Confidential 34 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 2

UCS Director Сеть

Сервер

СХД

Virtualization

VMware Hyper-V KVM Развертывание виртуальных

машин автоматизируется

при помощи UCS Director

DNS сервер

Задача: автоматизация внесений записей DNS для вновь развертываемых виртуальных машин

Решение: Использование Microsoft PowerShell

Cisco Confidential 35 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Интеграция UCS Director и PowerShell агента

Cisco Confidential 36 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Интеграции UCS Director и Microsoft при помощи PowerShell агента

UCS Director

UCS Director PowerShell агент

PowerShell скрипт по защищенному

каналу*

Скрипт исполняется на стороне Windows

сервера

* authentication/access key может быть изменен http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/ucs-director/powershell-guide/5-1/b_UCSDirector_PSAgent_Install_Config_51/b_UCSDirector_PSAgent_Install_Config_51_chapter_010.html

Cisco Confidential 37 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Установка PowerShell агента

Administration -> Virtual Accounts -> PowerShell Agents -> Download Installer 1

2 Установка агента

Cisco Confidential 38 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка WinRM и WinRS Проверить что сервисы WinRM и WinRS включены

Windows Remote Management (WinRM) 3

Windows Remote Shell (WinRS) 4

Cisco Confidential 39 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка таблицы доверенных хостов для WinRS

winrm set winrm/config/client @{TrustedHosts=" "}* - любой хост winrm set winrm/config/client @{TrustedHosts=“ "}A.B.C.D – IP адрес UCS Director

5

6 проверяем список доверенных хостов winrm g winrm/config

Cisco Confidential 40 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Может потребоваться выключение User Account Control Tools -> Change UAC settings

Cisco Confidential 41 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настраиваем подключение к агенту из UCS Director

Administration -> Virtual Accounts -> PowerShell Agents -> Add 7

Тестируем соединение 8

Cisco Confidential 42 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Тестируем исполнение простейшей команды на стороне Windows 2012 сервера

9

10

Cisco Confidential 43 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Использование PowerShell для автоматизации настройки DNS

Cisco Confidential 44 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Автоматизация настройки DNS

UCS Director

UCS Director PowerShell агент

Развертывание виртуальной машины

1

Настройка DNS записей 2

Cisco Confidential 45 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Используем готовый сценарий автоматизации Policies -> Orchestration -> Workflows -> Import

https://communities.cisco.com/docs/DOC-54044

Cisco Confidential 46 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка информации о DNS зонах в UCS Director

•  Импортированный сценарий автоматизации использует собственные переменные для хранения информации о DNS-зонах

•  Переменные импортируются вместе со сценарием оркестрации

•  Вносим изменения для того чтобы указать собственные зоны •  Policies -> Orchestration -> Сustom Workflow Inputs -> -> Edit

Cisco Confidential 47 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка параметров сценария автоматизации 1/2

Настраиваем импортированный сценарий •  Policies -> Orchestration -> Workflow -> -> Edit Workflow

Контекст определяет виртуальную машину для которой будет

добавляться DNS-запись в зону

Cisco Confidential 48 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка параметров сценария автоматизации 2/2

Проверяем использование переменных в которых хранится информация о DNS-зонах

Переменная с набором зон

Cisco Confidential 49 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование сценария автоматизации

Переходим в режим редактирования •  Policies -> Orchestration -> Workflow -> -> Workflow Designer

Cisco Confidential 50 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование шагов сценария автоматизации

Выбираем PowerShell агент

Редактируем PowerShell скрипт

Cisco Confidential 51 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Запускаем сценарий автоматизации

Запускаем сценарий •  Policies -> Orchestration -> Workflow -> -> Execute now

Выбираем виртуальную машину

Выбираем DNS-зону

Cisco Confidential 52 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Проверяем выполнение сценария Лог действий в UCS Director

Новая запись в DNS-зоне

Cisco Confidential 53 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 3

Cisco Confidential 54 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 3

UCS Director Сеть

Сервер

СХД

Virtualization

VMware Hyper-V KVM Развертывание виртуальных

машин автоматизируется

при помощи UCS Director

Решение: Использование Cloupia Script на основе JavaScript

Задача: Получить расширенную информацию о виртуальной машине в сценарии автоматизации: IP адрес, ID-хоста гипервизора и т.д.

Cisco Confidential 55 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

CloupiaScript

Cisco Confidential 56 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Сценарий автоматизации 1. Запуск сценария

Сценарий автоматизации с использованием CloupiaScript

UCS Director

Шаг № 1

Шаг № 2

Шаг № 4

Cloupia Script

2. Выполнение скрипта Cloupia Script

var a = 2; var b = 5; var total = a+b; logger.addInfo("Total is " + total);

Cisco Confidential 57 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Свойства CloupiaScript

1.  Cloupia Script = Java Script + Cloupia Libraries

2.  Запускается внутри UCS Director – на серверной стороне

3.  Различные Cloupia Java API и объекты доступны из скрипта

4.  Весь синтаксис Java Script поддерживается

5.  Поскольку скрипт выполняется на серверной стороне, никакие объекты ‘Browser’ related не поддерживаются

Более подробно: Cisco UCS Director CloupiaScript Cookbook http://www.cisco.com/c/dam/en/us/td/docs/unified_computing/ucs/ucs-director/cloupia-script-cookbook/5-0/CloupiaScript-Cookbook.pdf

Cloupia Script SDK https://developer.cisco.com/fileMedia/download/0f4ec17c-ba4c-4627-a505-033479b69b38

Cisco Confidential 58 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Использование CloupiaScript для получения информации об IP адресе виртуальной машины

Cisco Confidential 59 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Используем готовый сценарий автоматизации Policies -> Orchestration -> Workflows -> Import

https://communities.cisco.com/docs/DOC-56732

Cisco Confidential 60 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка параметров сценария автоматизации

Входной переменной для сценария является идентификатор виртуальной машины

•  Policies -> Orchestration -> Workflows -> -> Edit workflow

Cisco Confidential 61 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование сценария автоматизации После импорта готового сценария в разделе Custom Task появился шаг «Retrieve VM IP address»

Теперь этот шаг можно использовать в собственных

сценариях

Cisco Confidential 62 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование кастомизированного шага сценария

Вместе со сценарием автоматизации в базу UCS Director импортируется так же и кастомизированный шаг, который представляет собой Сloupia Script

•  Policies -> Orchestration -> Custom Workflow Tasks -> -> Edit

-> входная переменная для скрипта, которая является указателем на объект «Виртуальная машина»

Cisco Confidential 63 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование CloupiaScript

Получаем структуру с информацией о виртуальной машине Получаем IP адрес

console.log(ctxt.toString())

Логгируем информацию

Передаем IP адрес в выходную переменную

Cisco Confidential 64 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Запускаем сценарий автоматизации

Запускаем сценарий •  Policies -> Orchestration -> Workflow -> -> Execute now

Выбираем виртуальную машину

Cisco Confidential 65 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Проверяем выполнение сценария Лог действий в UCS Director

IP-адрес виртуальной в переменной

Cisco Confidential 66 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 4

Cisco Confidential 67 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Практический пример № 4

API

2. Запрос на выделение IP адреса

3. Получение IP адреса из DDI системы

DDI система

UCS Director

1.Развертывание виртуальной машины

4. Настройка IP адреса полученного из DDI

системы

5. Добавление записи о хосте в DDI систему

система управления DNS, DHCP и IP адресацией

Cisco Confidential 68 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Интеграция с DDI-системой компании InfoBlox при помощи REST API

Cisco Confidential 69 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Используем готовый сценарий автоматизации Policies -> Orchestration -> Workflows -> Import

https://communities.cisco.com/docs/DOC-57415

Cisco Confidential 70 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Интеграция UCS Director и Infoblox

REST API (WAPI)

1. Запрос на выделение IP адреса

2. Получение IP адреса из DDI системы

DDI система

UCS Director 3. Добавление записи о хосте в DDI систему

система управления DNS, DHCP и IP адресацией

Виртуальная машина, развернутая

при помощи UCS Director

Cisco Confidential 71 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Переменные, используемые в сценарии автоматизации

•  Импортированный сценарий автоматизации использует собственные переменные для хранения информации о системе InfoBlox, а так же о добавляемом в систему хосте

•  Просмотр переменных •  Policies -> Orchestration -> Workflows -> -> Edit workflow

Cisco Confidential 72 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Интеграция с Infoblox при помощи CloupiaScript

Вместе со сценарием автоматизации в базу UCS Director импортируются так же и кастомизированные шаги, которые представляют собой Сloupia Script

•  Policies -> Orchestration -> Custom Workflow Tasks -> -> Edit

•  Policies -> Orchestration -> Custom Workflow Tasks -> -> Edit •  Policies -> Orchestration -> Custom Workflow Tasks -> -> Edit

Cisco Confidential 73 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Пример CloupiaScript при интеграции с InfoBlox

Cisco Confidential 74 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка IPAM в Infoblox

Подсеть, контролируемая IPAM

В пуле 253 свободных адреса

Cisco Confidential 75 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Настройка DNS в Infoblox

Контролируемые DNS-домены

Cisco Confidential 76 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Редактирование сценария автоматизации После импорта готового сценария в разделе Custom Task появилась папка «Infoblox»

Теперь эти шаги можно использовать в собственных

сценариях

Cisco Confidential 77 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Запускаем сценарий автоматизации

Запускаем сценарий •  Policies -> Orchestration -> Workflow -> -> Execute now

DNS-имя добавляемого хоста

DNS-домен

Cisco Confidential 78 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Проверяем выполнение в UCS Director Выполнение сценария в UCS Director

IP-адрес, полученный из IPAM

Cisco Confidential 79 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Проверяем выполние в InfoBlox Новая запись в IPAM

Новая запись в DNS

Cisco Confidential 80 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Возвращаем все в исходное состояние Встроенный механизм возврата в исходное состояние

Cisco Confidential 81 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Заключение

Cisco Confidential 82 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

§  NX-API – удобный и простой API для настройки §  Sandbox (!)

§  UCS Director – расширяемая платформа для автоматизации §  Поддержка PowerShell §  СloupiaScript §  OpenAutomation

§  Интеграция UCS Director при помощи REST API

Основные выводы

Cisco Confidential 83 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

•  DevNet: http://developer.cisco.com

•  Rest клиенты •  Postman (плагин для Chrome)

•  Poster (addon для Firefox)

•  curl (Linux) •  Paw (Только для Mac, лицензируется, генерирует код)

•  UCS Director

•  Worflow index

•  https://communities.cisco.com/docs/DOC-56419

•  REST Developer guide

•  http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/ucs-director/rest-api-guide/5-2/b_Cisco_UCS_Director_REST_Developer_Guide_52.html

•  CloupiaScript Cookbook

•  http://www.cisco.com/c/dam/en/us/td/docs/unified_computing/ucs/ucs-director/cloupia-script-cookbook/5-0/CloupiaScript-Cookbook.pdf

•  OpenAutomation

•  http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/ucs-director/open-automation-api-guide/5-1/b_UCSD_Open_Automation_Developer_Guide_5_1.html

•  XML parsing software •  XMLSpear (Mac & Windows)

Полезные ссылки

Cisco Confidential 84 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

По завершении данного семинара примите участие в конкурсе в наших социальных сообществах. Вам потребуется ответить на вопрос по теме вебинара, и возможно, именно вы станете счастливым обладателем сувенира от компании Cisco. Вопросы будут опубликованы сразу после нашей трансляции. Удачи! vk.com/cisco facebook.com/CiscoRu facebook.com/CiscoUA *призы разыгрываются в каждом сообществе **результаты публикуются раз в неделю.

Внимание, конкурс!