diff --git a/playbooks/zuul/logstash-filters/post.yaml b/playbooks/zuul/logstash-filters/post.yaml
deleted file mode 100644
index 2ac6b41d4c..0000000000
--- a/playbooks/zuul/logstash-filters/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=/opendev/system-config/applytest/**
-          - --include=*/
-          - --exclude=*
-          - --prune-empty-dirs
diff --git a/playbooks/zuul/logstash-filters/run.yaml b/playbooks/zuul/logstash-filters/run.yaml
deleted file mode 100644
index f7ccc1a9ce..0000000000
--- a/playbooks/zuul/logstash-filters/run.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-- hosts: all
-  name: Autoconverted job legacy-logstash-filters from old job gate-logstash-filters-ubuntu-xenial
-  tasks:
-
-    - include_role:
-        name: ensure-virtualenv
-
-    - name: Ensure legacy workspace directory
-      file:
-        path: '{{ ansible_user_dir }}/workspace'
-        state: directory
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          /usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \
-            https://opendev.org opendev/system-config
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
-
-    - shell:
-        cmd: |
-          set -e
-          set -x
-          cd opendev/system-config
-          ./tools/logstash-filter-test.sh
-        executable: /bin/bash
-        chdir: '{{ ansible_user_dir }}/workspace'
-      environment: '{{ zuul | zuul_legacy_vars }}'
diff --git a/tools/logstash-filter-test.sh b/tools/logstash-filter-test.sh
deleted file mode 100755
index b59900e9b5..0000000000
--- a/tools/logstash-filter-test.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash -ex
-
-# Copyright 2016 Hewlett-Packard Development Company, L.P.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-. ./tools/prep-apply.sh
-
-/usr/zuul-env/bin/zuul-cloner --workspace /tmp --cache-dir /opt/git \
-    https://git.openstack.org \
-    openstack/logstash-filters
-sha=$(git --git-dir=/tmp/openstack/logstash-filters/.git rev-parse HEAD)
-
-cat > node.pp <<EOF
-  \$elasticsearch_nodes = [ 'localhost' ]
-  class { 'openstack_project::logstash_worker':
-    filter_source => 'file:///tmp/openstack/logstash-filters/.git',
-    filter_rev    => '$sha',
-  }
-EOF
-
-sudo apt-get update  # Update apt cache before running puppet
-sudo puppet apply --modulepath=${MODULE_PATH} --color=false --debug node.pp
-
-/opt/logstash/bin/logstash --configtest --config /etc/logstash/conf.d -w 1
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 214b8d888a..24c10445ae 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -3,7 +3,6 @@
       - system-config-zuul-role-integration
       - system-config-gerrit-images
       - system-config-puppet-apply-jobs
-      - system-config-logstash-filter-jobs
     check:
       jobs:
         - opendev-tox-docs
diff --git a/zuul.d/puppet.yaml b/zuul.d/puppet.yaml
index bdc0d3883f..d034d499d9 100644
--- a/zuul.d/puppet.yaml
+++ b/zuul.d/puppet.yaml
@@ -147,59 +147,3 @@
     gate:
       jobs:
         - system-config-puppet-beaker-rspec-puppet-4-infra
-
-- job:
-    name: system-config-legacy-logstash-filters
-    parent: legacy-base
-    required-projects:
-      - opendev/ansible-role-puppet
-      - openstack/logstash-filters
-      - opendev/puppet-askbot
-      - opendev/puppet-bugdaystats
-      - opendev/puppet-bup
-      - opendev/puppet-elastic_recheck
-      - opendev/puppet-elasticsearch
-      - opendev/puppet-ethercalc
-      - opendev/puppet-haveged
-      - opendev/puppet-httpd
-      - opendev/puppet-jeepyb
-      - opendev/puppet-kibana
-      - opendev/puppet-lodgeit
-      - opendev/puppet-log_processor
-      - opendev/puppet-logrotate
-      - opendev/puppet-logstash
-      - opendev/puppet-mediawiki
-      - opendev/puppet-meetbot
-      - opendev/puppet-mysql_backup
-      - opendev/puppet-openstack_health
-      - opendev/puppet-openstackid
-      - opendev/puppet-pgsql_backup
-      - opendev/puppet-pip
-      - opendev/puppet-project_config
-      - opendev/puppet-ptgbot
-      - opendev/puppet-redis
-      - opendev/puppet-reviewday
-      - opendev/puppet-simpleproxy
-      - opendev/puppet-ssh
-      - opendev/puppet-statusbot
-      - opendev/puppet-storyboard
-      - opendev/puppet-subunit2sql
-      - opendev/puppet-tmpreaper
-      - opendev/puppet-ulimit
-      - opendev/puppet-user
-      - opendev/puppet-vcsrepo
-      - opendev/puppet-zanata
-      - opendev/system-config
-    run: playbooks/zuul/logstash-filters/run.yaml
-    post-run: playbooks/zuul/logstash-filters/post.yaml
-    timeout: 1800
-    nodeset: ubuntu-xenial
-
-- project-template:
-    name: system-config-logstash-filter-jobs
-    check:
-      jobs:
-        - system-config-legacy-logstash-filters
-    gate:
-      jobs:
-        - system-config-legacy-logstash-filters