SlideShare uma empresa Scribd logo
1 de 16
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

Mais conteúdo relacionado

Mais procurados

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

Mais procurados (20)

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

Destaque

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

Destaque (20)

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

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

Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»
Александр Шаповал «Контейнеры Windows в Microsoft Azure и on-premise»SpbDotNet Community
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыWordCamp Kyiv
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...SQALab
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projectsAsya Dudnik
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование SymfonyMedia Gorod
 
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...
станислав мехоношин «инфраструктура для разработки в один клик, или Vagrant д...DataArt
 
Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...
Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...
Станислав Мехоношин «Инфраструктура для разработки в один клик, или Vagrant д...DataArt
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!PyNSK
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...IT Event
 
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...SQADays_2009_Piter
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 

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

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

Mais de Positive Hack Days

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

Mais de Positive Hack Days (20)

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

Último (9)

СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

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