Self Service виртуальных машин; Создание сервиса с портала SCSM
С этой статьи я начну цикл статей про SCSM, Orchestrator, SCOM и VMM.
Получается, что я начинаю с конца, но поскольку я постоянно забываю написать хоть что-то на эту тему… это будет хорошим пинком. 😉
1. Создание виртуальной машины;
3. Удаление виртуальной машины;
4. Создание сервиса из шаблона сервиса.
Итак, я предполагаю что у Вас есть SCSM, Orchestrator, SCOM и VMM, которые настроены, интегрированы и работают.
Если Вы еще не знакомы с Orchestrator, подробнее процесс создания runbook’а, аналогичного данному, описан в другой статье.
Со стороны SCSM Вам нужен только Request Offering опубликованный на портале, создание его аналогично созданию других Request Offering’ов для связки SCSM и Orchestrator, поэтому его я описывать не буду. Перечислю только информацию, которую Вам нужно передать в Orchestrator. Имя сервиса в VMM, шаблон сервиса, облако и переменные для разворачивания.
Со стороны VMM Вам нужен готовый шаблон сервиса, я воспользуюсь уже описанным мною шаблоном.
Со стороны Orchestrator Вам нужен Runbook (удивительно), который выглядит приблизительно вот так
Создаем Runbook
Шаги
1. Initialize Data
Создайте шаг и создайте переменные как на картинке. 😉
Переменные Custom1, Custom2 и Custom3 запасные. Я всегда рекомендую создавать запасные переменные, дело в том что если Вы добавляете переменную после того как Вы создали шаблон runbook’а он будет помечен как “failed” или что-то в таком духе, и Вам придется пересоздавать шаблон и request offering.
2. Get SR
Этот шаг и далее, до шагов VMM, из SCSM integration pack.
Action: Get Object
Connector: SCSM Connector
Class: Service Request
Filter: “SC Object GUID” equals {SR GUID from “Initialize Data”}
Для того, чтобы в поле Value передать значение из какого-либо шага runbook’а Вам необходимо нажать правой кнопкoй мыши и выбрать Subscribe » Published Data.
3. Get Relationship SR to Service
Action: Get Relationsship
Connector: SCSM Connector
Object Class: Service Request
Object GUID: {SC Object GUID from “Get SR”}
Related Class: Service Template
4. Get Object - Service
Action: Get Object
Connector: SCSM Connector
Class: Service Templates
Filter: “SC Object GUID” equals {Related object GUID from “Get Relationship SR to Service”}
5. Get Relationship - Affected User
Action: Get Relationsship
Connector: SCSM Connector
Object Class: Service Request
Object GUID: {SC Object GUID from “Get SR”}
Related Class: Active Directory User
6. Get Object - Affected User
Action: Get Object
Connector: SCSM Connector
Class: Service Templates
Filter: “SC Object GUID” equals {Related object GUID from “Get Relationship - Affected User”}
7. Get Relationship SR to Cloud
Action: Get Relationsship
Connector: SCSM Connector
Object Class: Service Request
Object GUID: {SC Object GUID from “Get SR”}
Related Class: Private Cloud
8. Get Object - Cloud
Action: Get Object
Connector: SCSM Connector
Class: Private Cloud
Filter: “SC Object GUID” equals {Related object GUID from “Get Relationship SR to Cloud”}
Теперь я поясню что тут происходит. Второй шаг берет SR GUID, который SCSM передает в Runbook, и запрашивает Service Request из SCSM. После этого шаги 3, 5 и 7 запрашивают связанные с Service Request объекты, а шаги 4, 6 и 8 “получают” эти объекты.
9. Get Service Template
Этот шаг и шаги далее используют VMM Integration Pack
Action: Get Service Template
Connector: VMM Connector
Filter: “Service Template ID” equals {ID Virtual Machine Manager from “Get Object - Service Template”}
10. Get Object - Cloud
Action: Get Cloud
Connector: VMM Connector
Filter: “Cloud ID” equals {ID Virtual Machine Manager from “Get Object - Cloud”}
11. Configure Service Deployment
Action: Configure Service Deployment
Connector: VMM Connector
Service Configuration Name: {Service Name from “Initialize Data’}
Service Template Name: {Service Template Name from “Get Service Template”}
Deployment Target: Cloud
Cloud Name: {Cloud Name from “Get Object - Cloud”}
Service Template Release: {Service Template Release from “Get Service Template}
12. Get-ServiceConfiguration
Action: Run VMM PowerShell Script
Connector: VMM Connector
PowerShell:
$servicedeployment = Get-SCServiceConfiguration -Name {Service Name from "Initialize Data"};
Update-SCServiceConfiguration -VMMServer "FQDN_сервера_VMM" -ServiceConfiguration $servicedeployment
Get-SCServiceSetting -ServiceConfiguration $servicedeployment -Name "FirstTier" | Set-SCServiceSetting -value {First Tier from "Initialize Data"}
Get-SCServiceSetting -ServiceConfiguration $servicedeployment -Name "SecondTier" | Set-SCServiceSetting -value {Second Tier from "Initialize Data"}
Первая строчка просто запрашивает данные, а вторая обновляет Placement, без этого разворачивание невозможно. Далее строчки 3 и 4 присваивают значение переменным.
Output Variable 01: $servicedeployment
Если не вернуть хоть какую-то информацию из скрипта шаг заканчивается с ошибкой.
Шаги 9-12 создают временное разворачивание, обновляют placement виртуальных машин и заполняют переменыые. Следующий шаг просто запустит разворачивание.
13. Deploy Service
Action: Deploy Service
Connector: VMM Connector
Service Configuration Name: {Service Name from “Initialize Data”}
На этом все закончено, можно сохранять ранбук, импортировать его в SCSM, создавать шаблоны и заполнять заявку.