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

Single Locust master with Locust slaves in multiple AWS regions #15

Open
rn538e opened this issue Feb 9, 2020 · 1 comment
Open

Single Locust master with Locust slaves in multiple AWS regions #15

rn538e opened this issue Feb 9, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@rn538e
Copy link

rn538e commented Feb 9, 2020

Is there a way to have the master in one AWS region but slaves in all 4? If not with the current version of swarmhub, is there a place I can make changes in the deployer/swarmhub code to do this?

@kmhagan
Copy link
Collaborator

kmhagan commented Feb 10, 2020

This is not supported with the current version of swarmhub. You would have to make changes to the database schema to support creating a test that has multiple regions for slaves https://github.com/att-cloudnative-labs/swarmhub/blob/master/deployments/db/tables.txt#L95 portal.grid and portal.grid_template would have to be refactored to have a one-to-many relationship to regions and instances for the slaves.

The ansible jobs https://github.com/att-cloudnative-labs/swarmhub/tree/master/services/deployer/ansible would have to be refactored to support having a region tied to each instance it is deploying. Security groups and permissions would need to be altered to open up ports to the other VPCs instances so the slaves can talk to the master.

The frontend would need to be refactored for slave creation to be more dynamic and support adding additional slaves where the input is something like

Region Instance Type Number of Instances
us-west-1 t2.medium 3
us-west-2 t2.medium 2

Where additional rows can be inserted, either by a new one showing up automatically (but empty) or a plus button that adds a new row. https://github.com/att-cloudnative-labs/swarmhub/blob/master/services/swarmhub/frontend/src/components/CreateGrid.vue#L50-L65

And finally the API will have to be refactored to support a list of slaves that contain the region, instance type, and number of instances: https://github.com/att-cloudnative-labs/swarmhub/tree/master/services/swarmhub/src/swarmhub/api

@kmhagan kmhagan added the enhancement New feature or request label Feb 10, 2020
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
None yet
Development

No branches or pull requests

2 participants