Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fetch Latest Machines Data File #33

Closed
piyush286 opened this issue Feb 6, 2019 · 1 comment
Closed

Fetch Latest Machines Data File #33

piyush286 opened this issue Feb 6, 2019 · 1 comment
Labels
enhancement New feature or request

Comments

@piyush286
Copy link
Contributor

piyush286 commented Feb 6, 2019

Problem Description

Currently, PerfNext expects the machine data file, master_machine_list.xml, to be placed at /config/master_machine_list.xml. PerfNext's backend has an API called '/api/machinesInfo' as shown below, which is used by PerfNext's frontend to get all the HW related info about machines that are available on PerfNext to be used for performance runs. More details regarding HW specific environment variables can be found in #32.

API Call from Frontend:
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/b528a63ea146080f4bb1430740a734c2af87df7e/PerfNext/public/lib/js/benchmarks.js#L41-L45

Backend API:
https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/b528a63ea146080f4bb1430740a734c2af87df7e/PerfNext/app/apis/machines.js#L14-L19

Not fetching this file directly from the original source (i.e. build server) would require one to update this file manually every time if some new machine is added to the build server or if some machine specific configuration has changed. Otherwise, PerfNext would not reflect the most updated machine data.

Proposed Solution

Instead of storing that machine file (i.e. master_machine_list.xml), PerfNext should directly download it from the build server (i.e. Jenkins, Axxon or something else) or anywhere where that machine data file might be hosted as PerfNext does for fetching build info in PerfNext/app/apis/builds.js.

https://github.com/AdoptOpenJDK/openjdk-test-tools/blob/b528a63ea146080f4bb1430740a734c2af87df7e/PerfNext/app/apis/builds.js#L12-L33

This solution would make sure that PerfNext always accesses and uses the latest machine data file from whatever location specified by the PerfNext host.

User should provide the URL for machine data file in PerfNext/config/APP_DATA.json and set any credentials required to download it in the PerfNext/config/credentials.json file.

Assigned Contributors

Awsaf (@pinicman) from my team would work on adding this functionality.

@smlambert
Copy link
Contributor

adoptium/jenkins-helper#25
then perfnext merely needs to query a URL to retrieve file.

awsafsakif added a commit to awsafsakif/openjdk-test-tools that referenced this issue Feb 13, 2019
- Added request to download latest machine data file from url.
- Updated README.md with examples to populate APP_DATA.json.
- Closes Issue adoptium#33
awsafsakif added a commit to awsafsakif/openjdk-test-tools that referenced this issue Feb 13, 2019
- Added request to download latest machine data file from url.
- Updated README.md with examples of how to populate APP_DATA.json.
- Closes Issue adoptium#33
awsafsakif added a commit to awsafsakif/openjdk-test-tools that referenced this issue Feb 13, 2019
- Added request to download latest machine data file from url.
- Updated README.md with examples to populate APP_DATA.json.
Closes Issue adoptium#33
awsafsakif added a commit to awsafsakif/openjdk-test-tools that referenced this issue Feb 13, 2019
- Added request to download latest machine data file from url.
- Updated README.md with examples to populate APP_DATA.json.
Closes Issue adoptium#33
awsafsakif added a commit to awsafsakif/openjdk-test-tools that referenced this issue Feb 13, 2019
- Added request to download latest machine data file from url.
- Updated README.md with examples to populate APP_DATA.json.
Closes Issue adoptium#33
aqa-test-tools automation moved this from To do to Done Feb 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

3 participants