Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/oxidized: Use symlinks for config files #66612

Merged
merged 1 commit into from Aug 14, 2019

Conversation

@fadenb
Copy link
Contributor

commented Aug 14, 2019

The old cp suffers from a permission issue on the 2nd start of the service.
The files were copied from the read-only nix store. On the 2nd start of the service the cp failed.
The new version force creates a symlink which does not suffer from this.

Motivation for this change

The oxidized service did only start for the first time. All other startup attempts failed:

-- Unit oxidized.service has begun starting up.
Aug 14 08:44:40 omniIT-pg02 krg794lqb6z8sbvg5waj2ck1yk5cpr25-unit-script-oxidized-pre-start[1172]: '/nix/store/52knh7571lwsil8j3knyk6wk2dv1fkg4-oxidized-router.db' -> '/var/lib/oxidized/.config/oxidized/router.db'
Aug 14 08:44:40 omniIT-pg02 krg794lqb6z8sbvg5waj2ck1yk5cpr25-unit-script-oxidized-pre-start[1172]: cp: cannot create regular file '/var/lib/oxidized/.config/oxidized/router.db': Permission denied
Aug 14 08:44:40 omniIT-pg02 systemd[1]: oxidized.service: Control process exited, code=exited, status=1/FAILURE
Aug 14 08:44:40 omniIT-pg02 systemd[1]: oxidized.service: Failed with result 'exit-code'.
Aug 14 08:44:40 omniIT-pg02 systemd[1]: Failed to start oxidized.service.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @WilliButz

nixos/oxidized: Use symlinks for config files
The old `cp` suffers from a permission issue on the 2nd start of the
service. The files were copied from the read-only nix store. On the 2nd
start of the service the `cp` failed.
The new version force creates a symlink which does not suffer from this.
@WilliButz
Copy link
Member

left a comment

Thank you 👍

@WilliButz WilliButz merged commit ddf15d3 into NixOS:master Aug 14, 2019

12 checks passed

Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A darwin-tested
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release-combined.nix -A tested
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details

@fadenb fadenb deleted the fadenb:oxidized_permission_issue branch Aug 14, 2019

@WilliButz

This comment has been minimized.

Copy link
Member

commented Aug 14, 2019

backported in 364e1a8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.