adoptium / jenkins-helper

Jenkins Node helper API and helper jobs
Apache License 2.0
7 stars 26 forks source link

Jenkins job to do daily node maintenance #10

Open VermaSh opened 6 years ago

VermaSh commented 6 years ago

We'll need a job that runs periodically and validates the machines on Jenkins with those in the inventory file. Along with adding machines the job will also any labels mentioned in the inventory file.

VermaSh commented 6 years ago

I have a job that adds new nodes and adds the default labels (Endian, OS, architecture and kernel). I am also working on a job that will pull the inventory file from git. I'll push them both soon.

gdams commented 6 years ago

So a useful command to know would be python ansible/plugins/inventory/adoptopenjdk_yaml.py (run from the root of the infrastructure repo). This will return a large JSON _meta object like this:

"_meta": {
    "hostvars": {
      "build-osuosl-centos74-ppc64le-1": {
        "uid": "1", 
        "type": "build", 
        "ansible_become": true, 
        "ansible_user": "centos", 
        "arch": "ppc64le", 
        "provider": "osuosl", 
        "os": "centos74", 
        "ansible_host": "140.211.168.138"
      }, 
      "build-scaleway-ubuntu1604-x64-2": {
        "uid": "2", 
        "provider": "scaleway", 
        "type": "build", 
        "os": "ubuntu1604", 
        "ansible_host": "51.15.46.107", 
        "arch": "x64"
      } 
}
VermaSh commented 6 years ago

@gdams thanks! I'll look into it

VermaSh commented 6 years ago

I have just created a PR for the second part of this issue, creating new nodes. I have submitted the parts separate because those jobs were very close to their usable states and incase I don't get around to finishing the Node maintenance job there'll at least be these jobs to automate most of the work.