Skip to content

Commit

Permalink
feature(gce_builder): update to use sct runner 1.8
Browse files Browse the repository at this point in the history
* update gce_build to have versioned name for template and labels
* add docs part, on how to update the runner image

(cherry picked from commit 370abe1)
  • Loading branch information
fruch committed Nov 25, 2024
1 parent e51c5c2 commit b08111d
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 9 deletions.
24 changes: 24 additions & 0 deletions docs/sct-runners.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,27 @@ hydra --execute-on-runner `cat sct_runner_ip` [Any hydra commands]
hydra is syncing the whole SCT directory with rsync,
try to make sure there's no huge files in SCT directory,
because that would slow it down


### process of updating sct runner images

1. update code in sct_runner.py, give it a new version number
2. Build all images
```bash

./sct.py create-runner-image -c aws -r eu-west-2 -z a

./sct.py create-runner-image -c gce -r us-east1 -z a
SCT_GCE_PROJECT=gcp ./sct.py create-runner-image -c gce -r us-east1 -z a
SCT_GCE_PROJECT=gcp-local-ssd-latency ./sct.py create-runner-image -c gce -r us-east1 -z a

./sct.py create-runner-image -c azure -r eastus -z a
```
3. update version on `aws_builder.py` and `gce_builder.py`
4. build jenkins configuration with new sct runner image
```bash
./sct.py configure-jenkins-builders -c gce
./sct.py configure-jenkins-builders -c aws
```

5. update `vars/getJenkinsLabels.groovy` with the new labels created in step 1
10 changes: 5 additions & 5 deletions sdcm/utils/gce_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
instanceConfiguration.setRetentionTimeMinutesStr("6")
instanceConfiguration.setLaunchTimeoutSecondsStr("300")
instanceConfiguration.setRunAsUser("jenkins")
instanceConfiguration.setSshConfiguration(SshConfiguration.builder().customPrivateKeyCredentialsId("6e17c350-0a47-4a59-b0b9-7e64f1c35a65").build())
instanceConfiguration.setSshConfiguration(SshConfiguration.builder().customPrivateKeyCredentialsId("user-jenkins_scylla_test_id_ed25519.pem").build())
gcpCloud.addConfiguration(instanceConfiguration)
Expand All @@ -88,10 +88,10 @@ class GceBuilder:
It creates a launch template based on sct-runner image, and adds configuration needed in Jenkins to use it
"""
VERSION = 'v2'

def __init__(self, region: GceRegion, number=1):
def __init__(self, region: GceRegion):
self.region = region
self.number = number
self.jenkins_info = KeyStore().get_json("jenkins.json")
self.runner = GceSctRunner(region_name=self.region.region_name,
availability_zone="a")
Expand All @@ -102,11 +102,11 @@ def __init__(self, region: GceRegion, number=1):
@cached_property
def name(self):
# example: gce-sct-project-1-us-east1-qa-builder
return f"gce-{self.region.project}-{self.region.region_name}-qa-builder"
return f"gce-{self.region.project}-{self.region.region_name}-qa-builder-{self.VERSION}"

@cached_property
def jenkins_labels(self):
return f"gcp-{self.region.project}-builders-{self.region.region_name}-template"
return f"gcp-{self.region.project}-builders-{self.region.region_name}-template-{self.VERSION}"

def _add_cloud_configuration_to_jenkins(self):
click.echo(f"{self.region.project}: {self.region.region_name}: add_cloud_configuration_to_jenkins")
Expand Down
8 changes: 4 additions & 4 deletions vars/getJenkinsLabels.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ def call(String backend, String region=null, String datacenter=null, String loca
'aws-eu-central-1': 'aws-sct-builders-eu-central-1-v3-asg',
'aws-us-east-1' : 'aws-sct-builders-us-east-1-v3-asg',
'aws-us-west-2' : 'aws-sct-builders-us-west-2-v3-asg',
'gce-us-east1': "${gcp_project}-builders-us-east1-template",
'gce-us-west1': "${gcp_project}-builders-us-west1-template",
'gce-us-central1': "${gcp_project}-builders-us-central1-template",
'gce': "${gcp_project}-builders-us-east1-template",
'gce-us-east1': "${gcp_project}-builders-us-east1-template-v2",
'gce-us-west1': "${gcp_project}-builders-us-west1-template-v2",
'gce-us-central1': "${gcp_project}-builders-us-central1-template-v2",
'gce': "${gcp_project}-builders-us-east1-template-v2",
'aws': 'aws-sct-builders-eu-west-1-v3-asg',
'azure-eastus': 'aws-sct-builders-us-east-1-v3-asg']

Expand Down

0 comments on commit b08111d

Please sign in to comment.