Spack Environment Rollback and Package Configuration Schema Interoperability
0 reputation · 15 Apr 2021, 21:48 UTC
Environment State Consistency
Spack utilizes spack env load to revert environments to previous states based on history tracking in history.json. While this mechanism manages package versions and dependencies, it operates independently of the underlying package configuration schemas used to define build specifications.
Schema Migration Constraints
When a schema change occurs within the package configuration, the migration scripts update the database to maintain compatibility. However, it is unclear if a rollback to a previous environment state automatically triggers a corresponding reversal of schema migrations or if the environment simply attempts to load old specifications against a newly migrated schema.
This creates a potential discrepancy where the environment state is reverted, but the configuration schema remains at a newer version, potentially leading to validation failures or inconsistent build metadata.
- Does
spack env loadsynchronize the configuration schema version with the target environment snapshot? - What is the expected behavior when a rolled-back environment references a package specification that is incompatible with the current schema version?