{"action":"created","comment":{"url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/comments/181354239","pull_request_review_id":111967726,"id":181354239,"diff_hunk":"@@ -213,6 +220,27 @@ protected static void start(CommandLine commandLine) throws Exception {\n         executeStartScripts();\n     }\n \n+    /**\n+     *  Launch boot (i.e., early-starting) microservices (notably, IAM microservice)\n+     *\n+     */\n+    private static void startBootMicroservices(CommandLine commandLine)\n+            throws IOException, InterruptedException, ExecutionException {\n+\n+        // Do nothing if PA_home or the boot microservices path is not specified\n+        if (!(PASchedulerProperties.SCHEDULER_BOOT_MICROSERVICES_PATH.isSet() &&\n+              PASchedulerProperties.SCHEDULER_HOME.isSet()))\n+            return;\n+\n+        // Acquire paths required to start IAM microservice\n+        String pa_home = PASchedulerProperties.getAbsolutePath(System.getProperty(PASchedulerProperties.SCHEDULER_HOME.getKey()));","path":"scheduler/scheduler-server/src/main/java/org/ow2/proactive/scheduler/util/SchedulerStarter.java","position":53,"original_position":53,"commit_id":"3cfb83c78ffbb137496f0fc269aef5c9be6cfccf","original_commit_id":"3cfb83c78ffbb137496f0fc269aef5c9be6cfccf","user":{"login":"sonarqube-activeeon","id":14940028,"avatar_url":"https://avatars1.githubusercontent.com/u/14940028?v=4","gravatar_id":"","url":"https://api.github.com/users/sonarqube-activeeon","html_url":"https://github.com/sonarqube-activeeon","followers_url":"https://api.github.com/users/sonarqube-activeeon/followers","following_url":"https://api.github.com/users/sonarqube-activeeon/following{/other_user}","gists_url":"https://api.github.com/users/sonarqube-activeeon/gists{/gist_id}","starred_url":"https://api.github.com/users/sonarqube-activeeon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonarqube-activeeon/subscriptions","organizations_url":"https://api.github.com/users/sonarqube-activeeon/orgs","repos_url":"https://api.github.com/users/sonarqube-activeeon/repos","events_url":"https://api.github.com/users/sonarqube-activeeon/events{/privacy}","received_events_url":"https://api.github.com/users/sonarqube-activeeon/received_events","type":"User","site_admin":false},"body":"![MINOR](https://sonarsource.github.io/sonar-github/severity-minor.png 'Severity: MINOR') Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS00117)\n","created_at":"2018-04-13T11:00:46Z","updated_at":"2018-04-13T11:00:46Z","html_url":"https://github.com/ow2-proactive/scheduling/pull/3186#discussion_r181354239","pull_request_url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/comments/181354239"},"html":{"href":"https://github.com/ow2-proactive/scheduling/pull/3186#discussion_r181354239"},"pull_request":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186"}}},"pull_request":{"url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186","id":181451638,"html_url":"https://github.com/ow2-proactive/scheduling/pull/3186","diff_url":"https://github.com/ow2-proactive/scheduling/pull/3186.diff","patch_url":"https://github.com/ow2-proactive/scheduling/pull/3186.patch","issue_url":"https://api.github.com/repos/ow2-proactive/scheduling/issues/3186","number":3186,"state":"open","locked":false,"title":"Integrate IAM microservice","user":{"login":"nebilbenmabrouk","id":25662619,"avatar_url":"https://avatars3.githubusercontent.com/u/25662619?v=4","gravatar_id":"","url":"https://api.github.com/users/nebilbenmabrouk","html_url":"https://github.com/nebilbenmabrouk","followers_url":"https://api.github.com/users/nebilbenmabrouk/followers","following_url":"https://api.github.com/users/nebilbenmabrouk/following{/other_user}","gists_url":"https://api.github.com/users/nebilbenmabrouk/gists{/gist_id}","starred_url":"https://api.github.com/users/nebilbenmabrouk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nebilbenmabrouk/subscriptions","organizations_url":"https://api.github.com/users/nebilbenmabrouk/orgs","repos_url":"https://api.github.com/users/nebilbenmabrouk/repos","events_url":"https://api.github.com/users/nebilbenmabrouk/events{/privacy}","received_events_url":"https://api.github.com/users/nebilbenmabrouk/received_events","type":"User","site_admin":false},"body":"IAM is integrated in two ways (only one must be retained):\r\n\r\n1- A new Java module called 'boot-microservices' is added. It contains a class called 'IAMStarter', which starts the IAM microservice. This class is early executed by the 'SchedulerStarter' class, i.e., before starting core ProActive components.\r\n\r\n2- Under the 'bin' folder, I added a bash script called 'proactive-iam',  which starts the IAM microservice. This script is executed by the 'proactive-server' script before starting core ProActive components.\r\n\r\nN.B:\r\n- Both methods require the 'iam.war' file to be added under the 'dist/boot' directory. This should be done during the release.\r\n- The 'iam.war' file is the outcome of the iam project (https://github.com/ow2-proactive/iam)\r\n- If the second method is retained, further work should be done to generate Windows batch scripts that are equivalent to what has been done in bash.\r\n","created_at":"2018-04-13T10:46:08Z","updated_at":"2018-04-13T11:00:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2918671feac314f4d8691e6924b8d9678b49db60","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186/commits","review_comments_url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186/comments","review_comment_url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ow2-proactive/scheduling/issues/3186/comments","statuses_url":"https://api.github.com/repos/ow2-proactive/scheduling/statuses/3cfb83c78ffbb137496f0fc269aef5c9be6cfccf","head":{"label":"nebilbenmabrouk:add-boot-microservices","ref":"add-boot-microservices","sha":"3cfb83c78ffbb137496f0fc269aef5c9be6cfccf","user":{"login":"nebilbenmabrouk","id":25662619,"avatar_url":"https://avatars3.githubusercontent.com/u/25662619?v=4","gravatar_id":"","url":"https://api.github.com/users/nebilbenmabrouk","html_url":"https://github.com/nebilbenmabrouk","followers_url":"https://api.github.com/users/nebilbenmabrouk/followers","following_url":"https://api.github.com/users/nebilbenmabrouk/following{/other_user}","gists_url":"https://api.github.com/users/nebilbenmabrouk/gists{/gist_id}","starred_url":"https://api.github.com/users/nebilbenmabrouk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nebilbenmabrouk/subscriptions","organizations_url":"https://api.github.com/users/nebilbenmabrouk/orgs","repos_url":"https://api.github.com/users/nebilbenmabrouk/repos","events_url":"https://api.github.com/users/nebilbenmabrouk/events{/privacy}","received_events_url":"https://api.github.com/users/nebilbenmabrouk/received_events","type":"User","site_admin":false},"repo":{"id":127267358,"name":"scheduling","full_name":"nebilbenmabrouk/scheduling","owner":{"login":"nebilbenmabrouk","id":25662619,"avatar_url":"https://avatars3.githubusercontent.com/u/25662619?v=4","gravatar_id":"","url":"https://api.github.com/users/nebilbenmabrouk","html_url":"https://github.com/nebilbenmabrouk","followers_url":"https://api.github.com/users/nebilbenmabrouk/followers","following_url":"https://api.github.com/users/nebilbenmabrouk/following{/other_user}","gists_url":"https://api.github.com/users/nebilbenmabrouk/gists{/gist_id}","starred_url":"https://api.github.com/users/nebilbenmabrouk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nebilbenmabrouk/subscriptions","organizations_url":"https://api.github.com/users/nebilbenmabrouk/orgs","repos_url":"https://api.github.com/users/nebilbenmabrouk/repos","events_url":"https://api.github.com/users/nebilbenmabrouk/events{/privacy}","received_events_url":"https://api.github.com/users/nebilbenmabrouk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nebilbenmabrouk/scheduling","description":"Multi-platform Scheduling and Workflows Engine","fork":true,"url":"https://api.github.com/repos/nebilbenmabrouk/scheduling","forks_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/forks","keys_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/teams","hooks_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/hooks","issue_events_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/issues/events{/number}","events_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/events","assignees_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/assignees{/user}","branches_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/branches{/branch}","tags_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/tags","blobs_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/git/refs{/sha}","trees_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/statuses/{sha}","languages_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/languages","stargazers_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/stargazers","contributors_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/contributors","subscribers_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/subscribers","subscription_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/subscription","commits_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/commits{/sha}","git_commits_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/git/commits{/sha}","comments_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/comments{/number}","issue_comment_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/issues/comments{/number}","contents_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/contents/{+path}","compare_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/merges","archive_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/downloads","issues_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/issues{/number}","pulls_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/pulls{/number}","milestones_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/milestones{/number}","notifications_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/labels{/name}","releases_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/releases{/id}","deployments_url":"https://api.github.com/repos/nebilbenmabrouk/scheduling/deployments","created_at":"2018-03-29T09:15:36Z","updated_at":"2018-04-13T10:14:44Z","pushed_at":"2018-04-13T10:30:36Z","git_url":"git://github.com/nebilbenmabrouk/scheduling.git","ssh_url":"git@github.com:nebilbenmabrouk/scheduling.git","clone_url":"https://github.com/nebilbenmabrouk/scheduling.git","svn_url":"https://github.com/nebilbenmabrouk/scheduling","homepage":"http://www.activeeon.com/workflows-scheduling","size":73436,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ow2-proactive:enhance-security","ref":"enhance-security","sha":"d198a23a5c65a174462e888795a9442af6c6f9dc","user":{"login":"ow2-proactive","id":11553998,"avatar_url":"https://avatars1.githubusercontent.com/u/11553998?v=4","gravatar_id":"","url":"https://api.github.com/users/ow2-proactive","html_url":"https://github.com/ow2-proactive","followers_url":"https://api.github.com/users/ow2-proactive/followers","following_url":"https://api.github.com/users/ow2-proactive/following{/other_user}","gists_url":"https://api.github.com/users/ow2-proactive/gists{/gist_id}","starred_url":"https://api.github.com/users/ow2-proactive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ow2-proactive/subscriptions","organizations_url":"https://api.github.com/users/ow2-proactive/orgs","repos_url":"https://api.github.com/users/ow2-proactive/repos","events_url":"https://api.github.com/users/ow2-proactive/events{/privacy}","received_events_url":"https://api.github.com/users/ow2-proactive/received_events","type":"Organization","site_admin":false},"repo":{"id":35725079,"name":"scheduling","full_name":"ow2-proactive/scheduling","owner":{"login":"ow2-proactive","id":11553998,"avatar_url":"https://avatars1.githubusercontent.com/u/11553998?v=4","gravatar_id":"","url":"https://api.github.com/users/ow2-proactive","html_url":"https://github.com/ow2-proactive","followers_url":"https://api.github.com/users/ow2-proactive/followers","following_url":"https://api.github.com/users/ow2-proactive/following{/other_user}","gists_url":"https://api.github.com/users/ow2-proactive/gists{/gist_id}","starred_url":"https://api.github.com/users/ow2-proactive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ow2-proactive/subscriptions","organizations_url":"https://api.github.com/users/ow2-proactive/orgs","repos_url":"https://api.github.com/users/ow2-proactive/repos","events_url":"https://api.github.com/users/ow2-proactive/events{/privacy}","received_events_url":"https://api.github.com/users/ow2-proactive/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ow2-proactive/scheduling","description":"Multi-platform Scheduling and Workflows Engine","fork":false,"url":"https://api.github.com/repos/ow2-proactive/scheduling","forks_url":"https://api.github.com/repos/ow2-proactive/scheduling/forks","keys_url":"https://api.github.com/repos/ow2-proactive/scheduling/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ow2-proactive/scheduling/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ow2-proactive/scheduling/teams","hooks_url":"https://api.github.com/repos/ow2-proactive/scheduling/hooks","issue_events_url":"https://api.github.com/repos/ow2-proactive/scheduling/issues/events{/number}","events_url":"https://api.github.com/repos/ow2-proactive/scheduling/events","assignees_url":"https://api.github.com/repos/ow2-proactive/scheduling/assignees{/user}","branches_url":"https://api.github.com/repos/ow2-proactive/scheduling/branches{/branch}","tags_url":"https://api.github.com/repos/ow2-proactive/scheduling/tags","blobs_url":"https://api.github.com/repos/ow2-proactive/scheduling/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ow2-proactive/scheduling/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ow2-proactive/scheduling/git/refs{/sha}","trees_url":"https://api.github.com/repos/ow2-proactive/scheduling/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ow2-proactive/scheduling/statuses/{sha}","languages_url":"https://api.github.com/repos/ow2-proactive/scheduling/languages","stargazers_url":"https://api.github.com/repos/ow2-proactive/scheduling/stargazers","contributors_url":"https://api.github.com/repos/ow2-proactive/scheduling/contributors","subscribers_url":"https://api.github.com/repos/ow2-proactive/scheduling/subscribers","subscription_url":"https://api.github.com/repos/ow2-proactive/scheduling/subscription","commits_url":"https://api.github.com/repos/ow2-proactive/scheduling/commits{/sha}","git_commits_url":"https://api.github.com/repos/ow2-proactive/scheduling/git/commits{/sha}","comments_url":"https://api.github.com/repos/ow2-proactive/scheduling/comments{/number}","issue_comment_url":"https://api.github.com/repos/ow2-proactive/scheduling/issues/comments{/number}","contents_url":"https://api.github.com/repos/ow2-proactive/scheduling/contents/{+path}","compare_url":"https://api.github.com/repos/ow2-proactive/scheduling/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ow2-proactive/scheduling/merges","archive_url":"https://api.github.com/repos/ow2-proactive/scheduling/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ow2-proactive/scheduling/downloads","issues_url":"https://api.github.com/repos/ow2-proactive/scheduling/issues{/number}","pulls_url":"https://api.github.com/repos/ow2-proactive/scheduling/pulls{/number}","milestones_url":"https://api.github.com/repos/ow2-proactive/scheduling/milestones{/number}","notifications_url":"https://api.github.com/repos/ow2-proactive/scheduling/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ow2-proactive/scheduling/labels{/name}","releases_url":"https://api.github.com/repos/ow2-proactive/scheduling/releases{/id}","deployments_url":"https://api.github.com/repos/ow2-proactive/scheduling/deployments","created_at":"2015-05-16T13:38:55Z","updated_at":"2018-04-12T18:53:42Z","pushed_at":"2018-04-13T10:46:09Z","git_url":"git://github.com/ow2-proactive/scheduling.git","ssh_url":"git@github.com:ow2-proactive/scheduling.git","clone_url":"https://github.com/ow2-proactive/scheduling.git","svn_url":"https://github.com/ow2-proactive/scheduling","homepage":"http://www.activeeon.com/workflows-scheduling","size":73427,"stargazers_count":25,"watchers_count":25,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":39,"mirror_url":null,"archived":false,"open_issues_count":168,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":39,"open_issues":168,"watchers":25,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186"},"html":{"href":"https://github.com/ow2-proactive/scheduling/pull/3186"},"issue":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/issues/3186"},"comments":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/issues/3186/comments"},"review_comments":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186/comments"},"review_comment":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/pulls/3186/commits"},"statuses":{"href":"https://api.github.com/repos/ow2-proactive/scheduling/statuses/3cfb83c78ffbb137496f0fc269aef5c9be6cfccf"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"sonarqube-activeeon"}}