dsc-iscsidsc

DSC resources for configuring Windows iSCSI targets and initiators.


Keywords
windows, puppetdsc, dsc, dsc-resources, iscsi, iscsi-initiator-loopback, iscsi-target, isns-server, powershell-dsc
License
Apache-2.0
Install
puppet module install dsc-iscsidsc --version 2.0.0-0-0

Documentation

iSCSIDsc

Build Status Code Coverage Azure DevOps tests PowerShell Gallery (with prereleases) PowerShell Gallery

Code of Conduct

This project has adopted this code of conduct.

Releases

For each merge to the branch main a preview release will be deployed to PowerShell Gallery. Periodically a release version tag will be pushed which will deploy a full release to PowerShell Gallery.

Contributing

Please check out common DSC Community contributing guidelines.

Change log

A full list of changes in each version can be found in the change log.

Resources

The iSCSIDsc module contains DSC resources for configuring Windows iSCSI Targets and Initiators.

  • iSCSIInitiator: This resource is used to add or remove an iSCSI Target Portal and connect it to an iSCSI Target.
  • iSCSIServerTarget: This resource is used to create or remove Virtual Disks for use by iSCSI Targets.
  • iSCSIVirtualDisk: This resource is used to create or remove Virtual Disks for use by iSCSI Targets.

This project has adopted this Open Source Code of Conduct.

Documentation and Examples

For a full list of resources in iSCSIDsc and examples on their use, check out the iSCSIDsc wiki.

Requirements

  • The iSCSI Target resources can only be used on Windows Server 2012 and above. They can not be used on Windows Desktop operating systems.
  • The iSCSI Target resources can only be used on Windows Servers that have the iSCSI Target Server (FS-iSCSITarget-Server) feature installed.
  • Before the iSCSI Initiator resource is used in a config, the msiscsi service must be started. It is recommended that this service is set to startup automatically in any iSCSI Initiator configurations.

Important Information

iSNS Servers

Configuring a Server Target or Initiator to connect to an iSNS Server requires that the iSNS Server is online and accessible. If an iSNS Server is specified but it can't be contacted, the iSNS Server will not be set on the Server Target or Initiator, but an error will not be thrown. This error will be reported in the DSC verbose logs however. This means that the configuration will continue to be applied until the iSNS Server is contactable so that the iSNS Server setting will be configured as soon as the iSNS Server becomes contactable.

Known Issues

  • Integration Tests on the iSCSIInitiator resource are currently disabled because it requires iSCSI Initiator Loopback, but this isn't documented anywhere so could not be made to work.

    Note: iSCSI Initiator Loopback is supported according to this document. This issue won't prevent this resource from working correctly, it simply reduces the effectiveness of automated testing of the resource.

  • Integration Tests on iSNS Server settings on the Server Target and Initiator resources are currently disabled because they require access to an iSNS server. However, the "iSNSServer" parameter is still set in the integration test, but the resulting configuration parameter value is not confirmed.