# Calypso Appliance - Pre-Reboot Checklist

**Date:** 2025-12-31  
**Status:** ✅ READY FOR REBOOT

---

## Enabled Services (Auto-start on boot)

### Core Application Services
| Service | Status | Purpose |
|---------|--------|---------|
| postgresql.service | ✅ enabled | Database backend |
| calypso-api.service | ✅ enabled | REST API backend |
| calypso-frontend.service | ✅ enabled | Web UI (React) |
| calypso-logger.service | ✅ enabled | Application logging |

### Backup Services (Bacula)
| Service | Status | Purpose |
|---------|--------|---------|
| bacula-director.service | ✅ enabled | Backup orchestration |
| bacula-fd.service | ✅ enabled | File daemon (client) |
| bacula-sd.service | ✅ enabled | Storage daemon (VTL) |

### Virtual Tape Library (mhVTL)
| Service | Status | Purpose |
|---------|--------|---------|
| mhvtl.target | ✅ enabled | VTL master target |
| vtllibrary@10.service | ✅ enabled | Scalar i500 library |
| vtllibrary@30.service | ✅ enabled | Scalar i40 library |
| vtltape@11-14.service | ✅ enabled | i500 tape drives (4) |
| vtltape@31-34.service | ✅ enabled | i40 tape drives (4) |

### Storage Protocols
| Service | Status | Purpose |
|---------|--------|---------|
| nfs-server.service | ✅ enabled | NFS file sharing |
| nfs-blkmap.service | ✅ enabled | NFS block mapping |
| smbd.service | ✅ enabled | Samba/CIFS server |
| nmbd.service | ✅ enabled | NetBIOS name service |
| scst.service | ✅ enabled | SCSI target subsystem |
| iscsi-scstd.service | ✅ enabled | iSCSI target daemon |

### Monitoring & Management
| Service | Status | Purpose |
|---------|--------|---------|
| snmpd.service | ✅ enabled | SNMP monitoring |

---

## Boot Order & Dependencies

```
1. Network (systemd-networkd)
   ↓
2. Storage Foundation
   - NFS server
   - Samba (smbd/nmbd)
   - SCST/iSCSI
   ↓
3. PostgreSQL Database
   ↓
4. VTL Services (mhvtl.target)
   - vtllibrary services
   - vtltape services
   ↓
5. Bacula Services
   - bacula-director (after postgresql)
   - bacula-fd
   - bacula-sd (after VTL)
   ↓
6. Calypso Application
   - calypso-api (after postgresql)
   - calypso-frontend (wants calypso-api)
   - calypso-logger (wants api & frontend)
```

---

## Post-Reboot Verification

### 1. Check System Boot
```bash
# Check boot time
systemd-analyze
systemd-analyze blame | head -20
```

### 2. Check Core Services
```bash
# Calypso application
systemctl status calypso-api calypso-frontend calypso-logger

# Database
systemctl status postgresql

# Check API health
curl -k https://localhost:8443/health
curl -k https://localhost:3000/health
```

### 3. Check Backup Services
```bash
# Bacula status
systemctl status bacula-director bacula-fd bacula-sd

# Test bconsole connection
echo "status director" | bconsole

# Check VTL connection
echo "status storage=Scalar-i500" | bconsole
```

### 4. Check Storage Protocols
```bash
# NFS
systemctl status nfs-server
showmount -e localhost

# Samba
systemctl status smbd nmbd
smbstatus

# iSCSI/SCST
systemctl status scst iscsi-scstd
scstadmin -list_target
```

### 5. Check VTL Devices
```bash
# VTL services
systemctl status mhvtl.target

# Check devices
lsscsi | grep -E "mediumx|tape"

# Test autochanger
mtx -f /dev/sg7 status | head -10
```

### 6. Check Monitoring
```bash
# SNMP
systemctl status snmpd
snmpwalk -v2c -c public localhost system
```

---

## Network Access Points

| Service | URL/Port | Description |
|---------|----------|-------------|
| Web UI | https://[IP]:3000 | Calypso frontend |
| API | https://[IP]:8443 | REST API |
| Bacula Director | localhost:9101 | bconsole access |
| PostgreSQL | localhost:5432 | Database |
| NFS | tcp/2049 | NFS shares |
| Samba | tcp/445, tcp/139 | CIFS/SMB shares |
| iSCSI | tcp/3260 | iSCSI targets |
| SNMP | udp/161 | Monitoring |

---

## Important Notes

### Bacula VTL Configuration
- **Scalar i500**: 43 slots, 20 tapes labeled (E01001L8-E01020L8) ✅
- **Scalar i40**: 44 slots, needs investigation after reboot ⚠️
- Changer devices: /dev/sg7 (i500), /dev/sg8 (i40)
- Tape devices: /dev/nst0-7 (non-rewinding)
- User permissions: bacula in tape+cdrom groups

### Storage Paths
- Calypso working directory: `/development/calypso`
- Bacula configs: `/etc/bacula/`
- VTL configs: `/etc/mhvtl/`
- PostgreSQL data: `/var/lib/postgresql/`

### Known Issues
- Scalar i40 VTL: Hardware error during tape load (requires investigation)

---

## Emergency Recovery

If services fail to start after reboot:

```bash
# Check failed services
systemctl --failed

# View service logs
journalctl -xeu calypso-api
journalctl -xeu bacula-director
journalctl -xeu mhvtl.target

# Manual service restart
systemctl restart calypso-api
systemctl restart bacula-sd
systemctl restart mhvtl.target
```

---

## Checklist Summary

- [x] PostgreSQL database: enabled
- [x] Calypso services (api, frontend, logger): enabled
- [x] Bacula services (director, fd, sd): enabled
- [x] mhVTL services (libraries, tape drives): enabled
- [x] NFS server: enabled
- [x] Samba (smbd, nmbd): enabled
- [x] SCST/iSCSI: enabled
- [x] SNMP monitoring: enabled
- [x] Network services: configured
- [x] User permissions: configured
- [x] Service dependencies: verified

**Status: SAFE TO REBOOT** ✅

---

*Generated: 2025-12-31*  
*Documentation: /development/calypso/docs/*
