Построение ядра корпоративной облачной платформы на...
-
Upload
cisco-russia -
Category
Technology
-
view
398 -
download
3
Transcript of Построение ядра корпоративной облачной платформы на...
Построение ядра корпоративной облачной платформы на UCS Director. Собственные возможности и интеграция с внешними элементами инфраструктуры. Виктор Пустошилов Системный Инженер [email protected]
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.
• Обзор Cisco UCS Director • Дополнительные возможности Cisco UCS Director
• Оркестрация • Программирование
- Generic Tasks - Custom Tasks - Northbound APIs - Open Automation
• Дополнительные материалы
Содержание
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Развертывание VM – в пределах 5 минут Настройка инфраструктуры – сколько времени?
Сложности выделения ресурсов приложению
Админ
сети Конфигурирование
транков Настройка
VLAN
Настройка SAN Zoning
Создание Сервисного
профиля на UCS
Создание сетевой политики
Админ
серверов
Конфигурирование Предварительная настройка
Установка серверов
Добавление VLAN к сервисному профилю
Настройка VLAN
Создание ресурсов дисков
Админ
СХД
Добавление vFilers к Группе
Настройка vFilers
Создание IP space
Включение UCS блейда
Создание Storage Policy
Map NetApp LUN
Добавление Пользователей
и групп Планирование
Разрешения Определение модели затрат
Требования к бизнес
приложению
1
23
4
5
4
Сложности: • Разрозненные системы управления
• Физические и виртуальные компоненты
• Множество вендоров
• Ручные процессы
• Различные домены управления
Cisco UCS Director Автоматизация управления инфраструктурой
• UCS Director является ключевым компонентом для систем автоматизации более высокого уровня
• Значительно упрощает и ускоряет развертывание ресурсов и тенантов
• Улучшает KPI - Согласованное выделение ресурсов - Ускорение развертывания приложений
• Повышает удобство ИТ службы в глазах пользователей
5
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Централизованное управление физической и виртуальной инфраструктурой
Виртуальная инфраструктура
ИТ администраторы ИТ операторы Пользователи
Физическая инфраструктура UCS
Nexus
Открытые API для интеграции
Портал самообслуживания
Развертывание OS, VM, App
Консоль управления
Менеджер политик
Подтверждение сервисных запросов
Пулы ресурсов Модель затрат потребителя
Измерение/ Утилизация
Cisco ASAv
Cisco VACS
6
Автоматизация управления инфраструктурой
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Бизнес приложения
Обзор решения Cisco UCS Director
Cisco UCS HP, Dell
Сеть
СХД L4-7
UCS Director
=
Веб приложения
Песочница для Разработки/Тестов
Web Web Web App
Bare-Metal Гипервизор Гипервизор
DB
Hyper-V/KVM
Bare-Metal
Bare-Metal
Сеть
СХД L4-7
Вычисления
7
Основа корпоративного частного облака
Физические Виртуальные
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Обзор решения Cisco UCS Director
Портал самообслуживания
UCSD Unified Infrastructure Controller Multi-tenant & integrated cloud platform
Административная консоль
Среда виртуализации
vCenter SCVMM
Интеграция с внешними системами
Администаторы Пользователи Операторы
ü LDAP, Single Sign On ü RBAC ü IT Ticketing Systems ü CMDB ü Metering/Chargeback
Серверный менеджер
Сетевой менеджер СХД
UCS
Cisco UCS Director Integrated Multi-tenant Cloud Platform
Nexus
Сторонние коннекторы
Сторонние решения
REST API
RHE-VM
Физическая инфраструктура
Open Automation Framework
8
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Широкая поддержка инфраструктурных решений
Системы вычислений Сеть
Nexus, MDS
СХД Среды виртуализации
UCS Director
Сервисы L4-L7
vASA, CSR1000v
Интегрированные стеки
9
FlexPod
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Области применения
Быстрый ввод в эксплуатацию
интегрированных стеков
Инфраструктура, ориентированная под приложения
Инфраструктура как сервис (Физические и
виртуальные сервера)
Развертывание сред под BigData приложения
10
Оркестрация и сценарии автоматизации
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 11
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Оркестрация и сценарии автоматизации
• Приостановить/возобновить сценарий
• Rollback (De-Provision)
• Разрешения
• Продвинутая логика (loops, if-else, conditional)
• Импорт/Экспорт, расписания
• Собственные типы входных параметров
• Опубликовать в каталоге (IaaS)
Start
Task-1
Task-2
Task-3
End
Storage
Network
Compute
Task-4 Virtualization
Rollback 12
Workflow
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Гибкая логика создания сценариев
If-Else
Failed
True False
Conditional
Failed
Path-1 Path-3 Path-2
Start
Start Loop
VM Power Action
End Loop
End
n=5
Start
Add VLAN
End
If Else
Delete VLAN
VLAN test
Start
OFF
End
Conditional
DELETE
Power Status
ON
Loops
13
Loops, If-Else, Conditional
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Библиотека задач – 1500+ Что такое задача (task) • Атомарная операция на управляемом объекте
• ”Кирпичик” для построения более сложных сценариев
Библиотека задач • Более 1500 готовых задач
• СХД, сеть, среды виртуализации, L4-L7,служебные задачи (разрешения, скрипты) и пр.
• Создание собственных задач с CloupiaScript (JavaScript)
UCS Tasks
• Select UCS Server • Reset UCS Server • Power On UCS Server • Power Off UCS Server • Create UCS Service Profile from Template
• Create UCS Service Profile • Select UCS Service Profile • Modify UCS Service Profile Boot Policy
• Delete UCS Service Profile • Associate UCS Service Profile • Disassociate UCS Service Profile • Create UCS Boot Policy
• Modify UCS Boot Policy LUN ID • Clone UCS Boot Policy • Modify UCS Boot Policy WWPN • Add VLAN • Delete UCS Boot Policy • Delete UCS VLAN • Add VLAN to Service Profile • Add iSCSI vNIC to Service Profile • Add vNIC to Service Profile • Delete vNIC from Service Profile • Create Service Profile iSCSI Boot Policy
• Modify Service Profile Boot Policy to Boot from iSCSI
14
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Создание сценария с помощью «Drag and drop»
15
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Пример сценария – развертывание ESXi хоста ESXi 5.5 SAN Boot на Cisco UCS
Создать VLAN-ы
Переконфигурировать транки
Создать сетевые политики
Создать сервисный профиль UCS
Настроить SAN Zoning
Создание сервисного профиля
Bare metal Provisioning
(ESX 5.5) Настроить серверы
Создать LUN-ы и
Volume-ы Создать VLAN
Добавить VLAN к сервисному профилю
Создать IP space
Создать vFilers
Добавить vFilers к Group
Map NetApp LUN
Создать политику СХД
Включить блейд UCS
Зарегистрировать Host
Отправить уведомление о завершении
Network Admin
Storage Admin
Compute Admin
Легенда
Сценарий
16
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Процесс выделения ресурсов с UCS Director
• Автоматическое выделение ресурсов
• Запуск процесса в один «клик»
• Контроль всех операций
• Быстрое и простое предоставление ИТ сервисов
Минуты
Более 170 примеров сценариев и задач: https://communities.cisco.com/docs/DOC-56419
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Возврат ресурсов в считанные минуты Интеллектуальные возможности “отката” сценариев
Rollback • Возврат ресурсов
• Понимает текущее состояние • Автоматический сценарий
“отката” Применение • Тестирование сценариев
• Тестирование DR
• Окончание аренды ресурсов 18
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Структура сценария Упрощение операций сценария с Input/Output операциями
Task-1 Task-2
Outputs InputsInputs Inputs
Admin
Tenant User
Workflow Inputs
Workflow Inputs
Workflow Inputs
Task Inputs
Task Outputs
Легенда
Workflow
I/O Chaining
19
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Пример автоматизации ИТ операций Добавить новый NFS Datastore к ESXi кластеру
C-mode 8.2 UCS vSphere 5.5
Окружение
Конечный пользователь заходит на портал самообслуживания и вводит параметры: - Имя Datastore - Размер Datastore в GB
Администратор предварительно формирует входные параметры: - NetApp vServer - Aggregate - Mount Path - ESXi ноды
START Создать Volume
Создать Mount Point Смонтировать Volume как NFS Datastore
COMPLETED
20
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
IaaS на основе политик Пример автоматизации ИТ операций
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Высокоуровневая процедура создания сценария
1. Добавить Workflow
2. Определить входные параметры (Inputs)
3. Добавить задачи к Workflow
4. Определить значения входных параметров
5. Настроить связь Inputs/Outputs
6. Проверить валидность Workflow
7. Протестировать Workflow
8. Опубликовать в каталог
22
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Собственные типы входных параметров
Определение списка вариантов размера Datastore
LOV Tutorial https://communities.cisco.com/docs/DOC-55871 23
List of Values (LOVs)
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Сценарии автоматизации Оркестрация на основе атомарных действий. Объектно ориентированный подход
Библиотека задач Более 1500+ готовых к использованию задач для быстрого создания сценариев
Оркестрация – подведем итоги
Кастомизация Custom Input Types, Custom Tasks
Инфраструктура-как-Сервис (IaaS) Публикация готовых сценариев в каталог самообслуживания
24
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Вопрос Q. Сколько готовых task-ов доступно в UCS Director?
A. 400 B. 600 C. 1500+
D. 2000+ 25
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Q. Сколько примеров Workflow доступно на сайте Cisco UCS Director Community?
A. 50 B. 170+ C. 500
D. 1000 26
Вопрос
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Расширяем возможности UCS Director
Custom Tasks
Workflows
Custom Workflows
SSH Tasks
PowerShell Agents
Северные API-и
Южные API-и
REST APIs
Open Automation
28
Много возможностей - с чего начать?
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
От простого к сложному Инструменты определяются типом кастомизации и экспертизой
Экспертиза
Тип кастомизации
Generic Tasks • SSH • PowerShell
Custom Tasks • Javascript
Северные API • REST • PowerShell
Южные API • Open Automation
Библиотека готовых Task-ов • Создание Workflow
29
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Создать workflow
Добавить task [Type = SSH Command]
Определить входные параметры
Имя хоста и Логин/Пароль
Список команд
Запустить workflow
Используем task “SSH Command” из стандартной библиотеки
SSH Task CLI команды, исполняемые на удаленной системе из UCS Director
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
Запуск скриптов PowerShell из UCS Director
Windows VM
Network Policies
vDC
DNS Servers
Используем task “Execute PowerShell Command” из стандартной библиотеки
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
PowerShell скрипты Агент PowerShell (PSA)
UCS Director
MS-Domain-2
MS-Domain-1 PSA
Один агент PowerShell группу серверов
PSA
• Удаленный доступ к Shell
• Удаленное управление
• Часто используемый инструмент в окружении Windows
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Custom Tasks
Custom Task Code • Javascript • Библиотеки UCSD • API к UCS-D
UCS Director Runtime
Inventory Libraries
Inputs Outputs
Java API
importPackage(java.util);importPackage(com.cloupia.model.cIM);
function resizeVmDisk(vmIdStr, diskName, sizeInGB){
var vmId = Integer.parseInt(vmIdStr);var vmContext = util.createContext("vm",
null, vmIdStr);
// obtain VM detailsvar vminfo = ctxt.getAPI().getVMwareVMInfo(vmId);logger.addInfo("About to resize VM "+ vmIdStr
+" name="+vmname);var status = ctxt.getAPI().performAction(
vmContext,"diskResize","Resize VM Test”, ctxt.getUserId(),paramarr);
logger.addInfo("status = "+status);}
var vmidstr1 = ctxt.getInput("VMID");resizeVmDisk(vmidstr1, "Hard Disk 1", "10");
Пример скрипта: Изменить размер диска VM
Stats Reports
35
Комбинация JavaScript и библиотек UCS Director
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Custom Tasks
• Запустить сервисный запрос из задачи SSH command с автоматическим сценарием “отката”
• Переместить ESXi хост на другой кластер • Развернуть VM с выделением IP из внешней системы IPAM
• Получить атрибуты статического IP пула
• Получить настройки Mail
36
Примеры задач
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Модули скриптов – переиспользуем код
loadLibrary("myModule/myFunctions");
logger.addInfo("Catalog Name: " +catalogNameFromID(18) );
Способы переиспользвать код 1. Переиспользовать Javascript функции 2. Использовать сторонние JAR файлы
Пример скрипта: Get Catalog Name from Catalog ID
37
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Интерпретатор UCS Director Scripts
Launch Interpreter with Context • Загружает окружение • Доступ по API к методам и объектам
• Прогон/отладка
38
Отладка Custom Tasks
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
“Северный” API в UCS Director
Примеры интеграции
REST
PowerShell
• Интеграция со сторонними приложениями
• Запуск операций и сценариев
• Доступ к отчетам и данным:
- Физическая инфраструктура
- Виртуальная инфраструктура
- Сетевые устройства и СХД
• Управление Пользователями, Группами, Политиками, Административными функциями
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Протоколы и форматы - JSON, XML и Java
• JSON (JavaScript Object Notation) - Consistent Data Format
- Unordered set of name/value pairs
REST API Поддерживаемые протоколы и форматы
JSON
XML
Java
{"vdcName":"vDC with API", "vdcDescription":”vDC Demo”,“vdcId”:123}
41
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Login
• UserAccount
• Report
• Approval
• Catalog
• Chargeback
• Funds
• Group
• Inventory
• LOVProvider
• PaymentStatus
• ResourceAccountingandLimits
• ServiceContainer
• ServiceRequest
• Task
• VDC
• VMO
• Workflow
42
REST API Операции
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
С чего начать – Access Key и API Browser
REST API Browser
Key based access
43
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
REST API Более 3000 операций
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 45
REST API Browser
https://developer.cisco.com/site/ucs-director/rest-api-guide/
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
Пример запроса API Получить список всех VM
• Используем плагин REST Easy для Firefox • Вводим API Access key è customer HTTP
headers • Стандартные коды ответов HTTP
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
Что там с Java?
importjava.util.Collection;importjava.util.List;importjava.util.HashMap;importjava.util.Map;importcom.cisco.cuic.api.client.CuicServer;importcom.cisco.cuic.api.client.UserAPIGlobal;importcom.cisco.cuic.api.client.APITabularReport;publicstaticvoidmain(String[]args){/**Fill-intheCuicServerinfo.*/CuicServerserver=CuicServer.getAPI("<IPaddress>","<RESTKey>","https",443);
UserAPIGlobalinstance=newUserAPIGlobal(server);APITabularReportobj=instance.userAPIGetAllVMs();}
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Пример: Запускаем Workflow через REST API
Inputs: • Volume Name • Volume Size (GB) • iGroup Name
https://communities.cisco.com/docs/DOC-55973 https://communities.cisco.com/docs/DOC-57426
48
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Запрос REST API POST to URL
49
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Ответ REST API REST API отвечает с Service Request ID
{ "serviceResult": 531, "serviceError": null, "serviceName": "InfraMgr", "opName”:"userAPISubmitWorkflowServiceRequest"
}
50
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Исполнение сценария через REST API
51
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
PowerShell API
52
• “Северный” интерфейс для интеграции с UCS Director
• JSON-based REST API вызовы внутри PS CmdLets
• Безопасный доступ на основе access key
• Использование преимуществ REST в окружении Windows
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
PowerShell API – Пример Command Set
Invoke-userAPICancelServiceRequest
Invoke-userAPIExecuteVMAction
Invoke-userAPIGetAllCatalogs
Invoke-userAPIGetAllGroups
Invoke-userAPIGetAllVDCs
Invoke-userAPIGetAvailableReports
Invoke-userAPIGetHistoricalReport
Invoke-userAPIGetInstantDataReport
Invoke-userAPIGetPage
Invoke-userAPIGetServiceRequestDetails
Invoke-userAPIGetServiceRequests
Invoke-userAPIGetServiceRequestWorkFlow
Invoke-userAPIGetTabularReport
Invoke-userAPIGetVMActionRequests
Invoke-userAPIGetWorkflowInputs
Invoke-userAPIGetWorkflowInputValue
Invoke-userAPIGetWorkflowInputValues
Invoke-userAPIGetWorkflows
Get-Command–ModuleCiscoUCSDPS
53
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
Getting Started
Set UCS Director Environment [Environment]::SetEnvironmentVariable("UCSD_SERVER","10.1.1.1","User")
[Environment]::SetEnvironmentVariable("UCSD_RESTKEY","562FDF763A384E78B9BAB7FE02CA13B6","User")
Verify:
[Environment]::GetEnvironmentVariable("UCSD_SERVER","User")
[Environment]::GetEnvironmentVariable("UCSD_RESTKEY","User")
API Access Key
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Получаем список Workflow через PowerShell API Invoke-userAPIGetWorkflows
PSC:\ProgramFiles(x86)\Cisco\CiscoUCSDirectorPowerShellConsole\Modules\CiscoUcsdPS>Invoke-userAPIGetWorkflows|moreIdNameDescriptionActiveContextTypeSaveasTasklet--------------------------------------------------55AddBMstoAPICContainerThisworkflowprovisionsbareTrue0Falsemetalsandaddthemtocontainer.41AddVMstoAPICContainerThisworkflowprovisionsnewTrue0FalseVMsforanexistingAPICcontainer32AddVMstoContainerTrue0False38AddnewCompressedThisworkflowwillexecuteTrue0FalsedatastoretoESXIonthebelowtasks,V70001.SANZoning2.CreateHost3.MapVolumetoHost4.DatastoreCreation
55
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 57
Open Automation Framework Открытые API и SDK для расширения поддерживаемой инфраструктуры
VMware
Hyper-V
Cisco UCS Director
Готовая интеграция Open Automation Framework
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Возможности Open Automation Framework • Расширение поддерживаемой инфраструктуры
• Использование библиотеки задач для создания сценариев
• Управление жизненным циклом - Новый тип аккаунта, Pod - Инвентори, Управление, Конфигурирование, Мониторинг
• GUI - Новые пункты меню
• Отчеты - Tabular, Summary, Pie Charts - CloudSense® On-demand Reports
58
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
SmartStack SmartStack
Поддержка СХД - NimbleStorage SmartStackTM
SmartStackTM
1. Управление конвергентным стеком SmartStack
Cisco UCS + Nimble Storage CS Series Platform
Назначение
2. Автоматизация Day-1 задач с СХД
New storage Grow storage Remove Storage Data protection Rapid production environment cloning
59
Пример интеграции с использованием Open Automation
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Интеграция с сервисным каталогом ServiceNow
Physical Infrastructure Cisco UCS
Cisco Nexus
Virtual Infrastructure
VMware Hyper-V KVM
UCS Director (Workflows, Catalog) Start End
Сервисный каталог ServiceNow
Сервисный запрос Подтверждение Дополнительные workflow
такие как CMDB Tasks
RESTful APIs by
Start End
60
Пример интеграции с использованием Open Automation и REST API
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
ServiceNow Catalog with Orderable Services from Cisco UCS Director
61
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Подводя итоги Cisco UCS Director обладает широким функционалом “из коробки” Библиотека более чем 1500 задач для создания сценариев автоматизации
Cisco UCS Director можно адаптировать под ваши задачи Инструменты расширения позволяют добавлять новые функциии максимально быстро
1. Оркестратор Автоматизация задач ИТ с помощью сценариев (Workflow) и задач (Task)
2. “Северный” API REST и Powershell API обеспечивают интеграцию с ИТ системами
3. Open Automation Framework “Южный” API позволяет добавлять поддержку новых устройств
62
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
DevNet для Cisco UCS Director
https://developer.cisco.com/site/ucs-director/overview/ 64
Сообщество разработчиков
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco UCS Director Community Workflows Index
https://communities.cisco.com/docs/DOC-56419
Scan here to go to Workflows Index Page
Cisco UCS Director
65
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public
Call to Action
• Узнайте больше о Cisco UCS Director - http://www.cisco.com/go/ucsdirector
• Протестируйте Cisco UCS Director - Для заказчиков: Eval License - http://cisco.mediuscorp.com/ucsdeval - Для Партнеров, Разработчиков, ISV: NFR License - http://cisco.mediuscorp.com/ucsd
• Зайдите на сайт сообщества Cisco UCS Director Community по Workflows и Custom Tasks
- https://communities.cisco.com/community/technology/datacenter/ucs_management/cisco_ucs_developed_integrations/content?filterID=contentstatus[published]~category[ucs-director-workflows]
• Зайдите на сайт сообщества разработчиков Cisco UCS Director DevNet - https://developer.cisco.com/site/ucs-director/overview/
66
CiscoRu Cisco CiscoRussia
Ждем ваших сообщений с хештегом #CiscoConnectRu
CiscoRu
• Пожалуйста, заполните анкеты. • Ваше мнение очень важно для нас.
Спасибо Контакты: Виктор Пустошилов
Системный Инженер
© 2015 Cisco and/or its affiliates. All rights reserved.