Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

Reinstate ElasticSearch 6.7 AA test #467

Merged
merged 1 commit into from
Aug 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion ab_tests/ab_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
- B
- BankHolidaysTest:
- A
- B
- B
- EsSixPointSeven:
- A
- B
3 changes: 2 additions & 1 deletion configs/dictionaries/ab_test_expiries.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
# ExampleTest: 86400
---
Example: 86400
BankHolidaysTest: 86400
BankHolidaysTest: 86400
EsSixPointSeven: 604800
3 changes: 2 additions & 1 deletion configs/dictionaries/active_ab_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
# bucket allocations. See example_percentages.yaml for format.
---
Example: true
BankHolidaysTest: true
BankHolidaysTest: true
EsSixPointSeven: true
3 changes: 3 additions & 0 deletions configs/dictionaries/essixpointseven_percentages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
A: 50
B: 50
39 changes: 39 additions & 0 deletions spec/test-outputs/www-eks-integration.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -391,6 +424,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
39 changes: 39 additions & 0 deletions spec/test-outputs/www-eks-production.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -563,6 +596,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
39 changes: 39 additions & 0 deletions spec/test-outputs/www-eks-staging.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -563,6 +596,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
39 changes: 39 additions & 0 deletions spec/test-outputs/www-eks-test.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -391,6 +424,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
39 changes: 39 additions & 0 deletions spec/test-outputs/www-integration.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -391,6 +424,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
39 changes: 39 additions & 0 deletions spec/test-outputs/www-production.out.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,39 @@ sub vcl_recv {
}
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.User-Agent ~ "^GOV\.UK Crawler Worker") {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=A(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else if (req.url ~ "[\?\&]ABTest-EsSixPointSeven=B(&|$)") {
# Some users, such as remote testers, will be given a URL with a query string
# to place them into a specific bucket.
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
} else if (req.http.Cookie ~ "ABTest-EsSixPointSeven") {
# Set the value of the header to whatever decision was previously made
set req.http.GOVUK-ABTest-EsSixPointSeven = req.http.Cookie:ABTest-EsSixPointSeven;
set req.http.GOVUK-ABTest-EsSixPointSeven-Cookie = "sent_in_request";
} else {
declare local var.denominator_EsSixPointSeven INTEGER;
declare local var.denominator_EsSixPointSeven_A INTEGER;
declare local var.nominator_EsSixPointSeven_A INTEGER;
set var.nominator_EsSixPointSeven_A = std.atoi(table.lookup(essixpointseven_percentages, "A"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_A;
declare local var.denominator_EsSixPointSeven_B INTEGER;
declare local var.nominator_EsSixPointSeven_B INTEGER;
set var.nominator_EsSixPointSeven_B = std.atoi(table.lookup(essixpointseven_percentages, "B"));
set var.denominator_EsSixPointSeven += var.nominator_EsSixPointSeven_B;
set var.denominator_EsSixPointSeven_A = var.denominator_EsSixPointSeven;
if (randombool(var.nominator_EsSixPointSeven_A, var.denominator_EsSixPointSeven_A)) {
set req.http.GOVUK-ABTest-EsSixPointSeven = "A";
} else {
set req.http.GOVUK-ABTest-EsSixPointSeven = "B";
}
}
}
}
# End dynamic section

Expand Down Expand Up @@ -555,6 +588,12 @@ if (req.http.Usage-Cookies-Opt-In == "true" && req.http.User-Agent !~ "^GOV\.UK
add resp.http.Set-Cookie = "ABTest-BankHolidaysTest=" req.http.GOVUK-ABTest-BankHolidaysTest "; secure; expires=" var.expiry "; path=/";
}
}
if (table.lookup(active_ab_tests, "EsSixPointSeven") == "true") {
if (req.http.GOVUK-ABTest-EsSixPointSeven-Cookie != "sent_in_request" || req.url ~ "[\?\&]ABTest-EsSixPointSeven") {
set var.expiry = time.add(now, std.integer2time(std.atoi(table.lookup(ab_test_expiries, "EsSixPointSeven"))));
add resp.http.Set-Cookie = "ABTest-EsSixPointSeven=" req.http.GOVUK-ABTest-EsSixPointSeven "; secure; expires=" var.expiry "; path=/";
}
}
}
# End dynamic section

Expand Down
Loading
Loading