wiki:gsoc2015_ak_todo

Additional completed

  • Register.java & ExperimentUtils.java
    • register application deployment for each appconfig:resources:airavata:resources:host with appconfig:resources:airavata:resources:executable_path
      • you need to verify the executable path before skipping an application deployment registry as this could change in appconfig.json (or directives.json)
    • fix computational resource scheduling bug
      • e.g. my temporary fix was
               Experiment genAppExperiment =
                       ExperimentModelUtil.createSimpleExperiment(projectId, OWNER, expName, "GenApp Module Experiment", appId, exInputs);
               genAppExperiment.setExperimentOutputs(exOut);
               Map<String, String> cmrf = airavataClient.getAvailableAppInterfaceComputeResources(appId);
               // get 1st cmrf entry & use that
        
               String use_server_host = THRIFT_SERVER_HOST;
               {
                   Iterator it = cmrf.entrySet().iterator();
                   if(it.hasNext()){
                      Map.Entry pair = (Map.Entry)it.next();
                      use_server_host = (String) pair.getKey();
                      it.remove(); // avoids a ConcurrentModificationException
                   }
               }
        
               //       if(cmrf.containsValue(use_server_host)){
               ComputationalResourceScheduling scheduling = ExperimentModelUtil.createComputationResourceScheduling(
                           use_server_host, 1, 1, 1, "normal", 30, 0, 1, PROJECT_ACCOUNT_NAME);
               scheduling.setResourceHostId(use_server_host);
               UserConfigurationData userConfigurationData = new UserConfigurationData();
               userConfigurationData.setAiravataAutoSchedule(false);
               userConfigurationData.setOverrideManualScheduledParams(false);
               userConfigurationData.setComputationalResourceScheduling(scheduling);
               genAppExperiment.setUserConfigurationData(userConfigurationData);
                //       }
        
      • but this isn't perfect. use_server_host should never be THRIFT_SERVER_HOST and if there is more than one cmrf available, call a routine to choose the best one (could be a dummy random or first selector for now)

Additional work left

  • java
    • move add/airavata to genapp processed code
      • allows usage of genapp ~directives for debugging options etc.
        • add a command line option to force reregistering
        • this logic also should be done for html5/php
Last modified 3 years ago Last modified on Aug 26, 2015, 2:50:30 AM