Commit 55c7d620 authored by Mayra Cabrera's avatar Mayra Cabrera

Merge branch '218464-expiration-policy-defaults' into 'master'

Update container_expiration_policies defaults

See merge request gitlab-org/gitlab!32600
parents 7a0051b5 fed72994
---
title: Update container expiration policy database defaults
merge_request: 32600
author:
type: fixed
# frozen_string_literal: true
class UpdateContainerExpirationPoliciesDefaults < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
def up
with_lock_retries do
change_column_default :container_expiration_policies, :cadence, '1d'
change_column_default :container_expiration_policies, :keep_n, 10
change_column_default :container_expiration_policies, :older_than, '90d'
end
end
def down
with_lock_retries do
change_column_default :container_expiration_policies, :cadence, '7d'
change_column_default :container_expiration_policies, :keep_n, nil
change_column_default :container_expiration_policies, :older_than, nil
end
end
end
...@@ -1978,9 +1978,9 @@ CREATE TABLE public.container_expiration_policies ( ...@@ -1978,9 +1978,9 @@ CREATE TABLE public.container_expiration_policies (
updated_at timestamp with time zone NOT NULL, updated_at timestamp with time zone NOT NULL,
next_run_at timestamp with time zone, next_run_at timestamp with time zone,
name_regex character varying(255), name_regex character varying(255),
cadence character varying(12) DEFAULT '7d'::character varying NOT NULL, cadence character varying(12) DEFAULT '1d'::character varying NOT NULL,
older_than character varying(12), older_than character varying(12) DEFAULT '90d'::character varying,
keep_n integer, keep_n integer DEFAULT 10,
enabled boolean DEFAULT true NOT NULL, enabled boolean DEFAULT true NOT NULL,
name_regex_keep text, name_regex_keep text,
CONSTRAINT container_expiration_policies_name_regex_keep CHECK ((char_length(name_regex_keep) <= 255)) CONSTRAINT container_expiration_policies_name_regex_keep CHECK ((char_length(name_regex_keep) <= 255))
...@@ -13932,6 +13932,7 @@ COPY "schema_migrations" (version) FROM STDIN; ...@@ -13932,6 +13932,7 @@ COPY "schema_migrations" (version) FROM STDIN;
20200515155620 20200515155620
20200519115908 20200519115908
20200519171058 20200519171058
20200519194042
20200525114553 20200525114553
20200525121014 20200525121014
20200526120714 20200526120714
......
...@@ -114,30 +114,33 @@ describe Gitlab::UsageData, :aggregate_failures do ...@@ -114,30 +114,33 @@ describe Gitlab::UsageData, :aggregate_failures do
end end
end end
let_it_be('container_expiration_policy_with_keep_n_set_to_null') { create(:container_expiration_policy, keep_n: nil) }
let_it_be('container_expiration_policy_with_older_than_set_to_null') { create(:container_expiration_policy, older_than: nil) }
let(:inactive_policies) { ::ContainerExpirationPolicy.where(enabled: false) } let(:inactive_policies) { ::ContainerExpirationPolicy.where(enabled: false) }
let(:active_policies) { ::ContainerExpirationPolicy.active } let(:active_policies) { ::ContainerExpirationPolicy.active }
subject { described_class.data[:counts] } subject { described_class.data[:counts] }
it 'gathers usage data' do it 'gathers usage data' do
expect(subject[:projects_with_expiration_policy_enabled]).to eq 20 expect(subject[:projects_with_expiration_policy_enabled]).to eq 22
expect(subject[:projects_with_expiration_policy_disabled]).to eq 1 expect(subject[:projects_with_expiration_policy_disabled]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_unset]).to eq 14 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_unset]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_1]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_1]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_5]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_5]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_10]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_10]).to eq 16
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_25]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_25]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_50]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_keep_n_set_to_50]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_older_than_unset]).to eq 16 expect(subject[:projects_with_expiration_policy_enabled_with_older_than_unset]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_7d]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_7d]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_14d]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_14d]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_30d]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_30d]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_90d]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_older_than_set_to_90d]).to eq 18
expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_1d]).to eq 12 expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_1d]).to eq 18
expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_7d]).to eq 5 expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_7d]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_14d]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_14d]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_1month]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_1month]).to eq 1
expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_3month]).to eq 1 expect(subject[:projects_with_expiration_policy_enabled_with_cadence_set_to_3month]).to eq 1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment