1. Introduction 1.1. Project/Component Working Name: iSCSI Initiator SMF Service 1.2. Name of Document Author/Supplier: Author: Jack Meng 1.3 Date of This Document: 25 December, 2008 2. Project Summary 2.1. Project Description This project makes the existing iSCSI initiator feature in Solaris a standard SMF service. 4. Technical Description 4.1. Details: Currently iSCSI initiator feature does not exist as an SMF service in Solaris. The existing service svc:/network/iscsi_initiator:default, came with PSARC/2003/126 iSCSI project, only represents the name resolutions service for the iSCSI kernel module. This is always confusing since the enable/disable of that service doesn't affect the behavior of iSCSI initiator. iSCSI module starts the kernel daemon in its attach routine, which is a behavior blind of the status of the OS and causing defects/limitation that can not be fixed within present architecture, few examples are listed below: 1. 'Unable to login to xxxxxxxxxxx' during system startup 2. Inconsistent connections may happen after system rebooted as the login failed during startup 3. Unable to add customized dependency for special usage, e.g., iSCSI disk is used as shared device in cluster, so iSCSI initiator should try to login after iSCSI target online. This project provides an upgraded service, named svc:/network/iscsi/initiator:default to replace the existing service with new functionality and existing nationalities in svc:/network/iscsi_initiator:default will be inherited. The upgraded service will provide following benefits, 1. Users are able to explicitly enable/disable iSCSI initiator feature in Solaris. 2. Avoid the blindly starting up by specifying dependencies. 3. iSCSI initiator will be more flexible to serve special requirements. All methods in the upgraded service will be provided with following least privilege, The default state of the upgraded service will be 'enabled' while it is 'disabled' in existing service. Also, the existing service is an uncommitted interface and this case will upgrade the stability to committed with a different name to unify the naming of services of iscsi software initiator/target. If the upgraded service is disabled, the current CLI, iscsiadm, will just prompt users that service is not running and then exits without doing any further actions, e.g., root@iscsi:$ iscsiadm list target The service of iSCSI software initiator is not running. The removal of the original service and install of the new one will be a part of Solaris upgrade install process. 4.5 Interfaces: Exported Interface | Stability | Description --------------------------------------|--------------|------------------- svc:/network/iscsi/initiator:default | Committed | iSCSI initiator service, | | upgraded from iscsi_initiator:default | | with new functions Imported Interface | Stability | Description --------------------------------------|--------------|------------------- usr/share/man/man7d/iscsi.7d | Committed | manpage of iSCSI initiator usr/share/man/man1m/iscsiadm.1m | Committed | manpage of iSCSI initiator CLI usr/sbin/iscsiadm | Committed | iSCSI initiator CLI Removed Interface | Stability | Description --------------------------------------|--------------|------------------- svc:/network/iscsi_initiator:default | Uncommitted | service for iSCSI name resolution Other documents: PSARC/2003/126 iSCSI project: http://sac.sfbay/PSARC/2003/126/ System Administration Guide: Devices and File Systems, Chapter 14 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ONNV, ON10 6.4.2. Target Release/Binding This feature will be backported to S10U8 and requires a patch binding. 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open