-
Notifications
You must be signed in to change notification settings - Fork 100
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
Dora-daemon and dora-coordinator are background process that does not see cli environment variable #363
Comments
We need to keep deployment to remote machines in mind. We probably don't want the CLI to pass the local env variables to the remote deploy machine. |
We already support setting environment variables through the dataflow yaml file, right? Would this be a possible alternative for your use case? |
So this is the thing, when we use environment variable within the YAML Graph, it uses old env variables. In the case we think that environment variables should not be shared in a distributed environment which I can understand, maybe we should change our approach to using variables. |
One alternative would be to add a |
Ah, understood! So I guess the main issue is the I'm fine with changing the behavior to do the env expansion on the CLI machine already, but I fear that there is always some chance of confusion, depending on what you expect. Not sure what we can do to avoid this though, aside from documenting it clearly.... |
🚀 Proposal: Enhancing Dora for Better UsabilityHello! I believe this unresolved issue is crucial for the better adoption of Dora, especially among less experienced users. At first glance, one might expect that our nodes and the Daemon would have access to the CLI's environment variables. However, it's completely understandable that this could lead to a lot of issues. I think there's a way to find an alternative solution. 🛠️ Current
|
So I definitely feel there is something to be done with running command before running the full nodes. I think the preprocess idea is really interesting! I would maybe do couple of changes. Maybe what we could do is be slightly more run: |
source /opt/ros/humble/setup.bash
cargo run --example cxx-ros2-dataflow --features="ros2-examples" It would make it a bit more readable as people don't need to search for the shell script and also make it more easy to get started with if they used github action before. Currently we should be able to ( or manage to ) do something like this: - id: terminal-print
build: cargo build -p terminal-print
path: shell
args: |
source /opt/ros/humble/setup.bash
cargo run --example cxx-ros2-dataflow --features="ros2-examples" What do you think of having something like this?
|
I'm okay with using multi-line commands inside the |
In all honesty, I'm drawn with using |
Ok well, that's a good point. So we should stay on this pattern (path + args), documenting it, until there is a real need about something different. |
I think one of the issue is that if we only have run, we don't really have a way to control the environment in which the shell itself is spawned with. Like is it using bash or zsh or powershell or cmd, ... Those things we could manage with ( something like): - id: terminal-print
build: cargo build -p terminal-print
path: /bin/zsh
args: |
source /opt/ros/humble/setup.bash
cargo run --example cxx-ros2-dataflow --features="ros2-examples" |
Describe the bug
Sometimes an environment variable is updated before using the dora-cli. But because the coordinator and the daemon are background process. They do not see the updated environment variable. This can generate some confusion.
To Reproduce
Steps to reproduce the behavior:
dora up
dora start dataflow.yaml
dora stop
dora destroy
Expected behavior
I would expect the cli to pass the latest value to the daemon and coordinator.
The text was updated successfully, but these errors were encountered: