vRealize Automation ve vCO Entegrasyonu

Bazen vRealize Automation içerisinde gelen ön tanımlı workflowları ihtiyaçlarımız doğrultusunda özelleştirmek isteriz. Genelde Design Center içerisinde bulunan akışlar ve componentler ihtiyaçlarımızı genelde karşılasalar da vCO üzerinde bulunan başka workflowlarıda çağırmak isteyebiliriz. vCO’nun AD,SRM,Netapp ve Exchange gibi bir çok farklı entegrasyonu vardır bu sayede VM’imizi yaratırken başka ürünlerle de entegrasyonunu sağlayabilir daha esnek ve süreçlere uygun bir yapı oluşturabiliriz.

vRealize Automation Center’ın vCO workflowlarını çağrabilmesi için bir adet endpoint yaratmamız gerekmektedir. Portal üzerinden sırayla Infrastructure->Endpoints->Endpoints sekmelerini izleyelim. “New Endpoint” kısmında Orchestrator’u seçelim ve gelen ekranda gerekli bilgileri dolduralım.vRealize and vCo - vCO Endpoint

“Address” kısmına eğer varsa external vCO sunucunuzun adresini eğer yoksa Automation Center appliance’ın adresini yazabilirsiniz. vCO adresi appliance için https://vCACappliance:8281/vco şeklinde olmalıdır. vCO’a giriş için kullandığımız “Credentials” bilgilerini seçelim ve son olarak “Custom Properties” kısmında “VMware.VCenterOrchestrator.Priority” isimli bir özellik yaratarak değerini “1” yapalım. Eğer birden fazla vCO kullanıyorsak her biri için farklı endpointler yaratıp “Priority” değerlerini farklı atamalıyız, bu sayede bir workflow çalışırken hangi vCO’a erişebilirse onun üzerinde workflow’u çalıştıracaktır.

vRealize and vCo - Endpoint

vCO endpoint’i eklediğimize göre üzerine gelip “Data Collection” seçeneğini seçelim. Eğer aşağıda ki gibi bir çıktı alırsanız her şey sağlıklı çalışıyor demektir.

vRealize and vCo - vCO Endpoint Status

Automation center ile ilgili kısmı bitirdiğimize göre basit bir örnek yapabiliriz. Bunun için vCO’da bir Hello World workflow’u yarattım, bu workflow talep edilen VM’in adını alıp log dosyasına yazacak.

Input parametresi olarak bir adet vmName isimli string tipinde değişken yaratalım ve workflow içerisine “scriptable task” ekleyip içerisine “System.log(“Talep edilen VM’in adı : ” +vmName);” satırını ekleyelim.

vRealize and vCo - create workflow

Bir sonra ki adımda vRealize Design Center’ı(vCAC Design center) açıp workflow’u eklemek istediğimiz stub’ı seçelim.

vRealize and vCO - Design Center

Daha sonra akış içerisinde isterseniz custom code’un içerisine isterseniz de ayrı bir bölüm yaratarak özelleştirme kısmına başlayabilirsiniz. Burada kendi kullandığım bir yöntemi paylaşmak isterim, tüm özelleştirmeleri “Custom code” içerisine yazmak yerine her fonksiyon için ayrı bir tane yaratıyorum bu sayede hem değişiklik yapmak hemde sistemin okunabilirliği daha da kolaylaşıyor.

Workflow’u çağırmak için “Invokevcoworkflow” veya “Invokevcoworkflowasync” kullanmamız gerekmektedir.  Bunları Designer ile workflow’a ekledikten sonra sonra ilk önce hangi vCO workflow’u ile ilişkilendireceğimizi seçmemiz gerekiyor, ben bu örnek için daha önce yarattığım “Hello world’ü” seçtim.vRealize and vCo - select workflow

Seçimi yaptıktan sonra vCO workflow’u içerisinde tanımladığımız input ve varsa output değerlerine hangi değişkenleri yollayacağımızı belirlememiz gerekmektedir. Bunu da yaptıktan sonra artık bir VM yaratıp workflow’un çalışıp çalışmadığını vCO üzerinden loğlara bakarak görebiliriz.

vRealize and vCo - vCO output

Not: Eğer workflow seçimi esnasında aşağıda ki gibi bir hata alıyorsanız vCO endpoint bilgilerinizi bir daha kontrol ediniz.

vRealize and vCo - Error

Okuduğunuz için teşekkür ederim.

Bu blog yazısı Emre Bozlak tarafından paylaşılmıştır. Referans vererek istediğiniz gibi kullanabilirsiniz. Eğer bir sorunuz olursa eposta veya sosyal medya hesaplarım üzerinden bana ulaşabilirsiniz. Yazılarımı Twitter'dan @emrebozlak veya RSS üzerinden takip edebilirsiniz.

Leave a comment