SlideShare a Scribd company logo
vSphereTools
- инструмент для автоматизации работы с vSphere
Тимур Гильмуллин
Руководитель отдела технологий разработки
(DevOps)
tgilmullin@ptsecurity.com
https://www.linkedin.com/in/tgilmullin
Проблема:
отсутствие инструментов Deploy & Testing
Positive Technologies
Середина 2014 года:
+ сборки на TeamCity есть
- деплоя нет
- автотестирования на ВМ нет
Типовая схема сборок с продвижением в TeamCity
Выбор инструментов
На середину 2014 года было известно два решения:
• Использовать api, предоставляемое VMware, библиотеку VIX API:
https://www.vmware.com/support/developer/vix-api/
• Использовать библиотеку pysphere:
https://pypi.python.org/pypi/pysphere
VIX API vs pysphere. Недостатки.
VIX API имел высокий порог вхождения:
• сложные, плохо документированные, на тот момент, C-библиотеки
• всю интеграцию со своими CI-системами нужно писать самому на C
Вообще недокументированный pysphere:
• написанный под Python 2.7
• с отсутствующим интерфейсом командной строки
• представлял собой набор разрозненных классов, хаотично раскиданных
по скриптам пакета
• развивающийся на тот момент проект с кучей багов
Преимущества pysphere перед VIX API
• Работает гораздо быстрее, за счёт использования http rest api для доступа к
функциям vSphere
• Экспертиза по Python в Компании гораздо выше, за счёт чего порог вхождения для
использования этого инструмента – ниже
• Отзывы о самописной библиотеке PT.VIX поверх VIX API, не выдерживали никакой
критики, в плане поддержки и надёжности её работы
vSphereTools
Модель и реализация
Набор инструментов vSphereTools. Цели и требования.
Должен поддерживать одновременно три варианта использования:
• Работает из консоли и имеет широкий набор команд
• Имеет понятное api для возможности его импорта как обычной python-библиотеки
• Встроен в TeamCity в качестве метараннеров, доступных для выбора в шагах конфигураций
Концептуальная модель взаимодействия vSphereTools со Сферой
AS SECG
Требования к окружению для vSphereTools
Полная документация с примерами доступна в сообществе DevOpsHQ:
https://github.com/devopshq/vspheretools/wiki/vSphereTools-Instruction-(ru)
• Служебный пользователь для доступа к Сфере
• Доступен сервис vcenter с машины, на которой запускаются vSphereTools, а также ESX на
котором работает целевая ВМ
• Установлены инструменты VMvare Tools на целевой ВМ
• Установлен Python 2*, версий 2.7 или старше, на машине, на которой запускаются
vSphereTools
Метараннеры для TeamCity
Скрипты vSphereTools, используемые в метараннерах, реализуют множество функций:
• Start VM - запускает ВМ и ожидает загрузки OS в течение указанного времени
• Stop VM - останавливает ВМ
• Create VM snapshot - создаёт снапшот для ВМ
• Revert VM to named snapshot - откатывает ВМ на указанный снапшот
• Clone VM into directory - клонирует ВМ в указанный каталог на Сфере
• Delete VM - удаляет ВМ со Сферы
• Upload file to VM - копирует локальный файл внутрь указанной ВМ
• Execute command on VM - запускает программу на ВМ, получает логи и exit-код
Где используются метараннеры vSphereTools
Метараннеры используются для деплоя и тестирования продуктов Компании:
• MPX.SIEM (подпроекты: MPXDeployment, mpx.installator.tests, UI, ScannerDev и др.)
• SIEM (множество подпроектов и компонент PTSIEM)
• WebEcoSystem (множество подпроектов и компонент WebEngine, PT AI, PT AF)
• CERT (подпроекты CERT Group)
vSphereTools
Ограничения и возможные доработки
Ограничения самописного инструмента vSphereTools
• Последняя доступная в индексе версия pysphere 0.1.8., а она лежит в основе
vSphereTools
• Новые методы для vSphereTools приходится реализовывать только силами
DevOps-отдела
• Новые версии VMware vSphere, возможно, не будут поддерживать старое api
• Только для python 2.* (от 2.7 и выше)
Возможные доработки инструмента vSphereTools
VIX Скрипты и метараннеры выложены в open-source DevOpsHQ:
• vSphereTools:
https://github.com/devopshq/vspheretools
• Метараннеры:
https://github.com/devopshq/teamcitytools/tree/master/vspheretools-metarunners
• Инструкции к скриптам на GitHub-wiki:
https://github.com/devopshq/vspheretools/wiki/vSphereTools-Instruction-(ru)
Переписать vSphereTools на VMware vCloud Suite SDK for Python for vSphere 6.0:
• Документация:
https://developercenter.vmware.com/web/sdk/60/vcloudsuite-python
• Проект pyVmomi:
https://github.com/vmware/pyvmomi
Спасибо!
Вопросы?
Тимур Гильмуллин
Руководитель отдела технологий разработки
(DevOps)
tgilmullin@ptsecurity.com
https://www.linkedin.com/in/tgilmullin

