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

Add support for Ingress VIP #245

Merged
merged 1 commit into from
Apr 1, 2019

Conversation

celebdor
Copy link
Collaborator

For the Openshift router support, the router pods will run on
masters-nodes (host networking).
This patch adds support for the Ingress VIP(192.168.111.4), one
of the master nodes will hold this IP (VRRP), creates wildcard
external DNS entry pointing to Ingress VIP and adds e2e verifictation test.

Co-authored-by: Antoni Segura Puimedon antoni@redhat.com

@celebdor celebdor requested a review from yboaron March 29, 2019 18:10
@celebdor
Copy link
Collaborator Author

Need to test the forwarders trick still

@derekhiggins
Copy link
Collaborator

Build FAILURE, see build http://10.8.144.11:8080/job/dev-tools/446/

@celebdor
Copy link
Collaborator Author

It worked on my env. Should we keep the Ingress controller test?

@cybertron
Copy link
Contributor

Ingress worked for me locally with this change.

I like the test. It's kind of like the ping test from tripleo as a basic smoke test of the cluster. The only concern I have about keeping it is that I did have a spurious failure while running it. I haven't run this patch enough to know whether that will be a common problem though. I suppose we could merge it as-is and back out the test if it ends up being a problem (although if it is a problem we should probably address whatever is causing the underlying issue, so maybe that's an argument for keeping it too).

@mcornea
Copy link
Contributor

mcornea commented Mar 30, 2019

+1 worked for me as well on my environment:

[centos@provisionhost-0 dev-scripts]$ oc --config ocp/auth/kubeconfig  get routes
NAME      HOST/PORT         PATH   SERVICES   PORT   TERMINATION   WILDCARD
tst-svc   www.example.com          tst-svc    8080                 None
[centos@provisionhost-0 dev-scripts]$ oc --config ocp/auth/kubeconfig  get svc
NAME         TYPE           CLUSTER-IP      EXTERNAL-IP                            PORT(S)    AGE
kubernetes   ClusterIP      172.30.0.1      <none>                                 443/TCP    24m
openshift    ExternalName   <none>          kubernetes.default.svc.cluster.local   <none>     21m
tst-svc      ClusterIP      172.30.81.253   <none>                                 1234/TCP   10m
[centos@provisionhost-0 dev-scripts]$ curl  --header 'Host: www.example.com' whatever.apps.ostest.test.metalkube.org
tst-svc-1-h5ngb: HELLO! I AM ALIVE!!!

Copy link
Contributor

@yboaron yboaron left a comment

Choose a reason for hiding this comment

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

Overall code LGTM,
I run 6 deployments with the suggested changes in Libvirt environment.
Regarding the E2E routing test,
It passed 5/6, sometimes (2/5) it took ~600 seconds till the router/service respond (we should investigate that).
Test failed (1/6) with [1] error, I don't think it relates to routing functionality

[1]: + oc --config ocp/auth/kubeconfig run --image=kuryr/demo tst-svc
Error from server: rpc error: code = Unavailable desc = transport is closing
make: *** [ocp_run] Error 1

echo "Verifying Ingress controller functionality, first we'll check that router pod responsive"
until curl -o /dev/null -kLs --fail tst.apps.${CLUSTER_DOMAIN}:1936/healthz; do sleep 20 && echo "Router pod not responding"; done

echo "Create service named tst-svc"
Copy link
Collaborator

Choose a reason for hiding this comment

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

There is already a lot of valid apps deployed in the cluster - like console - lets check that these are available?

if we want to keep the 'run arbitrary pod' scenario we'd have to take care of retries and error handling, which is terrible in bash

Copy link
Contributor

@yboaron yboaron Apr 1, 2019

Choose a reason for hiding this comment

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

@vrutkovs, done.
Changed the routing test to check connectivity to console service.

@derekhiggins
Copy link
Collaborator

Build FAILURE, see build http://10.8.144.11:8080/job/dev-tools/456/

For the Openshift router support, the router pods will run on
masters-nodes (host networking).
This patch adds support for the Ingress VIP(192.168.111.4), one
of the master nodes will hold this IP (VRRP), creates wildcard
external DNS entry pointing to Ingress VIP and adds e2e verifictation test.

Co-authored-by: Antoni Segura Puimedon <antoni@redhat.com>
@derekhiggins
Copy link
Collaborator

Build SUCCESS, see build http://10.8.144.11:8080/job/dev-tools/462/

@vrutkovs vrutkovs merged commit fc0d631 into openshift-metal3:master Apr 1, 2019
@celebdor celebdor deleted the ingress-vip branch April 2, 2019 11:26
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.

7 participants