FileNotFoundError while setting up GRR server from the repository
danielberbece opened this issue · comments
I was trying to install GRR server, following the steps outlined in the docs: https://grr-doc.readthedocs.io/en/latest/developing-grr/setting-up-dev-env.html
At step 9, running grr_config_updater initialize
in terminal raises an error while generating key.
The output is the following:
All keys will have a bit length of 2048.
Generating executable signing key
Generating CA keys
Generating Server keys
Generating secret key for csrf protection.
Traceback (most recent call last):
File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/bin/grr_config_updater", line 33, in <module>
sys.exit(load_entry_point('grr-response-server', 'console_scripts', 'grr_config_updater')())
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/distro_entry.py", line 25, in ConfigUpdater
config_updater.Run()
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater.py", line 421, in Run
app.run(main, flags_parser=lambda argv: parser.parse_args(argv[1:]))
File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/lib/python3.7/site-packages/absl/app.py", line 299, in run
_run_main(main, args)
File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
sys.exit(main(argv))
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater.py", line 312, in main
repack_templates=not args.norepack_templates)
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 722, in Initialize
fs_config.Write(config)
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 360, in Write
self._WriteDisabled(config)
File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 401, in _WriteDisabled
with open("/etc/fleetspeak-server/disabled", "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/fleetspeak-server/disabled'
I managed to solve the issue by commenting lines 401-403 in file grr/server/grr_response_server/bin/config_updater_util.py
:
with open("/etc/fleetspeak-server/disabled", "w") as f:
f.write("The existence of this file disables the "
"fleetspeak-server.service systemd unit.\n")
After commenting these lines out, everything runs ok, without raising other problems.
Is this a known issue?
@danielberbece - IIUC, simply creating the /etc/fleetspeak-server folder should solve the issue.
+@mol123 - should we handle cases when /etc/fleetspeak-server doesn't exist in some special way? This effectively means that Fleetspeak is not installed.
BTW, this error happens every time you set up a clean environment and effectively breaks grr_config_updater.
@danielberbece - thanks for reporting, either workaround (commenting out the 3 lines or creating the folder) should be fine.
I'll work on a proper fix for this.