Project

General

Profile

Feature #9809

Allow updating aws related credentials without need to reconfig factory/frontend

Added by Parag Mhashilkar over 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
08/12/2015
Due date:
% Done:

100%

Estimated time:
Stakeholders:

HEPCloud

Duration:

Description

In case of EC2, vm_id, vm_type are considered part of the credentials. See following for more details http://www.uscms.org/SoftwareComputing/Grid/WMS/glideinWMS/doc.prd/recipes/cloud.html

Current design has a limitation that any changes to the vm_id and vm_type requires a reconfig of service (factory or frontend) every time it is changed. This is an operational issue. We want a mechanism in the glideinwms to eliminate need for reconfig in this case.

History

#1 Updated by HyunWoo Kim over 4 years ago

  • % Done changed from 0 to 20

I have been working on this ticket today.

Ticket says, operations people do not want to run service frontend/factory reconfig whenever they change this two parameters(vm_id, vm_type),
and what this means is, I believe they do not want to do reconfig because it also restarts frontend and factory.

My first assessment of this ticket is that Frontend and/or Factory ought to pick up this two information (vm_id and vm_type) not from the standard configuration,
but rather from for example another separate text file every time this information is needed..
This way, we don't have to execute reconfig for this parameters..

Any comments?

#2 Updated by HyunWoo Kim over 4 years ago

1. modify /etc/gwms-frontend/frontend.xml to update vm_id and vm_type if necessary

2. modify /var/lib/gwms-frontend/vofrontend/frontend.descript
or /var/lib/gwms-frontend/vofrontend/group_main/group.descript
accordningly

3. and execute the following code in glideinFrontendElement.py
self.elementDescript = glideinFrontendConfig.ElementMergedDescript( self.work_dir, self.group_name )
just before calling advertizer.do_advertize_one()
this way the modified values are loaded from frontend.descript or group.descript
without having to reconfig.
And later when they actually have a chance to reconfig, the new values will be simply written again to frontend.descript or group.descript from frontend.xml
which is no harm, I guess..

I will test this

#3 Updated by HyunWoo Kim over 4 years ago

  • % Done changed from 20 to 60

A new solution looks like the following

you would edit /tmp/aws.txt to include
ID:AMI-xx
TYPE:m1.large

and frontend.xml doesn't have to have the values directly, but rather can point to the path name to /tmp/aws.txt
vm_id="/tmp/aws.txt"
vm_type="/tmp/aws.txt"

Now, you don't have to do reconfig every time you want to change vm_id and vm_type.
You just edit the contents of /tmp/aws.txt and the new values will be picked up from that file.

To achieve this, I only modified glideinFrontendInterface.py def createAdvertizeWorkFile()

One last thing to tackle is,
even when I change type="grid_proxy" to type="key_pair+vm_id+vm_type",
the code does not have vm_id in the list of types..

I only nee to figure out why this does not work..

#4 Updated by HyunWoo Kim over 4 years ago

  • % Done changed from 60 to 80

New codes have been pushed to the repository for review.
I will have to deploy a new test GWMS instance and configure it to use AWS in order to test this change.

#5 Updated by HyunWoo Kim over 4 years ago

  • % Done changed from 80 to 90

I have configured my GWMS instance to be able to submit glideins to AWS
and could successfully test the new code which lets us modify vm id and vm type without having to reconfig every time.

Now, I will just have to figure out how to deal with backward-compatibility issue.

#6 Updated by HyunWoo Kim over 4 years ago

  • Status changed from New to Feedback
  • Assignee changed from HyunWoo Kim to Parag Mhashilkar

After discussion with Parag, two new attributes are added, instead of modifying existing vm_id and vm_type.
Now Parag reviews the code.

#7 Updated by Parag Mhashilkar over 4 years ago

  • Assignee changed from Parag Mhashilkar to HyunWoo Kim

sent feedback separately via email

#8 Updated by HyunWoo Kim over 4 years ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

Released in v3_3 rc4

#9 Updated by Parag Mhashilkar almost 4 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF