diff --git a/changelog.rst b/changelog.rst index cf99b8ac3276b97154fe6d005604ace4bd005b11..a5add1635b05064c9b78cccb12b80048064a99c1 100644 --- a/changelog.rst +++ b/changelog.rst @@ -4,20 +4,22 @@ Changelog 5.0.0 ----- -* Upgrade Ansible to 2.9 (python 3.8 now supported) -* Service/conda: new service to control remote conda environments. +- Upgrade Ansible to 2.9 (python 3.8 now supported) +- Service/conda: new service to control remote conda environments. Introduce `conda_run_command` (resp. `conda_play_on`) that wraps `api.run_command` (resp. `api.play_on`) and launch commands (resp. modules) in the context of an conda environment. -* Service/dask: deploy a Dask cluster (use the Conda service) -* VMonG5K: +- Service/dask: deploy a Dask cluster (use the Conda service) +- VMonG5K: - allow to attach an extra disk to the virtual machines - improve documentation. +- Service/SimpleNetem: A simplified version of the Netem Service + that sets homogeneous constraints on hosts. 4.11.0 ------ -* Service/docker: +- Service/docker: - Allow to mount the whole docker dir elsewhere (e.g in /tmp/docker instead of /var/lib/docker) - Default to registry:None, meaning that this will @@ -26,138 +28,138 @@ Changelog 4.10.1 ------ -* Service/dstat: doc -* service/monitoring: typecheck +- Service/dstat: doc +- service/monitoring: typecheck 4.10.0 ------ -* Service/dstat: add a new dstat monitoring -* Doc: some fixes (comply with the discover_networks) +- Service/dstat: add a new dstat monitoring +- Doc: some fixes (comply with the discover_networks) 4.9.4 ----- -* Doc: some fixes +- Doc: some fixes 4.9.3 ----- -* Doc: some fixes / add a ref +- Doc: some fixes / add a ref 4.9.2 ----- -* Doc: add some refs in they-use-it.rst +- Doc: add some refs in they-use-it.rst 4.9.1 ----- -* Fix: include the missing BREAKING change of 4.9.0 +- Fix: include the missing BREAKING change of 4.9.0 4.9.0 ------ -* Doc: Add a ref -* Service/locust: Fix density option -* Service/Netem: support for bridged networks -* Api/BREAKING: `discover_networks` doesn't have side effects anymore on the hosts. +- Doc: Add a ref +- Service/locust: Fix density option +- Service/Netem: support for bridged networks +- Api/BREAKING: `discover_networks` doesn't have side effects anymore on the hosts. 4.8.12 ------ -* Doc: Simplify network emulation example +- Doc: Simplify network emulation example 4.8.11 ------ -* VMonG5K: Don't fail if #pms > #vms -* Doc: add madeus-openstack-benchmarks -* Service/locust: review, add a density option that controls +- VMonG5K: Don't fail if #pms > #vms +- Doc: add madeus-openstack-benchmarks +- Service/locust: review, add a density option that controls the number of slave to start on each node. -* Doc: Expose the Locust documentation +- Doc: Expose the Locust documentation 4.8.10 ------ -* Service/monitoring: allow for some customisations -* VMonG5K: use the libvirt directory for all the operations +- Service/monitoring: allow for some customisations +- VMonG5K: use the libvirt directory for all the operations 4.8.9 ----- -* Service/netem: fix validate when network is partitioned +- Service/netem: fix validate when network is partitioned 4.8.8 ----- -* Doc: Add content for quick access -* Doc: Add parameters sweeper tutorial +- Doc: Add content for quick access +- Doc: Add parameters sweeper tutorial 4.8.7 ----- -* Doc: clean and use continuation line -* Service/docker: remove useless statement +- Doc: clean and use continuation line +- Service/docker: remove useless statement 4.8.6 ----- -* Api/play_on: don't gather facts twice -* VMonG5k: 🐎 enable virtio for network device 🐎 -* Service/monitoring: add the influxdb datasource automatically +- Api/play_on: don't gather facts twice +- VMonG5k: 🐎 enable virtio for network device 🐎 +- Service/monitoring: add the influxdb datasource automatically 4.8.5 ----- -* Api: Introduce ``ensure_python[2,3]`` to make sure python[2,3] +- Api: Introduce ``ensure_python[2,3]`` to make sure python[2,3] is there and make it the default version (optionally) -* Api: ``wait_ssh`` now uses the raw module -* Api: rename some prior with a double underscore (e.g. ``__python3__``) +- Api: ``wait_ssh`` now uses the raw module +- Api: rename some prior with a double underscore (e.g. ``__python3__``) 4.8.4 ----- -* Doc: Handling of G5k custom images -* Host: Implementation of the __hash__() function -* API: ``play_on`` offers new strategies to gather Ansible facts -* type: Type definitions for Host, Role and Network +- Doc: Handling of G5k custom images +- Host: Implementation of the __hash__() function +- API: ``play_on`` offers new strategies to gather Ansible facts +- type: Type definitions for Host, Role and Network 4.8.3 ----- -* G5K/api: job_reload_from_name fix for anonymous user -* Doc: some cleaning, advertise mattermost channel +- G5K/api: job_reload_from_name fix for anonymous user +- Doc: some cleaning, advertise mattermost channel 4.8.2 ----- -* VMonG5K: some cleaning -* Host: copy the passed extra dict -* Skydive: fix docstring +- VMonG5K: some cleaning +- Host: copy the passed extra dict +- Skydive: fix docstring 4.8.1 ----- -* Service/Monitoring: fix collector_address for telegraf agents +- Service/Monitoring: fix collector_address for telegraf agents 4.8.0 ----- -* Enforce python3.6+ everywhere -* Add more functionnal tests -* Api: ``play_on`` accepts a ``priors`` parameters -* Add ``run`` command for simplicity sake -* ``enoslib.host.Host`` is now a dataclass -* Typecheck enabled in CI +- Enforce python3.6+ everywhere +- Add more functionnal tests +- Api: ``play_on`` accepts a ``priors`` parameters +- Add ``run`` command for simplicity sake +- ``enoslib.host.Host`` is now a dataclass +- Typecheck enabled in CI 4.7.0 ----- -* G5k: Default to Debian10 -* Vagrant: Defaut to Debian10 -* VMonG5k: +- G5k: Default to Debian10 +- Vagrant: Defaut to Debian10 +- VMonG5k: - Default to Debian10 - Activate VLC console (fix an issue with newest G5K virt images...) - Run VMs as root @@ -165,326 +167,326 @@ Changelog 4.6.0 ----- -* Chameleon: minor fixes, support for the primer example -* Vagrant: customized name and config is now supported -* Locust/service: initial version (locust.io) -* G5k: support for arbitrary SSH key +- Chameleon: minor fixes, support for the primer example +- Vagrant: customized name and config is now supported +- Locust/service: initial version (locust.io) +- G5k: support for arbitrary SSH key 4.5.0 ----- -* Dependencies: upgrade python-grid5000 to 0.1.0+ -* VMonG5K/API break: use g5k api username instead of USER environment variable -* VMonG5K: make the provider idempotent +- Dependencies: upgrade python-grid5000 to 0.1.0+ +- VMonG5K/API break: use g5k api username instead of USER environment variable +- VMonG5K: make the provider idempotent 4.4.5 ----- -* Doc: some fixes -* VMonG5k: change gateway description +- Doc: some fixes +- VMonG5k: change gateway description 4.4.4 ----- -* Doc: distem makes use of stretch image by default +- Doc: distem makes use of stretch image by default 4.4.3 ----- -* Doc: Doc updates (readme and distem) +- Doc: Doc updates (readme and distem) 4.4.2 ----- -* Doc: update distem tutorial +- Doc: update distem tutorial 4.4.1 ----- -* Catch up changelog +- Catch up changelog 4.4.0 ----- -* New provider: Distem +- New provider: Distem 4.3.1 ----- -* G5k: fix walltime > 24h +- G5k: fix walltime > 24h 4.3.0 ----- -* G5k: ``get_api_username`` to retrieve the current user login -* Doc: fix ``play_on`` +- G5k: ``get_api_username`` to retrieve the current user login +- Doc: fix ``play_on`` 4.2.5 ----- -* Services: Add missing files in the wheel +- Services: Add missing files in the wheel 4.2.4 ----- -* Skydive: Fix topology discovery -* Doc: Fix ``pattern_hosts`` kwargs +- Skydive: Fix topology discovery +- Doc: Fix ``pattern_hosts`` kwargs 4.2.3 ----- -* Doc: Factorize readme and doc index +- Doc: Factorize readme and doc index 4.2.2 ----- -* Doc: Fix sphinx warnings +- Doc: Fix sphinx warnings 4.2.1 ----- -* Fix changelog syntax +- Fix changelog syntax 4.2.0 ----- -* Service: Add skydive service -* Service: Internal refactoring +- Service: Add skydive service +- Service: Internal refactoring 4.1.1 ----- -* Catch-up changelog for 4.1.x +- Catch-up changelog for 4.1.x 4.1.0 ----- -* API(breaks): Introduce ``patterns_hosts`` as a keyword argument -* API: Introduce ``gather_facts`` function -* Doc: Fix python3 for virtualenv on g5k -* API: Allow top level and module level arguments to be passed +- API(breaks): Introduce ``patterns_hosts`` as a keyword argument +- API: Introduce ``gather_facts`` function +- Doc: Fix python3 for virtualenv on g5k +- API: Allow top level and module level arguments to be passed in ``run_command`` and ``play_on`` -* G5K: Use ring to cache API requests results -* API: Support for ``raw`` module in ``play_on`` -* Black formatting is enforced +- G5K: Use ring to cache API requests results +- API: Support for ``raw`` module in ``play_on`` +- Black formatting is enforced 4.0.3 ----- -* Doc: Fix netem service link +- Doc: Fix netem service link 4.0.2 ----- -* Doc: Add a placement example (vmong5k) +- Doc: Add a placement example (vmong5k) 4.0.1 ----- -* Doc: Capitalize -> EnOSlib +- Doc: Capitalize -> EnOSlib 4.0.0 ----- -* Service: add Netem service as a replacement for ``(emulate|reset|validate)_network`` functions. +- Service: add Netem service as a replacement for ``(emulate|reset|validate)_network`` functions. Those functions have been dropped -* Service: add Docker service. Install the docker agent on all your nodes and +- Service: add Docker service. Install the docker agent on all your nodes and optionally a docker registry cache -* Upgrade jsonschema dependency -* Migrate sonarqube server -* Vagrant: OneOf for ``flavour`` and ``flavour_desc`` has been fixed -* Api: ``play_on`` tasks now accept a ``display_name`` keyword. The string will +- Upgrade jsonschema dependency +- Migrate sonarqube server +- Vagrant: OneOf for ``flavour`` and ``flavour_desc`` has been fixed +- Api: ``play_on`` tasks now accept a ``display_name`` keyword. The string will be displayed on the screen as the name of the command. 3.4.2 ----- -* Service: fix example +- Service: fix example 3.4.1 ----- -* Service: monitoring update doc +- Service: monitoring update doc 3.4.0 ----- -* Introduce a monitoring service (quickly deploy a monitoring stack) -* API: Add `display_name` kwargs in `play_on` (debug/display purpose) +- Introduce a monitoring service (quickly deploy a monitoring stack) +- API: Add `display_name` kwargs in `play_on` (debug/display purpose) 3.3.3 ------ -* Doc: in using-tasks include whole python script +- Doc: in using-tasks include whole python script 3.3.2 ------ -* Doc: fix using-tasks output +- Doc: fix using-tasks output 3.3.1 ------ -* Doc: Include changelog in the documentation -* ChameleonBaremetal: fix tutorial +- Doc: Include changelog in the documentation +- ChameleonBaremetal: fix tutorial 3.3.0 ------ -* G5k: automatic redepoy (max 3) when nodes aren't deployed correctly +- G5k: automatic redepoy (max 3) when nodes aren't deployed correctly 3.2.4 ------ -* Avoid job_name collision from 2 distinct users +- Avoid job_name collision from 2 distinct users 3.2.3 ------ -* Fix an issue with emulate_network (it now uses `inventory_hostname`) +- Fix an issue with emulate_network (it now uses `inventory_hostname`) 3.2.2 ------ -* VMonG5k: fix the networks returned value +- VMonG5k: fix the networks returned value 3.2.1 ------ -* G5k: Fix static driver +- G5k: Fix static driver 3.2.0 ------ -* VMonG5K: Enables taktuk for image broadcast +- VMonG5K: Enables taktuk for image broadcast 3.1.4 ------ -* Doc: Fix network_emulation conf +- Doc: Fix network_emulation conf 3.1.3 ------ -* Doc: add missing files +- Doc: add missing files 3.1.2 ------ -* Doc: Document network emulation +- Doc: Document network emulation 3.1.1 ------ -* Doc: VMonG5K warning about the `working_dir` being removed +- Doc: VMonG5K warning about the `working_dir` being removed 3.1.0 ------ -* VMonG5k: expose `start_virtualmachines` function +- VMonG5k: expose `start_virtualmachines` function 3.0.1 ------ -* Doc: Add VMonG5k primer -* Doc: Secure credential file +- Doc: Add VMonG5k primer +- Doc: Secure credential file 3.0.0 ------ -* [G5k]: now uses python-grid5000 for all the interactions with Grid'5000 -* [VMonG5K]: Add a gateway option -* [VMonG5K]: Coerce to `enoslib.Host` before returning from init. +- [G5k]: now uses python-grid5000 for all the interactions with Grid'5000 +- [VMonG5K]: Add a gateway option +- [VMonG5K]: Coerce to `enoslib.Host` before returning from init. 2.2.10 ------ -* Doc: use std env for primer on g5k +- Doc: use std env for primer on g5k 2.2.9 ------ -* Doc add 10.1109/TPDS.2019.2907950 +- Doc add 10.1109/TPDS.2019.2907950 2.2.8 ------ -* Dependencies: add pyyaml and be a bit strict -* tasks: add the knowledge of host datastructure when deserializing -* Vagrant: force gateway ip to string -* Doc: add performance tuning section +- Dependencies: add pyyaml and be a bit strict +- tasks: add the knowledge of host datastructure when deserializing +- Vagrant: force gateway ip to string +- Doc: add performance tuning section 2.2.7 ------ -* Doc: Gender equality fix +- Doc: Gender equality fix 2.2.6 ------ -* Doc: static provider -* Doc: various fixes +- Doc: static provider +- Doc: various fixes 2.2.5 ------ -* CI: add `play_on` functional test +- CI: add `play_on` functional test 2.2.4 ------ -* Doc: Update Primer (add g5k example) +- Doc: Update Primer (add g5k example) 2.2.3 ------ -* API: fix `gather_facts=False` in `play_on` +- API: fix `gather_facts=False` in `play_on` 2.2.2 ------ -* Doc: put project boostrap at the end (formerly quickstart) +- Doc: put project boostrap at the end (formerly quickstart) 2.2.1 ------ -* Doc: add EnOSlib primer -* API: discover_network now add `<network>_ip` and `<network>_dev` in the hosvars +- Doc: add EnOSlib primer +- API: discover_network now add `<network>_ip` and `<network>_dev` in the hosvars 2.2.0 ------ -* API: Introduce `play_on` context_manager to describe a playbook directly from python +- API: Introduce `play_on` context_manager to describe a playbook directly from python 2.1.0 ------ -* API: In memory inventory. Generating a inventory file is not mandatory anymore. +- API: In memory inventory. Generating a inventory file is not mandatory anymore. On can pass the provider roles in most of the API calls. -* VMonG5K: allow to specify a working directory -* Dependencies: Upgrade Ansible to latest stable (2.7.x) +- VMonG5K: allow to specify a working directory +- Dependencies: Upgrade Ansible to latest stable (2.7.x) 2.0.2 ------ -* (breaking) VMonG5K/Vagrant: Unify code. `flavour_desc` dict can be used after +- (breaking) VMonG5K/Vagrant: Unify code. `flavour_desc` dict can be used after building the MachineConfiguration. 2.0.1 ------ -* VMonG5K: Package was missing site.yml file +- VMonG5K: Package was missing site.yml file 2.0.0 ------ Warning breaking changes: -* EnOSlib is python3.5+ compatible exclusively. +- EnOSlib is python3.5+ compatible exclusively. -* Provider: a provider must be given a configuration object. You can build it +- Provider: a provider must be given a configuration object. You can build it from a dictionnary (this mimics EnOSlib 1.x) or build it programmaticaly. In pseudo code, changes are needed in your code as follow: ``` @@ -496,173 +498,173 @@ Warning breaking changes: ... ``` -* Provider: Configuration object +- Provider: Configuration object The configuration object aim at ease the process of building configuration for providers. It can be validated against a jsonschema defined for each provider. Validation is implicit using `from_dictionnary` or explicit using the `finalize()` method of the configuration. -* Doc: Update docs to reflect the above +- Doc: Update docs to reflect the above -* VMonG5K: new provider that allows to start virtual machines on G5K. +- VMonG5K: new provider that allows to start virtual machines on G5K. 1.12.3 ------ -* API: `utils.yml` playbook now forces fact gahering. -* Misc: initial gitlab-ci supports +- API: `utils.yml` playbook now forces fact gahering. +- Misc: initial gitlab-ci supports 1.12.2 ------ -* G5K: Refix an issue when number of nodes is zero +- G5K: Refix an issue when number of nodes is zero 1.12.1 ------ -* G5K: fix an issue when number of nodes is zero +- G5K: fix an issue when number of nodes is zero 1.12.0 ------ -* API: `emulate|reset|validate` now accept an extra_vars dict -* G5K: `secondary_networks` are now a mandatory key -* G5K: support for zero nodes roles +- API: `emulate|reset|validate` now accept an extra_vars dict +- G5K: `secondary_networks` are now a mandatory key +- G5K: support for zero nodes roles 1.11.2 ------ -* Make sure role and roles are mutually exclusive +- Make sure role and roles are mutually exclusive 1.11.1 ------ -* Fix empty `config_file` case in enostask +- Fix empty `config_file` case in enostask 1.11.0 ------ -* G5K: add static oar job support +- G5K: add static oar job support 1.10.0 ------ -* G5K: align the subnet description with the other network -* API: validate_network now filters devices without ip address -* API: check_network now uses JSON serialisation to perform better +- G5K: align the subnet description with the other network +- API: validate_network now filters devices without ip address +- API: check_network now uses JSON serialisation to perform better 1.9.0 ------ -* G5K api: expose get_clusters_sites -* G5K: dhcp is blocking -* G5k: introduce drivers to interact with the platform +- G5K api: expose get_clusters_sites +- G5K: dhcp is blocking +- G5k: introduce drivers to interact with the platform 1.8.2 ------ -* Chameleon: fix flavor encoding -* Chameleon: Create one reservation per flavor -* Openstack: fix python3 compatibility +- Chameleon: fix flavor encoding +- Chameleon: Create one reservation per flavor +- Openstack: fix python3 compatibility 1.8.1 ------ -* relax openstack client constraints +- relax openstack client constraints 1.8.0 ------ -* G5K api: expose exec_command_on_nodes -* Openstack: enable the use of session for blazar -* Openstack: Allow keystone v3 authentification +- G5K api: expose exec_command_on_nodes +- Openstack: enable the use of session for blazar +- Openstack: Allow keystone v3 authentification 1.7.0 ------ -* G5K api: fixed get_clusters_interfaces function -* Ansible: group vars were'nt loaded -* Allow fake interfaces to be mapped to net roles +- G5K api: fixed get_clusters_interfaces function +- Ansible: group vars were'nt loaded +- Allow fake interfaces to be mapped to net roles 1.6.0 ------ -* G5K: add subnet support -* An enostask can now returns a value -* Openstack/Chameleon: support region name -* Openstack/Chameleon: support for extra prefix for the resources -* Chameleon: use config lease name +- G5K: add subnet support +- An enostask can now returns a value +- Openstack/Chameleon: support region name +- Openstack/Chameleon: support for extra prefix for the resources +- Chameleon: use config lease name 1.5.0 ------ -* python3 compatibility -* Confirm with predictable NIC names on g5k +- python3 compatibility +- Confirm with predictable NIC names on g5k 1.4.0 ------ -* Fix the autodoc generation -* Document the cookiecutter generation -* Default to debian9 for g5k +- Fix the autodoc generation +- Document the cookiecutter generation +- Default to debian9 for g5k 1.3.0 ------ -* Change setup format -* Move chameleon dependencies to extra_require +- Change setup format +- Move chameleon dependencies to extra_require 1.2.1 ------ -* Drop validation of the bandwitdh -* Add missing host file +- Drop validation of the bandwitdh +- Add missing host file 1.2.0 ------ -* Add reset network +- Add reset network 0.0.6 ------ -* add `min` keyword in machine descipriotn on for G5K +- add `min` keyword in machine descipriotn on for G5K 0.0.5 ------ -* reservation is supported in g5k provider -* `expand_groups` is available in the api -* `get_cluster_interfaces` is available in the g5k api. +- reservation is supported in g5k provider +- `expand_groups` is available in the api +- `get_cluster_interfaces` is available in the g5k api. 0.0.4 ------ -* Exclude not involved machines from the tc.yml run -* Take force_deploy in g5k provider -* Wait ssh to be ready when `check_network=True` in `generate_inventory` -* Add start/end enostask logging +- Exclude not involved machines from the tc.yml run +- Take force_deploy in g5k provider +- Wait ssh to be ready when `check_network=True` in `generate_inventory` +- Add start/end enostask logging 0.0.3 ------ -* Add static provider -* Add OpenStack provider (and chameleon derivatives) -* Add `provider_conf` validation -* Rearchitect providers -* Add dummy functionnal tests -* Add network emulation +- Add static provider +- Add OpenStack provider (and chameleon derivatives) +- Add `provider_conf` validation +- Rearchitect providers +- Add dummy functionnal tests +- Add network emulation 0.0.2 ------ -* Add fake interface creation option un check_network -* Encapsulate check_network in generate_inventory -* Add automatic discovery of network interfaces names/roles -* Add vagrant/g5k provider +- Add fake interface creation option un check_network +- Encapsulate check_network in generate_inventory +- Add automatic discovery of network interfaces names/roles +- Add vagrant/g5k provider 0.0.1 ------ -* Initial version +- Initial version diff --git a/setup.cfg b/setup.cfg index 14a0fad0a237f22a89455e67e8f4c779a1ba7e23..73f1becbd2bdca1d82e87ff305895f0013f00fee 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = enoslib -version = 5.0.0.alpha-2 +version = 5.0.0.alpha-3 keywords = evaluation, reproducible research, Grid5000 license_file = LICENSE.txt url = https://gitlab.inria.fr/discovery/enoslib