GlideinwmsCondorAnnex » History » Version 3
Parag Mhashilkar, 04/07/2016 11:56 AM
1 | 1 | Parag Mhashilkar | h1. GlideinwmsCondorAnnex |
---|---|---|---|
2 | 1 | Parag Mhashilkar | |
3 | 3 | Parag Mhashilkar | This is some documentation on very early version of condor_annex tools available from the HTCondor git repository. |
4 | 3 | Parag Mhashilkar | <pre> |
5 | 3 | Parag Mhashilkar | [parag@fermicloud338 condor_annex]$ git branch |
6 | 3 | Parag Mhashilkar | * V8_5-condor_annex-branch |
7 | 3 | Parag Mhashilkar | master |
8 | 3 | Parag Mhashilkar | </pre> |
9 | 1 | Parag Mhashilkar | |
10 | 3 | Parag Mhashilkar | h2. Preparations |
11 | 1 | Parag Mhashilkar | |
12 | 3 | Parag Mhashilkar | * 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 |
13 | 3 | Parag Mhashilkar | <pre>aws configure get region</pre> |
14 | 1 | Parag Mhashilkar | |
15 | 3 | Parag Mhashilkar | h2. Working Command |
16 | 1 | Parag Mhashilkar | |
17 | 3 | Parag Mhashilkar | <pre> |
18 | 3 | Parag Mhashilkar | /opt/condor/src/condor_annex/condor_annex \ |
19 | 3 | Parag Mhashilkar | --verbose \ |
20 | 3 | Parag Mhashilkar | --region=us-west-2 \ |
21 | 3 | Parag Mhashilkar | --project-id=annex_parag \ |
22 | 3 | Parag Mhashilkar | --instances=2 \ |
23 | 3 | Parag Mhashilkar | --expiry="2016-04-06 17:00" \ |
24 | 3 | Parag Mhashilkar | --central-manager=fermicloud385.fnal.gov \ |
25 | 3 | Parag Mhashilkar | --keypair=parag-annex \ |
26 | 3 | Parag Mhashilkar | --vpc=vpc-ed33af86 \ |
27 | 3 | Parag Mhashilkar | --subnet=subnet-ec33af87,subnet-e233af89,subnet-e333af88 \ |
28 | 3 | Parag Mhashilkar | --image-ids=ami-e826cd88 \ |
29 | 3 | Parag Mhashilkar | --spot-prices=0.06 \ |
30 | 3 | Parag Mhashilkar | --instance-types=m3.medium \ |
31 | 3 | Parag Mhashilkar | --password-file=/cloud/login/parag/wspace/glideinWMS/annex/password_file |
32 | 3 | Parag Mhashilkar | </pre> |
33 | 1 | Parag Mhashilkar | |
34 | 3 | Parag Mhashilkar | h2. Internals of condor_annex |
35 | 1 | Parag Mhashilkar | |
36 | 3 | Parag Mhashilkar | * Code is in perl and it invokes aws client commands. |
37 | 3 | Parag Mhashilkar | * Requires awscli python module |
38 | 3 | Parag Mhashilkar | <pre>pip install awscli</pre> |
39 | 3 | Parag Mhashilkar | |
40 | 3 | Parag Mhashilkar | h3. Variables for Reference |
41 | 3 | Parag Mhashilkar | |
42 | 3 | Parag Mhashilkar | $projectID (--project-id): Its an arbitrary string chosen by the user to handle future actions with this annex |
43 | 3 | Parag Mhashilkar | Make sure $annexSize is defined through --instances |
44 | 3 | Parag Mhashilkar | |
45 | 3 | Parag Mhashilkar | $expiry (--expiry): When should this annex go away. Note the date format for the argument value. |
46 | 3 | Parag Mhashilkar | |
47 | 3 | Parag Mhashilkar | $region (--region): If not provided use default region from ~/.aws/config. Use 'us-west-1' as hard default if all else fails. |
48 | 3 | Parag Mhashilkar | |
49 | 3 | Parag Mhashilkar | $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 |
50 | 3 | Parag Mhashilkar | |
51 | 3 | Parag Mhashilkar | $stackName (--stack-name): AWS stack name to use |
52 | 3 | Parag Mhashilkar | |
53 | 3 | Parag Mhashilkar | $keypairName (--keypair): Name of the keypair in AWS to use while creating stack |
54 | 3 | Parag Mhashilkar | |
55 | 3 | Parag Mhashilkar | $vpc (--vpc): VPC to use |
56 | 3 | Parag Mhashilkar | |
57 | 3 | Parag Mhashilkar | $subnet (--subnet): Subnets to use |
58 | 3 | Parag Mhashilkar | |
59 | 3 | Parag Mhashilkar | $imageIDList (--image-ids) |
60 | 3 | Parag Mhashilkar | |
61 | 3 | Parag Mhashilkar | $spotPriceList (--spot-prices) |
62 | 3 | Parag Mhashilkar | |
63 | 3 | Parag Mhashilkar | $instanceTypeList (--instance-types) |
64 | 3 | Parag Mhashilkar | |
65 | 3 | Parag Mhashilkar | h3. Workflow |
66 | 3 | Parag Mhashilkar | |
67 | 3 | Parag Mhashilkar | * Get the aws region to use. |
68 | 3 | Parag Mhashilkar | |
69 | 3 | Parag Mhashilkar | * 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 |
70 | 3 | Parag Mhashilkar | |
71 | 3 | Parag Mhashilkar | <pre> |
72 | 3 | Parag Mhashilkar | aws --region $region ec2 describe-key-pair |
73 | 3 | Parag Mhashilkar | aws --region $region ec2 describe-vpcs --filters 'Name=tag:Name,Values=HTCondorAnnex' |
74 | 3 | Parag Mhashilkar | aws --region $region ec2 describe-subnets --filters 'Name=tag:Name,Values=HTCondorAnnex' 'Name=vpc-id,Values=$vpc' |
75 | 3 | Parag Mhashilkar | </pre> |