We ran util/audit.py in puppet against puppetdb in production and compared list of unused modules with the one in the cloud and removed the ones that are used there. The final result is here (I also removed everything with openstack)
Please check and mark the ones you need. Delete the ones you don't
Thank you!
Not checked yet:
None left
Cleaned (unchecked ones have a patch but not merged yet)
- profile::product_analytics::base
- profile::product_analytics::deep_learning
- profile::product_analytics::forecasting
- profile::product_analytics::machine_learning
- profile::product_analytics::probabilistic_programming
- r_lang::bioc
- role::product_analytics::allstar_cruncher
- role::product_analytics::bayes
- role::product_analytics::deep_learner
- role::product_analytics::forecaster
- role::product_analytics::learner
- mcrouter::monitoring
- osm::usergrants
- parsoid
- profile::nutcracker
- profile::pybal::testing
- role::pybal::testing
- alternatives::install
- apparmor::hardlink
- aptrepo::distribution
- bigtop::hadoop::httpfs
- bigtop::hive::jmxtrans::metastore
- bigtop::hive::jmxtrans::server
- bigtop::spark
- bigtop::spark::master
- bigtop::spark::worker
- celery::flower
- confluent::kafka::broker::jmxtrans
- confluent::kafka::mirrors
- contint::deployment_dir
- contint::proxy_gerrit
- diamond::collector::servicestats
- diamond::collector::servicestats_lib
- dumps::generation::server::rsyncer_all
- elasticsearch::decommission
- eventlogging::service::consumer
- geoip::data::package
- Gerrit::AuthType
- html5depurate
- html5depurate::monitoring
- icinga::nsca::client
- identd
- initramfs::hook
- jmxtrans
- k8s::ssl
- labs_debrepo
- labs_debrepo::repo
- labs_lvm::swap
- locales
- logstash::input::syslog
- logstash::plugin
- lshell
- lvm::bytes_to_size
- lvm::size_to_bytes
- mariadb
- mgmt
- monitoring::graphite_freshness
- netops
- nginx::snippet
- nginx::ssl
- peek
- profile::bastionhost::migration
- profile::ceph::common
- profile::cescout
- profile::discovery_dashboards::development
- discovery_dashboards
- profile::docker::registry
- profile::docker::registry::filebackend
- profile::docker::registry::swift
- profile::docker::storage::thinpool
- profile::logstash::puppetreports
- profile::mediawiki::webserver::tls_nginx
- profile::openstack::codfw1dev::cumin::target
- profile::openstack::eqiad1::cumin::target
- profile::openstack::eqiad1::keystone::bootstrap
- profile::osm::common
- profile::peek
- profile::wmcs::db::wikireplicas::ferm
- profile::wmcs::db::wikireplicas::mariadb_config
- profile::wmcs::db::wikireplicas::monitor
- profile::wmcs::nfs::backup_keys
- profile::wmcs::nfs::misc
- profile::wmcs::nfs::misc_backup
- profile::wmcs::nfs::monitoring::interfaces
- requesttracker::plugins
- role::analytics_test_cluster::turnilo
- role::analytics_test_cluster::webserver
- role::cescout
- role::cloud_analytics::coordinator
- role::cloud_analytics::master
- role::cloud_analytics::standby
- role::discovery::beta_dashboards
- role::dmarc
- role::docker::registry
- role::dumps::generation::server::spare
- role::graphite::base
- role::html5depurate::server
- role::installserver::apt
- role::kafka::simple::mirror
- role::labs::ores::compute
- role::librenms
- role::logstash::elasticsearch
- role::logstash::puppetreports
- role::mariadb
- role::mariadb::proxy
- role::mathoid
- role::mediawiki::irc_events
- role::memcached
- role::mgmt::drac_ilo
- role::openldap::labtest
- role::osm::replica
- role::peek
- role::pentest::tools
- role::prometheus::labs_project
- role::rancid
- role::wmcs::ceph::backup
- role::wmcs::db::wikireplicas::analytics
- role::wmcs::db::wikireplicas::dedicated::analytics
- role::wmcs::db::wikireplicas::web
- role::wmcs::openstack::codfw1dev::puppetmaster::frontend_vm
- role::wmcs::openstack::codfw1dev::virt
- role::wmcs::openstack::eqiad1::cumin_controller
- role::wmcs::paws::k8s::etcd
- role::wmcs::prometheus
- role::wmcs::toolforge::grid::compute::dedicated
- service::deploy::scap
- service::packages
- sonofgridengine::admin_host
- ssh
- statsd
- stunnel
- stunnel::daemon
- systemd::preset
- systemtap::runtime
- test::base32
- test::base64
- test::deftype
- test::ensure_resources
- tmpreaper::dir
- tmpreaper::reap
- tor::instance
- udp2log::rsyncd
- varnish
- varnish::remove_instance
- xvfb
- wmflib::service::lvs_ipblock
- xdummy
False positive or otherwise needed (some of those are only used temporarily for migrations or currently unused, but will be used in the future again):
- role::dumps::distribution::server_nofetches (Useful during some maintenance)
- sonofgridengine::hostgroup (Needed)
- profile::dumps::generation::server::alldumps (will be used soon by @ArielGlenn)
- role::dumps::generation::server::alldumps (will be used soon by @ArielGlenn)
- profile::gerrit::migration_base (will be needed for T243027)
- role::gerrit::migration (will be needed for T243027)
- Stdlib::Compat::Absolute_path
- Stdlib::Compat::Bool
- Stdlib::Compat::Float
- Stdlib::Compat::Hash
- Stdlib::Compat::Integer
- Stdlib::Compat::Numeric
- Stdlib::Ensure::File::Directory
- Stdlib::Ensure::File::File
- Stdlib::Ensure::File::Link
- Stdlib::IP::Address::V6::CIDR
- Stdlib::Port::Ephemeral
- Stdlib::Port::Privileged
- Stdlib::Port::Registered
- Stdlib::Syslogfacility
- bacula
- bsection -- it's used now
- debian::codename::ne
- debian::codename::require::max
- external_proxy::instance (used by modules/role/manifests/labs/google_api_proxy.pp)
- interface (used all over, just the submodules, no top ::interface class exists)
- labstore::drbd::node (false positive, definitely--required inside the module)
- libraryupgrader (this was used by a live vps project libraryupgrader, probably to be used again by @Legoktm?)
- lvs (the submodules are used, the main class is an empty file)
- openstack::barbican::service::rocky
- openstack::barbican::service::stein
- openstack::cinder::monitor
- openstack::cinder::service::rocky
- openstack::cinder::service::stein
- openstack::clientpackages::rocky::buster
- openstack::clientpackages::rocky::jessie
- openstack::clientpackages::rocky::stretch
- openstack::clientpackages::stein::buster
- openstack::clientpackages::stein::stretch
- openstack::clientpackages::train::buster
- openstack::clientpackages::train::stretch
- openstack::clientpackages::vms::rocky::buster
- openstack::clientpackages::vms::rocky::jessie
- openstack::clientpackages::vms::rocky::stretch
- openstack::clientpackages::vms::stein::buster
- openstack::clientpackages::vms::stein::jessie
- openstack::clientpackages::vms::stein::stretch
- openstack::glance::service::rocky
- openstack::glance::service::stein
- openstack::keystone::service::rocky::buster
- openstack::keystone::service::rocky::stretch
- openstack::keystone::service::stein::buster
- openstack::neutron::bootstrap
- openstack::neutron::common::rocky::buster
- openstack::neutron::common::rocky::stretch
- openstack::neutron::common::stein::buster
- openstack::neutron::dhcp_agent::rocky::buster
- openstack::neutron::dhcp_agent::rocky::stretch
- openstack::neutron::dhcp_agent::stein::buster
- openstack::neutron::l3_agent::rocky::buster
- openstack::neutron::l3_agent::rocky::l3_agent_hacks
- openstack::neutron::l3_agent::rocky::stretch
- openstack::neutron::l3_agent::stein::buster
- openstack::neutron::l3_agent::stein::l3_agent_hacks
- openstack::neutron::linuxbridge_agent::rocky::buster
- openstack::neutron::linuxbridge_agent::rocky::stretch
- openstack::neutron::linuxbridge_agent::stein::buster
- openstack::neutron::metadata_agent::rocky::buster
- openstack::neutron::metadata_agent::rocky::stretch
- openstack::neutron::metadata_agent::stein::buster
- openstack::neutron::service::rocky
- openstack::neutron::service::stein
- openstack::nova::api::service::rocky
- openstack::nova::api::service::stein
- openstack::nova::bootstrap
- openstack::nova::common::rocky::buster
- openstack::nova::common::rocky::stretch
- openstack::nova::common::stein::buster
- openstack::nova::compute::service::rocky::buster
- openstack::nova::compute::service::rocky::stretch
- openstack::nova::compute::service::stein::buster
- openstack::nova::placement [x] openstack::nova::placement::service::rocky
- openstack::nova::placement::service::rocky
- openstack::nova::placement::service::stein
- openstack::serverpackages::train::buster
- openstack::serverpackages::train::buster::service::stein
- pontoon::lb
- pontoon::public_certs
- pontoon::public_lb
- pontoon::sd
- profile::base::firewall::extra (used by deployment-puppetdb03.deployment-prep.eqiad1.wikimedia.cloud)
- profile::beta::motd (used by deployment-prep wide)
- profile::installserver::migration
- profile::installserver::migration (seems it will still be useful, from https://gerrit.wikimedia.org/r/c/operations/puppet/+/592662)
- profile::labs::cindermount::srv (this and the next are a wip by @Andrew, see T269511)
- profile::libraryupgrader (see previous)
- profile::openldap::client (this is used by p:openldap::maintenance, and that used by r:mediawiki::maintenance, and that by mwmaint* hosts)
- profile::parsoid::diffserver (will be used by T295907 on cloud VPS)
- profile::pontoon::frontend
- profile::pontoon::lb
- profile::pontoon::sd
- profile::proxysql
- profile::toolforge::genpp::python_dev_buster (used by the toolforge bastion VPS VMs)
- profile::toolforge::genpp::python_exec_buster (used by the toolforge bastion VPS VMs)
- profile::toolforge::genpp::python_exec_stretch (used by the toolforge bastion VPS VMs)
- profile::toolforge::grid::exec_environ::buster (used by the toolforge bastion VPS VMs)
- profile::toolforge::grid::exec_environ::stretch (used by the toolforge bastion VPS VMs)
- proxysql
- raid::hpsa
- raid::md
- raid::megaraid
- raid::ssacli
- raid::mpt (this is dynamically included by modules/raid/manifests/init.pp)
- role::cloud_analytics::config (used by cloud-analytics VPS project)
- role::cloud_analytics::worker (used by cloud-analytics VPS project)
- role::insetup_noferm
- role::labs::cindermount::srv
- role::libraryupgrader (see previous)
- role::pontoon::frontend
- role::pontoon::lb
- role::simplelap
- role::wmcs::openstack::codfw1dev::puppetmaster::frontend_vm - used in the codfw1dev cloud vps testing deployment which is not visible on openstack-browser
- sslcert::ocsp (this class does not exist, theres a sslcert::ocsp::init declared in the init.pp instead, and being used)
- visualdiff::server (will be used by T295907 on cloud VPS)