Merhabalar bu yazımda, vRealize Orchestrator içerisinde bir action oluşturarak VM’in Ping durumunu geri döndürecek bir javascript kodundan bahsedeceğim.
Bu action vRA/vRO 6.x/7.x sürümlerinde çalışmaktadır. Action’la birlikte mevcut bir VM’i pingleyerek; hazır olduğunu, IP adresini aldığını ve bu durumlara bağlı olarak çeşitli işlemlerde bulunabiliriz.
Action input olarak VM’in adını(string) ve domain’ini(string) istemektedir. Bu parametrelere bağlı olarak ping durumunu string olarak geri döndürmektedir.
Javascript Kodu
vmNameWithDomain = vmName + "." + domainName;
cmd = "ping -q -c 1 " + vmNameWithDomain;
pingCommand = new Command(cmd);
pingCommand.execute(true);
System.log("Ping sonucu: " + pingCommand.output + " " + pingCommand.result);
if (pingCommand.result == 0){
return "Pingleme basarili!";
}else{
return "Pingleme basarisiz";
}
Bu kod parçasını ayrıca GitHub‘ımda bulabilirsiniz.
Bu kod parçasında önemli olan kısım komutun doğru bir şekilde yazılıp çalıştırılmasıdır. Command nesnesi bize komut satırı çalıştırmamızı sağlayan sınıftır. İçerisinde ping komutu yerine başka bir komut yazsaydık eğer onu çalıştırıp, çıktısını geri döndürecektir.
Yukarıda yazmış olduğumuz kodun action kısmının oluşturulması ve workflow içerisinde çağırma kısmı aşağıda örneklenmiştir.
Parametreler ve javascript kodu:

Action’ın çağırılması:

Workflow’un çağırılıp parametrelerin doldurulması:

Sonuç:

Eğer bu işlemleri gerçekleştirirken Command Execution veya Local Script hatası alırsanız bu linkte yazmış olduğum hatanın çözümünü okuyarak çözebilirsiniz.
Umarım bu yazı sizin için bilgilendirici olmuştur. Yazıyla ilgili bir sorunuz, görüşünüz veya isteğiniz varsa alt kısımda bulunan yorumlardan veya mail adresimden iletişime geçebilirsiniz. Bu yazının başkaları içinde bilgilendirici olduğunu düşünüyorsanız sosyal olun ve sosyal medyada paylaşın! Okuduğunuz için teşekkürler !!!!