{"id":20713265,"url":"https://github.com/linaro/mr-provisioner-client","last_synced_at":"2025-12-24T02:15:06.264Z","repository":{"id":90096733,"uuid":"133865987","full_name":"Linaro/mr-provisioner-client","owner":"Linaro","description":"Python library to use Mr-Provisioner's API","archived":false,"fork":false,"pushed_at":"2019-01-09T15:32:58.000Z","size":32,"stargazers_count":2,"open_issues_count":4,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-11T06:49:23.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Linaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-17T20:37:45.000Z","updated_at":"2019-08-27T05:51:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f129384-dffd-4921-8a27-1e9930fa81b9","html_url":"https://github.com/Linaro/mr-provisioner-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Linaro/mr-provisioner-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Linaro%2Fmr-provisioner-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Linaro%2Fmr-provisioner-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Linaro%2Fmr-provisioner-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Linaro%2Fmr-provisioner-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Linaro","download_url":"https://codeload.github.com/Linaro/mr-provisioner-client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Linaro%2Fmr-provisioner-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27992997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T02:24:10.638Z","updated_at":"2025-12-24T02:15:06.245Z","avatar_url":"https://github.com/Linaro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mr-provisioner-client\nPython library to use Mr-Provisioner's API\n\n## Mr-Provisioner\n\n[Mr-Provisioner](https://github.com/mr-provisioner/mr-provisioner) is a bare metal provisioner, with the capacity to register machines, reboot them in multiple ways, upload images and preseeds and associate them to machines, etc.\n\nThis client interfaces with Mr-Provisioner via its REST API, using Token authentication, and has the ability to drive its functinality from a command line interface.\n\nThe arguments are numerous and very verbose, to make it clear and simple for automation scripts to use. It is not meant for admins to replace the UI, though it's certainly possible for admins to use them (perhaps writing bash wrappers and keeping environment variables), using the client directly.\n\n## Current Functionality\n\nThe current supported features are:\n\n* `net`: Network functionality such as get ip/mac/mask, form a machine.\n* `state`: Machine settings, provisioning, reboot.\n* `image`: Check images for existence, upload new ones.\n* `preseed`: Check preseeds for existence, upload new ones.\n\nCheck the [documentation](https://github.com/Linaro/mr-provisioner-client/wiki) for more details.\n\nThis does not yet make use of **all** functionality exposed by Mr-Provisioner's API, but it already allows you to upload the right images, set the right parameters in a machine and provision it using a preseed. It also allows you to query the IP settings of a machine by name, which is helpful for automation tasks.\n\n## Future Tasks\n\nThe main areas of work are:\n* Complete the implementation of the REST API features (add machines, users, query activity, refined state)\n* Implement an Ansible wrapper that makes direct use of the library (not the client)\n* Write some shell wrappers to use the client as a command line tool\n* Create documentation on arguments, usage, range of parameters, etc.\n* Write a test suite\n* Make the error messages more friendly, epecially around required arguments from actions\n\n## Testing\n\nUnfortunately, right now all of the testing is done manually on an existing install of Mr-Provisioner. This can be a mock installation on a local machine or a production install in a real lab. We currently do both.\n\nWe also make use of the client on our production lab, so the master branch is guarantee to work at least for our purposes. However, we're not yet making full use of its features, so YMMV.\n\n## Reporting Bugs\n\nPlease use the issue tracker / pull requests to interact with the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinaro%2Fmr-provisioner-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinaro%2Fmr-provisioner-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinaro%2Fmr-provisioner-client/lists"}