Today we have various plugins packaged and I want to provide a list at Foreman landscape so it’s easy to see. While completing this list I’m wondering if we should retire some of the plugins in the Foreman 3.7 timeframe.
foreman_graphite
Repo: GitHub - theforeman/foreman_graphite: Send performance metrics to Graphite
Last commit was in 2015, but on the other hand it is really tiny and the ActiveSupport API it relies on appears to be unchanged. Still, I’m not sure anyone uses this and would nominate it for retirement.
Unless anyone objects I’d like to remove.
foreman_noenv
Repo: GitHub - joshuabaird/foreman_noenv: A Foreman plugin to allow Puppet agent's to specify their own environment
Last commit in 2016 and there are issues open:
opened 11:31PM - 16 Jun 18 UTC
Hi,
I just installed the rpm on a foreman 1.17.1 setup. The puppet module execu… ted `foreman-rake db:migrate` and that fails with:
```
# foreman-rake db:migrate
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/database/schema_generator.rb:19: warning: constant ::Fixnum is deprecated
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/database/schema_generator.rb:19: warning: constant ::Bignum is deprecated
/usr/share/foreman/lib/core_extensions.rb:183: warning: already initialized constant ActiveSupport::MessageEncryptor::DEFAULT_CIPHER
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/message_encryptor.rb:22: warning: previous definition of DEFAULT_CIPHER was here
The PGconn, PGresult, and PGError constants are deprecated, and will be
removed as of version 1.0.
You should use PG::Connection, PG::Result, and PG::Error instead, respectively.
Called from /opt/theforeman/tfm/root/usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
class AddNoenvToHosts < ActiveRecord::Migration[4.2]
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:525:in `inherited'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_noenv-0.0.7/db/migrate/20150804115345_add_noenv_to_hosts.rb:1:in `<top (required)>'
/opt/theforeman/tfm/root/usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:962:in `load_migration'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:958:in `migration'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:953:in `disable_ddl_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1305:in `use_transaction?'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1297:in `ddl_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1229:in `execute_migration_in_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1201:in `block in migrate_without_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `each'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `migrate_without_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1148:in `block in migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1317:in `with_advisory_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1148:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/opt/rh/rh-ruby24/root/usr/share/gems/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
class AddNoenvToHosts < ActiveRecord::Migration[4.2]
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:525:in `inherited'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_noenv-0.0.7/db/migrate/20150804115345_add_noenv_to_hosts.rb:1:in `<top (required)>'
/opt/theforeman/tfm/root/usr/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:962:in `load_migration'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:958:in `migration'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:953:in `disable_ddl_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1305:in `use_transaction?'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1297:in `ddl_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1229:in `execute_migration_in_transaction'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1201:in `block in migrate_without_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `each'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1200:in `migrate_without_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1148:in `block in migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1317:in `with_advisory_lock'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1148:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
/opt/rh/rh-ruby24/root/usr/share/gems/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
```
opened 05:04PM - 05 Oct 18 UTC
After upgrading to 1.18, I noticed this in the logs
```
ForemanNoenv: skipping… engine hook (undefined method `alias_method_chain'
```
`alias_method_chain` was [removed](
https://www.justinweiss.com/articles/the-lesser-known-features-in-rails-5-dot-1/) in rails 5.1.
It appears in the code [here](
https://github.com/joshuabaird/foreman_noenv/blob/97d6ae27c358be4d607fdc6c97eb4d8560213f31/app/models/concerns/foreman_noenv/host_managed_extensions.rb#L6)
This [blog](
https://littlelines.com/blog/2018/01/31/replace-alias-method-chain) post could be helpful to anyone who wants to code a fix.
These have been open since 2018 so it’s been broken for years by now. I don’t see any other option than removal here.
theforeman:rpm/develop
← ekohl:rpm/develop-remove-foreman_noenv
opened 11:53AM - 09 Mar 23 UTC
This package has been broken since Foreman 1.17, which is a very long time ago.
…
https://github.com/joshuabaird/foreman_noenv/issues/19
https://github.com/joshuabaird/foreman_noenv/issues/20
ovirt_provision_plugin
Repo: GitHub - theforeman/ovirt_provision_plugin: Foreman helper plugin for oVirt registration after bare-metal provisioning
Last commit in 2018. Looking at the source, it relies on puppetrun!
which was dropped in:
committed 10:44AM - 03 Jun 20 UTC
So since has been broken since Foreman 2.2 and nobody reported anything so I doubt anyone still uses this.
theforeman:rpm/develop
← ekohl:rpm/develop-remove-ovirt_provision_plugin
opened 11:55AM - 09 Mar 23 UTC
This plugin relied on puppetrun! which has been dropped in Foreman 2.2, which me… ans it's been broken without any reports for a long time.
foreman_vmwareannotations
Repo: GitHub - theforeman/foreman_vmwareannotations: Foreman Plugin to set a VMWare host's comment as an annotation for the VM.
Last commit was in 2018. It is very tiny, but that just makes me wonder if we shouldn’t include it in core.
For now my recommendation is to retire the plugin.
foreman_m2
Repo: GitHub - ianballou/foreman_m2: M2 Foreman Plugin
Last commit was in 2018 and is marked as work in progress.
@iballou should be able to say for sure, but I think we can retire this.