Hi Thomas,
Thanks a lot for the detailed response! So yes, I ended up using szradmin and processing the result with xpath. I'm happy to see it is a reasonable solution. As for the solutions, I reckon most people will be interested in the IP list _after_ the event and not _before_. One can always look at the event details (passed as parameters to our custom scripts) in order to find out the particular instance and event, but in many cases I think you just need to list available hosts. Simply knowing this helps (better documentation ;)). For the record, this is what I use to process szradmin output from Bash: SERVER_IPS=$( szradm -q list-roles | xpath -e '/response/roles/role[@name="role-im-interested-in"]/hosts/host[@status="Running"]/@internal-ip' 2> /dev/null | sed -E 's/\W*internal\-ip="([0-9\.]*)".*/\1/' | grep '[0-9\.]*' ) Thanks and regards! Hi José, > > This is indeed something we're aware of, and we're investigating solutions. > > In the meantime, what you can do is the following: > - Configure your script to asynchronous > - Make sure your script runs last on HostUp and HostTerminate (your can > see the order in the Scripting tab) > - Start your script by adding a small sleep > > That's a hack, but it should work: the IP List Builder handler (which > touches the IP files), runs *just* after the last script has run, and > asynchronous execution means you don't wait for the script to exit before > moving on. > > I have a tutorial (the code is ready, not the text) where we do exactly > this: > https://github.com/scalr-tutorials/workertier/blob/master/scalr/scripts/workertier.findbackend.sh > > > If you want something more rock solid, you can use `szradm -q list-roles` > in your script. > > > Cheers, > > On Thursday, September 12, 2013 8:30:30 PM UTC+2, José Juan Montes wrote: >> >> Hello. >> >> I'm trying to configure my own balancer role (using nginx). >> >> I have a script that uses the information in >> /etc/scalr/private.d/hosts/<my_role> to build nginx configuration, and >> works ok. >> >> The problem is when I add this script to the "HostUp" and >> "BeforeHostTerminate" events. It is executed _before_ the list of IPs has >> been updated (as I can tell from scalarizr logs). >> >> How should I orchestrate this kind of thing? >> >> Any advice is very welcome. >> >> -- You received this message because you are subscribed to the Google Groups "scalr-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
