Skip to content

Commit

Permalink
Cleanup RuntimeInput, InputBuilderFactory (#786)
Browse files Browse the repository at this point in the history
* Cleanup RuntimeInput

* Modify initialisation steps

* Cleanup InputBuilderFactory

* Remove deprecated docs

* Remove Kyma component
  • Loading branch information
KsaweryZietara authored Jun 4, 2024
1 parent d57e796 commit 024d6f1
Show file tree
Hide file tree
Showing 51 changed files with 133 additions and 3,368 deletions.
32 changes: 8 additions & 24 deletions cmd/broker/broker_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,6 @@ type BrokerSuiteTest struct {
t *testing.T
inputBuilderFactory input.CreatorForPlan

componentProvider input.ComponentListProvider

k8sKcp client.Client
k8sSKR client.Client

Expand All @@ -115,11 +113,6 @@ type BrokerSuiteTest struct {
metrics *metricsv2.RegisterContainer
}

type componentProviderDecorated struct {
componentProvider input.ComponentListProvider
decorator map[string]internal.KymaComponent
}

func (s *BrokerSuiteTest) TearDown() {
if r := recover(); r != nil {
err := cleanupContainer()
Expand Down Expand Up @@ -176,27 +169,19 @@ func NewBrokerSuiteTestWithConfig(t *testing.T, cfg *Config, version ...string)
cfg.KymaVersion = version[0] // overriden to
}

optionalComponentsDisablers := kebRuntime.ComponentsDisablers{}
optComponentsSvc := kebRuntime.NewOptionalComponentsService(optionalComponentsDisablers)

disabledComponentsProvider := kebRuntime.NewDisabledComponentsProvider()

configProvider := kebConfig.NewConfigProvider(
kebConfig.NewConfigMapReader(ctx, cli, logrus.New(), defaultKymaVer),
kebConfig.NewConfigMapKeysValidator(),
kebConfig.NewConfigMapConverter())

componentProvider := kebRuntime.NewFakeComponentsProvider()

inputFactory, err := input.NewInputBuilderFactory(optComponentsSvc, disabledComponentsProvider, componentProvider,
configProvider, input.Config{
MachineImageVersion: "253",
KubernetesVersion: "1.18",
MachineImage: "coreos",
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
DefaultTrialProvider: internal.AWS,
}, defaultKymaVer, map[string]string{"cf-eu10": "europe", "cf-us10": "us"}, cfg.FreemiumProviders, defaultOIDCValues(), cfg.Broker.UseSmallerMachineTypes)
inputFactory, err := input.NewInputBuilderFactory(configProvider, input.Config{
MachineImageVersion: "253",
KubernetesVersion: "1.18",
MachineImage: "coreos",
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
DefaultTrialProvider: internal.AWS,
}, defaultKymaVer, map[string]string{"cf-eu10": "europe", "cf-us10": "us"}, cfg.FreemiumProviders, defaultOIDCValues(), cfg.Broker.UseSmallerMachineTypes)

storageCleanup, db, err := GetStorageForE2ETests()
assert.NoError(t, err)
Expand Down Expand Up @@ -258,7 +243,6 @@ func NewBrokerSuiteTestWithConfig(t *testing.T, cfg *Config, version ...string)
router: mux.NewRouter(),
t: t,
inputBuilderFactory: inputFactory,
componentProvider: componentProvider,
k8sKcp: cli,
k8sSKR: fakeK8sSKRClient,
eventBroker: eventBroker,
Expand Down
17 changes: 1 addition & 16 deletions cmd/broker/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ import (
"github.com/kyma-project/kyma-environment-broker/internal/provisioner"
"github.com/kyma-project/kyma-environment-broker/internal/reconciler"
"github.com/kyma-project/kyma-environment-broker/internal/runtime"
"github.com/kyma-project/kyma-environment-broker/internal/runtime/components"
"github.com/kyma-project/kyma-environment-broker/internal/runtimeversion"
"github.com/kyma-project/kyma-environment-broker/internal/storage"
"github.com/kyma-project/kyma-environment-broker/internal/storage/dbmodel"
Expand Down Expand Up @@ -299,24 +298,11 @@ func main() {
})
notificationBuilder := notification.NewBundleBuilder(notificationClient, cfg.Notification)

// Register disabler. Convention:
// {component-name} : {component-disabler-service}
//
// Using map is intentional - we ensure that component name is not duplicated.
optionalComponentsDisablers := runtime.ComponentsDisablers{
components.Kiali: runtime.NewGenericComponentDisabler(components.Kiali),
components.Tracing: runtime.NewGenericComponentDisabler(components.Tracing),
}
optComponentsSvc := runtime.NewOptionalComponentsService(optionalComponentsDisablers)

disabledComponentsProvider := runtime.NewDisabledComponentsProvider()

// provides configuration for specified Kyma version and plan
configProvider := kebConfig.NewConfigProvider(
kebConfig.NewConfigMapReader(ctx, cli, logs, cfg.KymaVersion),
kebConfig.NewConfigMapKeysValidator(),
kebConfig.NewConfigMapConverter())
componentsProvider := runtime.NewComponentsProvider()
gardenerClusterConfig, err := gardener.NewGardenerClusterConfig(cfg.Gardener.KubeconfigPath)
fatalOnError(err, logs)
cfg.Gardener.DNSProviders, err = gardener.ReadDNSProvidersValuesFromYAML(cfg.SkrDnsProvidersValuesYAMLFilePath)
Expand All @@ -335,8 +321,7 @@ func main() {

oidcDefaultValues, err := runtime.ReadOIDCDefaultValuesFromYAML(cfg.SkrOidcDefaultValuesYAMLFilePath)
fatalOnError(err, logs)
inputFactory, err := input.NewInputBuilderFactory(optComponentsSvc, disabledComponentsProvider, componentsProvider,
configProvider, cfg.Provisioner, cfg.KymaVersion, regions, cfg.FreemiumProviders, oidcDefaultValues, cfg.Broker.UseSmallerMachineTypes)
inputFactory, err := input.NewInputBuilderFactory(configProvider, cfg.Provisioner, cfg.KymaVersion, regions, cfg.FreemiumProviders, oidcDefaultValues, cfg.Broker.UseSmallerMachineTypes)
fatalOnError(err, logs)

edpClient := edp.NewClient(cfg.EDP)
Expand Down
32 changes: 0 additions & 32 deletions cmd/broker/provisioning_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1174,38 +1174,6 @@ func TestProvisioning_WithNetworkFilter(t *testing.T) {
assert.Equal(suite.t, "CUSTOMER", *instance.Parameters.ErsContext.LicenseType)
}

func TestProvisioning_PRVersionWithoutOverrides(t *testing.T) {
// given
suite := NewBrokerSuiteTest(t)
defer suite.TearDown()
iid := uuid.New().String()

// when
resp := suite.CallAPI("PUT", fmt.Sprintf("oauth/cf-ch20/v2/service_instances/%s?accepts_incomplete=true", iid),
`{
"service_id": "47c9dcbf-ff30-448e-ab36-d3bad66ba281",
"plan_id": "7d55d31d-35ae-4438-bf13-6ffdfa107d9f",
"context": {
"sm_platform_credentials": {
"url": "https://sm.url",
"credentials": {}
},
"globalaccount_id": "whitelisted-global-account-id",
"subaccount_id": "sub-id",
"user_id": "[email protected]"
},
"parameters": {
"name": "testing-cluster",
"overridesVersion":"",
"kymaVersion":"PR-99999"
}
}`)
opID := suite.DecodeOperationID(resp)

// then
suite.WaitForProvisioningState(opID, domain.Failed)
}

func TestProvisioning_Modules(t *testing.T) {

const defaultModules = "kyma-with-keda-and-btp-operator.yaml"
Expand Down
56 changes: 18 additions & 38 deletions cmd/broker/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import (
kebOrchestration "github.com/kyma-project/kyma-environment-broker/internal/orchestration"
"github.com/kyma-project/kyma-environment-broker/internal/process"
"github.com/kyma-project/kyma-environment-broker/internal/process/input"
"github.com/kyma-project/kyma-environment-broker/internal/process/input/automock"
"github.com/kyma-project/kyma-environment-broker/internal/process/provisioning"
"github.com/kyma-project/kyma-environment-broker/internal/process/upgrade_cluster"
"github.com/kyma-project/kyma-environment-broker/internal/process/upgrade_kyma"
Expand Down Expand Up @@ -125,15 +124,6 @@ func NewOrchestrationSuite(t *testing.T, additionalKymaVersions []string) *Orche
Url: "",
}

optionalComponentsDisablers := kebRuntime.ComponentsDisablers{}
optComponentsSvc := kebRuntime.NewOptionalComponentsService(optionalComponentsDisablers)

disabledComponentsProvider := kebRuntime.NewDisabledComponentsProvider()

componentListProvider := &automock.ComponentListProvider{}
componentListProvider.On("AllComponents", mock.AnythingOfType("internal.RuntimeVersionData"), mock.AnythingOfType("*internal.ConfigForPlan")).Return([]internal.
KymaComponent{}, nil)

oidcDefaults := fixture.FixOIDCConfigDTO()

ctx, cancel := context.WithTimeout(context.Background(), 20*time.Minute)
Expand All @@ -155,15 +145,14 @@ func NewOrchestrationSuite(t *testing.T, additionalKymaVersions []string) *Orche
kebConfig.NewConfigMapReader(ctx, cli, logrus.New(), defaultKymaVer),
kebConfig.NewConfigMapKeysValidator(),
kebConfig.NewConfigMapConverter())
inputFactory, err := input.NewInputBuilderFactory(optComponentsSvc, disabledComponentsProvider, componentListProvider,
configProvider, input.Config{
MachineImageVersion: "coreos",
KubernetesVersion: "1.18",
MachineImage: "253",
ProvisioningTimeout: time.Minute,
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
}, kymaVer, map[string]string{"cf-eu10": "europe"}, cfg.FreemiumProviders, oidcDefaults, cfg.Broker.UseSmallerMachineTypes)
inputFactory, err := input.NewInputBuilderFactory(configProvider, input.Config{
MachineImageVersion: "coreos",
KubernetesVersion: "1.18",
MachineImage: "253",
ProvisioningTimeout: time.Minute,
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
}, kymaVer, map[string]string{"cf-eu10": "europe"}, cfg.FreemiumProviders, oidcDefaults, cfg.Broker.UseSmallerMachineTypes)
require.NoError(t, err)

reconcilerClient := reconciler.NewFakeClient()
Expand Down Expand Up @@ -600,14 +589,6 @@ func NewProvisioningSuite(t *testing.T, multiZoneCluster bool, controlPlaneFailu

provisionerClient := provisioner.NewFakeClient()

optionalComponentsDisablers := kebRuntime.ComponentsDisablers{}
optComponentsSvc := kebRuntime.NewOptionalComponentsService(optionalComponentsDisablers)

disabledComponentsProvider := kebRuntime.NewDisabledComponentsProvider()

componentListProvider := &automock.ComponentListProvider{}
componentListProvider.On("AllComponents", mock.AnythingOfType("internal.RuntimeVersionData"), mock.AnythingOfType("*internal.ConfigForPlan")).Return([]internal.KymaComponent{}, nil)

oidcDefaults := fixture.FixOIDCConfigDTO()

sch := runtime.NewScheme()
Expand All @@ -618,17 +599,16 @@ func NewProvisioningSuite(t *testing.T, multiZoneCluster bool, controlPlaneFailu
kebConfig.NewConfigMapReader(ctx, cli, logrus.New(), defaultKymaVer),
kebConfig.NewConfigMapKeysValidator(),
kebConfig.NewConfigMapConverter())
inputFactory, err := input.NewInputBuilderFactory(optComponentsSvc, disabledComponentsProvider, componentListProvider,
configProvider, input.Config{
MachineImageVersion: "coreos",
KubernetesVersion: "1.18",
MachineImage: "253",
ProvisioningTimeout: time.Minute,
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
MultiZoneCluster: multiZoneCluster,
ControlPlaneFailureTolerance: controlPlaneFailureTolerance,
}, defaultKymaVer, map[string]string{"cf-eu10": "europe"}, cfg.FreemiumProviders, oidcDefaults, useSmallerMachineTypes)
inputFactory, err := input.NewInputBuilderFactory(configProvider, input.Config{
MachineImageVersion: "coreos",
KubernetesVersion: "1.18",
MachineImage: "253",
ProvisioningTimeout: time.Minute,
URL: "http://localhost",
DefaultGardenerShootPurpose: "testing",
MultiZoneCluster: multiZoneCluster,
ControlPlaneFailureTolerance: controlPlaneFailureTolerance,
}, defaultKymaVer, map[string]string{"cf-eu10": "europe"}, cfg.FreemiumProviders, oidcDefaults, useSmallerMachineTypes)
require.NoError(t, err)

server := avs.NewMockAvsServer(t)
Expand Down
1 change: 0 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ If you want to know how to use KEB, read the documents in the [`user`](user) dir
For technical details of KEB, go to the `contributor` directory:
* [Authorization](./contributor/01-10-authorization.md)
* [Check API Using Swagger](./contributor/01-20-swagger.md)
* [SAP BTP, Kyma Runtime Components](./contributor/02-10-runtime-components.md)
* [Set Overrides for SAP BTP, Kyma Runtime](./contributor/02-20-runtime-overrides.md)
* [Configure Kyma Version](./contributor/02-30-kyma-versions.md)
* [Kyma Environment Broker Configuration](./contributor/02-31-keb-configuration.md)
Expand Down
4 changes: 0 additions & 4 deletions docs/assets/runtime-components.svg

This file was deleted.

70 changes: 0 additions & 70 deletions docs/contributor/02-10-runtime-components.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/user/01-20-target-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

> [!NOTE]
> Once the planned changes are implemented, the following documents will be deprecated as irrelevant:
> - [Runtime Components](../contributor/02-10-runtime-components.md)
> - [Set Overrides for Kyma Runtime](../contributor/02-20-runtime-overrides.md)
> - [Configure Kyma Version](../contributor/02-30-kyma-versions.md)
> - [Orchestration](../contributor/02-50-orchestration.md)
Loading

0 comments on commit 024d6f1

Please sign in to comment.