Agent manifest batch generation scripts

Workflow:

    agent_generator/update_sources.sh
    agent_generator/generate_manifests.sh
This commit is contained in:
Jiri Stransky 2014-09-04 16:19:54 +02:00
parent 101168917e
commit 6757daf0c0
4 changed files with 80 additions and 0 deletions

View File

@ -54,6 +54,8 @@ class ManifestGenerator
def generate
puts <<-eos
# generated by agent_generator.rb, manual changes will be lost
class pacemaker::stonith::#{@parser.getAgentName} (
#{getManifestParameters}
) {

View File

@ -0,0 +1,17 @@
#!/bin/bash
# This scripts generates fence agent manifests from their XML
# descriptions
set -exuo pipefail
generator_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source "$generator_dir/variables.sh"
for cmd_pkg in "${cmd_pkg_map[@]}"; do
cmd=${cmd_pkg%%:*}
pkg=${cmd_pkg#*:}
"$generator_dir/agent_generator.rb" "$generator_dir/src_xml/$cmd.xml" $cmd $pkg > "$generator_dir/../manifests/stonith/$cmd.pp"
done

View File

@ -0,0 +1,26 @@
#!/bin/bash
# This script updates fence agent descriptions (XML files in src_xml
# directory). Running this will install and update fence agent
# packages to the latest version.
set -exuo pipefail
generator_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source "$generator_dir/variables.sh"
all_pkgs=''
for cmd_pkg in "${cmd_pkg_map[@]}"; do
pkg=${cmd_pkg#*:}
all_pkgs+="$pkg "
done
sudo yum -y install $all_pkgs
sudo yum -y update $all_pkgs
for cmd_pkg in "${cmd_pkg_map[@]}"; do
cmd=${cmd_pkg%%:*}
$cmd -o metadata > "$generator_dir/src_xml/$cmd.xml"
done

View File

@ -0,0 +1,35 @@
#!/bin/bash
cmd_pkg_map=(
"fence_apc:fence-agents-apc"
"fence_apc_snmp:fence-agents-apc-snmp"
"fence_bladecenter:fence-agents-bladecenter"
"fence_brocade:fence-agents-brocade"
"fence_cisco_mds:fence-agents-cisco-mds"
"fence_cisco_ucs:fence-agents-cisco-ucs"
"fence_drac5:fence-agents-drac5"
"fence_eaton_snmp:fence-agents-eaton-snmp"
"fence_eps:fence-agents-eps"
"fence_hpblade:fence-agents-hpblade"
"fence_ibmblade:fence-agents-ibmblade"
"fence_idrac:fence-agents-ipmilan"
"fence_ifmib:fence-agents-ifmib"
"fence_ilo:fence-agents-ilo2"
"fence_ilo2:fence-agents-ilo2"
"fence_ilo3:fence-agents-ipmilan"
"fence_ilo4:fence-agents-ipmilan"
"fence_ilo_mp:fence-agents-ilo-mp"
"fence_imm:fence-agents-ipmilan"
"fence_intelmodular:fence-agents-intelmodular"
"fence_ipdu:fence-agents-ipdu"
"fence_ipmilan:fence-agents-ipmilan"
"fence_kdump:fence-agents-kdump"
"fence_rhevm:fence-agents-rhevm"
"fence_rsb:fence-agents-rsb"
"fence_scsi:fence-agents-scsi"
"fence_virt:fence-virt"
"fence_vmware_soap:fence-agents-vmware-soap"
"fence_wti:fence-agents-wti"
# not generating fence_xvm for now, it would overwrite the existing one
# "fence_xvm:fence-virt"
)