Madagascar / CHANGELOG.md
Newer Older
f16725e 3 months ago History
105 lines | 5.589kb
Bogdan Timofte authored 3 months ago
1
# Madagascar Cluster Changelog
2

            
3
All notable changes to the Madagascar cluster configuration and infrastructure are documented in this file.
4

            
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6

            
7
Each entry should reference related issues using the format `[ISSUE-YYYY-NNN]`.
8

            
9
---
10

            
11
## [Unreleased]
12

            
13
### Known Issues
14
- [ISSUE-2025-001] Thunderbolt interfaces MTU resets to 1500 after networking restart (open)
15

            
16
### Added
17
- Added a central `cluster/projects/README.md` policy for current and future cluster-level projects
18

            
19
### Changed
20
- Consolidated `pve-net-hang-watchdog` into its own project folder under `cluster/projects/pve-net-hang-watchdog`
21
- Standardized project rules around well-known install paths, mandatory uninstall scripts, and uninstall-before-reinstall workflow
22
- Anchored the central project policy in the existing `autoNAS` install/uninstall workflow and documented its known lessons and current path exception
23
- Established `/usr/local/lib/xdev/<project-name>/uninstall.sh` as the canonical uninstall script location, with optional `/usr/local/sbin/xdev-<project-name>-uninstall` wrapper
24
- Added standard namespaced locations for installed documentation, configuration, operational data, cache, and optional file-based logs
25
- Removed the accidental empty `autoNAS/autoSMART` nested drop and kept `cluster/projects/autoSMART` as the canonical project location
26
- Standardized `cluster/projects/pve-guests-state` with dedicated install/uninstall scripts, namespaced host paths, migrated state location, and cleaned legacy project artifacts
27
- Standardized `cluster/projects/pve-net-hang-watchdog` with namespaced install paths, dedicated lifecycle scripts, and a defaults file under `/etc/default/xdev-pve-net-hang-watchdog`
28
- Updated `pve-net-hang-watchdog` install behavior so deployment also starts the service immediately, not just enables it for boot
29
- Added a standardized shared-runtime lifecycle for `cluster/projects/thunderbolts` that leaves network interface files untouched during reinstall/uninstall
30
- Documented the cluster-wide deployment rule that required services/timers must be activated with `systemctl enable --now` during install, not left merely enabled
31
- Standardized `cluster/projects/pve-backup-scheduler` around `/usr/local/lib/xdev/pve-backup-scheduler`, added canonical lifecycle scripts and `setup.sh`, and kept `/etc/pve/autobackup` as an explicit preserved config exception
32
- Standardized `cluster/projects/autoNAS` around `/usr/local/lib/xdev/autonas` and `/usr/local/sbin/autonas`, while keeping `/etc/pve/autonas` and `/mnt/autonas` as explicit shared-state exceptions
33
- Grouped cluster metadata and historical cache files under `cluster-context/` and moved legacy snapshots under `cluster-context/history/`
34
- Added cluster-wide deployment orchestration in `scripts/deploy-project.sh`, driven by `cluster-context/madagascar.json`, while preserving one-node deploy paths for development and testing
35
- Tightened lifecycle cleanup for `pve-guests-state` legacy systemd units and suppressed `thunderbolts` recovery noise on hosts without `bolt.service`
36

            
37
---
38

            
39
## [2025-10-30]
40

            
41
### Fixed
42
- [ISSUE-2025-001] Thunderbolt interfaces MTU persistence issue resolved
43
  - **Root cause**: `systemctl restart networking` resets MTU because systemd services don't re-trigger
44
  - **Solution**: Hybrid approach with udev rule enhancement + post-up hooks
45
  - **Changes**: Updated udev rules and interfaces.d configs on all nodes (baobab, ebony, tapia)
46
  - **Testing**: Verified MTU 65520 persists after networking restart on all nodes
47

            
48
### Added
49
- Issue tracking system in `cluster/issues/` directory
50
- CHANGELOG.md for documenting all cluster changes with issue references
51
- Template for issue documentation (`issues/TEMPLATE.md`)
52
- First documented issue: ISSUE-2025-001 regarding thunderbolt MTU reset problem
53
- Added `scripts/check_mcluster_network.sh` for cluster thunderbridge and network health checks (table output, ping tests from localhost and baobab).
54

            
55
### Changed
56
- Removed codebase-specific references from `madagascar.json` to keep it cluster-focused
57

            
58
---
59

            
60
## [2025-10-19]
61

            
62
### Added
63
- PBS (Proxmox Backup Server) configuration to `madagascar.json`
64
  - andrafiabe-AutoNAS (192.168.2.96)
65
  - anjothibe-AutoNAS (192.168.2.95)
66
- Node roles (primary/secondary) to cluster configuration
67

            
68
---
69

            
70
## [2025-10-18]
71

            
72
### Added
73
- Initial `madagascar.json` cluster cache file
74
- Cluster network documentation (thunderbolt bridge configuration)
75
- WAN configuration for all nodes (vmbr443, vmbr444)
76
- Node-specific network information (baobab, ebony, tapia)
77
- `madagascar-changelog.json` for automation-triggered changes
78
- `README_madagascar_cache.md` with file contract documentation
79

            
80
### Infrastructure
81
- Thunderbolt bridge (thunderbridge) on 192.168.10.0/24 with MTU 65520
82
- WAN bridges on 192.168.2.0/24 (vmbr443) and 192.168.4.0/24 (vmbr444)
83

            
84
---
85

            
86
## Format Guidelines
87

            
88
### Categories
89
- **Added** - new features, files, or configurations
90
- **Changed** - changes to existing functionality or configuration
91
- **Deprecated** - features or configurations that will be removed
92
- **Removed** - removed features or configurations
93
- **Fixed** - bug fixes (always reference issue number)
94
- **Security** - security-related changes
95

            
96
### Entry Format
97
```
98
- Brief description [ISSUE-YYYY-NNN] (optional details)
99
```
100

            
101
### Issue References
102
Always link changes to issues when applicable:
103
- Bug fixes must reference the issue
104
- New features should reference planning/feature issues
105
- Configuration changes should reference related issues or RFCs