Agents: explore the repo directly; this file is a routing index, not a contributor guide.
Session memory: Write plans, notes, and ephemeral files to .tmp/
(gitignored) rather than the system temporary directory.
For non-trivial planning, inspect deps and tooling:
pyproject.toml · tox.ini · .pre-commit-config.yaml ·
requirements.txt · test-requirements.txt
Tests: Use tox or stestr; never use pytest.
Invoke them directly, for example tox -e pep8.
Assume project tools are installed and available on $PATH.
Routing:
- Repo layout: doc/source/contributor/repo-overview.rst
- Style, hacking, checks: HACKING.rst
- Test conventions, fixtures: HACKING.rst / TESTING.rst
- REST API: Networking Services APIs)
- Repository: https://opendev.org/openstack/neutron (GitHub is a mirror only)
- Bug tracking: https://bugs.launchpad.net/neutron
- Code review: Gerrit at https://review.opendev.org (not GitHub PRs)
- Docs: https://docs.openstack.org/neutron/latest/
- Contributor guide:
doc/source/contributor/in the Neutron repository - Specs:
openstack/neutron-specs—specs/<release>/approved/,specs/<release>/implemented/,specs/backlog/,specs/abandoned/
The Neutron project depends on different libraries. These are the most important and controlled (partially) by the Neutron team:
- ovsdbapp
- python-ovs
- neutron-lib
- sqlalchemy
- os-ken
- oslo.privsep
- oslo.db
- oslo.service
- oslo.config
- pyroute2
- Neutron code review: .agents/neutron-code-review.md
- Launchpad bug triage: .agents/neutron-lp-bug-triage.md
- Git commit messages: .agents/git-commit-messages.md
- Tools: Do not install missing tools with a package manager or
pip - Concurrency: Do not introduce asyncio or new eventlet usage. Review the threading and concurrency docs when changing concurrent code.
- Review: Neutron uses Gerrit, not GitHub PRs. Series are always unsquashed; each commit must be independently testable and correct.
- Git: Read-only operations (
git log,git diff,git status) are fine. Do not run mutating operations (add,commit,reset,checkout,push,stash,merge,rebase, etc.) unless explicitly instructed to do so.