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/rdma-core: add module for soft RoCE and test #34607

Merged
merged 2 commits into from Feb 10, 2018

Conversation

markuskowa
Copy link
Member

Motivation for this change

This PR adds a nixos module that manages RDMA over converged ethernet (RoCE) interfaces. The test runs the basic test programs from rmda-core to ensure that RDMA communication between two nodes works properly.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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 nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@Mic92
Copy link
Member

Mic92 commented Feb 9, 2018

@GrahamcOfBorg test rxe

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

client: exit status 0
server: running command: sync
server: exit status 0
test script finished in 31.88s
cleaning up
killing client (pid 611)
killing server (pid 593)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/tmp/nix-build-vm-test-run-rxe.drv-0/vde1.ctl': Directory not empty
/nix/store/mmjv7rnkqgl4dmas6yw54bhz1kvpnvam-vm-test-run-rxe

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

client: exit status 0
server: running command: sync
server: exit status 0
test script finished in 52.68s
cleaning up
killing client (pid 645)
killing server (pid 627)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/q5jjaba4a62nqhg3d0gjskbg3931jnpz-vm-test-run-rxe

wantedBy = [ "sysinit.target" ];
after = [ "systemd-modules-load.service" ];
wants = [ "network-pre.target" ];
before = [ "network-pre.target" ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

network-pre.target is meant for firewalls, we create network interfaces after instead of before.
Since our network configuration depends on device units, it should wait before interfaces are up and created before addresses are assigned.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I set it to after=network-online.target. That should be a safe bet since rxe gets transported over UDP.

path = with pkgs; [ kmod rdma-core ];
description = "RoCE interfaces";

wantedBy = [ "sysinit.target" ];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use multi-user.target here instead.

@Mic92 Mic92 merged commit bf53dc6 into NixOS:master Feb 10, 2018
@markuskowa
Copy link
Member Author

Thanks for clearing the back log!

@markuskowa markuskowa deleted the rxe-module-pr branch February 11, 2018 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants