116 lines
3.5 KiB
Markdown
116 lines
3.5 KiB
Markdown
# SRS-04: Tape Library Management
|
|
|
|
## 1. Overview
|
|
Tape Library Management module provides management of physical and virtual tape libraries, drives, slots, and media.
|
|
|
|
## 2. Functional Requirements
|
|
|
|
### 2.1 Physical Tape Library
|
|
**FR-TAPE-001**: System shall discover physical tape libraries
|
|
- **Action**: Scan for attached tape libraries
|
|
- **Output**: List of discovered libraries
|
|
|
|
**FR-TAPE-002**: System shall list physical tape libraries
|
|
- **Output**: Library list with vendor, model, serial number
|
|
|
|
**FR-TAPE-003**: System shall display physical library details
|
|
- **Output**: Library properties, drives, slots, media
|
|
|
|
**FR-TAPE-004**: System shall allow users to load media
|
|
- **Input**: Library ID, drive ID, slot ID
|
|
- **Action**: Load tape from slot to drive
|
|
|
|
**FR-TAPE-005**: System shall allow users to unload media
|
|
- **Input**: Library ID, drive ID, slot ID
|
|
- **Action**: Unload tape from drive to slot
|
|
|
|
### 2.2 Virtual Tape Library (VTL)
|
|
**FR-TAPE-006**: System shall allow users to create VTL libraries
|
|
- **Input**: Library name, vendor, model, drive count, slot count
|
|
- **Output**: Created VTL with ID
|
|
|
|
**FR-TAPE-007**: System shall allow users to list VTL libraries
|
|
- **Output**: VTL list with status, drive count, slot count
|
|
|
|
**FR-TAPE-008**: System shall allow users to view VTL details
|
|
- **Output**: VTL configuration, drives, slots, media
|
|
|
|
**FR-TAPE-009**: System shall allow users to update VTL libraries
|
|
- **Input**: VTL ID, updated configuration
|
|
|
|
**FR-TAPE-010**: System shall allow users to delete VTL libraries
|
|
- **Input**: VTL ID
|
|
- **Validation**: VTL must not be in use
|
|
|
|
**FR-TAPE-011**: System shall allow users to start/stop VTL libraries
|
|
- **Input**: VTL ID, action (start/stop)
|
|
|
|
### 2.3 Drive Management
|
|
**FR-TAPE-012**: System shall display drive information
|
|
- **Output**: Drive status, media loaded, position
|
|
|
|
**FR-TAPE-013**: System shall allow users to control drives
|
|
- **Actions**: Load, unload, eject, rewind
|
|
|
|
### 2.4 Slot Management
|
|
**FR-TAPE-014**: System shall display slot information
|
|
- **Output**: Slot status, media present, media label
|
|
|
|
**FR-TAPE-015**: System shall allow users to manage slots
|
|
- **Actions**: View media, move media
|
|
|
|
### 2.5 Media Management
|
|
**FR-TAPE-016**: System shall display media inventory
|
|
- **Output**: Media list with label, type, status, location
|
|
|
|
**FR-TAPE-017**: System shall allow users to label media
|
|
- **Input**: Media ID, label
|
|
- **Validation**: Valid label format
|
|
|
|
## 3. User Interface Requirements
|
|
|
|
### 3.1 Library List View
|
|
- Physical and VTL library cards
|
|
- Status indicators
|
|
- Quick actions (discover, create VTL)
|
|
|
|
### 3.2 Library Detail View
|
|
- Overview tab (library info, status)
|
|
- Drives tab (drive list, controls)
|
|
- Slots tab (slot grid, media info)
|
|
- Media tab (media inventory)
|
|
|
|
### 3.3 VTL Creation Wizard
|
|
- Library name and configuration
|
|
- Drive and slot count
|
|
- Vendor and model selection
|
|
|
|
## 4. API Endpoints
|
|
|
|
```
|
|
GET /api/v1/tape/physical/libraries
|
|
POST /api/v1/tape/physical/libraries/discover
|
|
GET /api/v1/tape/physical/libraries/:id
|
|
|
|
GET /api/v1/tape/vtl/libraries
|
|
GET /api/v1/tape/vtl/libraries/:id
|
|
POST /api/v1/tape/vtl/libraries
|
|
PUT /api/v1/tape/vtl/libraries/:id
|
|
DELETE /api/v1/tape/vtl/libraries/:id
|
|
POST /api/v1/tape/vtl/libraries/:id/start
|
|
POST /api/v1/tape/vtl/libraries/:id/stop
|
|
```
|
|
|
|
## 5. Permissions
|
|
- **tape:read**: Required for viewing libraries
|
|
- **tape:write**: Required for creating, updating, deleting, controlling
|
|
|
|
## 6. Error Handling
|
|
- Library not found
|
|
- Drive not available
|
|
- Slot already occupied
|
|
- Media not found
|
|
- MHVTL service errors
|
|
- Insufficient permissions
|
|
|