Merge "Fix links for Source code references"
This commit is contained in:
@@ -405,7 +405,7 @@ Running Tests
|
|||||||
-------------
|
-------------
|
||||||
|
|
||||||
Before submitting a patch for review you should always ensure all tests pass; a
|
Before submitting a patch for review you should always ensure all tests pass; a
|
||||||
tox run is triggered by the jenkins gate executed on gerrit for each patch
|
tox run is triggered by the zuul jobs executed on gerrit for each patch
|
||||||
pushed for review.
|
pushed for review.
|
||||||
|
|
||||||
Neutron, like other OpenStack projects, uses `tox`_ for managing the virtual
|
Neutron, like other OpenStack projects, uses `tox`_ for managing the virtual
|
||||||
|
@@ -132,7 +132,7 @@ quickly their code can fall out of sync with the rapidly changing Neutron core
|
|||||||
code base.
|
code base.
|
||||||
|
|
||||||
* You should run unit tests in your own external library (e.g. on
|
* You should run unit tests in your own external library (e.g. on
|
||||||
opendev.org where Jenkins setup is for free).
|
opendev.org where Zuul setup is for free).
|
||||||
|
|
||||||
* Your third-party CI should validate third-party integration with Neutron via
|
* Your third-party CI should validate third-party integration with Neutron via
|
||||||
functional testing. The third-party CI is a communication mechanism. The
|
functional testing. The third-party CI is a communication mechanism. The
|
||||||
@@ -268,10 +268,8 @@ flexibility when dealing with DevStack based dev/test deployments.
|
|||||||
One final consideration is worth making for third-party CI setups: if `Devstack
|
One final consideration is worth making for third-party CI setups: if `Devstack
|
||||||
Gate <https://opendev.org/openstack/devstack-gate>`_ is used,
|
Gate <https://opendev.org/openstack/devstack-gate>`_ is used,
|
||||||
it does provide hook functions that can be executed at specific times of the
|
it does provide hook functions that can be executed at specific times of the
|
||||||
devstack-gate-wrap script run. For example, the `Neutron Functional job
|
devstack-gate-wrap script run. For more details see `devstack-vm-gate-wrap.sh
|
||||||
<https://opendev.org/openstack/project-config/tree/jenkins/jobs/neutron.yaml>`_
|
<https://opendev.org/openstack/devstack-gate/src/devstack-vm-gate-wrap.sh>`_.
|
||||||
uses them. For more details see `devstack-vm-gate-wrap.sh
|
|
||||||
<https://opendev.org/openstack/devstack-gate/tree/devstack-vm-gate-wrap.sh>`_.
|
|
||||||
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
@@ -319,7 +317,7 @@ be the bare minimum you have to complete in order to get you off the ground.
|
|||||||
validate your patches when posted to Gerrit. For instance, one thing you
|
validate your patches when posted to Gerrit. For instance, one thing you
|
||||||
would need to do is to define an entry point for your plugin or driver in
|
would need to do is to define an entry point for your plugin or driver in
|
||||||
your own setup.cfg similarly as to how it is done in the `setup.cfg for ODL
|
your own setup.cfg similarly as to how it is done in the `setup.cfg for ODL
|
||||||
<https://opendev.org/openstack/networking-odl/tree/setup.cfg#n31>`_.
|
<https://opendev.org/openstack/networking-odl/src/tag/19.0.0/setup.cfg#L41>`_.
|
||||||
* Define an entry point for your plugin or driver in setup.cfg
|
* Define an entry point for your plugin or driver in setup.cfg
|
||||||
* Create third-party CI account: if you do not already have one, follow
|
* Create third-party CI account: if you do not already have one, follow
|
||||||
instructions for `third-party CI
|
instructions for `third-party CI
|
||||||
|
@@ -33,14 +33,14 @@ Server Gateway Interface (WSGI) - defined in `PEP 333 <http://legacy.python.org/
|
|||||||
Startup
|
Startup
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Neutron's WSGI server is started from the `server module <http://opendev.org/openstack/neutron/tree/neutron/server/__init__.py>`_
|
Neutron's WSGI server is started from the `server module <http://opendev.org/openstack/neutron/src/neutron/server/__init__.py>`_
|
||||||
and the entry point `serve_wsgi` is called to build an instance of the
|
and the entry point `serve_wsgi` is called to build an instance of the
|
||||||
`NeutronApiService`_, which is then returned to the server module,
|
`NeutronApiService`_, which is then returned to the server module,
|
||||||
which spawns a `Eventlet`_ `GreenPool`_ that will run the WSGI
|
which spawns a `Eventlet`_ `GreenPool`_ that will run the WSGI
|
||||||
application and respond to requests from clients.
|
application and respond to requests from clients.
|
||||||
|
|
||||||
|
|
||||||
.. _NeutronApiService: http://opendev.org/openstack/neutron/tree/neutron/service.py
|
.. _NeutronApiService: http://opendev.org/openstack/neutron/src/neutron/service.py
|
||||||
|
|
||||||
.. _Eventlet: http://eventlet.net/
|
.. _Eventlet: http://eventlet.net/
|
||||||
|
|
||||||
@@ -62,11 +62,11 @@ Neutron, which contains several methods that map Neutron resources (such as
|
|||||||
Ports, Networks, Subnets) to URLs, and the controller for each resource.
|
Ports, Networks, Subnets) to URLs, and the controller for each resource.
|
||||||
|
|
||||||
|
|
||||||
.. _config.py: http://opendev.org/openstack/neutron/tree/neutron/common/config.py
|
.. _config.py: http://opendev.org/openstack/neutron/src/neutron/common/config.py
|
||||||
|
|
||||||
.. _api-paste.ini: http://opendev.org/openstack/neutron/tree/etc/api-paste.ini
|
.. _api-paste.ini: http://opendev.org/openstack/neutron/src/etc/api-paste.ini
|
||||||
|
|
||||||
.. _APIRouter: http://opendev.org/openstack/neutron/tree/neutron/api/v2/router.py
|
.. _APIRouter: http://opendev.org/openstack/neutron/src/neutron/api/v2/router.py
|
||||||
|
|
||||||
.. _Paste: http://pythonpaste.org/
|
.. _Paste: http://pythonpaste.org/
|
||||||
|
|
||||||
|
@@ -683,13 +683,13 @@ The :code:`convert_filters` method is available in
|
|||||||
|
|
||||||
References
|
References
|
||||||
----------
|
----------
|
||||||
.. [#] https://opendev.org/openstack/neutron/tree/neutron/objects/base.py?h=stable/ocata#n258
|
.. [#] https://opendev.org/openstack/neutron/src/tag/ocata-eol/neutron/objects/base.py#L258
|
||||||
.. [#] https://opendev.org/openstack/neutron/tree/neutron/db/standard_attr.py?h=stable/ocata
|
.. [#] https://opendev.org/openstack/neutron/src/tag/ocata-eol/neutron/db/standard_attr.py
|
||||||
.. [#] https://opendev.org/openstack/neutron/tree/neutron/objects/base.py?h=stable/ocata#n516
|
.. [#] https://opendev.org/openstack/neutron/src/tag/ocata-eol/neutron/objects/base.py#L516
|
||||||
.. [#] https://opendev.org/openstack/neutron/tree/neutron/objects/base.py?h=stable/ocata#n542
|
.. [#] https://opendev.org/openstack/neutron/src/tag/ocata-eol/neutron/objects/base.py#L542
|
||||||
.. [#] https://docs.openstack.org/neutron/latest/contributor/internals/db_layer.html#the-standard-attribute-table
|
.. [#] https://docs.openstack.org/neutron/latest/contributor/internals/db_layer.html#the-standard-attribute-table
|
||||||
.. [#] https://opendev.org/openstack/neutron/tree/neutron/objects/rbac_db.py?h=stable/ocata#n291
|
.. [#] https://opendev.org/openstack/neutron/src/tag/ocata-eol/neutron/objects/rbac_db.py#L291
|
||||||
.. [#] https://access.redhat.com/support/policy/updates/openstack/platform/
|
.. [#] https://access.redhat.com/support/policy/updates/openstack/platform/
|
||||||
.. [#] https://www.suse.com/releasenotes/x86_64/SUSE-OPENSTACK-CLOUD/8/#Upgrade
|
.. [#] https://www.suse.com/releasenotes/x86_64/SUSE-OPENSTACK-CLOUD/8/#Upgrade
|
||||||
.. [#] https://www.ubuntu.com/about/release-cycle
|
.. [#] https://www.ubuntu.com/about/release-cycle
|
||||||
.. [#] https://opendev.org/openstack/neutron-lib/tree/neutron_lib/objects/utils.py
|
.. [#] https://opendev.org/openstack/neutron-lib/src/neutron_lib/objects/utils.py
|
||||||
|
@@ -399,19 +399,19 @@ References
|
|||||||
.. [#] `Oslo policy developer <https://docs.openstack.org/oslo.policy/latest/>`_
|
.. [#] `Oslo policy developer <https://docs.openstack.org/oslo.policy/latest/>`_
|
||||||
.. [#] API controller item_ method
|
.. [#] API controller item_ method
|
||||||
|
|
||||||
.. _item: http://opendev.org/openstack/neutron/tree/neutron/api/v2/base.py?id=2015.1.1#n282
|
.. _item: http://opendev.org/openstack/neutron/src/tag/2015.1.1/neutron/api/v2/base.py#L282
|
||||||
|
|
||||||
.. [#] Policy engine's build_match_rule_ method
|
.. [#] Policy engine's build_match_rule_ method
|
||||||
|
|
||||||
.. _build_match_rule: http://opendev.org/openstack/neutron/tree/neutron/policy.py?id=2015.1.1#n187
|
.. _build_match_rule: http://opendev.org/openstack/neutron/src/tag/2015.1.1/neutron/policy.py#L187
|
||||||
|
|
||||||
.. [#] exclude_attributes_by_policy_ method
|
.. [#] exclude_attributes_by_policy_ method
|
||||||
|
|
||||||
.. _exclude_attributes_by_policy: http://opendev.org/openstack/neutron/tree/neutron/api/v2/base.py?id=2015.1.1#n132
|
.. _exclude_attributes_by_policy: http://opendev.org/openstack/neutron/src/tag/2015.1.1/neutron/api/v2/base.py#L132
|
||||||
|
|
||||||
.. [#] Policy reset_ in neutron.api.v2.router
|
.. [#] Policy reset_ in neutron.api.v2.router
|
||||||
|
|
||||||
.. _reset: http://opendev.org/openstack/neutron/tree/neutron/api/v2/router.py?id=2015.1.1#n122
|
.. _reset: http://opendev.org/openstack/neutron/src/tag/2015.1.1/neutron/api/v2/router.py#L122
|
||||||
|
|
||||||
.. [#] https://github.com/openstack/neutron/blob/051b6b40f3921b9db4f152a54f402c402cbf138c/neutron/pecan_wsgi/hooks/policy_enforcement.py#L173
|
.. [#] https://github.com/openstack/neutron/blob/051b6b40f3921b9db4f152a54f402c402cbf138c/neutron/pecan_wsgi/hooks/policy_enforcement.py#L173
|
||||||
.. [#] https://github.com/openstack/neutron/blob/051b6b40f3921b9db4f152a54f402c402cbf138c/neutron/pecan_wsgi/hooks/policy_enforcement.py#L143
|
.. [#] https://github.com/openstack/neutron/blob/051b6b40f3921b9db4f152a54f402c402cbf138c/neutron/pecan_wsgi/hooks/policy_enforcement.py#L143
|
||||||
|
@@ -34,7 +34,7 @@ provisioning by multiple asynchronous entities before they are ready to
|
|||||||
be used so managing the transition to the ACTIVE status becomes more
|
be used so managing the transition to the ACTIVE status becomes more
|
||||||
complex. To handle these cases, Neutron has `the provisioning_blocks
|
complex. To handle these cases, Neutron has `the provisioning_blocks
|
||||||
module
|
module
|
||||||
<http://opendev.org/openstack/neutron/tree/neutron/db/provisioning_blocks.py>`_
|
<http://opendev.org/openstack/neutron/src/neutron/db/provisioning_blocks.py>`_
|
||||||
to track the entities that are still provisioning a resource.
|
to track the entities that are still provisioning a resource.
|
||||||
|
|
||||||
The main example of this is with ML2, the L2 agents and the DHCP agents.
|
The main example of this is with ML2, the L2 agents and the DHCP agents.
|
||||||
|
@@ -389,10 +389,10 @@ Please be aware of the following limitations of the quota enforcement engine:
|
|||||||
References
|
References
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. [1] Subnet allocation extension: http://opendev.org/openstack/neutron/tree/neutron/extensions/subnetallocation.py
|
.. [1] Subnet allocation extension: http://opendev.org/openstack/neutron/src/neutron/extensions/subnetallocation.py
|
||||||
.. [2] DB Quota driver class: http://opendev.org/openstack/neutron/tree/neutron/db/quota/driver.py#n30
|
.. [2] DB Quota driver class: http://opendev.org/openstack/neutron/src/neutron/db/quota/driver.py#L30
|
||||||
.. [3] Quota API extension controller: http://opendev.org/openstack/neutron/tree/neutron/extensions/quotasv2.py#n40
|
.. [3] Quota API extension controller: https://opendev.org/openstack/neutron/src/tag/19.0.0/neutron/extensions/quotasv2.py#L56
|
||||||
.. [4] Neutron resource attribute map: http://opendev.org/openstack/neutron/tree/neutron/api/v2/attributes.py#n639
|
.. [4] Neutron resource attribute map: https://opendev.org/openstack/neutron-lib/src/tag/2.17.0/neutron_lib/api/attributes.py#L299
|
||||||
.. [5] Quota limit exceeded: https://bugs.launchpad.net/neutron/+bug/1862050/
|
.. [5] Quota limit exceeded: https://bugs.launchpad.net/neutron/+bug/1862050/
|
||||||
.. [6] Base controller class: http://opendev.org/openstack/neutron/tree/neutron/api/v2/base.py#n50
|
.. [6] Base controller class: https://opendev.org/openstack/neutron/src/tag/19.0.0/neutron/api/v2/base.py#L44
|
||||||
.. [7] http://lists.openstack.org/pipermail/openstack-dev/2015-February/057534.html
|
.. [7] http://lists.openstack.org/pipermail/openstack-dev/2015-February/057534.html
|
||||||
|
@@ -33,7 +33,7 @@ API Extension
|
|||||||
The API extension is the 'front' end portion of the code, which handles defining a `REST-ful API`_, which is used by projects.
|
The API extension is the 'front' end portion of the code, which handles defining a `REST-ful API`_, which is used by projects.
|
||||||
|
|
||||||
|
|
||||||
.. _`REST-ful API`: https://opendev.org/openstack/neutron/tree/neutron/extensions/securitygroup.py
|
.. _`REST-ful API`: https://opendev.org/openstack/neutron/src/neutron/extensions/securitygroup.py
|
||||||
|
|
||||||
|
|
||||||
Database API
|
Database API
|
||||||
@@ -41,7 +41,7 @@ Database API
|
|||||||
|
|
||||||
The Security Group API extension adds a number of `methods to the database layer`_ of Neutron
|
The Security Group API extension adds a number of `methods to the database layer`_ of Neutron
|
||||||
|
|
||||||
.. _`methods to the database layer`: https://opendev.org/openstack/neutron/tree/neutron/db/securitygroups_db.py
|
.. _`methods to the database layer`: https://opendev.org/openstack/neutron/src/neutron/db/securitygroups_db.py
|
||||||
|
|
||||||
Agent RPC
|
Agent RPC
|
||||||
---------
|
---------
|
||||||
@@ -50,12 +50,12 @@ This portion of the code handles processing requests from projects, after they h
|
|||||||
running on the compute nodes, and modifying the IPTables rules on each hypervisor.
|
running on the compute nodes, and modifying the IPTables rules on each hypervisor.
|
||||||
|
|
||||||
|
|
||||||
* `Plugin RPC classes <https://opendev.org/openstack/neutron/tree/neutron/db/securitygroups_rpc_base.py>`_
|
* `Plugin RPC classes <https://opendev.org/openstack/neutron/src/neutron/db/securitygroups_rpc_base.py>`_
|
||||||
|
|
||||||
* `SecurityGroupServerRpcMixin <https://opendev.org/openstack/neutron/tree/neutron/db/securitygroups_rpc_base.py>`_ - defines the RPC API that the plugin uses to communicate with the agents running on the compute nodes
|
* `SecurityGroupServerRpcMixin <https://opendev.org/openstack/neutron/src/neutron/db/securitygroups_rpc_base.py>`_ - defines the RPC API that the plugin uses to communicate with the agents running on the compute nodes
|
||||||
* SecurityGroupServerRpcMixin - Defines the API methods used to fetch data from the database, in order to return responses to agents via the RPC API
|
* SecurityGroupServerRpcMixin - Defines the API methods used to fetch data from the database, in order to return responses to agents via the RPC API
|
||||||
|
|
||||||
* `Agent RPC classes <https://opendev.org/openstack/neutron/tree/neutron/api/rpc/handlers/securitygroups_rpc.py>`_
|
* `Agent RPC classes <https://opendev.org/openstack/neutron/src/neutron/api/rpc/handlers/securitygroups_rpc.py>`_
|
||||||
|
|
||||||
* The SecurityGroupServerRpcApi defines the API methods that can be called by agents, back to the plugin that runs on the Neutron controller
|
* The SecurityGroupServerRpcApi defines the API methods that can be called by agents, back to the plugin that runs on the Neutron controller
|
||||||
* The SecurityGroupAgentRpcCallbackMixin defines methods that a plugin uses to call back to an agent after performing an action called by an agent.
|
* The SecurityGroupAgentRpcCallbackMixin defines methods that a plugin uses to call back to an agent after performing an action called by an agent.
|
||||||
|
@@ -67,7 +67,7 @@ eventlet.monkey_patch() directly but instead maintain its entry point main()
|
|||||||
function under neutron/cmd/eventlet/... If that is the case, the standard
|
function under neutron/cmd/eventlet/... If that is the case, the standard
|
||||||
Python library will be automatically patched for the service on entry point
|
Python library will be automatically patched for the service on entry point
|
||||||
import (monkey patching is done inside `python package file
|
import (monkey patching is done inside `python package file
|
||||||
<http://opendev.org/openstack/neutron/tree/neutron/cmd/eventlet/__init__.py>`_).
|
<http://opendev.org/openstack/neutron/src/neutron/cmd/eventlet/__init__.py>`_).
|
||||||
|
|
||||||
Note: an entry point 'main()' function may just be an indirection to a real
|
Note: an entry point 'main()' function may just be an indirection to a real
|
||||||
callable located elsewhere, as is done for reference services such as DHCP, L3
|
callable located elsewhere, as is done for reference services such as DHCP, L3
|
||||||
|
@@ -16,7 +16,7 @@ assign these into milestones or move them to the backlog for selection into
|
|||||||
a future release.
|
a future release.
|
||||||
|
|
||||||
Please note that we use a `template
|
Please note that we use a `template
|
||||||
<http://opendev.org/openstack/neutron-specs/tree/specs/template.rst>`_
|
<http://opendev.org/openstack/neutron-specs/src/specs/template.rst>`_
|
||||||
for spec submissions. It is not required to fill out all sections in the
|
for spec submissions. It is not required to fill out all sections in the
|
||||||
template. Review of the spec may require filling in information left out by
|
template. Review of the spec may require filling in information left out by
|
||||||
the submitter.
|
the submitter.
|
||||||
|
@@ -57,7 +57,7 @@ In addition to that, the following rules are to follow:
|
|||||||
the right to discontinue support for unresponsive platforms.
|
the right to discontinue support for unresponsive platforms.
|
||||||
|
|
||||||
#. The change should also include a new `sanity check
|
#. The change should also include a new `sanity check
|
||||||
<https://opendev.org/openstack/neutron/tree/neutron/cmd/sanity/checks.py>`_
|
<https://opendev.org/openstack/neutron/src/neutron/cmd/sanity/checks.py>`_
|
||||||
that would help interested parties to identify their platform limitation
|
that would help interested parties to identify their platform limitation
|
||||||
in timely manner.
|
in timely manner.
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@ Troubleshooting Tempest jobs
|
|||||||
|
|
||||||
Troubleshooting functional/fullstack job
|
Troubleshooting functional/fullstack job
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
1. Go to the job link provided by Jenkins CI.
|
1. Go to the job link provided by Zuul CI.
|
||||||
2. Look at logs/testr_results.html.gz for which particular test failed.
|
2. Look at logs/testr_results.html.gz for which particular test failed.
|
||||||
3. More logs from a particular test are stored at
|
3. More logs from a particular test are stored at
|
||||||
logs/dsvm-functional-logs/<path_of_the_test> (or dsvm-fullstack-logs
|
logs/dsvm-functional-logs/<path_of_the_test> (or dsvm-fullstack-logs
|
||||||
|
@@ -2,7 +2,7 @@ Recheck Failed CI jobs in Neutron
|
|||||||
=================================
|
=================================
|
||||||
|
|
||||||
This document provides guidelines on what to do in case your patch fails one of
|
This document provides guidelines on what to do in case your patch fails one of
|
||||||
the Jenkins CI jobs. In order to discover potential bugs hidden in the code or
|
the Zuul CI jobs. In order to discover potential bugs hidden in the code or
|
||||||
tests themselves, it's very helpful to check failed scenarios to investigate
|
tests themselves, it's very helpful to check failed scenarios to investigate
|
||||||
the cause of the failure. Sometimes the failure will be caused by the patch
|
the cause of the failure. Sometimes the failure will be caused by the patch
|
||||||
being tested, while other times the failure can be caused by a previously
|
being tested, while other times the failure can be caused by a previously
|
||||||
|
@@ -38,7 +38,7 @@ What Tests To Run
|
|||||||
Network API tests (git link).
|
Network API tests (git link).
|
||||||
Network scenario tests (The test_network_* tests here).
|
Network scenario tests (The test_network_* tests here).
|
||||||
Any tests written specifically for your setup.
|
Any tests written specifically for your setup.
|
||||||
http://opendev.org/openstack/tempest/tree/tempest/api/network
|
http://opendev.org/openstack/tempest/src/tempest/api/network
|
||||||
|
|
||||||
Run with the test filter: 'network'. This will include all neutron specific
|
Run with the test filter: 'network'. This will include all neutron specific
|
||||||
tests as well as any other tests that are tagged as requiring networking. An
|
tests as well as any other tests that are tagged as requiring networking. An
|
||||||
|
@@ -152,7 +152,7 @@ To release a sub-project, follow the following steps:
|
|||||||
other Neutron projects. You can skip this step if you don't have a version in
|
other Neutron projects. You can skip this step if you don't have a version in
|
||||||
setup.cfg.
|
setup.cfg.
|
||||||
* A sub-project owner `proposes
|
* A sub-project owner `proposes
|
||||||
<https://opendev.org/openstack/releases/tree/README.rst>`_ a patch
|
<https://opendev.org/openstack/releases/src/README.rst>`_ a patch
|
||||||
to openstack/releases repository with the intended git hash. `The Neutron
|
to openstack/releases repository with the intended git hash. `The Neutron
|
||||||
release liaison <https://wiki.openstack.org/wiki/CrossProjectLiaisons#Release_management>`_
|
release liaison <https://wiki.openstack.org/wiki/CrossProjectLiaisons#Release_management>`_
|
||||||
should be added in Gerrit to the list of reviewers for the patch.
|
should be added in Gerrit to the list of reviewers for the patch.
|
||||||
@@ -210,7 +210,7 @@ To make a branch end of life, follow the following steps:
|
|||||||
* A sub-project owner should request the infrastructure team to delete
|
* A sub-project owner should request the infrastructure team to delete
|
||||||
the branch by sending an email to the infrastructure mailing list, not by
|
the branch by sending an email to the infrastructure mailing list, not by
|
||||||
bothering the infrastructure team on IRC.
|
bothering the infrastructure team on IRC.
|
||||||
* A sub-project owner should tweak jenkins jobs in project-config if any.
|
* A sub-project owner should tweak zuul jobs in project-config if any.
|
||||||
|
|
||||||
References
|
References
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
Reference in New Issue
Block a user