Wallet information is not loaded when configuration is defined using config-dir #238

Closed
opened 2023-04-12 11:18:27 +00:00 by an-nikitin · 0 comments

When the service is brought up using the config-dir option (/usr/bin/frostfs-node --config-dir /etc/frostfs/storage/conf.d), it panics due to missing wallet information.

Expected Behavior

The service becomes active.

Current Behavior

The service panics:

Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: panic: invalid wallet config: open : no such file or directory
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: goroutine 1 [running]:
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node.Wallet(0xc0003ae2a0)
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]:         git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node/config.go:86 +0x633
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node.Key(0xc0003ae2a0)
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]:         git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node/config.go:57 +0x307
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: main.initCfg(0xc0003ae2a0)
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]:         git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config.go:552 +0x68
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: main.main()
Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]:         git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/main.go:57 +0x393

If the main part of the configuration is provided via --config, everything seems to work as expected.

Possible Solution

Steps to Reproduce (for bugs)

  1. Create a directory with the service configuration split into several parts (say, the main part, the shard part and the logger part).
  2. Start the service providing only the --config-dir argument with the part to the config dir.

Context

Working on configuration generation using Ansible. Splitting the configuration into parts is required to enable reloading the service instead of restarting for the parts which support it.

Regression

Unknown.

Your Environment

A SberCloud virtual machine.

When the service is brought up using the config-dir option (/usr/bin/frostfs-node --config-dir /etc/frostfs/storage/conf.d), it panics due to missing wallet information. ## Expected Behavior The service becomes active. ## Current Behavior The service panics: ``` Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: panic: invalid wallet config: open : no such file or directory Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: goroutine 1 [running]: Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node.Wallet(0xc0003ae2a0) Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node/config.go:86 +0x633 Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node.Key(0xc0003ae2a0) Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/node/config.go:57 +0x307 Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: main.initCfg(0xc0003ae2a0) Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config.go:552 +0x68 Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: main.main() Apr 12 10:33:58 annikitin-node1 frostfs-node[1732716]: git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/main.go:57 +0x393 ``` If the main part of the configuration is provided via --config, everything seems to work as expected. ## Possible Solution ## Steps to Reproduce (for bugs) 1. Create a directory with the service configuration split into several parts (say, the main part, the shard part and the logger part). 2. Start the service providing only the --config-dir argument with the part to the config dir. ## Context Working on configuration generation using Ansible. Splitting the configuration into parts is required to enable reloading the service instead of restarting for the parts which support it. ## Regression Unknown. ## Your Environment A SberCloud virtual machine.
an-nikitin added the
triage
label 2023-04-12 11:18:27 +00:00
acid-ant was assigned by fyrchik 2023-04-12 11:19:48 +00:00
fyrchik added this to the v0.37.0 milestone 2023-04-13 09:13:28 +00:00
fyrchik added
frostfs-adm
P1
and removed
triage
labels 2023-04-14 06:56:46 +00:00
fyrchik referenced this issue from a commit 2023-04-14 10:19:12 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-node#238
There is no content yet.