From 1c9df848690e1c634d28729a03d3976a9af54350 Mon Sep 17 00:00:00 2001 From: Peter Brachwitz Date: Thu, 12 Dec 2019 17:34:57 +0100 Subject: [PATCH 1/3] >=7.6.0: set allowed license upload types --- pkg/apis/elasticsearch/v1/fields.go | 2 ++ pkg/controller/elasticsearch/settings/merged_config.go | 7 +++++++ .../elasticsearch/settings/merged_config_test.go | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/pkg/apis/elasticsearch/v1/fields.go b/pkg/apis/elasticsearch/v1/fields.go index bbb3904b6b..97a2d7196a 100644 --- a/pkg/apis/elasticsearch/v1/fields.go +++ b/pkg/apis/elasticsearch/v1/fields.go @@ -39,6 +39,8 @@ const ( XPackSecurityTransportSslEnabled = "xpack.security.transport.ssl.enabled" XPackSecurityTransportSslKey = "xpack.security.transport.ssl.key" XPackSecurityTransportSslVerificationMode = "xpack.security.transport.ssl.verification_mode" + + XPackLicenseUploadTypes = "xpack.license.upload.types" // >= 7.6.0 ) var UnsupportedSettings = []string{ diff --git a/pkg/controller/elasticsearch/settings/merged_config.go b/pkg/controller/elasticsearch/settings/merged_config.go index 28d82cfbf2..520006dc3e 100644 --- a/pkg/controller/elasticsearch/settings/merged_config.go +++ b/pkg/controller/elasticsearch/settings/merged_config.go @@ -13,6 +13,7 @@ import ( common "github.com/elastic/cloud-on-k8s/pkg/controller/common/settings" "github.com/elastic/cloud-on-k8s/pkg/controller/common/version" escerts "github.com/elastic/cloud-on-k8s/pkg/controller/elasticsearch/certificates" + "github.com/elastic/cloud-on-k8s/pkg/controller/elasticsearch/client" "github.com/elastic/cloud-on-k8s/pkg/controller/elasticsearch/volume" ) @@ -113,5 +114,11 @@ func xpackConfig(ver version.Version, httpCfg commonv1.HTTPConfig, certResources cfg[esv1.XPackSecurityAuthcRealmsNativeNative1Order] = -99 } + if ver.IsSameOrAfter(version.MustParse("7.6.0")) { + cfg[esv1.XPackLicenseUploadTypes] = []string{ + string(client.ElasticsearchLicenseTypeTrial), string(client.ElasticsearchLicenseTypeEnterprise), + } + } + return &CanonicalConfig{common.MustCanonicalConfig(cfg)} } diff --git a/pkg/controller/elasticsearch/settings/merged_config_test.go b/pkg/controller/elasticsearch/settings/merged_config_test.go index 5b02aef4df..8b3f8a9487 100644 --- a/pkg/controller/elasticsearch/settings/merged_config_test.go +++ b/pkg/controller/elasticsearch/settings/merged_config_test.go @@ -125,6 +125,14 @@ func TestNewMergedESConfig(t *testing.T) { require.Equal(t, 1, len(cfg.HasKeys([]string{esv1.DiscoverySeedProviders}))) }, }, + { + name: "starting 7.6.0, we should set allowed license upload types", + version: "7.6.0", + cfgData: map[string]interface{}{}, + assert: func(cfg CanonicalConfig) { + require.Equal(t, 1, len(cfg.HasKeys([]string{esv1.XPackLicenseUploadTypes}))) + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { From 3aa2954cd01be152c8d466130c455393f01d001e Mon Sep 17 00:00:00 2001 From: Peter Brachwitz Date: Tue, 17 Dec 2019 16:58:56 +0100 Subject: [PATCH 2/3] amended unit test --- .../elasticsearch/settings/merged_config_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/controller/elasticsearch/settings/merged_config_test.go b/pkg/controller/elasticsearch/settings/merged_config_test.go index 8b3f8a9487..da276a938d 100644 --- a/pkg/controller/elasticsearch/settings/merged_config_test.go +++ b/pkg/controller/elasticsearch/settings/merged_config_test.go @@ -125,6 +125,14 @@ func TestNewMergedESConfig(t *testing.T) { require.Equal(t, 1, len(cfg.HasKeys([]string{esv1.DiscoverySeedProviders}))) }, }, + { + name: "prior to 7.6.0, we should not allowed license upload types", + version: "7.5.0", + cfgData: map[string]interface{}{}, + assert: func(cfg CanonicalConfig) { + require.Equal(t, 0, len(cfg.HasKeys([]string{esv1.XPackLicenseUploadTypes}))) + }, + }, { name: "starting 7.6.0, we should set allowed license upload types", version: "7.6.0", From d15d550f1c59e741b87ffc07b2056804c5bb6956 Mon Sep 17 00:00:00 2001 From: Peter Brachwitz Date: Tue, 17 Dec 2019 17:47:15 +0100 Subject: [PATCH 3/3] fix typo --- pkg/controller/elasticsearch/settings/merged_config_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/controller/elasticsearch/settings/merged_config_test.go b/pkg/controller/elasticsearch/settings/merged_config_test.go index da276a938d..9dfd30ea45 100644 --- a/pkg/controller/elasticsearch/settings/merged_config_test.go +++ b/pkg/controller/elasticsearch/settings/merged_config_test.go @@ -126,7 +126,7 @@ func TestNewMergedESConfig(t *testing.T) { }, }, { - name: "prior to 7.6.0, we should not allowed license upload types", + name: "prior to 7.6.0, we should not set allowed license upload types", version: "7.5.0", cfgData: map[string]interface{}{}, assert: func(cfg CanonicalConfig) {