-
Notifications
You must be signed in to change notification settings - Fork 120
Open
Description
Bug report
Might be related to #891 and #827 missing cluster_url on get --raw
commands.
krane fails to get raw api-paths because it is missing the cluster_url on some requests:
[INFO][2022-05-27 10:05:20 +0200]
[INFO][2022-05-27 10:05:20 +0200] ------------------------------------Phase 1: Initializing deploy------------------------------------
[INFO][2022-05-27 10:05:22 +0200] All required parameters and files are present
[INFO][2022-05-27 10:05:22 +0200] Discovering resources:
[WARN][2022-05-27 10:05:23 +0200] The following command failed and cannot be retried: kubectl get --raw /apis/monitoring.coreos.com/v1alpha1 --context\=rvg --request-timeout\=15
[WARN][2022-05-27 10:05:23 +0200] Error from server (NotFound): the server could not find the requested resource
[WARN][2022-05-27 10:05:23 +0200] Error retrieving api path: Error from server (NotFound): the server could not find the requested resource
[WARN][2022-05-27 10:05:23 +0200] The following command failed and cannot be retried: kubectl get --raw /apis/core.haproxy.org/v1alpha1 --context\=rvg --request-timeout\=15
[WARN][2022-05-27 10:05:23 +0200] Error from server (NotFound): the server could not find the requested resource
Expected behavior: No errors, deployment should work.
Actual behavior: Deployment failed
Version(s) affected: 2.4.7
Steps to Reproduce
- setup some k8s-proxy tool like rancher
- try deploying via the rancher cluster-url "https://XYZ/k8s/clusters/c-gzcbw"
- see the above error.
Probable fix
A most probably dirty and not complete fix (there are probably other places to update) for me was changing the path
in lib/krane/cluster_resource_discovery.rb:
lib/krane/cluster_resource_discovery.rb:
def fetch_api_path(path)
@api_path_cache[path] ||= begin
- raw_json, err, st = kubectl.run("get", "--raw", path, attempts: 2, use_namespace: false)
+ raw_json, err, st = kubectl.run("get", "--raw", base_api_path + path, attempts: 2, use_namespace: false)
if st.success?
JSON.parse(raw_json)
else
regards,
strowi
Metadata
Metadata
Assignees
Labels
No labels