More Related Content

PPTX
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
PPTX
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
PPTX
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
PPTX
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
PPTX
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
PPTX
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
PPTX
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
PPT
Анализируем результаты тестирования производительности с Graphite и Grafana
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Анализируем результаты тестирования производительности с Graphite и Grafana

What's hot (20)

PPTX
Sql server clr integration
PPTX
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
PDF
Winium — это как Selenium, только под Windows
PPTX
Андрей Чебукин "Построение успешных API"
PPTX
Как мы собираем проекты в выделенном окружении в Windows Docker
PPTX
Silverlight 4, есть ли жизнь на десктопе
PPTX
Интеграция TeamCity и сервера символов | Алексей Соловьев
PDF
Тестируем мобильное приложение в суровых реалиях Интернета
PPTX
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
PPTX
Test driven development in net
PPTX
Типовая сборка и деплой продуктов в Positive Technologies
PDF
Максим Пугачев
PDF
Проверка на прочность или нагрузочное тестирование с Jmeter
PPTX
Развитие сообщества Open DevOps Community
PDF
Денис Паясь
PDF
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
PPTX
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
PPTX
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
PPTX
Нагрузочное тестирование теория Кожухов
Sql server clr integration
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Winium — это как Selenium, только под Windows
Андрей Чебукин "Построение успешных API"
Как мы собираем проекты в выделенном окружении в Windows Docker
Silverlight 4, есть ли жизнь на десктопе
Интеграция TeamCity и сервера символов | Алексей Соловьев
Тестируем мобильное приложение в суровых реалиях Интернета
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Test driven development in net
Типовая сборка и деплой продуктов в Positive Technologies
Максим Пугачев
Проверка на прочность или нагрузочное тестирование с Jmeter
Развитие сообщества Open DevOps Community
Денис Паясь
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Нагрузочное тестирование теория Кожухов
Ad

Viewers also liked (20)

PPTX
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
PPTX
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
PPTX
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
PDF
Tapping into the core
PPTX
Организация workflow в трекере TFS | Алексей Соловьев
PPTX
Инструменты для проведения конкурентного анализа программных продуктов | Вла...
PDF
Метод машинного обучения для распознавания сгенерированных доменных имен
PPTX
Сообщество DevOpsHQ: идеология и инструменты | Александр Паздников
PPTX
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
PDF
Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
PPTX
Доставка зловредов через облака
PPTX
SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...
PPT
Восток — дело тонкое, или Уязвимости медицинского и индустриального ПО
PPTX
Fingerprinting and Attacking a Healthcare Infrastructure
PDF
Аспекты деятельности инсайдеров на предприятии
PDF
Janitor to CISO in 360 Seconds: Exploiting Mechanical Privilege Escalation
PPTX
Эксплуатируем неэксплуатируемые уязвимости SAP
PDF
Боремся с читингом в онлайн-играх
PDF
Magic Box, или Как пришлось сломать банкоматы, чтобы их спасти
PPTX
NFC: Naked Fried Chicken / Пентест NFC — вот что я люблю
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Tapping into the core
Организация workflow в трекере TFS | Алексей Соловьев
Инструменты для проведения конкурентного анализа программных продуктов | Вла...
Метод машинного обучения для распознавания сгенерированных доменных имен
Сообщество DevOpsHQ: идеология и инструменты | Александр Паздников
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
Доставка зловредов через облака
SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...
Восток — дело тонкое, или Уязвимости медицинского и индустриального ПО
Fingerprinting and Attacking a Healthcare Infrastructure
Аспекты деятельности инсайдеров на предприятии
Janitor to CISO in 360 Seconds: Exploiting Mechanical Privilege Escalation
Эксплуатируем неэксплуатируемые уязвимости SAP
Боремся с читингом в онлайн-играх
Magic Box, или Как пришлось сломать банкоматы, чтобы их спасти
NFC: Naked Fried Chicken / Пентест NFC — вот что я люблю
Ad

Similar to vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин (20)

PPTX
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
PPTX
sdgadfga dfgadfg aegadfg adfga adfgadfgadfga
PPTX
Управление облачной инфраструктурой
PPTX
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
PDF
Павел Брылов, Skype
PPTX
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
PPT
Apache maven in java projects
PPT
Использование Symfony
PPTX
Cистемы автоматической сборки проектов (Полина Фоминых)
PDF
Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...
PDF
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
PDF
Мой Python всегда со мной!
PDF
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
PDF
Automation Compliance Checks
PPT
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
PDF
MockServer-driven development
PPT
Selenium Begins
PDF
CI/CD with Fastlane and Telegram
PDF
DevOps guide for awesome quality assurance
PDF
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
sdgadfga dfgadfg aegadfg adfga adfgadfgadfga
Управление облачной инфраструктурой
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Павел Брылов, Skype
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Apache maven in java projects
Использование Symfony
Cистемы автоматической сборки проектов (Полина Фоминых)
Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
Мой Python всегда со мной!
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Automation Compliance Checks
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
MockServer-driven development
Selenium Begins
CI/CD with Fastlane and Telegram
DevOps guide for awesome quality assurance
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)

More from Positive Hack Days (20)

PPTX
Аналитика в проектах: TFS + Qlik
PPTX
Использование анализатора кода SonarQube
PPTX
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
PPTX
Автоматизация построения правил для Approof
PDF
Мастер-класс «Трущобы Application Security»
PDF
Формальные методы защиты приложений
PDF
Эвристические методы защиты приложений
PDF
Теоретические основы Application Security
PPTX
От экспериментального программирования к промышленному: путь длиной в 10 лет
PDF
Уязвимое Android-приложение: N проверенных способов наступить на грабли
PPTX
Требования по безопасности в архитектуре ПО
PDF
Формальная верификация кода на языке Си
PPTX
Механизмы предотвращения атак в ASP.NET Core
PDF
SOC для КИИ: израильский опыт
PDF
Honeywell Industrial Cyber Security Lab & Services Center
PDF
Credential stuffing и брутфорс-атаки
PDF
Доклад SiteSecure
PDF
Практический опыт защиты финансовых транзакций клиентов Банка
PDF
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
PDF
Эффективный контроль сотрудников
Аналитика в проектах: TFS + Qlik
Использование анализатора кода SonarQube
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Автоматизация построения правил для Approof
Мастер-класс «Трущобы Application Security»
Формальные методы защиты приложений
Эвристические методы защиты приложений
Теоретические основы Application Security
От экспериментального программирования к промышленному: путь длиной в 10 лет
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Требования по безопасности в архитектуре ПО
Формальная верификация кода на языке Си
Механизмы предотвращения атак в ASP.NET Core
SOC для КИИ: израильский опыт
Honeywell Industrial Cyber Security Lab & Services Center
Credential stuffing и брутфорс-атаки
Доклад SiteSecure
Практический опыт защиты финансовых транзакций клиентов Банка
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
Эффективный контроль сотрудников

vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин

  • 1. vSphereTools - инструмент для автоматизации работы с vSphere Тимур Гильмуллин Руководитель отдела технологий разработки (DevOps) tgilmullin@ptsecurity.com https://www.linkedin.com/in/tgilmullin
  • 3. Positive Technologies Середина 2014 года: + сборки на TeamCity есть - деплоя нет - автотестирования на ВМ нет Типовая схема сборок с продвижением в TeamCity
  • 4. Выбор инструментов На середину 2014 года было известно два решения: • Использовать api, предоставляемое VMware, библиотеку VIX API: https://www.vmware.com/support/developer/vix-api/ • Использовать библиотеку pysphere: https://pypi.python.org/pypi/pysphere
  • 5. VIX API vs pysphere. Недостатки. VIX API имел высокий порог вхождения: • сложные, плохо документированные, на тот момент, C-библиотеки • всю интеграцию со своими CI-системами нужно писать самому на C Вообще недокументированный pysphere: • написанный под Python 2.7 • с отсутствующим интерфейсом командной строки • представлял собой набор разрозненных классов, хаотично раскиданных по скриптам пакета • развивающийся на тот момент проект с кучей багов
  • 6. Преимущества pysphere перед VIX API • Работает гораздо быстрее, за счёт использования http rest api для доступа к функциям vSphere • Экспертиза по Python в Компании гораздо выше, за счёт чего порог вхождения для использования этого инструмента – ниже • Отзывы о самописной библиотеке PT.VIX поверх VIX API, не выдерживали никакой критики, в плане поддержки и надёжности её работы
  • 8. Набор инструментов vSphereTools. Цели и требования. Должен поддерживать одновременно три варианта использования: • Работает из консоли и имеет широкий набор команд • Имеет понятное api для возможности его импорта как обычной python-библиотеки • Встроен в TeamCity в качестве метараннеров, доступных для выбора в шагах конфигураций
  • 10. Требования к окружению для vSphereTools Полная документация с примерами доступна в сообществе DevOpsHQ: https://github.com/devopshq/vspheretools/wiki/vSphereTools-Instruction-(ru) • Служебный пользователь для доступа к Сфере • Доступен сервис vcenter с машины, на которой запускаются vSphereTools, а также ESX на котором работает целевая ВМ • Установлены инструменты VMvare Tools на целевой ВМ • Установлен Python 2*, версий 2.7 или старше, на машине, на которой запускаются vSphereTools
  • 11. Метараннеры для TeamCity Скрипты vSphereTools, используемые в метараннерах, реализуют множество функций: • Start VM - запускает ВМ и ожидает загрузки OS в течение указанного времени • Stop VM - останавливает ВМ • Create VM snapshot - создаёт снапшот для ВМ • Revert VM to named snapshot - откатывает ВМ на указанный снапшот • Clone VM into directory - клонирует ВМ в указанный каталог на Сфере • Delete VM - удаляет ВМ со Сферы • Upload file to VM - копирует локальный файл внутрь указанной ВМ • Execute command on VM - запускает программу на ВМ, получает логи и exit-код
  • 12. Где используются метараннеры vSphereTools Метараннеры используются для деплоя и тестирования продуктов Компании: • MPX.SIEM (подпроекты: MPXDeployment, mpx.installator.tests, UI, ScannerDev и др.) • SIEM (множество подпроектов и компонент PTSIEM) • WebEcoSystem (множество подпроектов и компонент WebEngine, PT AI, PT AF) • CERT (подпроекты CERT Group)
  • 14. Ограничения самописного инструмента vSphereTools • Последняя доступная в индексе версия pysphere 0.1.8., а она лежит в основе vSphereTools • Новые методы для vSphereTools приходится реализовывать только силами DevOps-отдела • Новые версии VMware vSphere, возможно, не будут поддерживать старое api • Только для python 2.* (от 2.7 и выше)
  • 15. Возможные доработки инструмента vSphereTools VIX Скрипты и метараннеры выложены в open-source DevOpsHQ: • vSphereTools: https://github.com/devopshq/vspheretools • Метараннеры: https://github.com/devopshq/teamcitytools/tree/master/vspheretools-metarunners • Инструкции к скриптам на GitHub-wiki: https://github.com/devopshq/vspheretools/wiki/vSphereTools-Instruction-(ru) Переписать vSphereTools на VMware vCloud Suite SDK for Python for vSphere 6.0: • Документация: https://developercenter.vmware.com/web/sdk/60/vcloudsuite-python • Проект pyVmomi: https://github.com/vmware/pyvmomi
  • 16. Спасибо! Вопросы? Тимур Гильмуллин Руководитель отдела технологий разработки (DevOps) tgilmullin@ptsecurity.com https://www.linkedin.com/in/tgilmullin