-
Notifications
You must be signed in to change notification settings - Fork 31
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
Incorrect behavior in k8s.bash? #73
Comments
Hi @m10k - Thank you for the report. The setup process is a bit of a pain point right now, but we're working on porting in some changes we use on another project which allow for a single-command setup of the development environment. We're hoping to merge that change in the next couple of months. However, for now, let's see if we can get your setup running. I think it is complaining that you don't have a secret for hydra. You can create one as follows:
|
Hey @NeilHanlon, thank you for your response! I tried running the command that you posted, but unfortunately setup_base_internal_services still fails with the same error. I noticed that I already have a secret for hydra in my mlbuild-dev namespace, though. I have the following secrets in mlbuild-dev
And these are in the default namespace
Is there any other information I can provide that might help figure out what's going on? |
I'll chime in that I'm hitting this as well, attempting to follow the instructions on working with docker-desktop, with latest top of tree peridot git. Running the command that was suggested in #73 (comment) and it's seemingly not getting picked up from the bazel public or deploy steps |
Describe The Bug
Hello everyone,
I am currently trying to set up peridot on a multi-node kubernetes cluster, but I'm stuck where the instructions say to execute
hack/setup_base_internal_services
.The output of the command is something like the following.
What caught my eye is that the parse error looks a lot like something jq or yq would print if they parse something that's not JSON or YAML, so I dug a bit deeper into the script. It seems that the output is coming from
rules_resf/internal/k8s/k8s.bash
, which in turn is executed by the first bazel command,bazel run --platforms @io_bazel_rules_go//go/toolchain:linux_"$ARCH" //hydra/deploy/public:public.apply
.The problematic pipe is the following.
The value of
$i
is the path of one of the four YAML files inbazel-bin/hydra/deploy/public
, and I'm guessing the call is attempting to parse the namespace from the YAML files. Now, grepping for"namespace"
in any of those files will likely return a line likewhich is not valid JSON, so the jq call could not possibly succeed.
I simplified the command and changed it to use yq instead, which seems to solve at least one of the problems (there should also be a cleaner solution that does not need grep).
However, even with that line fixed, the script does not succeed because it cannot query a secret from kubectl. The problematic line is the following.
This command attempts to fetch the secret called registry from a namespace whose name starts with registry-secret. There is no such namespace in my cluster, and there is no secret called registry in any of the other namespaces either. I have a secret called mlbuild-secret in the default namespace. Maybe the script is supposed to query this secret instead? My username is mlbuild, and there is also a namespace called mlbuild-dev, so this would make sense.
On the other hand I can't rule out that the namespaces and secrets in my cluster haven't been set up correctly. Could anybody please shed some light on this?
Thank you!
Reproduction Steps
hack/setup_base_internal_services
Expected Behavior
The script completes without errors.
Version and Build Information
HEAD is at
8222ab2f43a330bf200017f9f77205983f46de9c
Additional context
No response
The text was updated successfully, but these errors were encountered: