diff --git a/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/post.yaml b/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/post.yaml
deleted file mode 100644
index e07f5510..00000000
--- a/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/post.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-- hosts: primary
-  tasks:
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=/logs/**
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
diff --git a/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/run.yaml b/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/run.yaml
deleted file mode 100644
index 8013a2cd..00000000
--- a/playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/run.yaml
+++ /dev/null
@@ -1,73 +0,0 @@
-- hosts: primary
-  name: Autoconverted job legacy-install-dsvm-kuryr-libnetwork-multinode from old
-    job gate-install-dsvm-kuryr-libnetwork-multinode-ubuntu-xenial-nv
-  tasks:
-
-    - name: Ensure legacy workspace directory
-      file:
-        path: '{{ ansible_user_dir }}/workspace'
-        state: directory
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat > clonemap.yaml << EOF
-          clonemap:
-            - name: openstack-infra/devstack-gate
-              dest: devstack-gate
-          EOF
-          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
-              git://git.openstack.org \
-              openstack-infra/devstack-gate
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat << 'EOF' >>"/tmp/dg-local.conf"
-          [[local|localrc]]
-          enable_plugin kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork
-
-          EOF
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          export PYTHONUNBUFFERED=true
-          export DEVSTACK_GATE_NEUTRON=1
-
-          export DEVSTACK_GATE_TEMPEST=0
-
-          export BRANCH_OVERRIDE=default
-          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
-              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
-          fi
-
-          if [ "-multinode" == "-multinode" ]; then
-              export CAPABILITY_SCOPE="global"
-          fi
-
-          export PROJECTS="openstack/kuryr-libnetwork $PROJECTS"
-          export PROJECTS="openstack/devstack-plugin-container $PROJECTS"
-
-          # Keep localrc to be able to set some vars in pre_test_hook
-          export KEEP_LOCALRC=1
-
-          function gate_hook {
-              bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh
-          }
-          export -f gate_hook
-
-          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
-          ./safe-devstack-vm-gate-wrap.sh
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
diff --git a/playbooks/legacy/install-dsvm-kuryr-libnetwork/post.yaml b/playbooks/legacy/install-dsvm-kuryr-libnetwork/post.yaml
deleted file mode 100644
index e07f5510..00000000
--- a/playbooks/legacy/install-dsvm-kuryr-libnetwork/post.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-- hosts: primary
-  tasks:
-
-    - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
-      synchronize:
-        src: '{{ ansible_user_dir }}/workspace/'
-        dest: '{{ zuul.executor.log_root }}'
-        mode: pull
-        copy_links: true
-        verify_host: true
-        rsync_opts:
-          - --include=/logs/**
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
diff --git a/playbooks/legacy/install-dsvm-kuryr-libnetwork/run.yaml b/playbooks/legacy/install-dsvm-kuryr-libnetwork/run.yaml
deleted file mode 100644
index b1a6ed22..00000000
--- a/playbooks/legacy/install-dsvm-kuryr-libnetwork/run.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-- hosts: all
-  name: Autoconverted job legacy-install-dsvm-kuryr-libnetwork from old job gate-install-dsvm-kuryr-libnetwork-ubuntu-xenial-nv
-  tasks:
-
-    - name: Ensure legacy workspace directory
-      file:
-        path: '{{ ansible_user_dir }}/workspace'
-        state: directory
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat > clonemap.yaml << EOF
-          clonemap:
-            - name: openstack-infra/devstack-gate
-              dest: devstack-gate
-          EOF
-          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
-              git://git.openstack.org \
-              openstack-infra/devstack-gate
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cat << 'EOF' >>"/tmp/dg-local.conf"
-          [[local|localrc]]
-          enable_plugin kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork
-
-          EOF
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          export PYTHONUNBUFFERED=true
-          export DEVSTACK_GATE_NEUTRON=1
-
-          export DEVSTACK_GATE_TEMPEST=0
-
-          export BRANCH_OVERRIDE=default
-          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
-              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
-          fi
-
-          if [ "" == "-multinode" ]; then
-              export CAPABILITY_SCOPE="global"
-          fi
-
-          export PROJECTS="openstack/kuryr-libnetwork $PROJECTS"
-          export PROJECTS="openstack/devstack-plugin-container $PROJECTS"
-
-          # Keep localrc to be able to set some vars in pre_test_hook
-          export KEEP_LOCALRC=1
-
-          function gate_hook {
-              bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh
-          }
-          export -f gate_hook
-
-          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
-          ./safe-devstack-vm-gate-wrap.sh
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
diff --git a/zuul.d/zuul-legacy-jobs.yaml b/zuul.d/zuul-legacy-jobs.yaml
index e05fd705..bb86bf5d 100644
--- a/zuul.d/zuul-legacy-jobs.yaml
+++ b/zuul.d/zuul-legacy-jobs.yaml
@@ -3434,31 +3434,6 @@
       - openstack/kuryr
       - openstack/kuryr-kubernetes
 
-- job:
-    name: legacy-install-dsvm-kuryr-libnetwork
-    parent: legacy-dsvm-base
-    run: playbooks/legacy/install-dsvm-kuryr-libnetwork/run
-    post-run: playbooks/legacy/install-dsvm-kuryr-libnetwork/post
-    timeout: 7800
-    required-projects:
-      - openstack-infra/devstack-gate
-      - openstack/devstack-plugin-container
-      - openstack/kuryr
-      - openstack/kuryr-libnetwork
-
-- job:
-    name: legacy-install-dsvm-kuryr-libnetwork-multinode
-    parent: legacy-dsvm-base-multinode
-    run: playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/run
-    post-run: playbooks/legacy/install-dsvm-kuryr-libnetwork-multinode/post
-    timeout: 7800
-    required-projects:
-      - openstack-infra/devstack-gate
-      - openstack/devstack-plugin-container
-      - openstack/kuryr
-      - openstack/kuryr-libnetwork
-    nodeset: legacy-ubuntu-xenial-2-node
-
 - job:
     name: legacy-install-dsvm-networking-ovn-kuryr
     parent: legacy-dsvm-base