diff --git a/README.rst b/README.rst
index 881fe009f340c084d7a35b1898bfb1a2386d7bfd..f9a42f78cd747f1a078fe55371be14c2c325f932 100644
--- a/README.rst
+++ b/README.rst
@@ -147,7 +147,7 @@ workflow <https://docs.openstack.org/infra/manual/developers.html>`__.
    `Launchpad <https://launchpad.net/kolla-ansible>`__.
 -  Attend weekly
    `meetings <https://wiki.openstack.org/wiki/Meetings/Kolla>`__.
--  Contribute `code <https://git.openstack.org/openstack/kolla-ansible>`__.
+-  Contribute `code <https://opendev.org/openstack/kolla-ansible>`__.
 
 Contributors
 ============
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index b3a28a66653d3b639f724559aad5270bd9a9156a..ca1d2971e2fe4830fa0c7a55c82d1df71356cea7 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -49,7 +49,7 @@ kolla_enable_sanity_cinder: "{{ kolla_enable_sanity_checks }}"
 kolla_enable_sanity_swift: "{{ kolla_enable_sanity_checks }}"
 
 kolla_dev_repos_directory: "/opt/stack/"
-kolla_dev_repos_git: "https://git.openstack.org/openstack"
+kolla_dev_repos_git: "https://opendev.org/openstack"
 kolla_dev_repos_pull: "no"
 kolla_dev_mode: "no"
 kolla_source_version: "master"
diff --git a/ansible/roles/horizon/templates/local_settings.j2 b/ansible/roles/horizon/templates/local_settings.j2
index 7e7f5697410fc8801231aac8f907bb32050fac0f..eab5185234e70c2452d3b4d172988101901fd041 100644
--- a/ansible/roles/horizon/templates/local_settings.j2
+++ b/ansible/roles/horizon/templates/local_settings.j2
@@ -477,7 +477,7 @@ POLICY_FILES_PATH = '/etc/openstack-dashboard'
 # in the Keystone v3 multi-domain case, policy.v3cloudsample.json.
 # This file is not included in the Horizon repository by default but can be
 # found at
-# http://git.openstack.org/cgit/openstack/keystone/tree/etc/ \
+# http://opendev.org/openstack/keystone/tree/etc/ \
 # policy.v3cloudsample.json
 # Having matching policy files on the Horizon and Keystone servers is essential
 # for normal operation. This holds true for all services and their policy files.
diff --git a/ansible/roles/nova/tasks/reload.yml b/ansible/roles/nova/tasks/reload.yml
index 96f57f9681b2e891e5a2aaf32363b3e49971c769..c00965b4387a0a10057936e42c94b7becd3c61e7 100644
--- a/ansible/roles/nova/tasks/reload.yml
+++ b/ansible/roles/nova/tasks/reload.yml
@@ -7,7 +7,7 @@
 # "In shutdown, no new events can be scheduled"
 # To work around this we restart the nova-compute services.
 # Speaking to the nova team, this seems to be an issue in oslo.service,
-# with a fix proposed here: https://review.openstack.org/#/c/641907.
+# with a fix proposed here: https://review.opendev.org/#/c/641907.
 # This issue also seems to affect the proxy services, which exit non-zero in
 # reponse to a SIGHUP, so restart those too.
 # TODO(mgoddard): Remove this workaround when this bug has been fixed.
diff --git a/doc/source/contributor/CONTRIBUTING.rst b/doc/source/contributor/CONTRIBUTING.rst
index 8b43d36d75905a53b46d32d83d43ef088aaac9d0..cdbf7ea27d16b1607648e0db8be37d7a6cc16355 100644
--- a/doc/source/contributor/CONTRIBUTING.rst
+++ b/doc/source/contributor/CONTRIBUTING.rst
@@ -8,7 +8,7 @@ Basics
 ======
 
 #. Our source code is hosted on `OpenStack Kolla-Ansible Git
-   <https://git.openstack.org/cgit/openstack/kolla-ansible/>`_. Bugs should be
+   <https://opendev.org/openstack/kolla-ansible/>`_. Bugs should be
    filed on `launchpad <https://bugs.launchpad.net/kolla-ansible>`_.
 
 #. Please follow OpenStack `Gerrit Workflow
@@ -35,7 +35,7 @@ Please follow our :doc:`/user/quickstart` to deploy your environment and test
 your changes.
 
 Please use the existing sandbox repository, available at `sandbox
-<https://git.openstack.org/cgit/openstack-dev/sandbox>`_, for learning, understanding
+<https://opendev.org/openstack-dev/sandbox>`_, for learning, understanding
 and testing the `Gerrit Workflow
 <https://docs.openstack.org/infra/manual/developers.html#development-workflow>`_.
 
