Hi Dimuthu,

That clears up a lot of confusion. Thank you!

- Daniel Shchur

From: DImuthu Upeksha<mailto:[email protected]>
Sent: Thursday, October 8, 2020 4:58 PM
To: Airavata Dev<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>; Evan 
Palmer<mailto:[email protected]>
Subject: Re: HTCondor Extension Help

Hi Daniel,

That's correct, we assume all job manager configurations have unique set of 
command types like job submission, cancellation, status checking etc. It's up 
to the end user to specify the exact command for each command type. For 
example, SLURM job submission command is sbatch. So the user has to specify 
that though the portal which will eventually be stored in the database.

[cid:[email protected]]
Thanks
Dimuthu


On Thu, Oct 8, 2020 at 5:14 PM Daniel Shchur 
<[email protected]<mailto:[email protected]>> wrote:
Hi Dimuthu,

So, to be clear,

The relevant job submission commands are registered at the client-side? As in, 
the front end interface and are not hardcoded into the backend?

- Daniel Shchur

From: DImuthu Upeksha<mailto:[email protected]>
Sent: Thursday, October 8, 2020 4:12 PM
To: Airavata Dev<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>; Evan 
Palmer<mailto:[email protected]>
Subject: Re: HTCondor Extension Help

Hi Daniel,

If you look at [2], it's where the protocol specific configuration object is 
created. Each implementation is a subclass of the JobManagerConfiguration 
interface [3]. So each implementation might have different execution commands 
and those are stored in the database and you can register them through PGA. 
Please look at the screenshot I sent earlier. Once helix figured out the right 
Configuration implementation, it invokes it at the [4]. Please let me know if 
this is clear

[2] 
https://github.com/apache/airavata/blob/develop/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobFactory.java#L106<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_blob_develop_modules_airavata-2Dhelix_helix-2Dspectator_src_main_java_org_apache_airavata_helix_impl_task_submission_config_JobFactory.java-23L106&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=TIv6Hm841JVIH_TucpIxiNWYVrZ9o8BO-aAKlXeLNCU&s=jOokB292No_5nhnM9IQCJ3f4HgYCBysW7cYy7r_iwns&e=>
[3] 
https://github.com/apache/airavata/blob/develop/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobManagerConfiguration.java<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_blob_develop_modules_airavata-2Dhelix_helix-2Dspectator_src_main_java_org_apache_airavata_helix_impl_task_submission_config_JobManagerConfiguration.java&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=TIv6Hm841JVIH_TucpIxiNWYVrZ9o8BO-aAKlXeLNCU&s=E9HjTKXLL3YhkdLhA98G3r0fH7lpD5WKlJldHoFI32E&e=>
[4] 
https://github.com/apache/airavata/blob/develop/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java#L78<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_blob_develop_modules_airavata-2Dhelix_helix-2Dspectator_src_main_java_org_apache_airavata_helix_impl_task_submission_JobSubmissionTask.java-23L78&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=TIv6Hm841JVIH_TucpIxiNWYVrZ9o8BO-aAKlXeLNCU&s=yuHKbjJZT93zcEiQHAIPBNZMq6aKiKLmzkSep5i2-j8&e=>

Thanks
Dimuthu

On Thu, Oct 8, 2020 at 4:58 PM Daniel Shchur 
<[email protected]<mailto:[email protected]>> wrote:
Hi all,

We have been trying to figure out where the helix system actually specifies job 
submission protocol commands (e.g. sbatch, squeue, scancel). The only direct 
references we could find are part of the client-sdk 
“registerSampleApplication”. Everything else, when referencing 
“ResourceJobConfiguration” seems to be fairly circular, or goes to dead-end 
files that may not be used anymore.

Question: is there a direct command mapping for the “Map<JobManagerCommand, 
string>” that is called within the code, or is this set elsewhere? We haven’t 
found any references to where Airavata would know how to submit a SLURM job so 
that we can let it know how to submit an HTCondor job.

Any help on this would be greatly appreciated. Thanks!

- Daniel Shchur

From: DImuthu Upeksha<mailto:[email protected]>
Sent: Monday, October 5, 2020 9:50 AM
To: Airavata Dev<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>; Evan 
Palmer<mailto:[email protected]>
Subject: Re: HTCondor Extension Help

Sorry I didn't send the image I mentioned earlier



On Sun, Oct 4, 2020 at 10:51 PM DImuthu Upeksha 
<[email protected]<mailto:[email protected]>> wrote:
Hi Daniel,

