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

Automator: merge upstream changes to openshift-service-mesh/sail-operator@main #141

Merged
Changes from 1 commit
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
3ece647
Add release workflow (#332)
bmangoen Sep 12, 2024
468f457
Fix setup-multi-primary script (#340)
sridhargaddam Sep 16, 2024
7577aaf
Add README file for Helm charts section (#338)
MaxBab Sep 17, 2024
f896eb5
Increase run operator-sdk run bundle timeout in OLM deploy (#345)
fjglira Sep 18, 2024
5aea134
Update latest Istio version to latest commit upstream (#348)
fjglira Sep 19, 2024
9d12b6f
added helm overrides for proxy image as is available for operator (#339)
twhite0 Sep 20, 2024
1dff7d9
Show name of active revision in Istio/RemoteIstio status (#350)
luksa Sep 20, 2024
c5e8021
Add External Controlplane to user docs (#335)
nrfox Sep 20, 2024
bd6e048
Use Kubernetes defaults for imagePullPolicy (#352)
dgn Sep 23, 2024
ab57cdf
Adding E2e multicluster test (#342)
fjglira Sep 23, 2024
005d1c3
Adding wait after olm install in olm test setup (#357)
fjglira Sep 24, 2024
dbf31fe
Automatically adjust default release channel (#353)
dgn Sep 24, 2024
4c64887
Update test labels in the wayofwork documentation (#359)
fjglira Sep 24, 2024
87f9fbd
Add CODE-OF-CONDUCT to the project (#362)
MaxBab Sep 24, 2024
ae7ba93
Fix formatting in the charts readme page (#364)
sridhargaddam Sep 25, 2024
96e2c0e
Add pull request template (#366)
MaxBab Sep 26, 2024
c199a1b
Update helm chart README (#370)
MaxBab Sep 27, 2024
837ffbc
E2E kubectl util refactor (#368)
fjglira Sep 27, 2024
4da701e
Update dependencies and fix transform (#374)
luksa Sep 30, 2024
196dc48
Add ability to specify resources in helm chart (#375)
tjons Sep 30, 2024
2a194f0
Improve pull request template (#376)
MaxBab Sep 30, 2024
e1fcbdb
Implement e2e dualStack control plane tests (#373)
sridhargaddam Sep 30, 2024
c6f30e2
Fix broken url for sample gateway (#377)
sridhargaddam Oct 1, 2024
93cd455
Update/Fix Istioctl links and docs (#349)
longmuir Oct 1, 2024
c7164d4
Adding default value for IP_FAMILY (#378)
FilipB Oct 1, 2024
9de503c
Fix error handling in deployBookinfo (#384)
sridhargaddam Oct 7, 2024
e4ffa47
Implement e2e dualStack data plane tests (#383)
sridhargaddam Oct 7, 2024
baada7c
Clean up code (#392)
luksa Oct 8, 2024
a7f0980
Simplify supportedversion.go and add unit tests (#391)
luksa Oct 8, 2024
2593bcb
Add Helm artifacts publish automation (#385)
MaxBab Oct 8, 2024
a9acf5a
Ensure crd-all.gen.yaml file is found in newer and older Istio versions
luksa Oct 7, 2024
9be8699
Remove reference to istiod-remote chart
luksa Oct 7, 2024
477c4c7
Update Istio versions
luksa Oct 7, 2024
31f96d9
Add generics to EnqueueEventLogger and AdditionNotifierQueue
luksa Oct 7, 2024
747fcfb
Make gen
luksa Oct 7, 2024
1336282
Temporarily disable RemoteIstio tests for 1.24+
luksa Oct 8, 2024
216be06
Print Istio CNI logs when test fails
luksa Oct 8, 2024
a664127
Ensure Primary-Remote e2e test is also skipped for 1.24 pre-release v…
luksa Oct 8, 2024
b43355f
Fix patch-csv.sh so that it finds hub, image, and tag in newer Istio …
luksa Oct 8, 2024
bb67c21
Make patch-csv.sh more readable
luksa Oct 8, 2024
061d116
Don't add istiod-remote chart when updating latest version (#396)
luksa Oct 8, 2024
8e10ad5
Improve kubectl utility in e2e tests (#394)
luksa Oct 8, 2024
68c6585
Add the make clean target
jwendell Oct 8, 2024
ade9a71
Fix the update location for the rbac proxy
jwendell Oct 8, 2024
3656ec9
Replace `manager` with `sail-operator` for the binary name
jwendell Oct 8, 2024
4136a7b
Create GH Action for update-deps (#393)
dgn Oct 9, 2024
fcb8418
Fix flakiness in multi-cluster tests (#400)
luksa Oct 9, 2024
1c56d16
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 9, 2024
845bd13
Use upstream builder image in update-deps workflow (#399)
dgn Oct 9, 2024
5f65f6c
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 10, 2024
b263e62
Optimize multicluster e2e tests (#403)
luksa Oct 10, 2024
cfc54d2
Faster cleanup in dualstack_test.go (#404)
luksa Oct 10, 2024
ae7afa3
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 11, 2024
1f338ff
Documentation for dual-stack support (#407)
sridhargaddam Oct 11, 2024
521379e
Fix e2e test suite names (#409)
luksa Oct 11, 2024
9b90789
Centralize operator installation code in e2e tests (#411)
luksa Oct 11, 2024
9c95e60
Enable verbose logging in operator in e2e tests (#412)
luksa Oct 11, 2024
318fafd
helmified imagePullSecrets and resources (#371)
twhite0 Oct 11, 2024
1804918
Add operatorLogLevel to Operator Helm chart (#410)
luksa Oct 11, 2024
991cac7
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 12, 2024
6ccd682
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 13, 2024
5af04cb
Skip control plane tests for dualStack job (#414)
sridhargaddam Oct 14, 2024
0dd4827
Test coverage workflow (#387)
bmangoen Oct 14, 2024
55817bc
Generate asciidoc API reference (#397)
bmangoen Oct 14, 2024
e1c447d
Add debug info to multicluster e2e tests (#417)
MaxBab Oct 14, 2024
927eaaa
Fix typo in helm-artifacts-publish ENV var command (#419)
MaxBab Oct 14, 2024
e6155da
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 15, 2024
d459300
Make spec.namespace fields immutable (#418)
dgn Oct 15, 2024
bd0660a
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 16, 2024
8896f99
Minor updates to docs (#425)
sridhargaddam Oct 16, 2024
b10e7b7
Clean up gateway sections in README.md (#428)
longmuir Oct 16, 2024
dea3547
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 17, 2024
62d9c90
Honor the `--log-enqueue-events` option in all controllers (#432)
luksa Oct 17, 2024
8d78113
Support metrics on dualStack clusters (#426)
sridhargaddam Oct 17, 2024
4af5c27
Convert all values to pointers (#433)
luksa Oct 17, 2024
fae1cef
Remove `--default-profile` in favor of automatic platform detection (…
luksa Oct 17, 2024
e75d7d7
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 18, 2024
bc065b5
Reduce minimum deletion grace period to 0s (#436)
dgn Oct 18, 2024
79dedbc
Also print version when running `./sail-operator version` (#438)
luksa Oct 18, 2024
411faaf
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 19, 2024
552d34f
Automator: Update dependencies in istio-ecosystem/sail-operator@main …
openshift-service-mesh-bot Oct 20, 2024
73d0583
Automated merge
Oct 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Improve kubectl utility in e2e tests (istio-ecosystem#394)
* Rename kubectl.KubectlBuilder to kubectl.Builder

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Remove unnecessary function newBuilder()

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Remove unnecessary function setBinary()

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Refactor to remove the need for ResetNamespace()

By passing around Builder by value instead of by reference, we ensure that the functions SetNamespace()/SetKubeconfig/SetBinary() never modify the existing Builder and instead create a new copy and set the namespace/kubeconfig/binary there. This allows us to re-use the same builder in multiple places without having to call ResetNamespace() after calling SetNamespace().

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Rename SetNamespace/SetBinary/SetKubeconfig to WithNamespace/WithBinary/WithKubeconfig

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Rename kubectl.Builder to kubectl.Kubectl

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Rename containerflag() to containerFlag()

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Remove DefaultBinary const

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Rename kubectlClient1/2 to k1/k2

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Fix whitespace

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Fix test

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* Fix PushIntermediateCA()

Signed-off-by: Marko Lukša <mluksa@redhat.com>

* A few micro improvements

Signed-off-by: Marko Lukša <mluksa@redhat.com>

---------

Signed-off-by: Marko Lukša <mluksa@redhat.com>
luksa authored Oct 8, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 8e10ad54a38426a4c02476ffc89e9df2515dcf76
4 changes: 2 additions & 2 deletions tests/e2e/controlplane/control_plane_suite_test.go
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ var (
bookinfoNamespace = env.Get("BOOKINFO_NAMESPACE", "bookinfo")
multicluster = env.GetBool("MULTICLUSTER", false)

k *kubectl.KubectlBuilder
k kubectl.Kubectl
)

func TestInstall(t *testing.T) {
@@ -62,5 +62,5 @@ func setup() {
cl, err = k8sclient.InitK8sClient("")
Expect(err).NotTo(HaveOccurred())

k = kubectl.NewKubectlBuilder()
k = kubectl.New()
}
14 changes: 6 additions & 8 deletions tests/e2e/controlplane/control_plane_test.go
Original file line number Diff line number Diff line change
@@ -173,9 +173,8 @@ spec:
})

It("doesn't continuously reconcile the IstioCNI CR", func() {
Eventually(k.SetNamespace(namespace).Logs).WithArguments("deploy/"+deploymentName, ptr.Of(30*time.Second)).
Eventually(k.WithNamespace(namespace).Logs).WithArguments("deploy/"+deploymentName, ptr.Of(30*time.Second)).
ShouldNot(ContainSubstring("Reconciliation done"), "IstioCNI is continuously reconciling")
k.ResetNamespace()
Success("IstioCNI stopped reconciling")
})
})
@@ -222,9 +221,8 @@ spec:
})

It("doesn't continuously reconcile the Istio CR", func() {
Eventually(k.SetNamespace(namespace).Logs).WithArguments("deploy/"+deploymentName, ptr.Of(30*time.Second)).
Eventually(k.WithNamespace(namespace).Logs).WithArguments("deploy/"+deploymentName, ptr.Of(30*time.Second)).
ShouldNot(ContainSubstring("Reconciliation done"), "Istio CR is continuously reconciling")
k.ResetNamespace()
Success("Istio CR stopped reconciling")
})
})
@@ -269,7 +267,7 @@ spec:

When("the Istio CR is deleted", func() {
BeforeEach(func() {
Expect(k.SetNamespace(controlPlaneNamespace).Delete("istio", istioName)).To(Succeed(), "Istio CR failed to be deleted")
Expect(k.WithNamespace(controlPlaneNamespace).Delete("istio", istioName)).To(Succeed(), "Istio CR failed to be deleted")
Success("Istio CR deleted")
})

@@ -283,7 +281,7 @@ spec:

When("the IstioCNI CR is deleted", func() {
BeforeEach(func() {
Expect(k.SetNamespace(istioCniNamespace).Delete("istiocni", istioCniName)).To(Succeed(), "IstioCNI CR failed to be deleted")
Expect(k.WithNamespace(istioCniNamespace).Delete("istiocni", istioCniName)).To(Succeed(), "IstioCNI CR failed to be deleted")
Success("IstioCNI deleted")
})

@@ -389,7 +387,7 @@ func getBookinfoURL(version supportedversion.VersionInfo) string {

func deployBookinfo(version supportedversion.VersionInfo) error {
bookinfoURL := getBookinfoURL(version)
err := k.SetNamespace(bookinfoNamespace).Apply(bookinfoURL)
err := k.WithNamespace(bookinfoNamespace).Apply(bookinfoURL)
if err != nil {
return fmt.Errorf("error deploying bookinfo: %w", err)
}
@@ -398,7 +396,7 @@ func deployBookinfo(version supportedversion.VersionInfo) error {
}

func getProxyVersion(podName, namespace string) (*semver.Version, error) {
output, err := k.SetNamespace(namespace).Exec(
output, err := k.WithNamespace(namespace).Exec(
podName,
"istio-proxy",
`curl -s http://localhost:15000/server_info | grep "ISTIO_VERSION" | awk -F '"' '{print $4}'`)
4 changes: 2 additions & 2 deletions tests/e2e/dualstack/dualstack_suite_test.go
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ var (
multicluster = env.GetBool("MULTICLUSTER", false)
ipFamily = env.Get("IP_FAMILY", "ipv4")

k *kubectl.KubectlBuilder
k kubectl.Kubectl
)

func TestDualStack(t *testing.T) {
@@ -63,5 +63,5 @@ func setup() {
cl, err = k8sclient.InitK8sClient("")
Expect(err).NotTo(HaveOccurred())

k = kubectl.NewKubectlBuilder()
k = kubectl.New()
}
16 changes: 8 additions & 8 deletions tests/e2e/dualstack/dualstack_test.go
Original file line number Diff line number Diff line change
@@ -81,7 +81,7 @@ var _ = Describe("DualStack configuration ", Ordered, func() {
continue
}

Context("Istio version is: "+version.Version.String(), func() {
Context(fmt.Sprintf("Istio version %s", version.Version), func() {
BeforeAll(func() {
Expect(k.CreateNamespace(controlPlaneNamespace)).To(Succeed(), "Istio namespace failed to be created")
Expect(k.CreateNamespace(istioCniNamespace)).To(Succeed(), "IstioCNI namespace failed to be created")
@@ -205,10 +205,10 @@ spec:
Expect(k.Patch("namespace", SleepNamespace, "merge", `{"metadata":{"labels":{"istio-injection":"enabled"}}}`)).
To(Succeed(), "Error patching sleep namespace")

Expect(k.SetNamespace(DualStackNamespace).Apply(getYAMLPodURL(version, DualStackNamespace))).To(Succeed(), "error deploying tcpDualStack pod")
Expect(k.SetNamespace(IPv4Namespace).Apply(getYAMLPodURL(version, IPv4Namespace))).To(Succeed(), "error deploying ipv4 pod")
Expect(k.SetNamespace(IPv6Namespace).Apply(getYAMLPodURL(version, IPv6Namespace))).To(Succeed(), "error deploying ipv6 pod")
Expect(k.SetNamespace(SleepNamespace).Apply(getYAMLPodURL(version, SleepNamespace))).To(Succeed(), "error deploying sleep pod")
Expect(k.WithNamespace(DualStackNamespace).Apply(getYAMLPodURL(version, DualStackNamespace))).To(Succeed(), "error deploying tcpDualStack pod")
Expect(k.WithNamespace(IPv4Namespace).Apply(getYAMLPodURL(version, IPv4Namespace))).To(Succeed(), "error deploying ipv4 pod")
Expect(k.WithNamespace(IPv6Namespace).Apply(getYAMLPodURL(version, IPv6Namespace))).To(Succeed(), "error deploying ipv6 pod")
Expect(k.WithNamespace(SleepNamespace).Apply(getYAMLPodURL(version, SleepNamespace))).To(Succeed(), "error deploying sleep pod")

Success("dualStack validation pods deployed")
})
@@ -254,7 +254,7 @@ spec:

When("the Istio CR is deleted", func() {
BeforeEach(func() {
Expect(k.SetNamespace(controlPlaneNamespace).Delete("istio", istioName)).To(Succeed(), "Istio CR failed to be deleted")
Expect(k.WithNamespace(controlPlaneNamespace).Delete("istio", istioName)).To(Succeed(), "Istio CR failed to be deleted")
Success("Istio CR deleted")
})

@@ -268,7 +268,7 @@ spec:

When("the IstioCNI CR is deleted", func() {
BeforeEach(func() {
Expect(k.SetNamespace(istioCniNamespace).Delete("istiocni", istioCniName)).To(Succeed(), "IstioCNI CR failed to be deleted")
Expect(k.WithNamespace(istioCniNamespace).Delete("istiocni", istioCniName)).To(Succeed(), "IstioCNI CR failed to be deleted")
Success("IstioCNI deleted")
})

@@ -356,7 +356,7 @@ func getYAMLPodURL(version supportedversion.VersionInfo, namespace string) strin

func checkPodConnectivity(podName, namespace, echoStr string) {
command := fmt.Sprintf(`sh -c 'echo %s | nc tcp-echo.%s 9000'`, echoStr, echoStr)
response, err := k.SetNamespace(namespace).Exec(podName, "sleep", command)
response, err := k.WithNamespace(namespace).Exec(podName, "sleep", command)
Expect(err).NotTo(HaveOccurred(), fmt.Sprintf("error connecting to the %q pod", podName))
Expect(response).To(ContainSubstring(fmt.Sprintf("hello %s", echoStr)), fmt.Sprintf("Unexpected response from %s pod", podName))
}
Loading