No Azure provider available

Has anyone got experience with Foreman Azure plugin?

Problem: I can’t select Azure as provide in compute resource

Expected outcome: After azure plugin installation i want to select Azure as a provider for a new compute resource

Foreman and Proxy plugin versions:
Foreman: 1.21.3
Foreman-azure: 1.3.1-1

See the issue I filed on Github.

Hi @OmniByte! Thanks for your interest in Foreman-Azure. As I can see the github issue, it is the foreman_azure plugin. I’m afraid that plugin is no longer very active as there is development in progress for the foreman_azure_rm plugin. For your reference: https://github.com/theforeman/foreman_azure_rm/ that provides Azure Resource Manager as the compute resource.

Let us know if you have further queries.

1 Like

Thanks mate, I see there is another post where this is mentioned, sorry I missed that: Azure Plugin Missing/Broken?

Can you point me to the installation instructions for foreman_azure_rm? I cant find it per google search and foreman-installer doesnt have a “enable” option for it:

root@server0142:/home/support# foreman-installer --help | grep enable-

--enable-scenario SCENARIO    Enable installation scenario
--[no-]enable-foreman         Enable 'foreman' puppet module (default: true)
--[no-]enable-foreman-cli     Enable 'foreman_cli' puppet module (default: true)
--[no-]enable-foreman-cli-ansible Enable 'foreman_cli_ansible' puppet module (default: false)
--[no-]enable-foreman-cli-discovery Enable 'foreman_cli_discovery' puppet module (default: false)
--[no-]enable-foreman-cli-openscap Enable 'foreman_cli_openscap' puppet module (default: false)
--[no-]enable-foreman-cli-remote-execution Enable 'foreman_cli_remote_execution' puppet module (default: false)
--[no-]enable-foreman-cli-tasks Enable 'foreman_cli_tasks' puppet module (default: false)
--[no-]enable-foreman-cli-templates Enable 'foreman_cli_templates' puppet module (default: false)
--[no-]enable-foreman-proxy   Enable 'foreman_proxy' puppet module (default: true)
--[no-]enable-puppet          Enable 'puppet' puppet module (default: true)
--[no-]enable-foreman-plugin-ansible Enable 'foreman_plugin_ansible' puppet module (default: false)
--[no-]enable-foreman-plugin-azure Enable 'foreman_plugin_azure' puppet module (default: false)
--[no-]enable-foreman-plugin-bootdisk Enable 'foreman_plugin_bootdisk' puppet module (default: false)
--[no-]enable-foreman-plugin-chef Enable 'foreman_plugin_chef' puppet module (default: false)
--[no-]enable-foreman-plugin-cockpit Enable 'foreman_plugin_cockpit' puppet module (default: false)
--[no-]enable-foreman-plugin-default-hostgroup Enable 'foreman_plugin_default_hostgroup' puppet module (default: false)
--[no-]enable-foreman-plugin-dhcp-browser Enable 'foreman_plugin_dhcp_browser' puppet module (default: false)
--[no-]enable-foreman-plugin-digitalocean Enable 'foreman_plugin_digitalocean' puppet module (default: false)
--[no-]enable-foreman-plugin-discovery Enable 'foreman_plugin_discovery' puppet module (default: false)
--[no-]enable-foreman-plugin-docker Enable 'foreman_plugin_docker' puppet module (default: false)
--[no-]enable-foreman-plugin-expire-hosts Enable 'foreman_plugin_expire_hosts' puppet module (default: false)
--[no-]enable-foreman-plugin-hooks Enable 'foreman_plugin_hooks' puppet module (default: false)
--[no-]enable-foreman-plugin-host-extra-validator Enable 'foreman_plugin_host_extra_validator' puppet module (default: false)
--[no-]enable-foreman-plugin-memcache Enable 'foreman_plugin_memcache' puppet module (default: false)
--[no-]enable-foreman-plugin-monitoring Enable 'foreman_plugin_monitoring' puppet module (default: true)
--[no-]enable-foreman-plugin-omaha Enable 'foreman_plugin_omaha' puppet module (default: false)
--[no-]enable-foreman-plugin-openscap Enable 'foreman_plugin_openscap' puppet module (default: false)
--[no-]enable-foreman-plugin-ovirt-provision Enable 'foreman_plugin_ovirt_provision' puppet module (default: false)
--[no-]enable-foreman-plugin-puppetdb Enable 'foreman_plugin_puppetdb' puppet module (default: false)
--[no-]enable-foreman-plugin-remote-execution Enable 'foreman_plugin_remote_execution' puppet module (default: false)
--[no-]enable-foreman-plugin-salt Enable 'foreman_plugin_salt' puppet module (default: true)
--[no-]enable-foreman-plugin-setup Enable 'foreman_plugin_setup' puppet module (default: false)
--[no-]enable-foreman-plugin-snapshot-management Enable 'foreman_plugin_snapshot_management' puppet module (default: false)
--[no-]enable-foreman-plugin-tasks Enable 'foreman_plugin_tasks' puppet module (default: false)
--[no-]enable-foreman-plugin-templates Enable 'foreman_plugin_templates' puppet module (default: false)
--[no-]enable-foreman-compute-ec2 Enable 'foreman_compute_ec2' puppet module (default: false)
--[no-]enable-foreman-compute-gce Enable 'foreman_compute_gce' puppet module (default: false)
--[no-]enable-foreman-compute-libvirt Enable 'foreman_compute_libvirt' puppet module (default: false)
--[no-]enable-foreman-compute-openstack Enable 'foreman_compute_openstack' puppet module (default: false)
--[no-]enable-foreman-compute-ovirt Enable 'foreman_compute_ovirt' puppet module (default: false)
--[no-]enable-foreman-compute-rackspace Enable 'foreman_compute_rackspace' puppet module (default: false)
--[no-]enable-foreman-compute-vmware Enable 'foreman_compute_vmware' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-abrt Enable 'foreman_proxy_plugin_abrt' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-ansible Enable 'foreman_proxy_plugin_ansible' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-chef Enable 'foreman_proxy_plugin_chef' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-dhcp-infoblox Enable 'foreman_proxy_plugin_dhcp_infoblox' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-dhcp-remote-isc Enable 'foreman_proxy_plugin_dhcp_remote_isc' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-discovery Enable 'foreman_proxy_plugin_discovery' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-dns-infoblox Enable 'foreman_proxy_plugin_dns_infoblox' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-dns-powerdns Enable 'foreman_proxy_plugin_dns_powerdns' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-dynflow Enable 'foreman_proxy_plugin_dynflow' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-monitoring Enable 'foreman_proxy_plugin_monitoring' puppet module (default: true)
--[no-]enable-foreman-proxy-plugin-omaha Enable 'foreman_proxy_plugin_omaha' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-openscap Enable 'foreman_proxy_plugin_openscap' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-pulp Enable 'foreman_proxy_plugin_pulp' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-remote-execution-ssh Enable 'foreman_proxy_plugin_remote_execution_ssh' puppet module (default: false)
--[no-]enable-foreman-proxy-plugin-salt Enable 'foreman_proxy_plugin_salt' puppet module (default: false)

Hello! I’m afraid it will not be in the installer options as the plugin is not yet fully developed or supported. But, you can try using the gem https://rubygems.org/gems/foreman_azure_rm with gem install foreman_azure_rm or directly clone it from the source. Although, I assume it might cause some breakage issues as it is dependent on fog-azure-rm-downgraded if you see https://github.com/theforeman/foreman_azure_rm/blob/master/foreman_azure_rm.gemspec#L16 whereas the latest fog-azure-rm is way too ahead of this in the upstream https://github.com/fog/fog-azure-rm. And since there is a version upgrade request to fog-azure-rm which is on hold, we are progressing with alternate approach to fully support foreman_azure_rm soon.
Still you can track the progress on Azure Plugin Missing/Broken?
Thanks! :slight_smile:

Hello, my team is moving into cloud-agnostic mode and we want to be able to plug katello into all clouds (aws, gcp, azure). Is there any way to request that a new resource manager for Azure be completed and on-par with support for VMWare, AWS, etc? Should we instead attempt to contribute code rather than wait for it to be available?
Thank you.

Hi, I’m sure @apuntamb would appreciate any help with the foreman_azure_rm plugin - so both code contributions and early testing would be awesome! Just to make sure efforts aren’t duplicated, it is best to coordinate with her regarding what would be the most helpful way going forward.

Hi @jdbarnes! As I mentioned earlier, because of a long pause from fog-azure-rm on the version upgrade, we have decided to progress with a different approach of using azure-sdk-for-ruby and hence, we are experiencing lot of new changes to the code base. But, the good side is that now the resources do get created on Azure portal from foreman_azure_rm. It would take a bit of more time, but once we have committed certain changes, we’ll be open to any contribution.

Thanks! :slightly_smiling_face:

Also, for your reference, I would like to share this Work In Progress task Making changes for ForemanAzureRM with azure-sdk-for-ruby. This is the recent status of the plugin which expects certain changes yet and are already in progress. An optimistic estimation to publish the first version of this code would be near about two weeks from now.
As @tbrisker already mentioned, please feel free to take a look at this code base that may avoid any duplication of efforts.

Please track the changes here.

Task Progress and comparison github link: Comparison of new foreman_azure_rm code base with master

Thank You! :slightly_smiling_face:

1 Like