I am starting to try to make use of the api and i am after some 
help/pointers/etc

Right now i have a small script called 'cobbleme' that is run on the 
client box and this generates the syntax required for a cobbler add/edit 
etc, i am dealing with currently running machines that i am adding into 
cobbler.

cobbleme looks like

GATEWAY=`/sbin/route | tail -1 | awk {'print$2'}`
PROFILE=CentOS-5.3-x86_64
HOSTNAME=`hostname`

echo cobbler system add --name=$HOSTNAME --hostname=$HOSTNAME 
--gateway=$GATEWAY --profile=$PROFILE

maxbonds=`grep -o "max_bonds=[1-9]" /etc/modprobe.conf | cut -d= -f2`
for BOND in `seq -f bond%g 0 $(($maxbonds-1))`; do
  MACS=`grep "^Permanent HW addr" /proc/net/bonding/$BOND | awk '{print 
$4}'`
  for SLAVE in `grep ^Slave /proc/net/bonding/$BOND | awk '{print $3}'`; do
    # "pop" first MAC off MACS
    MAC=`echo $MACS | awk '{print $1}'`
    MACS=`echo $MACS | sed "s/$MAC //"`
    echo cobbler system edit --name=$HOSTNAME --interface=$SLAVE \
      --mac=$MAC --bonding=slave --bonding-master=$BOND
  done
  if [ -f /etc/sysconfig/network-scripts/ifcfg-$BOND ] ; then
    . /etc/sysconfig/network-scripts/ifcfg-$BOND
    echo cobbler system edit --name=$HOSTNAME --interface=$BOND 
--ip=$IPADDR \
      --static=1 --subnet=$NETMASK --bonding=master \
      --bonding-opts=\"`echo bonding $BONDING_MODULE_OPTS | sed 
s/active-backup/1/`\"
  fi
done

MACBOND0=`/sbin/ifconfig bond0 | head -1 | awk '{print $5}'`
KOPTS=`egrep -o 'console=[^ ]*|no[^ ]*' /proc/cmdline`

echo cobbler system edit --name=$HOSTNAME --kopts=\"ksdevice=$MACBOND0 
$KOPTS\" --kopts-post=\"$KOPTS\"


and a result of that looks something like

cobbler system add --name=somename --hostname=somename 
--gateway=10.10.10.200 --profile=CentOS-5.3-x86_64
cobbler system edit --name=somename --interface=eth0 
--mac=00:14:4f:0f:7b:d6 --bonding=slave --bonding-master=bond0
cobbler system edit --name=somename --interface=eth1 
--mac=00:14:4f:0f:7b:d7 --bonding=slave --bonding-master=bond0
cobbler system edit --name=somename --interface=bond0 --ip=10.10.10.35 
--static=1 --subnet=255.255.255.0 --bonding=master 
--bonding-opts="bonding mode=1 miimon=100"
cobbler system edit --name=somename --interface=eth2 
--mac=00:14:4f:0f:7b:d8 --bonding=slave --bonding-master=bond1
cobbler system edit --name=somename --interface=eth3 
--mac=00:14:4f:0f:7b:d9 --bonding=slave --bonding-master=bond1
cobbler system edit --name=somename --interface=bond1 
--ip=192.168.100.35 --static=1 --subnet=255.255.255.0 --bonding=master 
--bonding-opts="bonding mode=1 miimon=100"
cobbler system edit --name=somename --kopts="ksdevice=00:14:4F:0F:7B:D6 
console=tty0 nopmtimer nohpet console=ttyS0,9600n8" 
--kopts-post="console=tty0 nopmtimer nohpet console=ttyS0,9600n8"

What i would like to do is wrap this around the api somehow so 
'cobbleme' would talk to the cobbler server and ask if it knows about 
the client and if it doesnt then run similar commands to the above to 
get the required info and then squirt this into cobbler.

Does that sounds like it could ever work ? Any tips ?

thanks

_______________________________________________
cobbler mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/cobbler

Reply via email to