Project

General

Profile

GlideinwmsCondorAnnex » History » Version 3

« Previous - Version 3/13 (diff) - Next » - Current version
Parag Mhashilkar, 04/07/2016 11:56 AM


GlideinwmsCondorAnnex

This is some documentation on very early version of condor_annex tools available from the HTCondor git repository.

[parag@fermicloud338 condor_annex]$ git branch
* V8_5-condor_annex-branch
  master

Preparations

  • condor_annex requires --keypair. So had to run "aws configure". This created a $HOME/.aws directory with credentials in clear text. Its a ini file created by following command
    aws configure get region

Working Command

/opt/condor/src/condor_annex/condor_annex \
    --verbose \
    --region=us-west-2 \
    --project-id=annex_parag \
    --instances=2 \
    --expiry="2016-04-06 17:00" \
    --central-manager=fermicloud385.fnal.gov \
    --keypair=parag-annex \
    --vpc=vpc-ed33af86 \
    --subnet=subnet-ec33af87,subnet-e233af89,subnet-e333af88 \
    --image-ids=ami-e826cd88 \
    --spot-prices=0.06 \
    --instance-types=m3.medium \
    --password-file=/cloud/login/parag/wspace/glideinWMS/annex/password_file

Internals of condor_annex

  • Code is in perl and it invokes aws client commands.
  • Requires awscli python module
    pip install awscli

Variables for Reference

$projectID (--project-id): Its an arbitrary string chosen by the user to handle future actions with this annex
Make sure $annexSize is defined through --instances

$expiry (--expiry): When should this annex go away. Note the date format for the argument value.

$region (--region): If not provided use default region from ~/.aws/config. Use 'us-west-1' as hard default if all else fails.

$centralManager (--central-manager): Central manager where the condor startd will report to. Because this is required, we can not use condor_annex as is with GlideinWMS

$stackName (--stack-name): AWS stack name to use

$keypairName (--keypair): Name of the keypair in AWS to use while creating stack

$vpc (--vpc): VPC to use

$subnet (--subnet): Subnets to use

$imageIDList (--image-ids)

$spotPriceList (--spot-prices)

$instanceTypeList (--instance-types)

Workflow

  • Get the aws region to use.
  • Create or get the stack to operate (modify/delete) on. If the stack does not exist it is created as needed using the keypair configured in AWS. If stack exists and --delete is given to the command, delete the stack. Use the VPC and Subnets passed by the user or use default with Name HTCondorAnnex. Since subnets are AZ specific, this is also a way to restrict annex to use a given AZ. Following AWS commands are used as part of various validations/information gathering in condor_annex. Either provide launch configuration ($launchConfigList) or provide the $imageIDList $spotPriceList $instanceTypeList
aws --region $region ec2 describe-key-pair
aws --region $region ec2 describe-vpcs --filters 'Name=tag:Name,Values=HTCondorAnnex'
aws --region $region ec2 describe-subnets --filters 'Name=tag:Name,Values=HTCondorAnnex' 'Name=vpc-id,Values=$vpc'