diff --git a/README.md b/README.md index f137f1b29f487828ce7ab8dbff46c60ff411dbb9..412c901c64a20864e8c397769014250e68a03059 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,15 @@ This plugin adds extended support to Foreman for querying and orchestrating WDS servers. +*Nota Bene*; to support locally booting your installation, you need to have a regular DHCP/TFTP setup in place, that can serve PXE files for the PXE loader chosen for the WDS host. +If you don't want the lifecycle management features of Foreman, you can ignore this requirement and only PXE boot the WDS host when it is to be built. + +### Not yet implemented: + +- Install image orchestration +- Unattend file deployment + - Recommended to build a http client (curl/wget/etc) into your boot image and download `https://foreman.example.com/unattend/wds_unattend` to drive the setup. + ## Compatibility | Foreman Version | Plugin Version | @@ -10,11 +19,10 @@ This plugin adds extended support to Foreman for querying and orchestrating WDS ## Installation -See [Plugins install instructions](https://theforeman.org/plugins/) for information on how to install Foreman plugins. - -## Usage +See the [Plugins install instructions, advanced installation from gems](https://theforeman.org/plugins/#2.3AdvancedInstallationfromGems) for information on how to install this plugins. -TODO +This plugin has JavaScript assets that require precompilation if installed into a packaged Foreman install. +You will need to install the `foreman-assets` package and run `foreman-rake plugin:assets:precompile[foreman_wds]` after installing it from gem. ## Contributing diff --git a/app/models/wds_server.rb b/app/models/wds_server.rb index 42992eb57082a5d733aae6e9e73c799f166673dd..98e330d9c7eed55f64ee93a307d9f147ae63c57e 100644 --- a/app/models/wds_server.rb +++ b/app/models/wds_server.rb @@ -59,7 +59,9 @@ class WdsServer < ApplicationRecord end def client(host) - clients.find { |c| [host.mac, host.name].include? c[:device_id] } + clients.find do |c| + [host.mac.upcase.tr(':', '-'), host.name].include?(c[:device_id]) || [host.name, host.shortname].include?(c[:device_name]) + end end def boot_images