{"id":13728153,"url":"https://github.com/tinx/locust_slave","last_synced_at":"2026-03-09T22:43:14.519Z","repository":{"id":144567313,"uuid":"112967565","full_name":"tinx/locust_slave","owner":"tinx","description":"Ansible role for Locust.io slaves","archived":false,"fork":false,"pushed_at":"2017-12-03T22:03:31.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-04T02:07:52.466Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-12-03T22:03:24.000Z","updated_at":"2021-08-05T20:24:05.000Z","dependencies_parsed_at":"2024-01-07T16:32:17.052Z","dependency_job_id":"e7f2ff3f-634e-44cd-a496-6c074512c6c3","html_url":"https://github.com/tinx/locust_slave","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinx%2Flocust_slave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinx%2Flocust_slave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinx%2Flocust_slave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinx%2Flocust_slave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinx","download_url":"https://codeload.github.com/tinx/locust_slave/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679831,"owners_count":17351875,"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","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-08-03T02:00:37.930Z","updated_at":"2026-03-09T22:43:14.511Z","avatar_url":"https://github.com/tinx.png","language":"Python","funding_links":[],"categories":["Tools \u0026 Integrations"],"sub_categories":["Configuration Management"],"readme":"# Ansible Role `locust_slave`\n\nManages locust.io slaves.\n\n## Requirements\n\nLocust.io requires ZeroMQ. This role will therefor install\nzeromq-devel and gcc system-wide to compile the necessary python\npips for Locust.io. The upstream ZeroMQ yum repository will be\nregistered and enabled to do this.\n\nAll python related software requirements will be auto-installed\ninside a virtualenv.\n\n## Role Variables\n\n| Variable        | Default   | Comments (type)                              |\n| :---            | :---      | :---                                         |\n| `instance_name` | `slave`   | Name to distiguish between instances.        |\n| `instance_data` |           | Path to data to be copied into instance dir  |\n| `locust_classes`| `[]`      | List of client classes to run                |\n| `master_host`   |           | IP, hostname or FQDN of the Locust.io master |\n| `master_port`   | 5557      | TCP port number of the Locust.io master      |\n| `locustfile`    |           | The Locust.io scenario file to play          |\n| `state`         | `started` | State of Locust.io on the host.              |\n| `enabled`       | `false`   | If true, start this instance after reboots   |\n| `csv`           |           | Base name of CVS report files                |\n| `logfile`       |           | Filename of the Locust.io logfile            |\n| `loglevel`      |           | Locust.io log level                          |\n| `run_as_user`   |           | Which unix user to launch Locust.io as       |\n| `run_as_group`  |           | Which unix group to launch Locust.io under   |\n\nThe `state` parameter can be one of:\n\n* `started` - Locust.io should be up and running\n* `restarted` - Locust.io should be freshly restarted\n* `stopped` - Locust.io should be present but should not be running\n* `absent` - Locust.io should not be installed\n\nA directory named `/opt/locust.io` will be created. Inside of it, a\nsubdirectory per instance will be created. If `state` is set to `absent`,\nthis directory will be removed.\n\nThe `instance_data` parameter can point to a file or directory to\nbe copied into the instance subdirectory. For example, `instance_data: data/`\nwould copy the `data/` directory inside your playbook's `files/` directory\nto the instance subfolder.\n\nYou can specify the `locustfile` parameter as a path relative to the\n`instance_data` content root. (see example below)\n\n## Operating Systems\n\nThis role was developed and tested for CentOS 7.4.\n\n## Dependencies\n\nNone\n\n## Example Playbook\n\nTo have a running Locust.io slave you could do this:\n\n    - hosts: locust_slaves\n      tasks:\n      - include_role:\n           name: tinx.locust_slave\n        vars:\n           master_host: 'locust_master.example.com'\n           instance_data: data/\n           locustfile: 'stress-test-prod.py'\n\n## Testing\n\nMolecule tests are provided. Naturally, they require additional dependencies.\n\n## License\n\nBSD\n\n## Author Information\n\n - [Andreas Jaekel](https://github.com/tinx/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinx%2Flocust_slave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinx%2Flocust_slave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinx%2Flocust_slave/lists"}