LnL7 / nix-docker

Docker images for the Nix package manager
MIT License
288 stars 41 forks source link

the group 'nixbld' specified in 'build-users-group' does not exist #9

Open qknight opened 7 years ago

qknight commented 7 years ago

i cloned the repo and executed the ./start-docker-nix-build-slave script and then followed the guide in the https://github.com/LnL7/nix-docker#building-an-image guide and then in the new environment:

nixops deploy -d test

i get these errors:

... many lines
error: the group 'nixbld' specified in 'build-users-group' does not exist

i've tried this on docker host:

echo "build-users-group =" > /etc/nix/nix.conf'

but it didn't change the error message nor fix it.

LnL7 commented 7 years ago

You don't want to add that on your host if you're not using the nix-daemon.

qknight commented 7 years ago

system definition

i tried to add it to both but it didn't change a thing.

issues with nixops

even though this error was blocking me i had a look at the drv file which didn't build:

/nix/store/rn1k9f45igv5brly8y8lrfq0x84jxxm9-nixops-machines.drv

Derive([("out","/nix/store/ji3nqanf2prsgfava1jara1mzkqm3r5n-nixops-machines","","")],[("/nix/store/bm3s4xgqmcy5k73mb8g42kpw4jrwybk2-nixos-system-uberjarServer-17.09.git.4711d6b.drv",["out"]),("/nix/store/pm59s7l2g9zb8vr1sxp1gv3fmb0da9nf-stdenv-darwin.drv",["out"]),("/nix/store/y5zsrwhnnnkkl6a3ddgz5yrwv18h896l-bash-4.4-p12.drv",["out"])],["/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh","/nix/store/z347hsajryw593h802ggb63lbr3gpv2b-standard-sandbox.sb"],"x86_64-darwin","/nix/store/vkh1qq7m28v6wajva1k50a4i8x3l0r9c-bash-4.4-p12/bin/bash",["-e","/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh"],[("__impureHostDeps","/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation /dev/zero /dev/random /dev/urandom /bin/sh"),("__propagatedImpureHostDeps",""),("__propagatedSandboxProfile",""),("__sandboxProfile","(allow file-read* (literal \"/usr/lib/libncurses.5.4.dylib\"))\n(import \"/nix/store/z347hsajryw593h802ggb63lbr3gpv2b-standard-sandbox.sb\")\n"),("buildCommand","mkdir -p $out\nln -s /nix/store/jkdwgdzq67q41sh5w2yrzv4qd8dkh9d4-nixos-system-uberjarServer-17.09.git.4711d6b $out/uberjarServer\n\n"),("buildInputs",""),("builder","/nix/store/vkh1qq7m28v6wajva1k50a4i8x3l0r9c-bash-4.4-p12/bin/bash"),("name","nixops-machines"),("nativeBuildInputs",""),("out","/nix/store/ji3nqanf2prsgfava1jara1mzkqm3r5n-nixops-machines"),("passAsFile","buildCommand"),("preferLocalBuild","1"),("propagatedBuildInputs",""),("propagatedNativeBuildInputs",""),("stdenv","/nix/store/mdyvmyq59qbhd7ahi10lx3766p5q4w1d-stdenv-darwin"),("system","x86_64-darwin")])

