Skip to content
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

DNSPolicy scale testing #1053

Closed
wants to merge 2 commits into from
Closed

Conversation

mikenairn
Copy link
Member

@mikenairn mikenairn commented Nov 27, 2024

DNSPolicy scale testing

part of #928

Installation

Adds a new installation overlay namespaced-dns-operator that when applied to a cluster will install multiple instances of the dns operator in different namespaces. Each instance is configured to only watch for dns resources (DNSRecords etc..) in that single namespace.

Templates the kuadrant and dns operator versions in config/install overlays. These should be kept in sync with the branch/tag they are for to allow more easily installing a particular version or latest. These will be automatically updated as part of the release creation.

Testing

Adds a hack/dnspolicy-scale-testing/test.sh script to run multi cluster testing scenarios manually on kind clusters
Adds basic dns testing config for aws,azure,gcp and inmem providers

Adds a new installation overlay `namespaced-dns-operator` that when
applied to a cluster will install multiple instances of the dns operator
in different namepsaces. Each instance is configured to only watch for
dns resources (DNSRecords etc..) in that single namespace.

Templates the kuadrant and dns operator versions in config/install
overlays. These should be kept in sync with the branch/tag they are for
to allow more easily installing a particular version or latest.
These will be automicatically updated as part of the release creation.

Signed-off-by: Michael Nairn <mnairn@redhat.com>
* Add hack/dnspolicy-scale-testing to run multi cluster testing
  scenarios manually on kind clusters
* Add basic dns testing config for aws,azure,gcp and inmem providers

Signed-off-by: Michael Nairn <mnairn@redhat.com>
@mikenairn mikenairn marked this pull request as ready for review November 27, 2024 16:06
dependencies-manifests: ## Update kuadrant dependencies manifests.
$(call patch-config,config/dependencies/authorino/kustomization.template.yaml,config/dependencies/authorino/kustomization.yaml)
$(call patch-config,config/dependencies/limitador/kustomization.template.yaml,config/dependencies/limitador/kustomization.yaml)
$(call patch-config,config/dependencies/dns/kustomization.template.yaml,config/dependencies/dns/kustomization.yaml)
$(call patch-config,config/install/namespaced-dns-operator/dns-operator/kustomization.template.yaml,config/install/namespaced-dns-operator/dns-operator/kustomization.yaml)
$(call patch-config,config/install/standard/kuadrant-version.template.yaml,config/install/standard/kuadrant-version.yaml)
Copy link
Member Author

Choose a reason for hiding this comment

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

@maleck13 I added your existing kuadrant install to this task. When we create a release, this will update the kuadrant version to the correct value based on the "VERSION" variable currently set. In the case of main, that will be "latest", but for a semantic version it will be the expected tag e.g. "v1.0.0-rc6"

@@ -3,4 +3,4 @@ kind: CatalogSource
metadata:
name: kuadrant-operator-catalog
spec:
image: quay.io/kuadrant/kuadrant-operator-catalog:v1.0.0-rc6 #change this to the version you want to install
image: quay.io/kuadrant/kuadrant-operator-catalog:latest #change this to the version you want to install
Copy link
Member Author

Choose a reason for hiding this comment

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

This is being changed to "latest" because it's on main, this will now get updated to the correct image tag as part of the release process see https://github.com/Kuadrant/kuadrant-operator/pull/1053/files#r1860933307

Installing different versions should be done by checking out the correct version before applying:

git checkout v1.0.0-rc10
kubectl apply -k config/install/standard

or, ideally using a remote ref:

kubectl apply -k github.com/kuadrant/kuadrant-operator/config/install/standard?ref=v1.0.0-rc10

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think the remote will work as the env files are not present

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm probably going to close this PR in favour of using kube burner for building the same scale testing scenarios. That said, this image ref on main should probably be pointing to something other than a fixed tag that never gets updated as part of the release. If you are referring to the example apply command i.e. kubectl apply -k github.com/kuadrant/kuadrant-operator/config/install/standard?ref=v1.0.0-rc10, it was just an example of how it could be used if you started updating this image correctly as part of releases.

@mikenairn mikenairn requested a review from maleck13 November 27, 2024 17:00
@maleck13 maleck13 requested a review from philbrookes December 9, 2024 08:58
@mikenairn
Copy link
Member Author

Closing for now, although some of the changes here might come back in another PR.

@mikenairn mikenairn closed this Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants