-
Notifications
You must be signed in to change notification settings - Fork 40
Add Basic Jenkins Integ Test for Demo Setup #1099
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
Changes from 7 commits
f2b7f64
2ff28a8
f1cf49e
1e01deb
a958791
0b13f00
4ef203d
3d71795
3476dab
2c38b64
32126b9
e0b241d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
def gitBranch = params.GIT_BRANCH ?: 'main' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why make a new Pipeline for this instead of use our existing ES 6.8 -> OS 2.X Pipeline? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is testing a combination of RFS + C&R, having this separation I think will be useful in the future to do more targeted testing with say a pre-made snapshot in the RFS specific pipeline. It might also be nice to see if both pipelines or a single pipeline is failing when a bug is introduced. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A few thoughts:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think its helpful for testing our workflow where the user performs the snapshot creation themselves from the migration console In a similar vein, I like testing RFS and C&R together and separately as it affirms that these are separate independent pieces that can operate on their own, and that we haven't introduced some logic that say requires a snapshot to exist when we are only doing a C&R scenario There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Per discussion, my takeaways:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Have updated this PR to include both these items. See recent Jenkins build here: https://migrations.ci.opensearch.org/job/full-es68source-e2e-test/4/ |
||
def gitUrl = params.GIT_REPO_URL ?: 'https://github.com/opensearch-project/opensearch-migrations.git' | ||
|
||
library identifier: "migrations-lib@${gitBranch}", retriever: modernSCM( | ||
[$class: 'GitSCMSource', | ||
remote: "${gitUrl}"]) | ||
|
||
// Shared library function (location from root: vars/fullDefaultE2ETest.groovy) | ||
fullDefaultE2ETest() |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
|
||
def call(Map config = [:]) { | ||
def sourceContextId = 'source-single-node-ec2' | ||
def migrationContextId = 'full-migration' | ||
def source_cdk_context = """ | ||
{ | ||
"source-single-node-ec2": { | ||
"suffix": "ec2-source-<STAGE>", | ||
"networkStackSuffix": "ec2-source-<STAGE>", | ||
"distVersion": "6.8.23", | ||
"distributionUrl": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.8.23.tar.gz", | ||
"captureProxyEnabled": false, | ||
"securityDisabled": true, | ||
"minDistribution": false, | ||
"cpuArch": "x64", | ||
"isInternal": true, | ||
"singleNodeCluster": true, | ||
"networkAvailabilityZones": 2, | ||
"dataNodeCount": 1, | ||
"managerNodeCount": 0, | ||
"serverAccessType": "ipv4", | ||
"restrictServerAccessTo": "0.0.0.0/0" | ||
} | ||
} | ||
""" | ||
def migration_cdk_context = """ | ||
{ | ||
"full-migration": { | ||
"stage": "<STAGE>", | ||
"vpcId": "<VPC_ID>", | ||
"engineVersion": "OS_2.11", | ||
"domainName": "os-cluster-<STAGE>", | ||
"dataNodeCount": 2, | ||
"openAccessPolicyEnabled": true, | ||
"domainRemovalPolicy": "DESTROY", | ||
"artifactBucketRemovalPolicy": "DESTROY", | ||
"captureProxyServiceEnabled": true, | ||
"targetClusterProxyServiceEnabled": true, | ||
"trafficReplayerServiceEnabled": true, | ||
"trafficReplayerExtraArgs": "--speedup-factor 10.0", | ||
"reindexFromSnapshotServiceEnabled": true, | ||
"sourceCluster": { | ||
"endpoint": "<SOURCE_CLUSTER_ENDPOINT>", | ||
"auth": {"type": "none"}, | ||
"version": "ES_6.8.23" | ||
}, | ||
"tlsSecurityPolicy": "TLS_1_2", | ||
"enforceHTTPS": true, | ||
"nodeToNodeEncryptionEnabled": true, | ||
"encryptionAtRestEnabled": true, | ||
"vpcEnabled": true, | ||
"vpcAZCount": 2, | ||
"domainAZCount": 2, | ||
"mskAZCount": 2, | ||
"migrationAssistanceEnabled": true, | ||
"replayerOutputEFSRemovalPolicy": "DESTROY", | ||
"migrationConsoleServiceEnabled": true, | ||
"otelCollectorEnabled": true | ||
} | ||
} | ||
""" | ||
|
||
defaultIntegPipeline( | ||
sourceContext: source_cdk_context, | ||
migrationContext: migration_cdk_context, | ||
sourceContextId: sourceContextId, | ||
migrationContextId: migrationContextId, | ||
defaultStageId: 'full-integ', | ||
skipCaptureProxyOnNodeSetup: true, | ||
jobName: 'full-default-e2e-test', | ||
integTestCommand: '/root/lib/integ_test/integ_test/full_tests.py --source_proxy_alb_endpoint https://alb.migration.<STAGE>.local:9201 --target_proxy_alb_endpoint https://alb.migration.<STAGE>.local:9202' | ||
) | ||
} |
Uh oh!
There was an error while loading. Please reload this page.