Install smart proxy plugin using a gem - smart_proxy_ipam

Problem:
I’m trying to add smart_proxy_ipam as smart proxy plugin

Expected outcome:

Being able to add smart_proxy_ipam as a start proxy as a feature

Foreman and Proxy versions:

  • foreman-3.0.0-1.el8.noarch
  • foreman-proxy-3.0.0-1.el8.noarch

Foreman and Proxy plugin versions:

  • candlepin-4.1.7-1.el8.noarch
  • candlepin-selinux-4.1.7-1.el8.noarch
  • foreman-3.0.0-1.el8.noarch
  • foreman-cli-3.0.0-1.el8.noarch
  • foreman-debug-3.0.0-1.el8.noarch
  • foreman-dynflow-sidekiq-3.0.0-1.el8.noarch
  • foreman-installer-3.0.0-1.el8.noarch
  • foreman-installer-katello-3.0.0-1.el8.noarch
  • foreman-postgresql-3.0.0-1.el8.noarch
  • foreman-proxy-3.0.0-1.el8.noarch
  • foreman-release-3.0.0-1.el8.noarch
  • foreman-service-3.0.0-1.el8.noarch
  • katello-4.2.0.1-1.el8.noarch
  • katello-certs-tools-2.8.0-1.el8.noarch
  • katello-client-bootstrap-1.7.7-1.el8.noarch
  • katello-common-4.2.0.1-1.el8.noarch
  • katello-debug-4.2.0.1-1.el8.noarch
  • katello-default-ca-1.0-1.noarch
  • katello-repos-4.2.0.1-1.el8.noarch
  • katello-server-ca-1.0-1.noarch
  • katello.comtec.lan-apache-1.0-1.noarch
  • katello.comtec.lan-foreman-client-1.0-1.noarch
  • katello.comtec.lan-foreman-proxy-1.0-1.noarch
  • katello.comtec.lan-foreman-proxy-client-1.0-1.noarch
  • katello.comtec.lan-puppet-client-1.0-1.noarch
  • pulp-client-1.0-1.noarch
  • python3-pulp-ansible-0.9.0-2.el8.noarch
  • python3-pulp-certguard-1.4.0-3.el8.noarch
  • python3-pulp-container-2.8.1-0.2.el8.noarch
  • python3-pulp-deb-2.14.1-2.el8.noarch
  • python3-pulp-file-1.8.2-2.el8.noarch
  • python3-pulp-rpm-3.14.6-2.el8.noarch
  • python3-pulpcore-3.14.8-2.el8.noarch
  • qpid-proton-c-0.32.0-3.el8.x86_64
  • rubygem-foreman-tasks-5.1.1-1.fm3_0.el8.noarch
  • rubygem-foreman-tasks-core-0.3.6-1.fm2_5.el8.noarch
  • rubygem-foreman_bootdisk-18.0.0-1.fm3_0.el8.noarch
  • rubygem-foreman_bootdisk-doc-18.0.0-1.fm3_0.el8.noarch
  • rubygem-foreman_discovery-18.0.0-1.fm3_0.el8.noarch
  • rubygem-foreman_maintain-0.8.10-1.el8.noarch
  • rubygem-foreman_puppet-1.0.3-1.fm3_0.el8.noarch
  • rubygem-foreman_remote_execution-4.7.0-1.fm3_0.el8.noarch
  • rubygem-foreman_remote_execution_core-1.4.8-1.el8.noarch
  • rubygem-foreman_setup-7.0.0-3.fm2_5.el8.noarch
  • rubygem-foreman_setup-doc-7.0.0-3.fm2_5.el8.noarch
  • rubygem-foreman_statistics-1.2.0-1.fm3_0.el8.noarch
  • rubygem-foreman_statistics-doc-1.2.0-1.fm3_0.el8.noarch
  • rubygem-foreman_xen-1.0.1-2.fm2_5.el8.noarch
  • rubygem-foreman_xen-doc-1.0.1-2.fm2_5.el8.noarch
  • rubygem-hammer_cli-3.0.0-1.el8.noarch
  • rubygem-hammer_cli_foreman-3.0.0-1.el8.noarch
  • rubygem-hammer_cli_foreman_bootdisk-0.3.0-2.el8.noarch
  • rubygem-hammer_cli_foreman_bootdisk-doc-0.3.0-2.el8.noarch
  • rubygem-hammer_cli_foreman_discovery-1.0.2-2.fm2_5.el8.noarch
  • rubygem-hammer_cli_foreman_puppet-0.0.3-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_foreman_remote_execution-0.2.2-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_foreman_tasks-0.0.16-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_katello-1.1.1-0.1.pre.master.20210804141838gitece0b63.el8.noarch
  • rubygem-katello-4.2.0.1-1.el8.noarch
  • rubygem-pulp_ansible_client-0.8.0-1.el8.noarch
  • rubygem-pulp_certguard_client-1.4.0-1.el8.noarch
  • rubygem-pulp_container_client-2.7.0-1.el8.noarch
  • rubygem-pulp_deb_client-2.13.0-1.el8.noarch
  • rubygem-pulp_file_client-1.8.1-1.el8.noarch
  • rubygem-pulp_python_client-3.4.0-1.el8.noarch
  • rubygem-pulp_rpm_client-3.13.3-1.el8.noarch
  • rubygem-pulpcore_client-3.14.1-1.el8.noarch
  • rubygem-qpid_proton-0.32.0-3.el8.x86_64
  • rubygem-smart_proxy_pulp-3.1.0-1.fm2_6.el8.noarch

Distribution and version:

AlmaLinux 8.4

Other relevant data:

Usually I’m trying to install plugins using enable feature from foreman (if the plugin exists in the list) or using rpm from OS

Unfortunately not of the option is available in this case so I want to install using a gem.

Is not very clear how I should manage this, at least to me.

I successfully run the following command:

gem install smart_proxy_ipam

Successfully installed smart_proxy_ipam-0.1.4
Parsing documentation for smart_proxy_ipam-0.1.4
Done installing documentation for smart_proxy_ipam after 0 seconds
1 gem installed

I also copied the externalipam.yml and externalipam_netbox.yml files to /etc/foreman/plugins/

cat externalipam.yml

---
:enabled: true
:use_provider: externalipam_phpipam

What should I do next ?
The feature is not enabled in proxy features even with refresh features of proxy.

Thanks.

I think that’s mostly a matter of “nobody got around to packaging it”. Please open a new issue.

Generally speaking I’d recommend https over true. Exposing the plugin via plain text HTTP is not needed for most modules.

Have you restarted the Smart Proxy service?

I had restarted proxy services, of course.

I managed to get it work, i found a patch on github and that did the trick.