當前位置:
首頁 > 最新 > vRA 7.3 通過Workflow自定義虛擬機名稱(上)

vRA 7.3 通過Workflow自定義虛擬機名稱(上)

需求:

在vRA項目的實施過程中,通常客戶希望申請VM時可以自定義虛擬機名稱;

通過Hostname這個屬性字典也是可以實現用戶自定義虛擬機名稱,但是當用戶在同一個Deployment中申請多個虛擬機時就會出錯(虛擬機重名)。

思路:

讓vRA置備虛擬機的過程中調用Workflow,該Workflow實現:自定義虛擬機名稱+唯一自增數字 = 新的虛擬機名稱,然後將新的虛擬機名稱返回給vRA。

1、在VRO中添加vCAC IAAS

登錄vROClient,導航VRO Workflow ->Library ->vRealize Automation ->InfrastructureAdministration ->Configuration,右擊Add an IaaS host添加IAAS Server,在第二步Workflow中會使用到。

2、創建Workflow在Library文件夾下創建PSO文件夾在VRO中創建名為:CustomHostName的Workflow;

2.1 添加Attributes

編輯CustomHostName Workflow,添加4個Attribute,注意Type和Value;

2.2添加Parameters

創建名為:payload的Parameters,類型為:Properties

2.3 添加Scriptable task

在Schema界面中添加Scriptable task命名為:GetVmInfo

在IN頁面中關聯payload變數

在OUT頁面中關聯newHostname和vmID變數;

在GetVmInfo的Scripting編寫以下代碼:

這裡需要注意的是,需要將第9行中的vRA-PSO替換為你環境中的計算機前綴。

2.4 添加Action element

將Action element拖拽到GetVmInfo後面,然後在Search中輸入:getVirtualMachineEntityFromId

雙擊將搜索到的getVirtualMachineEntityFromId,即可添加成功;

切換到IN界面,點擊not set.

選擇vmID;

切換到OUT界面, 將actionResult的Source Parameter設置為:vCACVmEntity

2.5 添加Scriptable task

在Schema界面中添加Scriptable task命名為:UpdateHostName

切換到IN界面中,添加newHostname和vCACVmEntity兩個變數;

在UpdateHostName的Scripting編寫以下代碼:

保存Workflow,自此Workflow編寫完成。

3、添加訂閱

導航管理–> 事件 -> 訂閱;

3.1 新建訂閱

選擇計算機置備;

下一步進入條件頁面,選擇根據條件運行->以下所有項,並添加三個條件:

1、「數據 > 生命周期狀態>生命周期狀態名稱」 等於「VMPSMasterWorkflow32.BuildingMachine」

2、「數據 > 生命周期狀態>狀態階段」 等於 「PRE」

3、「數據 > 計算機 > 計算機類型」 等於 「Virtual Machine」

下一步選擇工作流,選擇剛才創建的CustomHostName工作流;

詳細信息中勾選阻止,超時時間設置為5分鐘,然後點擊完成。

發布

4、創建屬性字典

數據類型:字元串

必須:是

顯示為:文本框

驗證用戶輸入:[a-zA-Z0-9] —這是一個正則表達式,功能是限制用戶最大輸入8 – 11位任意字母和數字。

5、配置藍圖

在藍圖中定義以下2個屬性字典:

Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine值*

6、測試

提交同時創建2台VM進行測試;

測試成功。

總結: 通過編寫自定義工作流實現用戶批量申請VM時也能自定義主機名;但如果同時使用了Active Directory 策略,就會有衝突。因為Active Directory 策略調用的工作流是讀取vRA VM置備Properties中的VM Name, 我們創建的工作流更新的是IaaS VM置備Properties中的VM Name。我會在接來下的文章中修改Active Directory 策略工作流,來避免這個問題。

7、導入寫好的工作流

如果不想遍寫工作流,可以直接導入我已寫好的工作流。該工作流打包上傳到Github, 可以下載後直接導入vRO中,並按照第一步在vRO添加vCACIAAS即可。

工作流下載地址:https://github.com/vincenshen/vmware_vro_workflow/blob/master/CustomHostName.workflow

7.1導入工作流

7.2修改工作流

在General界面中,修改VCACHost的Value為你環境中的IaaS Server。

7.3替換代碼中的計算機前綴

這裡需要注意的是,需要將第9行中的vRA-PSO替換為你環境中的計算機前綴。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 虛實之路 的精彩文章:

TAG:虛實之路 |