Adding or Modifying Pools LSF
It’s not uncommon to refine or otherwise modify configurations over time. Soon there will be a CLI tool to obviate the need for the following manual steps, which are the current steps required for reconfiguration after the initial integration has been pushed into production.
Navigate to the
exostellardirectory where the configuration assets reside:- CODE
cd ${LSF_RC_CONF_DIR}/exostellar
Setup a timestamp folder in case there’s a need to rollback:
- CODE
PREVIOUS_DIR=$( date +%Y-%m-%d_%H-%M-%S ) mkdir ${PREVIOUS_DIR}
Place the contents of the
exostellardirectory in the timestamp directory:- CODE
mv * ${PREVIOUS_DIR}
Make a new
jsonfolder and copy theenv.jsonandprofile.json:- CODE
mkdir json cp ${PREVIOUS_DIR}/json/env0.json ${PREVIOUS_DIR}/json/profile0.json json/ cd json mv env0.json env1.json mv profile0.json profile1.json
Edit
env1.jsonas needed, e.g.:Add more pools if you need more CPU-core or Memory options availble in the partition.
Increase the node count in pools.
Environment Configuration Information for reference.
Likely,
profile0.jsonmay not need any modification.Profile Configuration Information for reference.
Validate the JSON asset with
jq:- CODE
jq . env1.json
You will see well-formatted JSON if
jqcan read the file, indicating no errors. If you see an error message, that means the JSON is not valid.When the JSON is valid, the file can be pushed to the MGMT_SERVER:
- CODE
curl -d "@env1.json" -H 'Content-Type: application/json' -X PUT http://${MGMT_SERVER_IP}:5000/v1/env
If the profile was changed, validate it with the quick
jqtest.- CODE
jq . profile1.json
Push the changes live:
- CODE
curl -d "@profile1.json" -H 'Content-Type: application/json' -X PUT http://${MGMT_SERVER_IP}:5000/v1/profile Grab the assets from the MGMT_SERVER:
- CODE
curl -X GET http://${MGMT_SERVER_IP}:5000/v1/xcompute/download/lsf -o lsf.tgzIf the EnvName was changed (above in Edit the LSF Environment JSON for Your Purposes - Step 2 ), then the following command can be used with your
CustomEnvironmentName:- CODE
curl -X GET http://${MGMT_SERVER_IP}:5000/v1/xcompute/download/lsf?envName=CustomEnvironmentName -o lsf.tgz
Unpack them into the
exostellarfolder:- CODE
tar xf lsf.tgz -C ../ cd .. mv assets/* . rm assets chown lsfadmin.root -R ../exostellar Integration steps are complete and a job submission to the new partition is the last validation:
As a user, navigate to a valid job submission directory and launch a job as normal, but be sure to specifiy the new partition:
bsub -q xio < job-script.sh