diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml
index 42817bfd6b..b6a23e2f9d 100644
--- a/ansible/roles/nova/defaults/main.yml
+++ b/ansible/roles/nova/defaults/main.yml
@@ -212,6 +212,8 @@ nova_superconductor_workers: "{{ openstack_service_workers }}"
 nova_metadata_api_workers: "{{ openstack_service_workers }}"
 nova_scheduler_workers: "{{ openstack_service_workers }}"
 
+nova_enable_nova_legacy_service: false
+
 ####################
 # Keystone
 ####################
@@ -222,6 +224,7 @@ nova_ks_services:
     endpoints:
       - {'interface': 'internal', 'url': '{{ nova_legacy_internal_endpoint }}'}
       - {'interface': 'public', 'url': '{{ nova_legacy_public_endpoint }}'}
+    enabled: "{{ nova_enable_nova_legacy_service | bool }}"
   - name: "nova"
     type: "compute"
     description: "OpenStack Compute Service"
diff --git a/ansible/roles/service-ks-register/tasks/main.yml b/ansible/roles/service-ks-register/tasks/main.yml
index fdf3605766..e96bf2b5ca 100644
--- a/ansible/roles/service-ks-register/tasks/main.yml
+++ b/ansible/roles/service-ks-register/tasks/main.yml
@@ -20,6 +20,7 @@
       until: service_ks_register_result is success
       retries: "{{ service_ks_register_retries }}"
       delay: "{{ service_ks_register_delay }}"
+      when: item.enabled | default(True) | bool
 
     - name: "{{ project_name }} | Creating endpoints"
       kolla_toolbox:
@@ -45,6 +46,7 @@
       until: service_ks_register_result is success
       retries: "{{ service_ks_register_retries }}"
       delay: "{{ service_ks_register_delay }}"
+      when: item.0.enabled | default(True) | bool
 
     - name: "{{ project_name }} | Creating projects"
       kolla_toolbox:
diff --git a/releasenotes/notes/disable-nova-legacy-service-2571d7a4bf30e08f.yaml b/releasenotes/notes/disable-nova-legacy-service-2571d7a4bf30e08f.yaml
new file mode 100644
index 0000000000..659be8e594
--- /dev/null
+++ b/releasenotes/notes/disable-nova-legacy-service-2571d7a4bf30e08f.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+  - |
+    The Nova legacy service and its endpoints are no longer advertised by
+    default. To revert to the old behaviour, please set
+    ``nova_enable_nova_legacy_service: true`` in ``globals.yml``.