diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml
index ba447d6a6bde28ed06a8ccc693785d72d2ce736c..594a846569d645f368f84401eb509e5a5e3360d3 100644
--- a/ansible/roles/cinder/defaults/main.yml
+++ b/ansible/roles/cinder/defaults/main.yml
@@ -139,10 +139,6 @@ cinder_admin_base_endpoint: "{{ admin_protocol }}://{{ cinder_internal_fqdn | pu
 cinder_internal_base_endpoint: "{{ internal_protocol }}://{{ cinder_internal_fqdn | put_address_in_context('url') }}:{{ cinder_api_port }}"
 cinder_public_base_endpoint: "{{ public_protocol }}://{{ cinder_external_fqdn | put_address_in_context('url') }}:{{ cinder_api_port }}"
 
-cinder_v2_admin_endpoint: "{{ cinder_admin_base_endpoint }}/v2/%(tenant_id)s"
-cinder_v2_internal_endpoint: "{{ cinder_internal_base_endpoint }}/v2/%(tenant_id)s"
-cinder_v2_public_endpoint: "{{ cinder_public_base_endpoint }}/v2/%(tenant_id)s"
-
 cinder_v3_admin_endpoint: "{{ cinder_admin_base_endpoint }}/v3/%(tenant_id)s"
 cinder_v3_internal_endpoint: "{{ cinder_internal_base_endpoint }}/v3/%(tenant_id)s"
 cinder_v3_public_endpoint: "{{ cinder_public_base_endpoint }}/v3/%(tenant_id)s"
@@ -227,13 +223,6 @@ cinder_source_version: "{{ kolla_source_version }}"
 # Keystone
 ####################
 cinder_ks_services:
-  - name: "cinderv2"
-    type: "volumev2"
-    description: "Openstack Block Storage"
-    endpoints:
-      - {'interface': 'admin', 'url': '{{ cinder_v2_admin_endpoint }}'}
-      - {'interface': 'internal', 'url': '{{ cinder_v2_internal_endpoint }}'}
-      - {'interface': 'public', 'url': '{{ cinder_v2_public_endpoint }}'}
   - name: "cinderv3"
     type: "volumev3"
     description: "Openstack Block Storage"
diff --git a/ansible/roles/cinder/tasks/upgrade.yml b/ansible/roles/cinder/tasks/upgrade.yml
index 17bbdae0cf041a13ef375265eafadec194c61b30..fbe1f5a7df185b86b14dc54536f8ca88cd538771 100644
--- a/ansible/roles/cinder/tasks/upgrade.yml
+++ b/ansible/roles/cinder/tasks/upgrade.yml
@@ -32,3 +32,19 @@
     volumes: "{{ cinder_api.volumes }}"
   run_once: True
   delegate_to: "{{ groups[cinder_api.group][0] }}"
+
+# TODO(wuchunyang): Remove this task in 'X' cycle.
+- name: Remove Cinder v2 service
+  become: true
+  kolla_toolbox:
+    module_name: "os_keystone_service"
+    module_args:
+      name: "cinderv2"
+      service_type: "volumev2"
+      description: "Openstack Block Storage"
+      region_name: "{{ openstack_region_name }}"
+      auth: "{{ openstack_auth }}"
+      interface: "{{ openstack_interface }}"
+      cacert: "{{ openstack_cacert }}"
+      state: "absent"
+  run_once: True
diff --git a/releasenotes/notes/remove-cinder-v2-api-64cd9971ca24902c.yaml b/releasenotes/notes/remove-cinder-v2-api-64cd9971ca24902c.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..85764fd9174aa75dbc164b7738e4fdd268b92e6a
--- /dev/null
+++ b/releasenotes/notes/remove-cinder-v2-api-64cd9971ca24902c.yaml
@@ -0,0 +1,6 @@
+---
+deprecations:
+  - |
+    cinder v2 api is not supported in wallaby, and we remove it
+    from kolla project. See `API v2 support removed in Wallaby
+    <http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018697.html>`__