{"action":"created","issue":{"url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/278","repository_url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure","labels_url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/278/labels{/name}","comments_url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/278/comments","events_url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/278/events","html_url":"https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/278","id":303660156,"number":278,"title":"Jenkins node helper API","user":{"login":"VermaSh","id":8346599,"avatar_url":"https://avatars0.githubusercontent.com/u/8346599?v=4","gravatar_id":"","url":"https://api.github.com/users/VermaSh","html_url":"https://github.com/VermaSh","followers_url":"https://api.github.com/users/VermaSh/followers","following_url":"https://api.github.com/users/VermaSh/following{/other_user}","gists_url":"https://api.github.com/users/VermaSh/gists{/gist_id}","starred_url":"https://api.github.com/users/VermaSh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VermaSh/subscriptions","organizations_url":"https://api.github.com/users/VermaSh/orgs","repos_url":"https://api.github.com/users/VermaSh/repos","events_url":"https://api.github.com/users/VermaSh/events{/privacy}","received_events_url":"https://api.github.com/users/VermaSh/received_events","type":"User","site_admin":false},"labels":[{"id":612797719,"url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-03-08T22:45:09Z","updated_at":"2018-03-13T16:53:57Z","closed_at":"2018-03-13T16:53:57Z","author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/pulls/278","html_url":"https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/278","diff_url":"https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/278.diff","patch_url":"https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/278.patch"},"body":"\r\nThe class NodeHelper partially addresses feature requests in AdoptOpenJDK/openjdk-infrastructure#259\r\n- Add machines to Jenkins: addNewNode()\r\n- Determine machine stats\r\n\t- getCpuCount(String computerName)\r\n\t- getLocation(String computerName)\r\n\t- getOsPatchLevel(String computerName)\r\n\t- getMemory(String computerName)\r\n\t- getSpaceLeftInGb(String computerName)\r\n\t- getTotalSpace(String computerName)\r\n\r\n- Set machine description based on machine stats\r\n\t- Machine stats retrieved from the above functions are used for the description\r\n\r\n- Determine machine capabilities\r\n\t- getEndian(String computerName)\r\n\t- getOsArch(String computerName)\r\n\t- getOsInfo(String computerName)\r\n\r\n- Add labels to nodes based on machine capabilities\r\n\t- addLabel(String computerName, String label)\r\n\t\t- Overwrites the labels with the ones in the arguments\r\n\t\t- weekly maintaince job will call this function with labels from the inventory file plus labels returned from constructLabels(String computerName)\r\n\t- appendLabel(String computerName, String label)\r\n\t\t- does only an append\r\n\r\n- Other useful functions\r\n\t- constructLabels(String computerName)\r\n\t\t- this function returns a string containing the default labels\r\n\t\t- as of right now, it only returns OS, arch and Endian (only if it is ppc running linux)\r\n\t\t- here is a list of labels which have been implemented so far:\r\n\t\t\t- constructOsLabel(String computerName)\r\n\t\t\t- constructCPULabel(String computerName)\r\n\t\t\t- constructMemoryLabel(String computerName)\r\n\t\t\t- constructEndianLabel(String computerName)\r\n\t\t\t- constructPlatformLabel(String computerName)\r\n\t\t\t- constructArchLabel(String computerName)\r\n\t\t\t- constructKernelLabel(String computerName)\r\n\r\n- Few side notes:\r\n\t- computerName: is what the node name on Jenkins\r\n\t- getComputer(String computerName)\r\n\t\t- This was created with the intention to have computer name validations in one place.\r\n\t\t  At the moment it's very basic but it can be extended to enforce a standardized naming convention"},"comment":{"url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/comments/372737778","html_url":"https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/278#issuecomment-372737778","issue_url":"https://api.github.com/repos/AdoptOpenJDK/openjdk-infrastructure/issues/278","id":372737778,"user":{"login":"gdams","id":20224954,"avatar_url":"https://avatars2.githubusercontent.com/u/20224954?v=4","gravatar_id":"","url":"https://api.github.com/users/gdams","html_url":"https://github.com/gdams","followers_url":"https://api.github.com/users/gdams/followers","following_url":"https://api.github.com/users/gdams/following{/other_user}","gists_url":"https://api.github.com/users/gdams/gists{/gist_id}","starred_url":"https://api.github.com/users/gdams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdams/subscriptions","organizations_url":"https://api.github.com/users/gdams/orgs","repos_url":"https://api.github.com/users/gdams/repos","events_url":"https://api.github.com/users/gdams/events{/privacy}","received_events_url":"https://api.github.com/users/gdams/received_events","type":"User","site_admin":false},"created_at":"2018-03-13T16:53:56Z","updated_at":"2018-03-13T16:53:56Z","author_association":"OWNER","body":"moving to https://github.com/AdoptOpenJDK/openjdk-jenkins-helper"}}
{"actor":{"display_login":"gdams"}}