VMware vClient - основная консоль управления vSphere. А еще в vClient можно добавлять плагины - дополнительные модули, для работы из одного окна консоли. Такие плагины делает как сама VMware для некоторых своих продуктов (например, VMware vCenter Update Manager), так и сторонние разработчики - EMC, NetApp и многие прочие.
У М.Михеева есть специальная страничка с плагинами.
Плагины могут быть двух видов - web и .net. Web - это соответственно веб-странички, на .net плагины обычно очень похожи на "родные" части vClient.
И если для разработки своего плагина на .net нужно быть программистом, то web-приложений у нас в сети уже обычно имеется.
Так почему бы нам не добавить немного полезности?
Поехали!
В пути установки vClient (по умолчанию это "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client" - у меня так, потому что ОС 64битная) есть папка для плагинов (Plugins). В нее нам необходимо положить .xml-файл с настройкой подключения к необходимому нам веб-приложению.
Краткий формат файла такой:
Разберем, что есть что:
Механизм работы такой: по адресу web-приложения передается параметр moref (Managed Object Reference) - информация по текущей сессии, и объекту на котором сработал плагин. Информация эта примерно такого вида:
/moref=VirtualMachine:304&serverGuid=&locale=en&serviceUrl=https://esx11.veskin.lab/sdk.
Соответственно на стороне приложения предполагается, что скрипт или программа обработает строку и получит все необходимые данные.
Потому, я долго подбирал, как должен выглядеть url Гугла:
http://www.google.com/webhp?output=html/,
иначе он просто давал ошибку 404, страницы "/moref" на гугл.ком нет.
Этот способ, как подключить плагин внутри локальной консоли клиента. Соответственно эти же xml нужно подложить на всех машинах, где стоит клиент vSphere и нужен этот плагин.
Но есть возможноть осуществить дистрибуцию плагина на все консоли централизовано через vCenter.
Мой британский коллега по Veeam Рикки Эль-Казим написал программу для создания и регистрации веб-приложения в VMware vCenter. Программа создает xml и регистрирует его в vCenter. Дальше можно, после подключения консоли к серверу, установить этот плагин.
В Veeam пока не сделали для своих продуктов плагины в vClient. Но так как Reporter Dashboard, Business View, Backup & Replication Enterprise Manager - это веб-консоли, то их можно воткнуть самому. Другой мой коллега по Veeam на своем блоге разместил уже подготовленные xml. Пользуйтесь на здоровье (и свой страх и риск ;))
Так как создание, подключение и работа с такими плагинами это ваша инициатива, и никто официальную поддержку осуществлять не будет, то добавлю несколько мыслей по поводу возможных проблем.
Ну, и немного ссылок по теме:
У М.Михеева есть специальная страничка с плагинами.
Плагины могут быть двух видов - web и .net. Web - это соответственно веб-странички, на .net плагины обычно очень похожи на "родные" части vClient.
И если для разработки своего плагина на .net нужно быть программистом, то web-приложений у нас в сети уже обычно имеется.
Так почему бы нам не добавить немного полезности?
Поехали!
В пути установки vClient (по умолчанию это "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client" - у меня так, потому что ОС 64битная) есть папка для плагинов (Plugins). В нее нам необходимо положить .xml-файл с настройкой подключения к необходимому нам веб-приложению.
Краткий формат файла такой:
<scriptConfiguration version="1.0">
<key>Google search plugin</key>
<description>Google search tab for VMs</description>
<multiVCsupported>false</multiVCsupported>
<extension parent="InventoryView.VirtualMachine">
<title locale="en">Google</title>
<url display="window">http://google.com/webhp?output=html/</url>
</extension>
</scriptConfiguration>
Разберем, что есть что:
- <key> - уникальный идентификатор плагина
- <description> - необязательный параметр - краткое описание плагина (будет отображаться в Plug-in Manager)
- <multiVCsupported> - позволяет запросить нужный нам vCenter (нам это не нужно)
- <extension> - отвечает за то, где и как будет отображаться наш плагин.
parent - обязательный атрибут, указывающий точку, где будет отображаться наш плагин. Он может принять одно из множества значений в группах HomeView (для вида Home в консоли), InventoryView (в объектах Inventory), Toolbars (кнопочки), MainMenus и InventoryMenus (в меню консоли сверху и контекстное меню при клике правой кнопкой на объекте Inventory соответственно).
Так как у нас веб-страничка, то соответственно выбираем из группы Inventory. В этой группе много объектов. Например, Cluster, Datacenter, Datastore, Hostsystem, Network, Template, VirtualMachine, VirtualApp и т.п. По названию можно догадаться, что они означают.
Я указал "InventoryView.VirtualMachine" - соответственно мой плагин отображаться будет среди закладок при выборе виртуальной машины.
- <title>- название отображаемого элемента плагина, в нашем случае - название закладки.
locale="en" - обязательный атрибут, указывающий для какого языка данное название предназначено. Так что, если у вас стоит немецкая версия клиента, можно указать "de", и немецкое название (Gugl :)) - <url display="window"> - самое главное - url нашего приложения.
Механизм работы такой: по адресу web-приложения передается параметр moref (Managed Object Reference) - информация по текущей сессии, и объекту на котором сработал плагин. Информация эта примерно такого вида:
/moref=VirtualMachine:304&serverGuid=&locale=en&serviceUrl=https://esx11.veskin.lab/sdk.
Соответственно на стороне приложения предполагается, что скрипт или программа обработает строку и получит все необходимые данные.
Потому, я долго подбирал, как должен выглядеть url Гугла:
http://www.google.com/webhp?output=html/,
иначе он просто давал ошибку 404, страницы "/moref" на гугл.ком нет.
Этот способ, как подключить плагин внутри локальной консоли клиента. Соответственно эти же xml нужно подложить на всех машинах, где стоит клиент vSphere и нужен этот плагин.
Но есть возможноть осуществить дистрибуцию плагина на все консоли централизовано через vCenter.
Мой британский коллега по Veeam Рикки Эль-Казим написал программу для создания и регистрации веб-приложения в VMware vCenter. Программа создает xml и регистрирует его в vCenter. Дальше можно, после подключения консоли к серверу, установить этот плагин.
В Veeam пока не сделали для своих продуктов плагины в vClient. Но так как Reporter Dashboard, Business View, Backup & Replication Enterprise Manager - это веб-консоли, то их можно воткнуть самому. Другой мой коллега по Veeam на своем блоге разместил уже подготовленные xml. Пользуйтесь на здоровье (и свой страх и риск ;))
Так как создание, подключение и работа с такими плагинами это ваша инициатива, и никто официальную поддержку осуществлять не будет, то добавлю несколько мыслей по поводу возможных проблем.
- Аутентификация. Проверьте, что локальный браузер нормально открывает нужную страницу веб-приложения.
- URL-приложения. Не забудьте указать правильный протокол (http или https) и порт.
- Передача moref-данных.
Если вашему приложению нужны эти данные, проверьте, как приложение обрабатывает их (если приложение - ваша собственная разработка).
Если данные не нужны - позаботьтесь, чтобы они тогда не мешали (как у меня с Google).
Еще, я обнаружил, что в url не должно быть знака "&", иначе, плагин даже не отобразиться в клиенте. - Проверьте корректность вашего xml. Закрытие тегов.
- Если что, логи vClient лежат по адресу: "%USERPROFILE%\Local Settings\Application Data\VMware\vpx"
Ну, и немного ссылок по теме:
- документация от vmware
- самый полезный док (в нем есть все данные по созданию конфигурационного файла)
- раздел коммьюнити
- FAQ в коммьюнити
- презентация от двух идусов
Комментариев нет:
Отправить комментарий