Upgrade
10.1 Pre-upgrade Tasks
bash
Copy
# Create full system backup
netpack-backup create --full --output backup-$(date +%Y%m%d)
# Check system health
netpack health-check --all-nodes
netpack verify --all-packages
# Stop package distribution
netpack distribution pause
# Notify connected clients
netpack notify --maintenance "Upgrade in progress"
10.2 Repository Server Upgrade
bash
Copy
# Stop services
systemctl stop netpack-server
systemctl stop netpack-worker
# Backup configuration
cp -r /etc/netpack /etc/netpack.backup
cp -r /var/lib/netpack /var/lib/netpack.backup
# Download and install new version
wget https://netpack.io/downloads/netpack-server-2.5.0.tar.gz
tar -xzf netpack-server-2.5.0.tar.gz
cd netpack-server-2.5.0
# Run upgrade script
./upgrade.sh --from-version 2.4.0
./netpack-migrate --db-version 2.5.0
# Start services
systemctl start netpack-server
systemctl start netpack-worker
10.3 Distribution Node Upgrade
bash
Copy
# Upgrade nodes one at a time
for node in $(netpack node list); do
# Drain node
netpack node drain --node-id $node
# Wait for drain completion
netpack node wait-drain --node-id $node
# Stop node service
ssh $node "systemctl stop netpack-node"
# Install upgrade
ssh $node "wget https://netpack.io/downloads/netpack-node-2.5.0.tar.gz"
ssh $node "tar -xzf netpack-node-2.5.0.tar.gz"
ssh $node "./netpack-node-2.5.0/upgrade.sh"
# Start node service
ssh $node "systemctl start netpack-node"
# Verify node health
netpack node verify --node-id $node
done
10.4 Client Upgrade
bash
Copy
# Push client upgrade notification
netpack client notify-upgrade --version 2.5.0
# Force client upgrade (if needed)
netpack client force-upgrade --version 2.5.0 --grace-period 24h
# Linux client upgrade command
netpack upgrade-client
# Windows client upgrade
netpack generate-upgrade-script --platform windows > upgrade.ps1
10.5 Post-upgrade Verification
bash
Copy
# Verify system health
netpack health-check --all-components
# Verify database integrity
netpack-migrate verify
# Check all nodes are on new version
netpack node list --show-versions
# Test package distribution
netpack test-distribution --all-regions
# Resume normal operation
netpack distribution resume
10.6 Rollback Procedures
bash
Copy
# If upgrade fails, execute rollback
netpack-rollback --to-version 2.4.0
# Restore database if needed
netpack-backup restore --file backup-$(date +%Y%m%d)/database.sql
# Restore configuration
cp -r /etc/netpack.backup/* /etc/netpack/
# Restore package data
cp -r /var/lib/netpack.backup/* /var/lib/netpack/
# Restart services
systemctl restart netpack-server
systemctl restart netpack-worker
10.7 Upgrade Checklist
-
System Health Verification
-
Database backup status
-
Storage capacity
-
Node connectivity
-
Current package distribution status
-
Resource Requirements
-
Additional disk space needed
-
Memory requirements
-
CPU requirements
-
Network bandwidth requirements
-
Compatibility Checks
-
Database schema compatibility
-
API version compatibility
-
Client version compatibility
-
Plugin compatibility