Closed sphuber closed 3 weeks ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 77.75%. Comparing base (
ef60b66
) to head (93c0d01
). Report is 46 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Thanks for the review @GeigerJ2
I also basically ran the steps of
test_configure_rabbitmq
via the command line: Trying to submit theArithmeticAddCalculation
with the non-RMQ profile led to the expected:
Indeed, and in #6465 I improve that error message to make it clear that is because there probably is no broker.
This would just be for completeness, as I don't think anybody would ever actually do that, so also fine to not provide it.
Like you said, I don't see a use case for now. So I prefer not to add it. If we ever come across it, it should be easy to add later on.
Indeed, and in #6465 I improve that error message to make it clear that is because there probably is no broker.
That's good to know, then I'll also give that my review now :D
Like you said, I don't see a use case for now. So I prefer not to add it. If we ever come across it, it should be easy to add later on.
Fine for me!
Hi guys, sorry for being late to the party. I'm dogfooding right now and have a few questions/comments.
One of the motivations for creating this command is that we want to give new users who started with verdi presto
the possibility of upgrading their profile with RabbitMQ. However, if a user now tries to use this command to do so, the interactive mode is enabled, and they are asked for a lot of input they will not understand.
Sure, they can just press enter for the defaults, but my experience is that even just asking for these settings will give users pause and make them uncertain what to do.
Why not make non-interactive the default execution mode, and add an "interactive" option instead? In the case of RabbitMQ configuration, I think we have a set of sensible defaults that cover +90% of use cases.
If I try to configure RabbitMQ with a set of incorrect options, the command will execute fine (without a success message, something we might want to add as well). However, attempting to run verdi status
afterwards will raise a ConnectionError
:
❯ verdi status
✔ version: AiiDA v2.5.1.post0
✔ config: /Users/mbercx/project/core/.aiida
✔ profile: presto
✔ storage: SqliteDosStorage[/Users/mbercx/project/core/.aiida/repository/sqlite_dos_0026c04e2c1e4117a926b82be5935866]: open
Traceback (most recent call last):
[...]
[Trimmed for conciseness, see full Traceback below]
[...]
ConnectionError: [Errno 61] Connect call failed ('127.0.0.1', 5672)
Would it be possible to check if the configuration was successful? It's true that the user might reconfigure RabbitMQ while e.g. the service is not running, but raising a warning might be a good idea.
On a different note, we should probably also capture that ConnectionError
when running verdi status
.
On a different note, we should probably also capture that ConnectionError when running verdi status.
This scope creep should be dealt with by https://github.com/aiidateam/aiida-core/pull/6473
Now that profiles can be created without defining a broker, a command is needed that can add a RabbitMQ connection configuration. The new command
verdi profile configure-rabbitmq
enables a broker for a profile if it wasn't already, and allows configuring the connection parameters.