Skip to content

Conversation

@cr7258
Copy link

@cr7258 cr7258 commented Oct 15, 2025

What

  • Add a Python example nixl_etcd_example.py demonstrating NIXL metadata distribution using etcd.
(venv) root@dynamo:~/nixl/examples/python# python nixl_etcd_example.py 
2025-10-15 15:44:23 NIXL INFO    nixl_etcd_example.py:39 NIXL_ETCD_ENDPOINTS is not set, setting to http://127.0.0.1:2379
2025-10-15 15:44:23 NIXL INFO    nixl_etcd_example.py:42 NIXL Etcd Metadata Example
2025-10-15 15:44:40 NIXL INFO    _api.py:361 Backend UCX was instantiated
2025-10-15 15:44:40 NIXL INFO    _api.py:251 Initialized NIXL agent: EtcdAgent1
2025-10-15 15:44:56 NIXL INFO    _api.py:361 Backend UCX was instantiated
2025-10-15 15:44:56 NIXL INFO    _api.py:251 Initialized NIXL agent: EtcdAgent2
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:51 Available plugins: ['GDS', 'GDS_MT', 'GPUNETIO', 'LIBFABRIC', 'OBJ', 'POSIX', 'UCX', 'UCX_MO']
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:54 Plugin parameters:
['DRAM_SEG', 'VRAM_SEG']
{'ucx_error_handling_mode': 'peer', 'num_workers': '1', 'ucx_devices': ''}
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:60 Backend parameters:
['DRAM_SEG', 'VRAM_SEG']
{}
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:31 Registered memory 0x36a94b10 with agent EtcdAgent1
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:31 Registered memory 0x361b4800 with agent EtcdAgent2
2025-10-15 15:44:56 NIXL INFO    nixl_etcd_example.py:71 Sending local metadata to etcd...
2025-10-15 15:44:57 NIXL INFO    nixl_etcd_example.py:81 Fetching remote metadata from etcd...
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:93 Metadata exchange successful!
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:99 Agent1's address: 0x36a94b10
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:100 Agent2's address: 0x361b4800
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:106 Transfer request from 0x36a94b20 to 0x361b4808
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:112 Transfer request created
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:114 Transfer was posted, initial state: DONE
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:125 Received notifications: {'EtcdAgent1': [b'notification']}
2025-10-15 15:44:58 NIXL INFO    nixl_etcd_example.py:126 Transfer verified
  • Updated the Docker command for starting the etcd container. By default, etcd listens only on localhost (inside the container), making it inaccessible from the host machine. Adding the environment variables ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 and ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379 allows etcd to listen on all network interfaces, enabling access from the host.
  • Removed the $ prefix from the commands in code blocks so that users can copy and execute them directly.

@cr7258 cr7258 requested a review from a team as a code owner October 15, 2025 15:59
@copy-pr-bot
Copy link

copy-pr-bot bot commented Oct 15, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions
Copy link

👋 Hi cr7258! Thank you for contributing to ai-dynamo/nixl.

Your PR reviewers will review your contribution then trigger the CI to test your changes.

🚀

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.

1 participant