diff --git a/db/post_migrate/20250916130000_drop_workspaces_desired_config_generator_version_column.rb b/db/post_migrate/20250916130000_drop_workspaces_desired_config_generator_version_column.rb new file mode 100644 index 0000000000000000000000000000000000000000..6bd73015e283df29cd8eef4bfa9e3d61eff5cad5 --- /dev/null +++ b/db/post_migrate/20250916130000_drop_workspaces_desired_config_generator_version_column.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class DropWorkspacesDesiredConfigGeneratorVersionColumn < Gitlab::Database::Migration[2.2] + milestone '18.5' + + def up + remove_column :workspaces, :desired_config_generator_version + end + + def down + add_column :workspaces, :desired_config_generator_version, :integer + add_check_constraint :workspaces, 'desired_config_generator_version IS NOT NULL', 'check_35e31ca320' + end +end \ No newline at end of file diff --git a/ee/app/graphql/types/remote_development/workspace_type.rb b/ee/app/graphql/types/remote_development/workspace_type.rb index 9e617c20503a58f66ce89607c3be107e0b0119a6..7c22c988e8613bfb24de8e6aa6a1f60ed76228e4 100644 --- a/ee/app/graphql/types/remote_development/workspace_type.rb +++ b/ee/app/graphql/types/remote_development/workspace_type.rb @@ -87,9 +87,7 @@ class WorkspaceType < ::Types::BaseObject field :deployment_resource_version, GraphQL::Types::Int, null: true, description: 'Version of the deployment resource for the workspace.' - field :desired_config_generator_version, GraphQL::Types::Int, # rubocop:disable GraphQL/ExtractType -- We don't want to extract this to a type, its purpose is different than other 'desired' fields - experiment: { milestone: '17.6' }, - null: false, description: 'Version of the desired config generator for the workspace.' + field :workspaces_agent_config_version, GraphQL::Types::Int, experiment: { milestone: '17.6' }, diff --git a/ee/app/models/remote_development/workspace.rb b/ee/app/models/remote_development/workspace.rb index ae3b77e0763b1b25ea7ca423d34c45dfcd915c45..96a4b064dba1582a0f181a3ebf7f9cb5da5abad0 100644 --- a/ee/app/models/remote_development/workspace.rb +++ b/ee/app/models/remote_development/workspace.rb @@ -15,8 +15,7 @@ class Workspace < ApplicationRecord belongs_to :agent, class_name: "Clusters::Agent", foreign_key: "cluster_agent_id", inverse_of: :workspaces belongs_to :personal_access_token, inverse_of: :workspace - attribute :desired_config_generator_version, - default: ::RemoteDevelopment::WorkspaceOperations::DesiredConfigGeneratorVersion::LATEST_VERSION + has_many :workspace_variables, class_name: "RemoteDevelopment::WorkspaceVariable", inverse_of: :workspace # Currently we only support :environment type for user provided variables @@ -29,7 +28,7 @@ class Workspace < ApplicationRecord validates :user, presence: true validates :agent, presence: true validates :personal_access_token, presence: true - validates :desired_config_generator_version, presence: true + validates :workspaces_agent_config_version, presence: true, if: -> do agent&.unversioned_latest_workspaces_agent_config end diff --git a/ee/lib/remote_development/workspace_operations/desired_config_generator_version.rb b/ee/lib/remote_development/workspace_operations/desired_config_generator_version.rb index 1c88b0040f8bf648ec0914507dee557228adab59..931ef6a856d981e4fd59b6a8d4136768769868d3 100644 --- a/ee/lib/remote_development/workspace_operations/desired_config_generator_version.rb +++ b/ee/lib/remote_development/workspace_operations/desired_config_generator_version.rb @@ -1,10 +1,3 @@ -# frozen_string_literal: true - -module RemoteDevelopment - module WorkspaceOperations - module DesiredConfigGeneratorVersion - VERSION_3 = 3 - LATEST_VERSION = VERSION_3 - end - end -end +# This file has been removed as the desired_config_generator_version column +# has been dropped from the workspaces table. +# See: https://gitlab.com/gitlab-org/gitlab/-/issues/538166 diff --git a/ee/spec/graphql/types/remote_development/workspace_type_spec.rb b/ee/spec/graphql/types/remote_development/workspace_type_spec.rb index 25a6d95bf5b52e61d7a94772428f5da97ad58eb5..bc30285423dba8e5442aeb057fd3ad6bab70bba7 100644 --- a/ee/spec/graphql/types/remote_development/workspace_type_spec.rb +++ b/ee/spec/graphql/types/remote_development/workspace_type_spec.rb @@ -10,7 +10,7 @@ cluster_agent created_at deployment_resource_version - desired_config_generator_version + desired_state desired_state_updated_at devfile diff --git a/ee/spec/lib/ee/gitlab/background_migration/backfill_workspace_agentk_states_spec.rb b/ee/spec/lib/ee/gitlab/background_migration/backfill_workspace_agentk_states_spec.rb index 6267522e73fd87de7d41ea572ee2279dc46854ce..3706c96871a4740dcc89a2f511ec2f72605800fa 100644 --- a/ee/spec/lib/ee/gitlab/background_migration/backfill_workspace_agentk_states_spec.rb +++ b/ee/spec/lib/ee/gitlab/background_migration/backfill_workspace_agentk_states_spec.rb @@ -27,8 +27,7 @@ url: "workspace-url", deployment_resource_version: "v1", personal_access_token_id: personal_access_token.id, - workspaces_agent_config_version: agent_config_version.id, - desired_config_generator_version: 3 + workspaces_agent_config_version: agent_config_version.id ) end @@ -51,8 +50,7 @@ url: "workspace-url", deployment_resource_version: "v1", personal_access_token_id: personal_access_token.id, - workspaces_agent_config_version: agent_config_version.id, - desired_config_generator_version: 3 + workspaces_agent_config_version: agent_config_version.id ) end diff --git a/ee/spec/lib/remote_development/workspace_operations/reconcile/input/actual_state_calculator_spec.rb b/ee/spec/lib/remote_development/workspace_operations/reconcile/input/actual_state_calculator_spec.rb index 8f30d8b71cb1ad707a46f0d26bdd441797b5826d..90d8ce67f2a02415a2c57602018f679bbbe164a9 100644 --- a/ee/spec/lib/remote_development/workspace_operations/reconcile/input/actual_state_calculator_spec.rb +++ b/ee/spec/lib/remote_development/workspace_operations/reconcile/input/actual_state_calculator_spec.rb @@ -49,8 +49,7 @@ "RemoteDevelopment::Workspace", # rubocop:disable RSpec/VerifiedDoubleReference -- We're using the quoted version so we can use fast_spec_helper id: 1, name: 'name', namespace: 'namespace', agent: agent, actual_state: previous_actual_state, - desired_config_generator_version: - ::RemoteDevelopment::WorkspaceOperations::DesiredConfigGeneratorVersion::LATEST_VERSION + ) end diff --git a/ee/spec/lib/remote_development/workspace_operations/reconcile/main_integration_spec.rb b/ee/spec/lib/remote_development/workspace_operations/reconcile/main_integration_spec.rb index efadbca16eaa7f498d0c4c1e2614ead67aba1251..eca6d0deb8d43605801ca71175391bea96a5e19d 100644 --- a/ee/spec/lib/remote_development/workspace_operations/reconcile/main_integration_spec.rb +++ b/ee/spec/lib/remote_development/workspace_operations/reconcile/main_integration_spec.rb @@ -714,8 +714,7 @@ instance_double( "RemoteDevelopment::Workspace", # rubocop:disable RSpec/VerifiedDoubleReference -- We're using the quoted version so we can use fast_spec_helper id: 1, name: 'x', namespace: 'x', agent: agent, - desired_config_generator_version: - ::RemoteDevelopment::WorkspaceOperations::DesiredConfigGeneratorVersion::LATEST_VERSION + ) end diff --git a/ee/spec/models/remote_development/workspace_spec.rb b/ee/spec/models/remote_development/workspace_spec.rb index d4a545e0ff9d5b23212498474877fc88a028302b..8391da61c7de67ea4347898d6ae95f563dede972 100644 --- a/ee/spec/models/remote_development/workspace_spec.rb +++ b/ee/spec/models/remote_development/workspace_spec.rb @@ -43,13 +43,7 @@ body: "", headers: {}) end - describe "default values" do - it "has correct default values" do - expect(workspace.desired_config_generator_version).to eq( - RemoteDevelopment::WorkspaceOperations::DesiredConfigGeneratorVersion::LATEST_VERSION - ) - end - end + describe "associations" do context "for has_many" do diff --git a/spec/migrations/20250114194610_backfill_user_provided_workspace_variables_spec.rb b/spec/migrations/20250114194610_backfill_user_provided_workspace_variables_spec.rb index eaa67992b0ddcb28d88c72a69a1494654e9706e1..0d091baf60fe7f17fee8a97aed8223db47a1a99e 100644 --- a/spec/migrations/20250114194610_backfill_user_provided_workspace_variables_spec.rb +++ b/spec/migrations/20250114194610_backfill_user_provided_workspace_variables_spec.rb @@ -63,7 +63,7 @@ personal_access_token_id: personal_access_token.id, max_hours_before_termination: 5760, workspaces_agent_config_version: agent_config_version.id, - desired_config_generator_version: 3 + ) end