Многократная проверка условий контроля в марионетке
Мне нужно проверить агент, такой как память, процессор и подключение к порту, прежде чем запускать другие мои файлы манифеста. Итак, я создал манифест, подобный следующему, храня глобальные факты с помощью оператора и ресурса exec.
class vc {
#Validateing Infra Before applying chnages
if $::facts['memorysize'] >= '4.00 GiB'and $::facts['processorcount'] >= 2 and Exec['port_connectivity'] {
notify { "Infra validated" : }
include vc::configs
}
else {
notify { "Infra not meeting requirements" : }
}
# Checking port connecitivity to puppet master
exec { 'port_connectivity':
command => 'New-Item c:\debug.txt -type file -Force',
unless => 'if((New-Object System.Net.Sockets.TcpClient ("linux-NAS-storage.com",6163)).connected -eq $true) { exit 1 }',
provider => powershell,
}
}
моя тема кукольная должна выполняться только если это if $::facts['memorysize'] >= '4.00 GiB'and $::facts['processorcount'] >= 2 and Exec['port_connectivity']
состояние было успешным. Если команда exec была успешной и facter возвращает true, то только она должна выполняться, но после манифеста выполняется индивидуально без проверки, является ли этот оператор exec истинным или нет. Моя основная цель - проверить порты перед запуском манифеста. Может ли кто-нибудь, пожалуйста, помогите