diff --git a/doc/source/contributor/vagrant-dev-env.rst b/doc/source/contributor/vagrant-dev-env.rst
index 156f3215bb97125c99ef0db55c23ff3a4b25d1bb..0da089dd41c8fd7ce04fb5bc7384f234fd5de5d8 100644
--- a/doc/source/contributor/vagrant-dev-env.rst
+++ b/doc/source/contributor/vagrant-dev-env.rst
@@ -155,9 +155,9 @@ Find a location in the system's home directory and checkout Kolla repos:
 
 .. code-block:: console
 
-   git clone https://git.openstack.org/openstack/kolla-cli
-   git clone https://git.openstack.org/openstack/kolla-ansible
-   git clone https://git.openstack.org/openstack/kolla
+   git clone https://opendev.org/openstack/kolla-cli
+   git clone https://opendev.org/openstack/kolla-ansible
+   git clone https://opendev.org/openstack/kolla
 
 All repos must share the same parent directory so the bootstrap code can
 locate them.
diff --git a/specs/high-availability.rst b/specs/high-availability.rst
index bc4e01b66d56731f647b09b9d975203da2eea96e..09067cd0e6ee7923111dcf94dedc0955b2c301cd 100644
--- a/specs/high-availability.rst
+++ b/specs/high-availability.rst
@@ -175,7 +175,7 @@ not be reliably deployed in an active/active or active/passive fashion.
 
 In general, the Kolla HA environment looks like:
 
-![Image](https://git.openstack.org/cgit/openstack/kolla/plain/specs/ha.svg)
+![Image](https://opendev.org/openstack/kolla/plain/specs/ha.svg)
 
 Security impact
 ---------------
diff --git a/specs/kubernetes-deployment.rst b/specs/kubernetes-deployment.rst
index d5204f223cb861e3babbc17907f0c932c59b7bda..f96946e34302bae5b793ac574ad7bef980daae47 100644
--- a/specs/kubernetes-deployment.rst
+++ b/specs/kubernetes-deployment.rst
@@ -347,6 +347,6 @@ References
 - [15] http://kubernetes.io/docs/user-guide/node-selection/
 - [16] https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/pod-security-context.md
 - [17] http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html
-- [18] https://review.openstack.org/#/admin/groups/460,members
+- [18] https://review.opendev.org/#/admin/groups/460,members
 - [19] https://etherpad.openstack.org/p/kolla-newton-summit-kolla-gate-walkthru
 - https://github.com/kubernetes/kubernetes
diff --git a/specs/logging-with-heka.rst b/specs/logging-with-heka.rst
index 7cd7770b31c94a64e53162d4012dd38f2e039446..8087a6a41ab90bcc5f1e3d72cd79563d05f8c753 100644
--- a/specs/logging-with-heka.rst
+++ b/specs/logging-with-heka.rst
@@ -304,10 +304,10 @@ The location of log files on the host will be mentioned in the documentation.
 References
 ==========
 
-[1] <https://review.openstack.org/#/c/252968/>
+[1] <https://review.opendev.org/#/c/252968/>
 [2] <http://hekad.readthedocs.org>
 [3] <http://blog.sematext.com/2015/09/28/recipe-rsyslog-redis-logstash/>
-[4] <https://review.openstack.org/#/c/269745/>
+[4] <https://review.opendev.org/#/c/269745/>
 [5] <http://hekad.readthedocs.org/en/latest/config/inputs/docker_log.html>
 [6] <http://hekad.readthedocs.org/en/latest/config/inputs/logstreamer.html>
-[7] <https://review.openstack.org/#/c/269952/>
+[7] <https://review.opendev.org/#/c/269952/>
diff --git a/tox.ini b/tox.ini
index 48d1a702eab436743f58175849514634ca21a742..37c1964a1ee906a6b7350daa2257fb89bb428dc7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,7 +8,7 @@ usedevelop=True
 whitelist_externals = find
                       rm
 install_command = pip install {opts} {packages}
-deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+deps = -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
        -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
@@ -60,7 +60,7 @@ commands = bandit --skip B303 -r ansible kolla_ansible tests tools
 [testenv:venv]
 basepython = python3
 deps =
-  -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+  -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
   -r{toxinidir}/test-requirements.txt
   -r{toxinidir}/doc/requirements.txt
 commands = {posargs}
@@ -68,7 +68,7 @@ commands = {posargs}
 [testenv:docs]
 basepython = python3
 deps =
-   -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+   -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/doc/requirements.txt
 commands =
@@ -78,7 +78,7 @@ commands =
 [testenv:deploy-guide]
 basepython = python3
 deps =
-   -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+   -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/doc/requirements.txt
 
@@ -95,7 +95,7 @@ commands =
 [testenv:releasenotes]
 basepython = python3
 deps =
-   -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+   -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/doc/requirements.txt
 commands =