Your PR looks good to me. I think the best place for you to start is by setting 
up the PGA portal (the old portal we used before the django one) and adding a 
resource manager type for the compute resource as you can see in the attached 
image. You can set up the pga locally using this [1] guide. Once you can 
register the resource manager type using the pga portal, you can use the django 
portal to submit jobs. I believe that you don't need to change any code in the 
django portal.

[1] 
https://github.com/apache/airavata/tree/master/modules/ide-integration#optional-starting-super-admin-portal-pga<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_tree_master_modules_ide-2Dintegration-23optional-2Dstarting-2Dsuper-2Dadmin-2Dportal-2Dpga&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=tuYZSoSxpr0vpOY_QMnBJNwCbUSViATLYySXRyD33aw&s=8A5-Br28vywXcU42WH9bl0Ad0b5YMnXNNIplSl3r9J8&e=>

Thanks
Dimuthu

On Sun, Oct 4, 2020 at 6:12 PM Daniel Shchur 
<[email protected]<mailto:[email protected]>> wrote:
Hi Dimuthu and Suresh,

Thanks for getting back to us. We went ahead and made a work in progress pull 
request<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_pull_263&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=tuYZSoSxpr0vpOY_QMnBJNwCbUSViATLYySXRyD33aw&s=axraS0UJlcrcJlRwGIeswZKPC0cHEDu13ADapD1Xz5A&e=>
 for our changes we have created so far. We also took a look at the job-monitor 
section and will work towards creating additions to support HTCondor.

Do any of you have any suggestions on what the best way is to test submissions 
to HTCondor? We looked into using the Airavata API and the Django portal and 
are curious what you would recommend, and how to do it using your 
recommendation.

Thanks!

- Daniel Shchur

From: DImuthu Upeksha<mailto:[email protected]>
Sent: Friday, October 2, 2020 5:22 PM
To: Airavata Dev<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>; Evan 
Palmer<mailto:[email protected]>
Subject: Re: HTCondor Extension Help

Hi Daniel,

This is great progress. I think you are on the right track. Did you manage to 
set up the ide integration for the development of Airavata. If you have already 
done that, you can test these features. However I recommend you to send pull 
requests to a separate branch (htcondor?) and then I can provide you feedback 
on the next steps.

Thanks
Dimuthu


On Thu, Oct 1, 2020 at 4:57 PM Suresh Marru 
<[email protected]<mailto:[email protected]>> wrote:
Hi Daniel,

Thanks for this nice summary for keeping the dev list apprised of your progress.

One additional item is to discuss and plan on job monitoring approaches, you 
can look at current references here - 
https://github.com/apache/airavata/tree/master/modules/job-monitor<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_airavata_tree_master_modules_job-2Dmonitor&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=lmrRGQ0q0u8q8eCyoDDHtDCxKniLMvrktlVw7qnV3Fo&s=zpJDdIRgv9hm0QkGZuHhDOYvc1_zMhUmH9TF7mx9A-0&e=>

Suresh

On Oct 1, 2020, at 4:52 PM, Daniel Shchur 
<[email protected]<mailto:[email protected]>> wrote:

Hi all,

We are working on the HTCondor extension for Airavata. We have gone through the 
code and started to implement additions based on the other job workflow systems 
such as SLURM. We 
forked<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_docquantum_airavata_tree_htcondor&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=lmrRGQ0q0u8q8eCyoDDHtDCxKniLMvrktlVw7qnV3Fo&s=14ShokmbcQHBZlmV67fTrNoK8ARktUQERu6wRQQTlWc&e=>
 the project and created a new branch (htcondor) to host our changes. We will 
make a pull request into the main Airavata repository for it once we have 
finished the implementation. A relevant issue has also been created 
here<https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_AIRAVATA-2D3377&d=DwMFaQ&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=SfMtyOx08LDuEVnPLH5bLf0tBX7T0FnnGw0oDSWu8Es&m=lmrRGQ0q0u8q8eCyoDDHtDCxKniLMvrktlVw7qnV3Fo&s=ZjE4skBTqEHdJqLBat2-uLoS1w6_Ksh_c5d4VPKjnS8&e=>.

We would like help to know exactly where additions need to be made in case we 
missed a few spots. At this point, we know that:

  *   A groovy template needs to be made (finished)
  *   A job configuration class needs to be made (WIP)
  *   A job parser class needs to be made (WIP)
  *   And enums need to be modified throughout the project so that systems know 
of HTCondor as an option. (finished)

If any of you could direct us to the right places, that would be greatly 
appreciated.

Also, if there’s more documentation or information about the code, such as how 
the command map should work or should be implemented (configuration class?), 
that would be appreciated.

Thank you!

- Daniel Shchur





Reply via email to