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

User ClusterIP services for test #162

Merged
merged 1 commit into from
Mar 15, 2022
Merged

Conversation

michaeljmarshall
Copy link
Member

In our current test logs,we're failing to complete the helm deployment because of this error:

ready.go:258: [debug] Service does not have load balancer ingress IP address: pulsar-lzg9asf1t7/pulsar-adminconsole

We don't need to test with load balancers. Instead, use ClusterIP to ensure that the targets properly come up

@michaeljmarshall
Copy link
Member Author

michaeljmarshall commented Mar 15, 2022

My best guess as to why we only just started to see this failure is that we use quay.io/helmpack/chart-testing:latest in our tests to get helm, and the helm version was recently bumped from 3.7 to 3.8.

mmarshall-rmbp16:pulsar michaelmarshall$ docker pull quay.io/helmpack/chart-testing:latest
latest: Pulling from helmpack/chart-testing
59bf1c3509f3: Already exists
f44a1fa94d29: Pull complete
30a44674df65: Pull complete
8245a1b446e1: Pull complete
1c8511f7909e: Pull complete
91baf00dbe98: Pull complete
17526b72d108: Pull complete
e08376011aad: Pull complete
9f7b666fb355: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:1b30222b0d92bd5b20a08349772eddb04a3a4de5799830bf5861a247191b2c81
Status: Downloaded newer image for quay.io/helmpack/chart-testing:latest
quay.io/helmpack/chart-testing:latest
mmarshall-rmbp16:pulsar michaelmarshall$ docker run -it --entrypoint bash quay.io/helmpack/chart-testing:latest
bash-5.1# helm version
version.BuildInfo{Version:"v3.8.1", GitCommit:"5cb9af4b1b271d11d7a97a71df3ac337dd94ad37", GitTreeState:"clean", GoVersion:"go1.17.5"}
mmarshall-rmbp16:pulsar michaelmarshall$ docker run -it --entrypoint bash quay.io/helmpack/chart-testing:v3.5.0
Unable to find image 'quay.io/helmpack/chart-testing:v3.5.0' locally
v3.5.0: Pulling from helmpack/chart-testing
97518928ae5f: Already exists
668f95765301: Pull complete
165493b4c6b6: Pull complete
587a63b1b003: Pull complete
90f1ad982391: Pull complete
88c91372c95c: Pull complete
a635f787c17c: Pull complete
303960b120af: Pull complete
0ff0c0512443: Pull complete
Digest: sha256:40d3529ca14fb02940091ae0b3fa77ce6c96ad78b31bbb243f4eed5ac33bdbe4
Status: Downloaded newer image for quay.io/helmpack/chart-testing:v3.5.0
bash-5.1# helm version
version.BuildInfo{Version:"v3.7.2", GitCommit:"663a896f4a815053445eec4153677ddc24a0a361", GitTreeState:"clean", GoVersion:"go1.16.10"}
mmarshall-rmbp16:pulsar michaelmarshall$ docker pull quay.io/helmpack/chart-testing:v3.5.1
v3.5.1: Pulling from helmpack/chart-testing
Digest: sha256:1b30222b0d92bd5b20a08349772eddb04a3a4de5799830bf5861a247191b2c81
Status: Downloaded newer image for quay.io/helmpack/chart-testing:v3.5.1
quay.io/helmpack/chart-testing:v3.5.1

@michaeljmarshall michaeljmarshall merged commit 6ad312a into master Mar 15, 2022
@michaeljmarshall michaeljmarshall deleted the dont-use-lb-in-test branch March 15, 2022 19:02
@michaeljmarshall
Copy link
Member Author

I might be wrong about the helm version. It looks like we use metallb for this purpose:

setup_load_balancer() {
# resource that use a load balancer will be in pending state forever and
# "helm install --wait" will never finish unless a loadbalancer is configured in the cluster
# https://kind.sigs.k8s.io/docs/user/loadbalancer/
docker_exec kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/master/manifests/namespace.yaml
docker_exec kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
docker_exec kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/master/manifests/metallb.yaml
docker_exec kubectl apply -f https://kind.sigs.k8s.io/examples/loadbalancer/metallb-configmap.yaml
}

I'm not sure why things just started failing. It's probably still worth skipping the load balancer service type, since that is a k8s detail.

@michaeljmarshall
Copy link
Member Author

@lhotari - do you have any opinion here?

@eolivelli
Copy link
Collaborator

It would be great to have a global helm chart option to turn to ClusterIP all the services.
This is because at Datastax we have some testing ends that do not have support for LoadBalancer and everything you want to deploy Pulsar you have to override it everywhere

@michaeljmarshall @MMirelli @nicoloboschi

@MMirelli
Copy link
Collaborator

I can prolly take that task 👍

michaeljmarshall added a commit that referenced this pull request Mar 25, 2022
With #162 merged, we no longer need the Metal LB solution.

Note that the current helm chart CI is failing because the download is unavailable:


>Setup metallb in k8s
error: unable to read URL "https://raw.githubusercontent.com/metallb/metallb/master/manifests/namespace.yaml", server reported 404 Not Found, status code=404
pgier pushed a commit to pgier/datastax-pulsar-helm-chart that referenced this pull request Jul 13, 2022
…t 2) (datastax#162)

Fixes datastax#152 

### Motivation

Support prefix in front of port names to abide by Istio protocol rules
https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selection/#explicit-protocol-selection

### Modifications

Support adding a prefix
- pulsar -> tcp-pulsar
- pulsarssl --> tls-pulsarssl etc
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.

3 participants