From ba5a65546a3ed25aeb1d68280ba3bc1699aec18e Mon Sep 17 00:00:00 2001 From: Justin Ross Date: Fri, 10 Nov 2023 05:35:51 -0500 Subject: [PATCH] git subrepo pull subrepos/skewer subrepo: subdir: "subrepos/skewer" merged: "fac5f89" upstream: origin: "https://github.com/skupperproject/skewer.git" branch: "main" commit: "fac5f89" git-subrepo: version: "0.4.6" origin: "???" commit: "???" --- subrepos/skewer/.gitrepo | 4 +-- subrepos/skewer/python/skewer/main.py | 30 +++++++++++-------- .../skewer/python/skewer/standardsteps.yaml | 6 ++-- subrepos/skewer/test-example/README.md | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/subrepos/skewer/.gitrepo b/subrepos/skewer/.gitrepo index 2cd67cc..4aac687 100644 --- a/subrepos/skewer/.gitrepo +++ b/subrepos/skewer/.gitrepo @@ -6,7 +6,7 @@ [subrepo] remote = https://github.com/skupperproject/skewer.git branch = main - commit = dd9ea4d7bd850e827f737e23d09e114bb039e1ad - parent = c5647a454607fc357e1df8c50329ed1b7768ce7b + commit = fac5f89e0be667bd84ce8881991f7071837d5465 + parent = 07f3266e2cd84509c215577c5f94a284841b58b2 method = merge cmdver = 0.4.6 diff --git a/subrepos/skewer/python/skewer/main.py b/subrepos/skewer/python/skewer/main.py index cc88ecc..905e2d1 100644 --- a/subrepos/skewer/python/skewer/main.py +++ b/subrepos/skewer/python/skewer/main.py @@ -70,16 +70,19 @@ def check_environment(): # https://github.com/kubernetes/kubernetes/pull/87399 # https://github.com/kubernetes/kubernetes/issues/80828 # https://github.com/kubernetes/kubernetes/issues/83094 -def await_resource(group, name, timeout=180): - notice(f"Waiting for {group}/{name} to become available") +def await_resource(group, name, timeout=240): + start_time = get_time() - for i in range(timeout): - sleep(1) + notice(f"Waiting for {group}/{name} to become available") + while True: if run(f"kubectl get {group}/{name}", check=False).exit_code == 0: break - else: - fail(f"Timed out waiting for {group}/{name}") + + if get_time() - start_time > timeout: + fail(f"Timed out waiting for {group}/{name}") + + sleep(5) if group == "deployment": try: @@ -88,16 +91,19 @@ def await_resource(group, name, timeout=180): run(f"kubectl logs {group}/{name}") raise -def await_external_ip(group, name, timeout=180): - await_resource(group, name, timeout=timeout) +def await_external_ip(group, name, timeout=240): + start_time = get_time() - for i in range(timeout): - sleep(1) + await_resource(group, name, timeout=timeout) + while True: if call(f"kubectl get {group}/{name} -o jsonpath='{{.status.loadBalancer.ingress}}'") != "": break - else: - fail(f"Timed out waiting for external IP for {group}/{name}") + + if get_time() - start_time > timeout: + fail(f"Timed out waiting for external IP for {group}/{name}") + + sleep(5) return call(f"kubectl get {group}/{name} -o jsonpath='{{.status.loadBalancer.ingress[0].ip}}'") diff --git a/subrepos/skewer/python/skewer/standardsteps.yaml b/subrepos/skewer/python/skewer/standardsteps.yaml index 6a7e23e..dfd323a 100644 --- a/subrepos/skewer/python/skewer/standardsteps.yaml +++ b/subrepos/skewer/python/skewer/standardsteps.yaml @@ -86,7 +86,7 @@ set_up_your_namespaces: install_skupper_in_your_namespaces: title: Install Skupper in your namespaces preamble: | - The `skupper init` command installs the Skupper router and service + The `skupper init` command installs the Skupper router and controller in the current namespace. Run the `skupper init` command in each namespace. @@ -183,7 +183,7 @@ test_the_application: apply: readme output: OK - await_external_ip: service/frontend - - run: curl --fail --verbose --retry 60 --retry-connrefused --retry-delay 2 $(kubectl get service/frontend -o jsonpath='http://{.status.loadBalancer.ingress[0].ip}:8080/api/health') + - run: curl --fail --verbose --retry 40 --retry-connrefused --retry-delay 5 $(kubectl get service/frontend -o jsonpath='http://{.status.loadBalancer.ingress[0].ip}:8080/api/health') apply: test postamble: | If everything is in order, you can now access the web interface by @@ -213,7 +213,7 @@ accessing_the_web_console: apply: readme output: - await_external_ip: service/skupper - - run: curl --fail --insecure --verbose --retry 60 --retry-connrefused --retry-delay 2 $(kubectl get service/skupper -o jsonpath='https://{.status.loadBalancer.ingress[0].ip}:8080/') --user admin:$(kubectl get secret/skupper-console-users -o jsonpath={.data.admin} | base64 -d); echo + - run: curl --fail --insecure --verbose --retry 40 --retry-connrefused --retry-delay 5 $(kubectl get service/skupper -o jsonpath='https://{.status.loadBalancer.ingress[0].ip}:8080/') --user admin:$(kubectl get secret/skupper-console-users -o jsonpath={.data.admin} | base64 -d); echo apply: test postamble: | Navigate to `` in your browser. When prompted, log diff --git a/subrepos/skewer/test-example/README.md b/subrepos/skewer/test-example/README.md index 508cd7c..23dacff 100644 --- a/subrepos/skewer/test-example/README.md +++ b/subrepos/skewer/test-example/README.md @@ -143,7 +143,7 @@ kubectl config set-context --current --namespace east ## Step 5: Install Skupper in your namespaces -The `skupper init` command installs the Skupper router and service +The `skupper init` command installs the Skupper router and controller in the current namespace. Run the `skupper init` command in each namespace.