Allow updating aws related credentials without need to reconfig factory/frontend
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.
#1 Updated by HyunWoo Kim over 5 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..
#2 Updated by HyunWoo Kim over 5 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
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 5 years ago
- % Done changed from 20 to 60
A new solution looks like the following
you would edit /tmp/aws.txt to include
and frontend.xml doesn't have to have the values directly, but rather can point to the path name to /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..
#5 Updated by HyunWoo Kim over 5 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.