Hi Lissa,
  thank for your reply, I missed your mail so I reply just now.



On 06/11/2014 13:53, Lissa Valletta wrote:

What level of xCAT are you running.   lsxcatd -a.



# lsxcatd -a
Version 2.8.4 (git commit ded873f998a889c91a169d3f870efdbebfb66243, built Thu May 29 23:32:02 EDT 2014)
This is a Management Node
dbengine=SQLite

You say the nodes have the same profile, does that mean they have the same osimage?


Yes, the same osimage

If they have different osimages, then you can use the synclist attribute in the osimage to determine what synclist to use.

Eh, no, this is not the case.


The startsyncfiles.awk request only send the syncfiles as determined from the database configuration. It also requires a defined xCAT plugin for the xcatd daemon to use to honor that request /opt/xcat/lib/perl/xCAT_plugin/syncfiles.pm which receives the request for startsyncfile.awk. We do not have an open interface to the xcatd daemon that would allow you to input any request. Even adding a new plugin, it must be perl.


ok



I guess our philosophy is to keep a group of nodes sharing the same profile and osimage identical so the synclists would be indentical also.


Ok, but in our case this is not guaranteed.

My only thought is you would need to run xdcp <nodegroup> -F <synclist> after the install, for the additional node specific synclists.
Maybe someone has a better idea.


At the end we wrote a script that passes a generic xcatd request (send_xcatd_request.awk), I report it below.

So, we substitute postscript 'syncfiles' with another script that call send_xcatd_request.awk in this way:

myname=$( /bin/hostname | cut -d '.' -f 1 )
export COMMAND="xdcp"
export NODERANGE="$myname"
export ARGS="-F /SYNCFILES/partitions/install/${myname}.synclist"
if ! $xcatpostdir/pico_send_xcatd_request.awk; then
    log 1 "$COMMAND error."
    exit 1
fi


It seems to work correctly!!!
But maybe in future releases it will not work :-(

Thank you anyway,
   Federico

*************************

[root@mycluster]# cat send_xcatd_request.awk
#!/usr/bin/awk -f
BEGIN {
  if (ENVIRON["USEOPENSSLFORXCAT"]) {
server = "openssl s_client -connect " ENVIRON["XCATSERVER"] " 2> /dev/null"
  } else {
      server = "/inet/tcp/0/127.0.0.1/400"
  }

  quit = "no"
  exitcode = 0

  print "<xcatrequest>" |& server
  print "   <becomeuser>" |& server
  print " <username>"ENVIRON["USERNAME"]"</username>" |& server
  print " <password>"ENVIRON["PASSWORD"]"</password>" |& server
  print "   </becomeuser>" |& server
  print "   <command>"ENVIRON["COMMAND"]"</command>" |& server
  print " <noderange>"ENVIRON["NODERANGE"]"</noderange>" |& server
  cmd=ENVIRON["COMMAND"]" "ENVIRON["NODERANGE"]
  if (ENVIRON["ARGS"]) {
    cmd = cmd " " ENVIRON["ARGS"]
    split(ENVIRON["ARGS"], args, /[ \t]+/)
    for (n in args) {print "   <arg>"args[n]"</arg>" |& server}
  }
  print "</xcatrequest>" |& server

if (ENVIRON["DUMPXCATRESPONSE"]) {print "Running command: " cmd >"/dev/stderr"}

  while (server |& getline) {
    if (ENVIRON["DUMPXCATRESPONSE"]) {print $0 >"/dev/stderr"}

if (match($0,"<contents>") || match($0,"<info>") || match($0,"<data>")) {
      print $0
    }
    if (match($0,"<serverdone>")) {
      quit = "yes"
    }
    if ((match($0,"<errorcode>") && !match($0,"<errorcode>0")) \
      || (match($0,"<error>") && !match($0,"<error>0")) ) {
      exitcode = 1
    }

    if (match($0,"</xcatresponse>") && match(quit,"yes")) {
      close(server)
      exit exitcode
    }
  }
}

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
xCAT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xcat-user

Reply via email to