5.0 KiB
SRS-03: iSCSI Management
1. Overview
iSCSI Management module provides configuration and management of iSCSI targets, LUNs, initiators, and portals using SCST.
2. Functional Requirements
2.1 Target Management
FR-ISCSI-001: System shall allow users to create iSCSI targets
- Input: Target name, alias
- Output: Created target with ID
- Validation: Target name uniqueness, valid IQN format
FR-ISCSI-002: System shall allow users to list all iSCSI targets
- Output: Target list with status, LUN count, initiator count
FR-ISCSI-003: System shall allow users to view target details
- Output: Target configuration, LUNs, initiators, status
FR-ISCSI-004: System shall allow users to delete iSCSI targets
- Validation: Target must not be in use
FR-ISCSI-005: System shall allow users to enable/disable targets
- Input: Target ID, enabled flag
2.2 LUN Management
FR-ISCSI-006: System shall allow users to add LUNs to targets
- Input: Target ID, device path, LUN number
- Validation: Device exists, LUN number available
FR-ISCSI-007: System shall allow users to remove LUNs from targets
- Input: Target ID, LUN ID
FR-ISCSI-008: System shall display LUN information
- Output: LUN number, device, size, status
2.3 Initiator Management
FR-ISCSI-009: System shall allow users to add initiators to targets
- Input: Target ID, initiator IQN
- Validation: Valid IQN format
FR-ISCSI-010: System shall allow users to remove initiators from targets
- Input: Target ID, initiator ID
FR-ISCSI-011: System shall allow users to list all initiators
- Output: Initiator list with associated targets
FR-ISCSI-012: System shall allow users to create initiator groups
- Input: Group name, initiator list
- Output: Created group with ID
FR-ISCSI-013: System shall allow users to manage initiator groups
- Actions: Create, update, delete, add/remove initiators
2.4 Portal Management
FR-ISCSI-014: System shall allow users to create portals
- Input: IP address, port
- Output: Created portal with ID
FR-ISCSI-015: System shall allow users to list portals
- Output: Portal list with IP, port, status
FR-ISCSI-016: System shall allow users to update portals
- Input: Portal ID, updated configuration
FR-ISCSI-017: System shall allow users to delete portals
- Input: Portal ID
2.5 Extent Management
FR-ISCSI-018: System shall allow users to create extents
- Input: Device path, size, type
- Output: Created extent
FR-ISCSI-019: System shall allow users to list extents
- Output: Extent list with device, size, type
FR-ISCSI-020: System shall allow users to delete extents
- Input: Extent device
2.6 Configuration Management
FR-ISCSI-021: System shall allow users to view SCST configuration file
- Output: Current SCST configuration
FR-ISCSI-022: System shall allow users to update SCST configuration file
- Input: Configuration content
- Validation: Valid SCST configuration format
FR-ISCSI-023: System shall allow users to apply SCST configuration
- Action: Reload SCST configuration
- Side Effect: Targets may be restarted
3. User Interface Requirements
3.1 Target List View
- Target cards with status indicators
- Quick actions (enable/disable, delete)
- Filter and search functionality
3.2 Target Detail View
- Overview tab (target info, status)
- LUNs tab (LUN list, add/remove)
- Initiators tab (initiator list, add/remove)
- Settings tab (target configuration)
3.3 Create Target Wizard
- Target name input
- Alias input
- Initial LUN assignment (optional)
- Initial initiator assignment (optional)
4. API Endpoints
GET /api/v1/scst/targets
GET /api/v1/scst/targets/:id
POST /api/v1/scst/targets
DELETE /api/v1/scst/targets/:id
POST /api/v1/scst/targets/:id/enable
POST /api/v1/scst/targets/:id/disable
POST /api/v1/scst/targets/:id/luns
DELETE /api/v1/scst/targets/:id/luns/:lunId
POST /api/v1/scst/targets/:id/initiators
GET /api/v1/scst/initiators
GET /api/v1/scst/initiators/:id
DELETE /api/v1/scst/initiators/:id
GET /api/v1/scst/initiator-groups
GET /api/v1/scst/initiator-groups/:id
POST /api/v1/scst/initiator-groups
PUT /api/v1/scst/initiator-groups/:id
DELETE /api/v1/scst/initiator-groups/:id
POST /api/v1/scst/initiator-groups/:id/initiators
GET /api/v1/scst/portals
GET /api/v1/scst/portals/:id
POST /api/v1/scst/portals
PUT /api/v1/scst/portals/:id
DELETE /api/v1/scst/portals/:id
GET /api/v1/scst/extents
POST /api/v1/scst/extents
DELETE /api/v1/scst/extents/:device
GET /api/v1/scst/config/file
PUT /api/v1/scst/config/file
POST /api/v1/scst/config/apply
GET /api/v1/scst/handlers
5. Permissions
- iscsi:read: Required for viewing targets, initiators, portals
- iscsi:write: Required for creating, updating, deleting
6. Error Handling
- Invalid IQN format
- Target name already exists
- Device not available
- SCST configuration errors
- Insufficient permissions