Closed mikejgray closed 6 days ago
Some minor readme feedback:
Feedback from running the installer:
git
needs to be installed to clone the repository (details.. we could distribute the script differently; previous Neon installers had a setup script as a simple download that managed pulling things + git package installation)Neon.AI
should be replaced with: Neon AI®
neon
user, or prompt in the installer to set one if the installing user isn't "neon"I seem to have ended up with a non-working install..
docker logs -f neon-iris:
Connecting to neon-rabbitmq:5672
Traceback (most recent call last):
File "/usr/local/bin/iris", line 8, in <module>
sys.exit(neon_iris_cli())
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/neon_iris/cli.py", line 135, in start_gradio
chat = GradIOClient()
File "/usr/local/lib/python3.8/site-packages/neon_iris/web_client.py", line 51, in __init__
NeonAIClient.__init__(self, config.get("MQ"))
File "/usr/local/lib/python3.8/site-packages/neon_iris/client.py", line 63, in __init__
self._connection = self._init_mq_connection()
File "/usr/local/lib/python3.8/site-packages/neon_iris/client.py", line 384, in _init_mq_connection
mq_connection = NeonMQHandler(mq_config, "mq_handler", self._vhost)
File "/usr/local/lib/python3.8/site-packages/neon_utils/mq_utils.py", line 66, in __init__
self.connection = pika.BlockingConnection(
File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 360, in __init__
self._impl = self._create_connection(parameters, _impl_class)
File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 451, in _create_connection
raise self._reap_last_connection_workflow_error(error)
pika.exceptions.AMQPConnectionError
RMQ docker logs:
=INFO REPORT==== 15-Oct-2024::15:50:29.976655 ===
alarm_handler: {set,{system_memory_high_watermark,[]}}
2024-10-15 15:50:30.690982+00:00 [error] <0.253.0> Failed to update enabled plugins file "/etc/rabbitmq/enabled_plugins" from $RABBITMQ_ENABLED_PLUGINS: permission denied
BOOT FAILED
===========
Error during startup: {error,failed_to_update_enabled_plugins_file}
2024-10-15 15:50:30.702343+00:00 [error] <0.253.0>
2024-10-15 15:50:30.702343+00:00 [error] <0.253.0> BOOT FAILED
2024-10-15 15:50:30.702343+00:00 [error] <0.253.0> ===========
2024-10-15 15:50:30.702343+00:00 [error] <0.253.0> Error during startup: {error,failed_to_update_enabled_plugins_file}
2024-10-15 15:50:30.702343+00:00 [error] <0.253.0>
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> crasher:
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> initial call: application_master:init/4
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> pid: <0.252.0>
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> registered_name: []
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> exception exit: {failed_to_update_enabled_plugins_file,
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> {rabbit,start,[normal,[]]}}
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> in function application_master:init/4 (application_master.erl, line 142)
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> ancestors: [<0.251.0>]
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> message_queue_len: 1
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> messages: [{'EXIT',<0.253.0>,normal}]
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> links: [<0.251.0>,<0.44.0>]
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> dictionary: []
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> trap_exit: true
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> status: running
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> heap_size: 376
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> stack_size: 28
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> reductions: 167
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0> neighbours:
2024-10-15 15:50:31.703603+00:00 [error] <0.252.0>
2024-10-15 15:50:31.706181+00:00 [notice] <0.44.0> Application rabbit exited with reason: {failed_to_update_enabled_plugins_file,{rabbit,start,[normal,[]]}}
Runtime terminating during boot (terminating)
Crash dump is being written to: erl_crash.dump...[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
[os_mon] memory supervisor port (memsup): Erlang has closed
Are the .yml
files in neon-hub-installer/ansible
referenced by containers? This could be a permissions issue as those are in /home/d_mcknight
while the service configs are in /home/neon
For service credentials (Wolfram Alpha, OpenWeatherMap, etc.), consider a couple pages in the installer to setup/skip, OR a post-install web UI (probably overlaps or is the same as the configuration management UI)
For service credentials (Wolfram Alpha, OpenWeatherMap, etc.), consider a couple pages in the installer to setup/skip, OR a post-install web UI (probably overlaps or is the same as the configuration management UI)
I figured for phase 1 we can just give instructions on how to do it in neon.yaml
. Phase 2 we can make it configurable in the configuration management UI
Most feedback addressed in https://github.com/OscillateLabsLLC/neon-hub-installer/pull/4/files
I figured for phase 1 we can just give instructions on how to do it in
neon.yaml
. Phase 2 we can make it configurable in the configuration management UI
Just to clarify, I think in the SoW document we had the installer as Phase 1.A and the management UI as Phase 1.B. I'm satisfied with instructions for the first release of this installer though and the management UI to follow
Technically this is v0.0.3, but we're ready to close this out 🙂
The initial commit is so that I can pull this down and test on arbitrary VMs. Once it's in a distributable and usable form, I'll close this issue. 🙂