Package: shoal-client
Shoal Client READMEshoal-client will configure cvmfs to use the closest squid server to you by contacting the shoal server
and using cvmfs-talk to update the active proxy configuration.shoal-client is a simple python script typically configured to run with cron to check for new squids
periodically. Before setting the cronjob in place make sure that shoal-client is
configured correctly (see Usage below).With the release of v0.6.4 the shoal-client now offers support for frontier. Running the shoal-client
with the --frontier or -f option will produce an output string instead of attempting to update the
proxies via cvmfs-talk. See Usage below for more information.InstallationNote: Requires Python 2.4+Note: Shoal config files will be located either at~/.shoal/or/etc/shoal/if installed
root permissions.Recommended Instalation Method: Use pipsudo python3 -m pip install shoal-clientor, if using an old python2 version of pip:pip install shoal-clientCopy the configuration file to proper location# For python3
cp /usr/local/share/shoal-client/shoal_client.conf /etc/shoal/

# For python2
cp /usr/share/shoal-client/shoal_client.conf /etc/shoal/Check settings inshoal_client.confupdate as neededUsageConfirm the that you configured shoal-client as expected by checking the output ofshoal-client --dumpThe output is a list of servers that will be set as proxies using cvmfs-talk. For example you will see
something like the following:http://squid.example1.com:3128;http://squid.example2.com:3128;http://squid.example3.com:3128;http://squid.example4.com:3128;http://squid.example5.org:3128;DIRECTIf the output looks resonable now set a crontab entry to run shoal say every 30 minutes:0,30 * * * * /usr/bin/shoal-clientNew in version 0.6.4 is the --frontier option that will produce an output string suitable for frontier.
Users will need to use a simple script that runs shoal-client and uses the output to set the proxies.
An example script can be foundherein the shoal-client/scripts directory.
Example output when runningshoal-client --frontier:(serverurl=http://PresetServer.ca:3128)(proxyurl=http://PROXY.FROM.SHOAL.1:3128)(proxyurl=http://PROXY.FROM.SHOAL.2:3128)Flags and OptionsOptionDescription-d or --dumpPrint closest proxies to terminal for testing or debugging.-shostnameor --serverhostnameSpecifies URL of the desired shoal-server to contact. Takes precedence over the option in config file.-nintor --squidsintSpecifies the number of squids to retrieve from the shoal-server.-f or --frontierOutputs a string appropriate for use as the frontier proxy enviroment variable instead of using cvmfs-talk to update the active proxy configuration.-k or --skip-broadcastSkips waiting to hear from a shoal-agent on the local network and goes directly to the shoal server for a squid. Only reccomended when you know there is no squid//agent on the local network.Shoal client now uses the cvmfs_talk protocol. To view the list of returned squids issue:cvmfs_talk proxy infoOther Installation MethodsUsing Pippip install shoal-clientCopy the configuration file to proper location# For python3
cp /usr/local/share/shoal-client/shoal_client.conf /etc/shoal/

# For python2
cp /usr/share/shoal-client/shoal_client.conf /etc/shoal/Check settings inshoal_client.confupdate as neededUsing Gitgit clone git://github.com/hep-gc/shoal.gitcd shoal/shoal-client/python setup.py installCopy the configuration file to proper locationcp conf/shoal_client.conf /etc/shoal/Check settings inshoal_client.confupdate as needed