i changed between shells (the one with the nix-docker drop-in builder and a vanialla one with only nix-* utils. finally i did:

nix-store --indirect -r -k /nix/store/rn1k9f45igv5brly8y8lrfq0x84jxxm9-nixops-machines.drv

to build it and afterwards:

nixops deploy -d test

was working somehow.

python exception

i seen a python exception since one service didn't come up and thus the deployment script (nixops) thought this is a critical error and errored out. is this normal?

nixops deploy -d test -I nixpkgs=/Users/josh/nixpkgs

warning: the group ‘nixbld’ specified in ‘build-users-group’ does not exist

building all machine configurations...

warning: the group ‘nixbld’ specified in ‘build-users-group’ does not exist

warning: the group ‘nixbld’ specified in ‘build-users-group’ does not exist

warning: the group ‘nixbld’ specified in ‘build-users-group’ does not exist

uberjarServer> copying closure...

Warning: Permanently added '188.226.143.138' (ED25519) to the list of known hosts.

uberjarServer> warning: the group ‘nixbld’ specified in ‘build-users-group’ does not exist

test> closures copied successfully

uberjarServer> updating GRUB 2 menu...

uberjarServer> activating the configuration...

uberjarServer> setting up /etc...

uberjarServer> setting up tmpfiles

uberjarServer> warning: the following units failed: acme-uberjar.nixcloud.it.service, dnsmasq.service

uberjarServer> 

uberjarServer> ● dnsmasq.service - Dnsmasq Daemon

uberjarServer>    Loaded: loaded (/nix/store/khhn699kdmnyxwdkgy2bnisj9bh45044-unit-dnsmasq.service/dnsmasq.service; enabled; vendor preset: enabled)

uberjarServer>    Active: failed (Result: exit-code) since Wed 2017-07-05 16:50:24 UTC; 1s ago

uberjarServer>   Process: 4307 ExecStart=/nix/store/ph6n51r40zxpdbj9jx2dd1ws5fcnypb9-dnsmasq-2.76/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C /nix/store/vslf784imj3djdxm1ncdm4mlj3vl5wxi-dnsmasq.conf (code=exited, status=5)

uberjarServer>   Process: 4291 ExecStartPre=/nix/store/qhzglp6yhsgp1znwkwf98hhsqwkaixvn-unit-script/bin/dnsmasq-pre-start (code=exited, status=0/SUCCESS)

uberjarServer>  Main PID: 4307 (code=exited, status=5)

uberjarServer> 

uberjarServer> Jul 05 16:50:24 uberjarServer systemd[1]: Starting Dnsmasq Daemon...

uberjarServer> Jul 05 16:50:24 uberjarServer dnsmasq-pre-start[4291]: dnsmasq: syntax check OK.

uberjarServer> Jul 05 16:50:24 uberjarServer dnsmasq[4307]: dnsmasq: DBus error: Connection ":1.13" is not allowed to own the service "uk.org.thekelleys.dnsmasq" due to security policies in the configuration file

uberjarServer> Jul 05 16:50:24 uberjarServer dnsmasq[4307]: DBus error: Connection ":1.13" is not allowed to own the service "uk.org.thekelleys.dnsmasq" due to security policies in the configuration file

uberjarServer> Jul 05 16:50:24 uberjarServer dnsmasq[4307]: FAILED to start up

uberjarServer> Jul 05 16:50:24 uberjarServer systemd[1]: dnsmasq.service: Main process exited, code=exited, status=5/NOTINSTALLED

uberjarServer> Jul 05 16:50:24 uberjarServer systemd[1]: Failed to start Dnsmasq Daemon.

uberjarServer> Jul 05 16:50:24 uberjarServer systemd[1]: dnsmasq.service: Unit entered failed state.

uberjarServer> Jul 05 16:50:24 uberjarServer systemd[1]: dnsmasq.service: Failed with result 'exit-code'.

uberjarServer> 

uberjarServer> ● acme-uberjar.nixcloud.it.service - Renew ACME Certificate for uberjar.nixcloud.it

uberjarServer>    Loaded: loaded (/nix/store/6gaivryvrdx4wa6411p16n8sqi87fdmi-unit-acme-uberjar.nixcloud.it.service/acme-uberjar.nixcloud.it.service; enabled; vendor preset: enabled)

uberjarServer>    Active: failed (Result: exit-code) since Wed 2017-07-05 16:50:26 UTC; 38ms ago

uberjarServer>   Process: 4285 ExecStart=/nix/store/1y1rgimi4f2g3r330axk2y2d5ja93dh5-unit-script/bin/acme-uberjar.nixcloud.it-start (code=exited, status=2)

uberjarServer>   Process: 4273 ExecStartPre=/nix/store/5qwi1b7bvfvl2xykfjr29rimamq7p00g-unit-script/bin/acme-uberjar.nixcloud.it-pre-start (code=exited, status=0/SUCCESS)

uberjarServer>  Main PID: 4285 (code=exited, status=2)

uberjarServer> 

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]:     r = adapter.send(request, **kwargs)

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]:   File "/nix/store/7aby52g9sdjjym5hdzd6yf751rzmcrfs-python2.7-requests-2.13.0/lib/python2.7/site-packages/requests/adapters.py", line 487, in send

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]:     raise ConnectionError(e, request=request)

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]: ConnectionError: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fa173b6b990>: Failed to establish a new connection: [Errno -2] Name or service not known',))

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]: Unhandled error has happened, traceback is above

uberjarServer> Jul 05 16:50:26 uberjarServer acme-uberjar.nixcloud.it-start[4285]: Debugging tips: -v improves output verbosity. Help is available under --help.

uberjarServer> Jul 05 16:50:26 uberjarServer systemd[1]: acme-uberjar.nixcloud.it.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

uberjarServer> Jul 05 16:50:26 uberjarServer systemd[1]: Failed to start Renew ACME Certificate for uberjar.nixcloud.it.

uberjarServer> Jul 05 16:50:26 uberjarServer systemd[1]: acme-uberjar.nixcloud.it.service: Unit entered failed state.

uberjarServer> Jul 05 16:50:26 uberjarServer systemd[1]: acme-uberjar.nixcloud.it.service: Failed with result 'exit-code'.

uberjarServer> error: Traceback (most recent call last):

  File "/nix/store/s4xf0nk5w09a4j9nvby9m8ib659vqhhd-nixops-2017-05-22/lib/python2.7/site-packages/nixops/deployment.py", line 705, in worker

    raise Exception("unable to activate new configuration")

Exception: unable to activate new configuration
TerrorJack commented 6 years ago

@LnL7 When building a docker image for nix, setting up nixbld users even without installing the daemon can be helpful sometimes, e.g. when building nixpkgs.google-chrome-dev, it always fail with a cryptic permission error, but builds fine when nixblds is set up.