2016-08-31 19:38:33 +03:00
|
|
|
# Change Log
|
|
|
|
|
|
|
|
## [Unreleased]
|
2016-11-04 17:25:55 +03:00
|
|
|
### Added
|
|
|
|
- `install_conda_windows.cmd` helper script for installing Batch Shipyard
|
|
|
|
under Anaconda for Windows
|
2016-11-07 21:23:43 +03:00
|
|
|
- Added `relative_destination_path` json property for `files` ingress into
|
2016-11-10 02:37:55 +03:00
|
|
|
node destinations. This allows arbitrary specification of where ingressed
|
|
|
|
files should be placed relative to the destination path.
|
|
|
|
- Added ability to ingress directly into the host without the requirement
|
|
|
|
of GlusterFS for pools with one compute node. A GlusterFS shared volume is
|
|
|
|
required for pools with more than one compute node for direct to pool data
|
|
|
|
ingress.
|
2016-11-04 17:25:55 +03:00
|
|
|
- New options on commands/subcommands:
|
2016-11-09 22:59:01 +03:00
|
|
|
- `pool udi`: Update docker images on all compute nodes in a pool. `--image`
|
|
|
|
and `--digest` options can restrict the scope of the update.
|
2016-11-04 17:25:55 +03:00
|
|
|
- `data stream`: `--disk` will stream the file as binary to disk instead
|
|
|
|
of as text to the local console
|
2016-11-09 02:06:40 +03:00
|
|
|
- `data listfiles`: `--jobid` and `--taskid` allows scoping of the list
|
|
|
|
files action
|
2016-11-09 22:59:01 +03:00
|
|
|
- `jobs listtasks`: `--jobid` allows scoping of list tasks to a specific job
|
2016-11-02 18:26:39 +03:00
|
|
|
|
2016-11-07 21:23:43 +03:00
|
|
|
### Changed
|
2016-11-10 20:48:00 +03:00
|
|
|
- **Breaking Change:** Properties of `docker_registry` have changed
|
|
|
|
significantly to support integration with the Azure Container Registry
|
|
|
|
service. Please see the configuration doc for more information.
|
2016-11-10 02:37:55 +03:00
|
|
|
- `files` data ingress no longer creates a directory where files to
|
|
|
|
be uploaded exist. For example if uploading from a path `/a/b/c`, the
|
|
|
|
directory `c` is no longer created at the destination. Instead all files
|
|
|
|
found in `/a/b/c` will be immediately placed directly at the destination
|
|
|
|
path with sub-directories preserved. This behavior can be modified with
|
|
|
|
the `relative_destination_path` property.
|
2016-11-07 21:23:43 +03:00
|
|
|
|
|
|
|
### Fixed
|
2016-11-08 05:34:35 +03:00
|
|
|
- Pool resize down with wait
|
2016-11-07 21:23:43 +03:00
|
|
|
- More Python2/3 compatibility issues
|
2016-11-08 05:34:35 +03:00
|
|
|
- Ensure pools that deploy GlusterFS volumes have more than 1 node
|
2016-11-07 21:23:43 +03:00
|
|
|
|
2016-11-02 18:26:39 +03:00
|
|
|
## [2.0.0rc2] - 2016-11-02
|
2016-10-30 00:37:28 +03:00
|
|
|
### Added
|
|
|
|
- `install.sh` install/setup helper script
|
|
|
|
- `shipyard` execution helper script created via `install.sh`
|
2016-10-31 18:45:05 +03:00
|
|
|
- `generated_sas_expiry_days` json property to config json for the ability to
|
|
|
|
override the default number of days generated SAS keys are valid for.
|
2016-11-01 09:12:14 +03:00
|
|
|
- New options on commands/subcommands:
|
|
|
|
- `jobs add`: `--recreate` recreate any jobs which have completed and use
|
|
|
|
the same id
|
|
|
|
- `jobs termtasks`: `--force` force docker kill to tasks even if they are
|
|
|
|
in completed state
|
|
|
|
- `pool resize`: `--wait` wait for completion of resize
|
2016-11-02 18:26:39 +03:00
|
|
|
- HPCG-Infiniband-IntelMPI and HPLinpack-Infiniband-IntelMPI recipes
|
2016-10-30 00:37:28 +03:00
|
|
|
|
2016-10-29 21:00:31 +03:00
|
|
|
### Changed
|
2016-10-31 18:45:05 +03:00
|
|
|
- Default SAS expiry time used for resource files and data movement changed
|
|
|
|
from 7 to 30 days.
|
2016-10-29 21:00:31 +03:00
|
|
|
- Pools failing to start will now automatically retrieve stdout.txt and
|
2016-10-31 18:45:05 +03:00
|
|
|
stderr.txt to the current working directory under
|
|
|
|
`poolid/<node ids>/std{out,err}.txt`. These files can be inspected
|
|
|
|
locally and submitted as context for GitHub issues if pertinent.
|
2016-11-02 03:10:03 +03:00
|
|
|
- Pool resizing will now attempt to add an SSH user on the new nodes if
|
|
|
|
an SSH public key is referenced or found in the invocation directory
|
2016-10-30 00:37:28 +03:00
|
|
|
- Improve installation doc
|
2016-10-29 21:00:31 +03:00
|
|
|
|
|
|
|
### Fixed
|
2016-10-31 18:45:05 +03:00
|
|
|
- Improve Python2/3 compatibility
|
2016-10-29 21:00:31 +03:00
|
|
|
- Unicode literals warning with Click
|
|
|
|
- Config file loading issue in some contexts
|
|
|
|
- Documentation typos
|
2016-10-28 20:16:57 +03:00
|
|
|
|
|
|
|
## [2.0.0rc1] - 2016-10-28
|
2016-10-06 21:03:10 +03:00
|
|
|
### Added
|
2016-10-20 20:48:25 +03:00
|
|
|
- Comprehensive data movement support. Please see the data movement guide
|
|
|
|
and configuration doc for more information.
|
2016-10-14 23:59:19 +03:00
|
|
|
- Ingress from local machine with `files` in global configuration
|
|
|
|
- To GlusterFS shared volume
|
|
|
|
- To Azure Blob Storage
|
2016-10-15 23:56:56 +03:00
|
|
|
- To Azure File Storage
|
2016-10-21 07:18:31 +03:00
|
|
|
- Ingress from Azure Blob Storage, Azure File Storage, or another Azure
|
|
|
|
Batch Task with `input_data` in pool and jobs configuration
|
2016-10-14 23:59:19 +03:00
|
|
|
- Pool-level: to compute nodes
|
2016-10-17 00:42:25 +03:00
|
|
|
- Job-level: to compute nodes prior to running the specified job
|
|
|
|
- Task-level: to compute nodes prior to running a task of a job
|
2016-10-14 23:59:19 +03:00
|
|
|
- Egress to local machine as actions
|
|
|
|
- Single file from compute node
|
2016-10-16 00:30:44 +03:00
|
|
|
- Entire task-level directories from compute node
|
2016-11-02 03:10:03 +03:00
|
|
|
- Entire node-level directories from compute node
|
2016-10-17 00:42:25 +03:00
|
|
|
- Egress to Azure Blob of File Storage with `output_data` in jobs
|
|
|
|
configuration
|
2016-10-20 07:10:40 +03:00
|
|
|
- Task-level: to Azure Blob or File Storage on successful completion of a
|
2016-10-17 00:42:25 +03:00
|
|
|
task
|
2016-10-20 20:48:25 +03:00
|
|
|
- Credential encryption support. Please see the credential encryption guide
|
|
|
|
and configuration doc for more information.
|
2016-10-23 05:27:48 +03:00
|
|
|
- Experimental support for OpenSSH with
|
|
|
|
[HPN patches](https://www.psc.edu/index.php/hpn-ssh) on Ubuntu
|
2016-10-24 19:12:24 +03:00
|
|
|
- Support pool resize up with GlusterFS
|
2016-10-25 08:12:58 +03:00
|
|
|
- Support GlusterFS volume options
|
2016-10-28 06:51:36 +03:00
|
|
|
- Configurable path to place files generated by `pool add` or `pool asu`
|
|
|
|
commands
|
2016-10-25 08:12:58 +03:00
|
|
|
- MXNet-CPU and Torch-CPU as options in the quickstart guide
|
2016-10-23 05:27:48 +03:00
|
|
|
- Update CNTK recipes for 1.7.2 and switch multinode/multigpu samples to
|
|
|
|
MNIST
|
2016-10-25 08:12:58 +03:00
|
|
|
- MXNet-CPU and MXNet-GPU recipes
|
2016-10-06 21:03:10 +03:00
|
|
|
|
|
|
|
### Changed
|
2016-10-27 07:39:00 +03:00
|
|
|
- **Breaking Change:** All new CLI experience with proper multilevel commands.
|
|
|
|
Please see usage doc for more information.
|
2016-10-28 06:51:36 +03:00
|
|
|
- Added new commands: `cert`, `data`
|
|
|
|
- Added many new convenience subcommands
|
2016-10-28 20:16:57 +03:00
|
|
|
- `--filespec` is now delimited by `,` instead of `:`
|
2016-10-06 21:03:10 +03:00
|
|
|
- **Breaking Change:** `ssh_docker_tunnel` in the `pool_specification` has
|
2016-10-16 03:54:16 +03:00
|
|
|
been replaced by the `ssh` property. `generate_tunnel_script` has been renamed
|
|
|
|
to `generate_docker_tunnel_script`. Please see the configuration doc for
|
2016-10-06 21:03:10 +03:00
|
|
|
more information.
|
2016-10-28 09:41:47 +03:00
|
|
|
- The `name` property of a task json object in the jobs specification is no
|
|
|
|
longer required for multi-instance tasks. If not specified, `name` defaults
|
|
|
|
to `id` for all task types.
|
|
|
|
- `data stream` no longer has an arbitrary max streaming time; the action will
|
2016-10-09 21:37:29 +03:00
|
|
|
stream the file indefinitely until the task completes
|
2016-10-20 07:10:40 +03:00
|
|
|
- Validate container with `storage_entity_prefix` for length issues
|
2016-11-02 03:10:03 +03:00
|
|
|
- `pool del` action now cleans up and deletes some storage containers
|
2016-10-13 20:53:53 +03:00
|
|
|
immediately afterwards (with confirmation prompts)
|
2016-10-25 08:12:58 +03:00
|
|
|
- `/opt/intel` is no longer automatically mounted for infiniband-enabled
|
2016-11-02 03:10:03 +03:00
|
|
|
containers on SUSE SLES-HPC hosts. Please see the configuration doc
|
2016-10-25 08:12:58 +03:00
|
|
|
on how to manually map this directory if required. OpenLogic CentOS-HPC
|
|
|
|
hosts remain unchanged.
|
2016-10-16 03:54:16 +03:00
|
|
|
- Modularized code base
|
2016-10-06 21:03:10 +03:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
- GlusterFS mount ownership/permissions fixed such that SSH users can
|
|
|
|
read/write
|
2016-10-13 20:53:53 +03:00
|
|
|
- Azure File shared volume setup when invoked from Windows
|
2016-10-20 07:10:40 +03:00
|
|
|
- Python2 compatibility issues with file encoding
|
2016-10-21 07:18:31 +03:00
|
|
|
- Allow shipyard.py to be invoked outside of the root of the GitHub cloned
|
|
|
|
base directory
|
|
|
|
- TensorFlow-Distributed recipe issues
|
2016-10-05 19:20:00 +03:00
|
|
|
|
|
|
|
## [1.1.0] - 2016-10-05
|
2016-09-26 21:17:50 +03:00
|
|
|
### Added
|
2016-10-04 06:02:29 +03:00
|
|
|
- Transparent Infiniband assist for SUSE SLES-HPC 12-SP1 image
|
2016-10-05 19:20:00 +03:00
|
|
|
- Add version for shipyard.py script
|
2016-10-04 06:02:29 +03:00
|
|
|
- NAMD-GPU, OpenFOAM-Infiniband-IntelMPI, Torch-CPU, Torch-GPU recipes
|
2016-09-29 06:50:53 +03:00
|
|
|
|
|
|
|
### Changed
|
|
|
|
- GlusterFS mountpoint is now within `$AZ_BATCH_NODE_SHARED_DIR` so files can
|
|
|
|
be viewed/downloaded with Batch APIs
|
|
|
|
- NAMD-Infiniband-IntelMPI recipe now contains a real Docker image link
|
2016-09-22 23:39:18 +03:00
|
|
|
|
2016-09-30 05:15:38 +03:00
|
|
|
### Fixed
|
|
|
|
- GlusterFS not properly starting on Ubuntu
|
|
|
|
|
2016-09-22 23:39:18 +03:00
|
|
|
## [1.0.0] - 2016-09-22
|
2016-09-09 06:15:11 +03:00
|
|
|
### Added
|
2016-09-15 22:47:43 +03:00
|
|
|
- Automated GlusterFS support
|
2016-09-17 00:02:25 +03:00
|
|
|
- Added `configdir` argument for convenience in loading configuration files,
|
|
|
|
please see the usage documentation for more details
|
2016-09-09 06:15:11 +03:00
|
|
|
- Ability to retrieve files from live compute nodes in addition to streaming
|
2016-09-17 08:59:50 +03:00
|
|
|
- Added `filespec` argument for non-interactive `streamfile` and `gettaskfile`
|
|
|
|
actions
|
2016-09-09 06:15:11 +03:00
|
|
|
- Added .gitattributes to designate Unix line-endings for text files
|
2016-09-09 23:42:33 +03:00
|
|
|
- Sample configuration files for each recipe
|
2016-09-22 23:39:18 +03:00
|
|
|
- Caffe-CPU, OpenFOAM-TCP-OpenMPI, TensorFlow-CPU, TensorFlow-Distributed
|
|
|
|
recipes
|
2016-09-09 06:15:11 +03:00
|
|
|
|
|
|
|
### Changed
|
2016-09-15 22:47:43 +03:00
|
|
|
- Updated configuration docs to detail which properties are required vs. those
|
|
|
|
that are optional
|
2016-09-13 21:39:05 +03:00
|
|
|
- SSH tunnel user is now added with a default expiry time of 7 days which can
|
|
|
|
be modified through the pool configuration file
|
2016-09-16 21:38:09 +03:00
|
|
|
- Configuration is not output to console by default, `-v` flag added for
|
|
|
|
verbose output
|
2016-09-17 08:20:07 +03:00
|
|
|
- Determinstic remote login settings output (node, ip, port) that can be
|
|
|
|
easily parsed
|
2016-09-21 18:30:58 +03:00
|
|
|
- Update Azurefile Docker Volume Driver plugin to 0.5.1
|
2016-08-31 19:38:33 +03:00
|
|
|
|
2016-09-09 23:42:33 +03:00
|
|
|
### Fixed
|
2016-09-16 21:38:09 +03:00
|
|
|
- Cascade (container-only) start issue with no private registry
|
2016-09-09 23:42:33 +03:00
|
|
|
- Non-shipyard docker image node prep with new azure-storage package
|
2016-09-17 03:54:49 +03:00
|
|
|
- Inter-node communication not specified key error on addpool
|
2016-09-16 23:00:05 +03:00
|
|
|
- Cross-platform fixes:
|
|
|
|
- Temp file creation used for environment variables
|
|
|
|
- SSH tunnel creation disabled on Windows if public key is not supplied
|
2016-09-17 08:59:50 +03:00
|
|
|
- Batch Shipyard Docker container not getting cleaned up if peer-to-peer is
|
|
|
|
disabled
|
2016-09-09 23:42:33 +03:00
|
|
|
|
2016-09-09 07:06:21 +03:00
|
|
|
### Removed
|
2016-09-09 23:42:33 +03:00
|
|
|
- `gpu`:`nvidia_driver`:`version` property removed from pool configuration
|
2016-09-13 21:39:05 +03:00
|
|
|
and is no longer required as the version is now automatically detected
|
2016-09-09 07:06:21 +03:00
|
|
|
|
2016-09-08 07:16:27 +03:00
|
|
|
## [0.2.0] - 2016-09-08
|
2016-09-03 01:02:07 +03:00
|
|
|
### Added
|
|
|
|
- Transparent GPU support for Azure N-Series VMs
|
2016-09-08 07:16:27 +03:00
|
|
|
- New recipes added: Caffe-GPU, CNTK-CPU-OpenMPI, CNTK-GPU-OpenMPI,
|
2016-09-08 21:03:40 +03:00
|
|
|
FFmpeg-GPU, NAMD-Infiniband-IntelMPI, NAMD-TCP, TensorFlow-GPU
|
2016-09-03 01:02:07 +03:00
|
|
|
|
|
|
|
### Changed
|
2016-09-06 20:32:42 +03:00
|
|
|
- Multi-instance tasks now automatically complete their job by default. This
|
|
|
|
removes the need to run the `cleanmijobs` action in the shipyard tool.
|
|
|
|
Please refer to the
|
|
|
|
[multi-instance documentation](docs/80-batch-shipyard-multi-instance-tasks.md)
|
|
|
|
for more information and limitations.
|
2016-09-03 01:02:07 +03:00
|
|
|
- Dumb back-off policy for DHT router convergence
|
2016-09-08 07:16:27 +03:00
|
|
|
- Optimzed Docker image storage location for Azure VMs
|
|
|
|
- Prompts added for destructive operations in the shipyard tool
|
2016-09-03 01:02:07 +03:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
- Incorrect file location of node prep finished
|
|
|
|
- Blocking wait for global resource on pool can now be disabled
|
2016-09-08 07:16:27 +03:00
|
|
|
- Incorrect process call to query for docker image size when peer-to-peer
|
|
|
|
transfer is disabled
|
|
|
|
- Use azure-storage 0.33.0 to fix Edm.Int64 overflow issue
|
2016-09-03 01:02:07 +03:00
|
|
|
|
2016-09-01 07:43:03 +03:00
|
|
|
## [0.1.0] - 2016-09-01
|
2016-08-31 19:38:33 +03:00
|
|
|
#### Added
|
|
|
|
- Initial release
|
|
|
|
|
2016-11-02 18:26:39 +03:00
|
|
|
[Unreleased]: https://github.com/Azure/batch-shipyard/compare/2.0.0rc2...HEAD
|
|
|
|
[2.0.0rc2]: https://github.com/Azure/batch-shipyard/compare/2.0.0rc1...2.0.0rc2
|
2016-10-28 20:16:57 +03:00
|
|
|
[2.0.0rc1]: https://github.com/Azure/batch-shipyard/compare/1.1.0...2.0.0rc1
|
2016-10-05 19:20:00 +03:00
|
|
|
[1.1.0]: https://github.com/Azure/batch-shipyard/compare/1.0.0...1.1.0
|
2016-09-22 23:39:18 +03:00
|
|
|
[1.0.0]: https://github.com/Azure/batch-shipyard/compare/0.2.0...1.0.0
|
2016-09-03 01:02:07 +03:00
|
|
|
[0.2.0]: https://github.com/Azure/batch-shipyard/compare/0.1.0...0.2.0
|
2016-09-01 19:40:24 +03:00
|
|
|
[0.1.0]: https://github.com/Azure/batch-shipyard/compare/ab1fa4d...0.1.0
|