Skip to content

chore: revert dynamic params as a safe experiment #17510

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

Merged
merged 2 commits into from
Apr 22, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
rename var
  • Loading branch information
Emyrk committed Apr 22, 2025
commit ef35a4d457a822fbd4ada4ec0b75dcf8aaae5ef0
4 changes: 2 additions & 2 deletions coderd/coderd.go
Original file line number Diff line number Diff line change
Expand Up @@ -1816,10 +1816,10 @@ func ReadExperiments(log slog.Logger, raw []string) codersdk.Experiments {
for _, v := range raw {
switch v {
case "*":
exps = append(exps, codersdk.ExperimentsAll...)
exps = append(exps, codersdk.ExperimentsSafe...)
default:
ex := codersdk.Experiment(strings.ToLower(v))
if !slice.Contains(codersdk.ExperimentsAll, ex) {
if !slice.Contains(codersdk.ExperimentsSafe, ex) {
log.Warn(context.Background(), "🐉 HERE BE DRAGONS: opting into hidden experiment", slog.F("experiment", ex))
}
exps = append(exps, ex)
Expand Down
2 changes: 1 addition & 1 deletion coderd/experiments.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ func (api *API) handleExperimentsGet(rw http.ResponseWriter, r *http.Request) {
func handleExperimentsSafe(rw http.ResponseWriter, r *http.Request) {
ctx := r.Context()
httpapi.Write(ctx, rw, http.StatusOK, codersdk.AvailableExperiments{
Safe: codersdk.ExperimentsAll,
Safe: codersdk.ExperimentsSafe,
})
}
10 changes: 5 additions & 5 deletions coderd/experiments_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ func Test_Experiments(t *testing.T) {
experiments, err := client.Experiments(ctx)
require.NoError(t, err)
require.NotNil(t, experiments)
require.ElementsMatch(t, codersdk.ExperimentsAll, experiments)
for _, ex := range codersdk.ExperimentsAll {
require.ElementsMatch(t, codersdk.ExperimentsSafe, experiments)
for _, ex := range codersdk.ExperimentsSafe {
require.True(t, experiments.Enabled(ex))
}
require.False(t, experiments.Enabled("danger"))
Expand All @@ -91,8 +91,8 @@ func Test_Experiments(t *testing.T) {
experiments, err := client.Experiments(ctx)
require.NoError(t, err)
require.NotNil(t, experiments)
require.ElementsMatch(t, append(codersdk.ExperimentsAll, "danger"), experiments)
for _, ex := range codersdk.ExperimentsAll {
require.ElementsMatch(t, append(codersdk.ExperimentsSafe, "danger"), experiments)
for _, ex := range codersdk.ExperimentsSafe {
require.True(t, experiments.Enabled(ex))
}
require.True(t, experiments.Enabled("danger"))
Expand Down Expand Up @@ -131,6 +131,6 @@ func Test_Experiments(t *testing.T) {
experiments, err := client.SafeExperiments(ctx)
require.NoError(t, err)
require.NotNil(t, experiments)
require.ElementsMatch(t, codersdk.ExperimentsAll, experiments.Safe)
require.ElementsMatch(t, codersdk.ExperimentsSafe, experiments.Safe)
})
}
2 changes: 1 addition & 1 deletion coderd/prometheusmetrics/prometheusmetrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,7 @@ func Experiments(registerer prometheus.Registerer, active codersdk.Experiments)
return err
}

for _, exp := range codersdk.ExperimentsAll {
for _, exp := range codersdk.ExperimentsSafe {
var val float64
for _, enabled := range active {
if exp == enabled {
Expand Down
8 changes: 4 additions & 4 deletions coderd/prometheusmetrics/prometheusmetrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ func TestAgentStats(t *testing.T) {
func TestExperimentsMetric(t *testing.T) {
t.Parallel()

if len(codersdk.ExperimentsAll) == 0 {
if len(codersdk.ExperimentsSafe) == 0 {
t.Skip("No experiments are currently defined; skipping test.")
}

Expand All @@ -624,17 +624,17 @@ func TestExperimentsMetric(t *testing.T) {
{
name: "Enabled experiment is exported in metrics",
experiments: codersdk.Experiments{
codersdk.ExperimentsAll[0],
codersdk.ExperimentsSafe[0],
},
expected: map[codersdk.Experiment]float64{
codersdk.ExperimentsAll[0]: 1,
codersdk.ExperimentsSafe[0]: 1,
},
},
{
name: "Disabled experiment is exported in metrics",
experiments: codersdk.Experiments{},
expected: map[codersdk.Experiment]float64{
codersdk.ExperimentsAll[0]: 0,
codersdk.ExperimentsSafe[0]: 0,
},
},
{
Expand Down
4 changes: 2 additions & 2 deletions codersdk/deployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -3258,11 +3258,11 @@ const (
ExperimentDynamicParameters Experiment = "dynamic-parameters" // Enables dynamic parameters when creating a workspace.
)

// ExperimentsAllSafe should include all experiments that are safe for
// ExperimentsSafe should include all experiments that are safe for
// users to opt-in to via --experimental='*'.
// Experiments that are not ready for consumption by all users should
// not be included here and will be essentially hidden.
var ExperimentsAllSafe = Experiments{}
var ExperimentsSafe = Experiments{}
Copy link
Member

@aslilac aslilac Apr 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is such a good and necessary rename. thank you!


// Experiments is a list of experiments.
// Multiple experiments may be enabled at the same time.
Expand Down
Loading