Skip to content

Commit 3a6fdd2

Browse files
replace world parameters with env variables
Issue: ZENKO-5182
1 parent 61ce181 commit 3a6fdd2

File tree

9 files changed

+32
-34
lines changed

9 files changed

+32
-34
lines changed

.github/scripts/end2end/load-config.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ load_common() {
3737
ENV_VARS=()
3838

3939
# From end2end.yaml
40-
ENV_VARS+=("SUBDOMAIN=$(get_env_var SUBDOMAIN)")
4140
ENV_VARS+=("KEYCLOAK_TEST_REALM_NAME=$(get_env_var OIDC_REALM)")
4241
ENV_VARS+=("KEYCLOAK_TEST_CLIENT_ID=$(get_env_var OIDC_CLIENT_ID)")
4342
ENV_VARS+=("KEYCLOAK_TEST_USER=$(get_env_var OIDC_USERNAME)")
@@ -47,8 +46,6 @@ load_common() {
4746
ENV_VARS+=("KEYCLOAK_TEST_GRANT_TYPE=password")
4847
ENV_VARS+=("AZURE_ACCOUNT_NAME=$(get_env_var AZURE_ACCOUNT_NAME)")
4948
ENV_VARS+=("AZURE_SECRET_KEY=$(get_env_var AZURE_SECRET_KEY)")
50-
ENV_VARS+=("CLOUDSERVER_ENDPOINT=http://end2end-connector-s3api.default.svc.cluster.local:80")
51-
ENV_VARS+=("VAULT_ENDPOINT=http://end2end-management-vault-iam-admin-api:80")
5249

5350
# From k8s: Zenko account credentials
5451
ENV_VARS+=("ZENKO_ACCESS_KEY=$(kubectl get secret end2end-account-zenko -o jsonpath='{.data.AccessKeyId}' | base64 -d)")
@@ -65,7 +62,11 @@ load_common() {
6562
load_ctst() {
6663
load_common
6764

65+
# From end2end.yaml
66+
ENV_VARS+=("SUBDOMAIN=$(get_env_var SUBDOMAIN)")
67+
6868
# Hardcoded CTST values
69+
ENV_VARS+=("SSL=false")
6970
ENV_VARS+=("ZENKO_ACCOUNT_NAME=zenko-ctst")
7071
ENV_VARS+=("STORAGE_MANAGER_USER_NAME=ctst_storage_manager")
7172
ENV_VARS+=("STORAGE_ACCOUNT_OWNER_USER_NAME=ctst_storage_account_owner")
@@ -185,6 +186,8 @@ load_e2e() {
185186

186187
# Derived endpoints
187188
ENV_VARS+=("CLOUDSERVER_HOST=end2end-connector-s3api.default.svc.cluster.local")
189+
ENV_VARS+=("CLOUDSERVER_ENDPOINT=http://end2end-connector-s3api.default.svc.cluster.local:80")
190+
ENV_VARS+=("VAULT_ENDPOINT=http://end2end-management-vault-iam-admin-api:80")
188191
ENV_VARS+=("VAULT_STS_ENDPOINT=http://end2end-connector-vault-sts-api:80")
189192
ENV_VARS+=("BACKBEAT_API_ENDPOINT=http://end2end-management-backbeat-api.default.svc.cluster.local:80")
190193

.github/scripts/end2end/run-e2e-ctst.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,6 @@ UTILIZATION_SERVICE_PORT="80"
9090
# Setting CTST world params
9191
WORLD_PARAMETERS="$(jq -c <<EOF
9292
{
93-
"subdomain":"${SUBDOMAIN}",
94-
"DRSubdomain":"${DR_SUBDOMAIN}",
95-
"ssl":false,
96-
"port":"${ZENKO_PORT}",
97-
"AccountName":"${ZENKO_ACCOUNT_NAME}",
9893
"AdminAccessKey":"${ADMIN_ACCESS_KEY_ID}",
9994
"AdminSecretKey":"${ADMIN_SECRET_ACCESS_KEY}",
10095
"VaultAuthHost":"${VAULT_AUTH_HOST}",

tests/ctst/common/common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,14 @@ async function createBucket(world: Zenko, versioning: string, bucketName: string
125125

126126
Given('a {string} bucket with dot', async function (this: Zenko, versioning: string) {
127127
const preName = this.getSaved<string>('accountName') ||
128-
this.parameters.AccountName || Constants.ACCOUNT_NAME;
128+
process.env.ZENKO_ACCOUNT_NAME || Constants.ACCOUNT_NAME;
129129
await createBucket(this, versioning,
130130
`${preName}.${Constants.BUCKET_NAME_TEST}${Utils.randomString()}`.toLocaleLowerCase());
131131
});
132132

133133
Given('a {string} bucket', async function (this: Zenko, versioning: string) {
134134
const preName = this.getSaved<string>('accountName') ||
135-
this.parameters.AccountName || Constants.ACCOUNT_NAME;
135+
process.env.ZENKO_ACCOUNT_NAME || Constants.ACCOUNT_NAME;
136136
await createBucket(this, versioning,
137137
`${preName}${Constants.BUCKET_NAME_TEST}${Utils.randomString()}`.toLocaleLowerCase());
138138
});

tests/ctst/common/hooks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ Before({ tags: '@UtilizationAPI', timeout: 1200000 }, async function (scenarioOp
6262

6363
After(async function (this: Zenko, results) {
6464
// Reset any configuration set on the endpoint (ssl, port)
65-
CacheHelper.parameters.ssl = this.parameters.ssl;
66-
CacheHelper.parameters.port = this.parameters.port;
65+
CacheHelper.parameters.ssl = process.env.SSL === 'true';
66+
CacheHelper.parameters.port = process.env.ZENKO_PORT;
6767
if (results.result?.status === 'FAILED') {
6868
this.logger.warn('bucket was not cleaned for test', {
6969
bucket: this.getSaved<string>('bucketName'),

tests/ctst/steps/cloudserverAuth.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ When('the user tries to perform CreateBucket', async function (this: Zenko) {
3636
this.resetCommand();
3737
this.useSavedIdentity();
3838
const preName = this.getSaved<string>('accountName') ||
39-
this.parameters.AccountName || Constants.ACCOUNT_NAME;
39+
process.env.ZENKO_ACCOUNT_NAME || Constants.ACCOUNT_NAME;
4040
const usedBucketName = `${preName}${Constants.BUCKET_NAME_TEST}${Utils.randomString()}`.toLocaleLowerCase();
4141
this.addToSaved('bucketName', usedBucketName);
4242
this.addCommandParameter({ bucket: usedBucketName });

tests/ctst/steps/iam-policies/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ When('the user tries to perform vault auth {string}', async function (this: Zenk
3535
switch (action) {
3636
case 'GetAccountInfo':
3737
this.setResult(await VaultAuth.getAccounts([
38-
this.getSaved<string>('accountNameForScenario') || this.parameters.AccountName,
38+
this.getSaved<string>('accountNameForScenario') || process.env.ZENKO_ACCOUNT_NAME,
3939
], null, null, {
4040
// @ts-expect-error accountNames is not generated by CTST yet
4141
accountNames: true,

tests/ctst/steps/replication.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ When('the job to replicate existing objects with status {string} is executed',
2626
const s3utilsVersion = zenkoVersion.spec.versions.s3utils;
2727
const credentials = Identity.getCredentialsForIdentity(
2828
IdentityEnum.ACCOUNT,
29-
this.parameters.AccountName
29+
process.env.ZENKO_ACCOUNT_NAME
3030
);
3131
const podManifest = {
3232
apiVersion: 'v1',

tests/ctst/steps/website/website.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ When('the user creates an S3 Bucket policy granting public read access', async f
5858

5959
Then('the user should be able to load the index.html file from the {string} endpoint',
6060
async function (this: Zenko, endpoint: string) {
61-
const baseUrl = this.parameters.ssl === false ? 'http://' : 'https://';
61+
const baseUrl = process.env.SSL === 'false' ? 'http://' : 'https://';
6262
// The ingress may take some time to be ready (<60s)
6363
const uri = `${baseUrl}${this.getSaved<string>('bucketName')}.${endpoint}`;
6464
let response;

tests/ctst/world/Zenko.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ export enum EntityType {
4444
}
4545

4646
export interface ZenkoWorldParameters extends ClientOptions {
47-
AccountName: string;
47+
// AccountName: string;
4848
AccountAccessKey: string;
4949
AccountSecretKey: string;
5050
DRAdminAccessKey?: string;
5151
DRAdminSecretKey?: string;
52-
DRSubdomain?: string;
52+
// DRSubdomain?: string;
5353
VaultAuthHost: string;
5454
NotificationDestination: string;
5555
NotificationDestinationTopic: string;
@@ -141,11 +141,11 @@ export default class Zenko extends World<ZenkoWorldParameters> {
141141
const serviceUserCredentials =
142142
JSON.parse(this.parameters.ServiceUsersCredentials) as Record<string, ServiceUsersCredentials>;
143143
for (const serviceUserName in serviceUserCredentials) {
144-
if (!Identity.hasIdentity(IdentityEnum.SERVICE_USER, serviceUserName, this.parameters.AccountName)) {
144+
if (!Identity.hasIdentity(IdentityEnum.SERVICE_USER, serviceUserName, process.env.ZENKO_ACCOUNT_NAME)) {
145145
Identity.addIdentity(IdentityEnum.SERVICE_USER, serviceUserName, {
146146
accessKeyId: serviceUserCredentials[serviceUserName].accessKey,
147147
secretAccessKey: serviceUserCredentials[serviceUserName].secretKey,
148-
}, this.parameters.AccountName);
148+
}, process.env.ZENKO_ACCOUNT_NAME);
149149
}
150150
}
151151
}
@@ -158,24 +158,24 @@ export default class Zenko extends World<ZenkoWorldParameters> {
158158
CacheHelper.savedAcrossTests[Zenko.PRA_INSTALL_COUNT_KEY] = 0;
159159

160160

161-
if (this.parameters.AccountName && !Identity.hasIdentity(IdentityEnum.ACCOUNT, this.parameters.AccountName)) {
162-
Identity.addIdentity(IdentityEnum.ACCOUNT, this.parameters.AccountName, {
161+
if (process.env.ZENKO_ACCOUNT_NAME && !Identity.hasIdentity(IdentityEnum.ACCOUNT, process.env.ZENKO_ACCOUNT_NAME)) {
162+
Identity.addIdentity(IdentityEnum.ACCOUNT, process.env.ZENKO_ACCOUNT_NAME, {
163163
accessKeyId: this.parameters.AccountAccessKey,
164164
secretAccessKey: this.parameters.AccountSecretKey,
165165
});
166166
}
167167

168-
if (this.parameters.AccountName) {
169-
Identity.useIdentity(IdentityEnum.ACCOUNT, this.parameters.AccountName);
170-
Identity.defaultAccountName = this.parameters.AccountName;
168+
if (process.env.ZENKO_ACCOUNT_NAME) {
169+
Identity.useIdentity(IdentityEnum.ACCOUNT, process.env.ZENKO_ACCOUNT_NAME);
170+
Identity.defaultAccountName = process.env.ZENKO_ACCOUNT_NAME;
171171
}
172172

173173
if (this.parameters.AdminAccessKey && this.parameters.AdminSecretKey &&
174174
!Identity.hasIdentity(IdentityEnum.ADMIN, Zenko.PRIMARY_SITE_NAME)) {
175175
Identity.addIdentity(IdentityEnum.ADMIN, Zenko.PRIMARY_SITE_NAME, {
176176
accessKeyId: this.parameters.AdminAccessKey,
177177
secretAccessKey: this.parameters.AdminSecretKey,
178-
}, undefined, undefined, undefined, this.parameters.Subdomain);
178+
}, undefined, undefined, undefined, process.env.SUBDOMAIN);
179179

180180
Zenko.sites['source'] = {
181181
accountName: Identity.defaultAccountName,
@@ -188,11 +188,11 @@ export default class Zenko extends World<ZenkoWorldParameters> {
188188
Identity.addIdentity(IdentityEnum.ADMIN, Zenko.SECONDARY_SITE_NAME, {
189189
accessKeyId: this.parameters.DRAdminAccessKey!,
190190
secretAccessKey: this.parameters.DRAdminSecretKey!,
191-
}, undefined, undefined, undefined, this.parameters.DRSubdomain);
191+
}, undefined, undefined, undefined, process.env.DR_SUBDOMAIN);
192192
}
193193

194194
Zenko.sites['sink'] = {
195-
accountName: `dr${this.parameters.AccountName}`,
195+
accountName: `dr${process.env.ZENKO_ACCOUNT_NAME}`,
196196
adminIdentityName: Zenko.SECONDARY_SITE_NAME,
197197
};
198198
}
@@ -203,7 +203,7 @@ export default class Zenko extends World<ZenkoWorldParameters> {
203203
}
204204

205205
private needsSecondarySite() {
206-
return this.parameters.DRAdminAccessKey && this.parameters.DRAdminSecretKey && this.parameters.DRSubdomain;
206+
return this.parameters.DRAdminAccessKey && this.parameters.DRAdminSecretKey && process.env.DR_SUBDOMAIN;
207207
}
208208

209209
/**
@@ -411,7 +411,7 @@ export default class Zenko extends World<ZenkoWorldParameters> {
411411
clientId: string,
412412
grantType: string,
413413
): Promise<string> {
414-
const baseUrl = this.parameters.ssl === false ? 'http://' : 'https://';
414+
const baseUrl = process.env.SSL === 'false' ? 'http://' : 'https://';
415415
const data = qs.stringify({
416416
username,
417417
password,
@@ -899,10 +899,10 @@ export default class Zenko extends World<ZenkoWorldParameters> {
899899

900900
const axiosInstance = axios.create();
901901
axiosInstance.interceptors.request.use(interceptor);
902-
const protocol = this.parameters.ssl === false ? 'http://' : 'https://';
902+
const protocol = process.env.SSL === 'false' ? 'http://' : 'https://';
903903
const axiosConfig: AxiosRequestConfig = {
904904
method,
905-
url: `${protocol}s3.${this.parameters.Subdomain
905+
url: `${protocol}s3.${process.env.SUBDOMAIN
906906
|| Constants.DEFAULT_SUBDOMAIN}${path}`,
907907
headers,
908908
data: payload,
@@ -949,15 +949,15 @@ export default class Zenko extends World<ZenkoWorldParameters> {
949949
this.parameters.KeycloakGrantType || 'password',
950950
);
951951
const axiosInstance = axios.create();
952-
const protocol = this.parameters.ssl === false ? 'http://' : 'https://';
952+
const protocol = process.env.SSL === 'false' ? 'http://' : 'https://';
953953
// eslint-disable-next-line no-param-reassign
954954
headers = {
955955
...headers,
956956
'X-Authentication-Token': token,
957957
};
958958
const axiosConfig: AxiosRequestConfig = {
959959
method,
960-
url: `${protocol}management.${this.parameters.Subdomain || Constants.DEFAULT_SUBDOMAIN}/api/v1${path}`,
960+
url: `${protocol}management.${process.env.SUBDOMAIN || Constants.DEFAULT_SUBDOMAIN}/api/v1${path}`,
961961
headers,
962962
data: payload,
963963
};

0 commit comments

Comments
 (0)