v1.7.11
Release notes for idmtools 1.7.11
The idmtools 1.7.11 release is a feature update that introduces a new container platform and maintains compatibility across other platforms with no breaking changes.
The ContainerPlatform is a new platform designed to streamline the execution of experiments and simulations within Docker containers. It offers a fully equipped environment with all the necessary tools and dependencies, ensuring smooth integration and execution of computational tasks.
Highlights
Highlights of this release include:
-
New features:
- Introduced ContainerPlatform for running experiments and simulations within Docker containers.
- Provided default Docker images based on RockyLinux 9.2 and Debian 12, with automatic pulling of these images when using ContainerPlatform.
- Enabled support for custom Docker images, allowing users to run experiments and simulations with their own configurations.
- Added CLI commands for managing and monitoring experiments and simulations on ContainerPlatform:
idmtools container jobs [<container-id>] [-l <limit>] [-n <next>]
: List running jobs.idmtools container status <item-id> [-c <container_id>] [-l <limit>] [--verbose/--no-verbose]
: Check the status of an experiment or simulation.idmtools container cancel <item-id> [-c <container_id>]
: Cancel a job.idmtools container history [<container-id>] [-l <limit>] [-n <next>]
: View experiment history.idmtools container --all --help
: View all container platform CLI commands.
- Added
container
andslurm
pip install groups streamlined installation of related packages. - Implemented the ability to add extra Python packages to the container platform on the fly or via CLI commands.
- Facilitated viewing experiment/simulation results either within the container or on the host machine.
- Provided default and custom binding mounts to the container.
- Included examples/tests to demonstrate running experiments with ContainerPlatform.
-
idmtools improvements:
- Removed support for Python 3.7 in idmtools.
- Added a new platform alias for Nibbler.
- Resolved the scheduling issue on the COMPS platform.
- Corrected default values for the COMPSPlatform's environment and URL fields.
-
Documentation improvements:
- Introduced new documentation for ContainerPlatform.
- Added new docstrings for the platform factory and platform classes.
- Fixed the broken build issue on Windows and GitHub actions.
- Updated existing documentation with improved structure and more detailed information.
Change log
Platform
- #2253 - ContainerPlatform: Design Container Platform
- #2254 - ContainerPlatform: Task list
- #2266 - ContainerPlatform: Platform implementation (basic class)
- #2267 - ContainerPlatform: Handle Platform alias
- #2268 - ContainerPlatform: Handle file directory binding
- #2269 - ContainerPlatform: Modify required to File/Process Platform
- #2270 - ContainerPlatform: Container Utilities
- #2271 - ContainerPlatform: Handle Windows/Linux differences
- #2272 - ContainerPlatform: Implement CLI Status check
- #2273 - ContainerPlatform: Run AnalyzeManager
- #2274 - ContainerPlatform: Consider Calibra
- #2275 - ContainerPlatform: Consider Container Cleanup
- #2276 - ContainerPlatform: Consider Cancel experiment/simulation
- #2277 - ContainerPlatform: Consider Pre and Post run (ep4)
- #2278 - ContainerPlatform: Install extra packages required for ep4
- #2279 - ContainerPlatform: Collect EMOD requirements
- #2280 - ContainerPlatform: Build docker image
- #2281 - ContainerPlatform: Upload image to hub (idm artifactory)
- #2320 - ContainerPlatform: user select container to use
- #2331 - Container Platform: Code cleanup
Bugs
- #2318 - add_schdule_config should not hard code for num_cores and node_group
- #2306 - idmtoolscore experiment run can wait long time until timeout in certain case
- #2298 - idmtools package should not include the tests folder
- #2251 - local doc build (make html) errors out and does not complete
- #2169 - For dry run, we better not to display 'check status message
- #2208 - SlurmPlatform: experiment's metadata.json file has suite_id is null
Feature Request
- #2261- Consider changes to new COMPS scheduling support
- #2328 - COMPSPlatform should set default values for endpoint and environment set to production instead of staging
- #2326 - SlurmPlatform should have default mode to 'Local' instead of None
- #2319 - Add new alias for COMPS new environment: Nibbler
- #2317 - idmtools should stop support python3.7
- #2337 - Add container, slurm options in idmtools setup for customized installation
Developer/Test
- #2282 - ContainerPlatform: Test image
- #2283 - ContainerPlatform: Test platform on docker container
- #2284 - ContainerPlatform: Test utilities
- #2285 - ContainerPlatform: Test Windows/Linux
- #2286 - ContainerPlatform: Test CLI
- #2287 - ContainerPlatform: Test AnalyzeManager
- #2288 - ContainerPlatform: Test Calibration (Calibra)
- #2289 - ContainerPlatform: Write unit tests