diff --git a/README.rst b/README.rst
index b69cf8295..1c27ebb70 100644
--- a/README.rst
+++ b/README.rst
@@ -1,7 +1,7 @@
If you are viewing this README on GitHub, please be aware that placement
development happens on `OpenStack git
-`_ and `OpenStack
-gerrit `_.
+`_ and `OpenStack
+gerrit `_.
========================
Team and repository tags
diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst
index cc7e3ad40..75be23bf1 100644
--- a/doc/source/contributor/contributing.rst
+++ b/doc/source/contributor/contributing.rst
@@ -312,12 +312,12 @@ If there have been no changes, core reviewers should feel free to fast-approve
.. _list archive: http://lists.openstack.org/pipermail/openstack-discuss/
.. _StoryBoard: https://storyboard.openstack.org/#!/project/openstack/placement
.. _new bug: https://storyboard.openstack.org/#!/worklist/580
-.. _gerrit: http://review.openstack.org/
+.. _gerrit: http://review.opendev.org/
.. _How to Review Changes the OpenStack Way: https://docs.openstack.org/project-team-guide/review-the-openstack-way.html
-.. _core reviewers: https://review.openstack.org/#/admin/groups/1936,members
+.. _core reviewers: https://review.opendev.org/#/admin/groups/1936,members
.. _constructive: https://governance.openstack.org/tc/reference/principles.html#we-value-constructive-peer-review
.. _API: https://developer.openstack.org/api-ref/placement/
-.. _placement code: https://git.openstack.org/cgit/openstack/placement
+.. _placement code: https://opendev.org/openstack/placement
.. _stein schedule: https://releases.openstack.org/stein/schedule.html
.. _release note: https://docs.openstack.org/reno/latest/
.. _PEP 8: https://www.python.org/dev/peps/pep-0008/
diff --git a/doc/source/contributor/goals.rst b/doc/source/contributor/goals.rst
index b8fa17fdd..50c95c65f 100644
--- a/doc/source/contributor/goals.rst
+++ b/doc/source/contributor/goals.rst
@@ -43,4 +43,4 @@ We'd like to keep it this way as it makes the code easier to maintain.
.. _oslo.config: https://docs.openstack.org/oslo.config
-.. _were changed: https://review.openstack.org/#/c/619121/
+.. _were changed: https://review.opendev.org/#/c/619121/
diff --git a/doc/source/contributor/quick-dev.rst b/doc/source/contributor/quick-dev.rst
index df9c3e800..a80d3c2db 100644
--- a/doc/source/contributor/quick-dev.rst
+++ b/doc/source/contributor/quick-dev.rst
@@ -45,9 +45,9 @@ Get The Code
============
The placement code lives at
-https://git.openstack.org/cgit/openstack/placement . We want to clone that::
+https://opendev.org/openstack/placement . We want to clone that::
- git clone https://git.openstack.org/openstack/placement
+ git clone https://opendev.org/openstack/placement
cd placement
Setup The Database
@@ -156,7 +156,7 @@ illustrative purposes. You should make your own::
DB_USER=root
DB_PASS=secret
- REPO=https://git.openstack.org/openstack/placement
+ REPO=https://opendev.org/openstack/placement
# Create a directory for configuration to live.
[[ -d $CONF_DIR ]] || (sudo mkdir $CONF_DIR && sudo chown $USER $CONF_DIR)
diff --git a/doc/source/index.rst b/doc/source/index.rst
index de4d6610d..221b5b196 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -158,9 +158,9 @@ above), those techniques will be applicable here.
.. _nginx: http://nginx.org/
.. _uwsgi: http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html
.. _gunicorn: http://gunicorn.org/
-.. _first added to DevStack: https://review.openstack.org/#/c/342362/
-.. _was updated: https://review.openstack.org/#/c/456717/
-.. _systemd: https://review.openstack.org/#/c/448323/
+.. _first added to DevStack: https://review.opendev.org/#/c/342362/
+.. _was updated: https://review.opendev.org/#/c/456717/
+.. _systemd: https://review.opendev.org/#/c/448323/
.. _environment: https://docs.openstack.org/oslo.config/latest/reference/drivers.html#environment
**2. Synchronize the database**
@@ -255,9 +255,9 @@ there is a copy in the Stein release of Nova. However that code will be deleted
in the Train cycle so you must upgrade to external Placement prior to
upgrading to Train.
-.. _placement repository: https://git.openstack.org/cgit/openstack/placement
-.. _mysql-migrate-db.sh: https://git.openstack.org/cgit/openstack/placement/plain/tools/mysql-migrate-db.sh
-.. _postgresql-migrate-db.sh: https://git.openstack.org/cgit/openstack/placement/plain/tools/postgresql-migrate-db.sh
+.. _placement repository: https://opendev.org/openstack/placement
+.. _mysql-migrate-db.sh: https://opendev.org/openstack/placement/raw/branch/master/tools/mysql-migrate-db.sh
+.. _postgresql-migrate-db.sh: https://opendev.org/openstack/placement/raw/branch/master/tools/postgresql-migrate-db.sh
REST API
diff --git a/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst b/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst
index b39b5f81b..bf950e4f9 100644
--- a/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst
+++ b/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst
@@ -370,7 +370,7 @@ References
.. _`alloc-candidates-member-of`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/alloc-candidates-member-of.html
.. _`granular-resource-request`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/granular-resource-requests.html
.. _`BlazarFilter`: https://github.com/openstack/blazar-nova/tree/stable/rocky/blazarnova/scheduler/filters
-.. _`Bi-directional enforcement of traits`: https://review.openstack.org/#/c/593475/
+.. _`Bi-directional enforcement of traits`: https://review.opendev.org/#/c/593475/
History
=======
diff --git a/doc/source/upgrade/to-stein.rst b/doc/source/upgrade/to-stein.rst
index 2d89a4d09..a096b375f 100644
--- a/doc/source/upgrade/to-stein.rst
+++ b/doc/source/upgrade/to-stein.rst
@@ -190,8 +190,8 @@ Finalize the Upgrade
database that were migrated to the ``placement`` database.
.. _openstack-placement: https://pypi.org/p/openstack-placement
-.. _mysql-migrate-db.sh: https://git.openstack.org/cgit/openstack/placement/plain/tools/mysql-migrate-db.sh
-.. _postgresql-migrate-db.sh: https://git.openstack.org/cgit/openstack/placement/plain/tools/postgresql-migrate-db.sh
+.. _mysql-migrate-db.sh: https://opendev.org/openstack/placement/raw/branch/master/tools/mysql-migrate-db.sh
+.. _postgresql-migrate-db.sh: https://opendev.org/openstack/placement/raw/branch/master/tools/postgresql-migrate-db.sh
.. _alembic: https://alembic.sqlalchemy.org/en/latest/
.. _release notes: https://docs.openstack.org/releasenotes/placement/stein.html
.. _osc-placement: https://docs.openstack.org/osc-placement/latest/
diff --git a/doc/source/usage/provider-tree.rst b/doc/source/usage/provider-tree.rst
index 8d94575a0..415f8b2d7 100644
--- a/doc/source/usage/provider-tree.rst
+++ b/doc/source/usage/provider-tree.rst
@@ -416,4 +416,4 @@ which will return only 2 candidates.
.. _`Forbidden Traits`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/placement-forbidden-traits.html
.. _`Granular Resource Request`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/granular-resource-requests.html
.. _`Filter Allocation Candidates by Provider Tree`: https://specs.openstack.org/openstack/nova-specs/specs/stein/implemented/alloc-candidates-in-tree.html
-.. _`Support subtree filter`: https://review.openstack.org/#/c/595236/
+.. _`Support subtree filter`: https://review.opendev.org/#/c/595236/
diff --git a/releasenotes/notes/stein-prelude-779b0dbfe65cf9ac.yaml b/releasenotes/notes/stein-prelude-779b0dbfe65cf9ac.yaml
index 83a7ac496..de0354aac 100644
--- a/releasenotes/notes/stein-prelude-779b0dbfe65cf9ac.yaml
+++ b/releasenotes/notes/stein-prelude-779b0dbfe65cf9ac.yaml
@@ -11,6 +11,6 @@ prelude: |
to migrate data from the ``nova_api`` database to the
``placement_database``.
- .. _repository: https://git.openstack.org/cgit/openstack/placement
+ .. _repository: https://opendev.org/openstack/placement
.. _1.31: https://docs.openstack.org/placement/latest/placement-api-microversion-history.html#add-in-tree-queryparam-on-get-allocation-candidates-maximum-in-stein
.. _Upgrading from Nova to Placement: https://docs.openstack.org/placement/latest/upgrade/to-stein.html
diff --git a/tox.ini b/tox.ini
index fd8657cc4..aece8cfff 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,7 +14,7 @@ whitelist_externals =
bash
rm
env
-install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
+install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt} {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
LANGUAGE=en_US