influxdata / influxdata/influxdb

so-Influxdb missing container on update

Open
#24,924 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
31.7k
Forks
3.7k
Avg merge
13h 37m
Merged PRs (30d)
8

Description

__Steps to reproduce:__
List the minimal actions needed to reproduce the behaviour.

architecture: Linux 5.15.0-204.147.6.2.el9uek.x86_64 x86_64

During the update from 2.4.50 to 2.4.60 we are getting hung on the following command:

Executing command '/usr/sbin/so-influxdb-manage' in directory '/root'

Currently troubleshooting, making a note for a future solve to this problem.

1st Attempt at solve:

accessed ssl certifcate and key within the manger node /etc/pki/managerssl.xxx
Copied the key and cert in to SOS config under > nginx > ssl > SSL/TSL xxx
Retrying the update...

ts=2024-04-08T00:05:12.208738Z lvl=info msg="http: TLS handshake error from 127.0.0.1:34684: EOF" log_id=0o5f0DvW000 service=http

After trying to run soup again, we have identified another issue where the salt minions are no longer talking to the salt-master (Manager Node).

I am deleting the keys and reaccepting them. To do this:
> On the manager execute: salt-key
> Run salt-key -d this deletes all the current keys
> Restart the minions (Search, Receiver, Forward)
> Go back to the manager and run salt-key again
> Accept the keys by executing: salt-key -A
> Run salt\* test.ping to confirm everything is working again

The salt is now working on all the nodes but we still have the following error when trying to run soup
- Specified SLS 'data.*' in environment 'base' is not available on the salt master
- Specified SLS 'global' in environment 'base' is not available on the salt master

Found a GitHub with a similar problem
> Trying to run salt * saltutil.refresh_pillar
> Have to replace * with the name of each minion
> And running salt * saltutil.sync_grains
> Again have to replace *

This did not resolve the issue. Same error is occurring.

As I understand now, the file global.sls does not exist where it should. I started a GitHub discussion to try and resolve the missing file(s) and am waiting for a response.

---------------------------------------------------------

Update: I was able to get through the soup command. I now know the issue was not with the script but rather an issue with the influxdb server. When we try to run salt \* state.highstate we get hungup on the same command. If you wait long enough it will error out and keep running. The error codes I could find in the influxdb.log are below: *Also included is a screenshot of the error log.

ID: influxdb-setup
Function: cmd.run
Name: /usr/sbin/so-influxdb-manage setup &>> /opt/so/log/influxdb/setup.log
Result: False
Comment: Command "/usr/sbin/so-influxdb-manage setup &>> /opt/so/log/influxdb/setup.log" run
Started: 19:38:12.399766
Duration: 302493.461 ms
Changes:
----------
pid: 83801
retcode: 1
stderr:
stdout:
ID: metrics_link_file
Function: cmd.run
Name: so-influxdb-manage dashboardpath "Security Onion Performance" > /opt/so/saltstack/local/salt/influxdb/metrics_link.txt
Result: False
Comment: Command "so-influxdb-manage dashboardpath "Security Onion Performance" > /opt/so/saltstack/local/salt/influxdb/metrics_link.txt" run
Started: 19:43:15.145821
Duration: 301277.019 ms
Changes:
----------
pid: 103999
retcode: 1
stderr:

Thu Apr 11 19:43:15 UTC 2024 | so-influxdb-manage | Server does not appear to be running or fully initialized - will try again in 10 seconds (1 / 30)

---------------------------

We are rolling back to the previous version and accepting the outdated version until there is a fix for the issue above. If we keep the update as is, influxdb will not work.

__Expected behaviour:__
We expected to run soup and just update our nodes to the latest version.

__Actual behaviour:__
so-status (see all containers) run soup, so-status, then so-influxdb is missing as a container.
We ran soup, so-rule-update, salt \*state.highstate etc

__Environment info:__

Linux 5.15.0-204.147.6.2.el9uek.x86_64 x86_64

__Config:__
Copy any non-default config values here or attach the full config as a gist or file.

__Logs:__
Include snippet of errors in logs or stack traces here.
Sometimes you can get useful information by running the program with the `RUST_BACKTRACE=full` environment variable.
Finally, the IOx server has a `-vv` for verbose logging.

Contributor guide

Open the contributing guide

Research direction

Start with the /usr/sbin/so-influxdb-manage entry point and the salt state.highstate steps described in the report. Review the setup.log and influxdb.log output around influxdb-setup and metrics_link_file, then reproduce the 2.4.50-to-2.4.60 update. Done means the update completes and so-influxdb remains available as a container.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
databases, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.