-
Notifications
You must be signed in to change notification settings - Fork 875
feat: add scaletest load generation infrastructure #15816
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
Conversation
c10624d
to
766ffa0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing blocking on my side 👍 Nice work!
required_providers { | ||
coder = { | ||
source = "coder/coder" | ||
version = "~> 0.23.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we update to a newer version of the provider?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup!
name = "cli" | ||
image = "${var.coder_image_repo}:${var.coder_image_tag}" | ||
command = [ | ||
"/opt/coder", | ||
"--verbose", | ||
"--url=${local.deployments.primary.url}", | ||
"--token=${trimspace(data.local_file.api_key.content)}", | ||
"templates", | ||
"push", | ||
"--directory=/home/coder/template", | ||
"--provisioner-tag=scope=organization", | ||
"--provisioner-tag=deployment=primary", | ||
"--yes", | ||
"kubernetes-primary" | ||
] | ||
volume_mount { | ||
name = "coder-template" | ||
mount_path = "/home/coder/template/main.tf" | ||
sub_path = "main.tf" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
future enhancement idea: could we use the coderd
Terrraform provider for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
coderd
provider can't be used here because it needs a valid coder token up front, and we don't have one since we create coder in the same apply. We've discussed plans to make this possible in the future but it's currently not possible with the provider.
kubelet_config { | ||
cpu_manager_policy = "" | ||
cpu_cfs_quota = false | ||
pod_pids_limit = 0 | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, what made you need to set this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was getting drift on created clusters with this set
create = local.traffic_types[each.key].job_timeout | ||
} | ||
|
||
depends_on = [time_sleep.wait_baseline, time_sleep.wait_traffic[each.key]] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note for reviewers: these introduce a transitive dependency on the create-workspaces jobs.
- name: "CODER_PROVISIONER_DAEMON_NAME" | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: metadata.name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this something we should add by default to the coder-provisioner Helm chart?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it could be useful as a default as long as you can override it
Closes coder/internal#149
This creates workspaces in each region and runs traffic generation against the workspaces colocated in the region.