HPC Lab Git Repositories
This is a list of all HPC Lab git repositories we own/use and their connection with each other.
Private Lab Configuration
We have one main private repository with scripts that setup the basic admin machine (one that contains the VMs) at:
ssh://git@dev-private-git.linaro.org/hpc/labconf.git
You can only see it if you are a member of the LDAP group hpc-sig-admin.
It contains scripts for creating the VMs (as seen at New Lab Setup) and the following sub-modules:
- https://github.com/Linaro/mr-provisioner: The Provisioner for the machines in the lab
- https://github.com/Linaro/ans_setup_jenkins: Sets up a plain Jenkins, uses labconf private info to setup LDAP.
- https://github.com/Linaro/mr-provisioner-role: Ansible to install vanilla Mr-Provisioner
- https://github.com/Linaro/mr-provisioner-kea-dhcp4-role: Ansible to install Kea, including BMC DHCP
The SFTP file server VM doesn't need any additional setup from this point of view.
HPC Lab Setup
Once all VMs are setup, we have an Ansible playbook to apply all configurations specific to the HPC Lab:
https://github.com/Linaro/hpc_lab_jenkins
It contains roles to setup all Jenkins jobs, upload Mr-Provisioner preseeds, setup SFTP users and directories.
Some additional manual work is required in Mr-Provisioner's side (see New Lab Setup), but otherwise, it's all automated.
The one sub-module we have is for operating on Mr-Provisioner:
We're creating a new client, so to move all Ansible roles to Python (and get Ansible to use Python when it needs):
Once that role becomes more feature rich (ex. adding users, SSH keys, etc) we can finally remove all the manual parts of the lab setup.
HPC Lab Uses
Once the lab is operational, there are a number of repositories that are used by the Jenkins jobs:
- https://github.com/Linaro/hpc_deploy_benchmarks: Ansible roles to call benchmark scripts that will deploy and analyse results.
- https://github.com/Linaro/benchmark_harness: Python library to execute benchmarks
- https://github.com/Linaro/hpc_benchmark_analysis: Python library to analyse benchmark results
- https://github.com/Linaro/hcqc: Python library to statically (and dynamically) analyse compiler quality
- https://github.com/Linaro/ansible-playbook-for-ohpc/commits/production: OpenHPC deployment Ansible playbook