Changelog

v2.33.0 - 2024-10-09

  • Add lsm::get_previous_value plugin and lsm::all’s include_embedded_entities_id parameter, to easily get the previous value of an attribute during an update.

v2.32.6 - 2024-10-08

v2.32.5 - 2024-10-04

  • Add the include_purged_embedded_entities parameter to lsm::all(). Allows tracking embedded entities added or removed during an update.

  • Move the insert_removed_embedded_entities plugin to the top-level namespace of lsm and rename to include_purged_embedded_entities

  • Move the get_previous_attributes plugin to the top-level namespace of lsm

v2.32.4 - 2024-10-01

  • Add lsm::embedded_entities_tracker::insert_removed_embedded_entities plugin

  • Add lsm::embedded_entities_tracker::get_previous_attributes plugin

v2.32.3 - 2024-09-26

  • Improve readme.md

v2.32.2 - 2024-09-20

  • Improve readme.md

  • Add support for inter service relations on versioned services

v2.32.1 - 2024-09-04

v2.32.0 - 2024-08-29

  • Add support for versioned services, i.e. services that allow gradual migration (instance by instance) to newer versions.

  • Allow std>=6.0

  • lsm::LifecycleTransfer will now report why it was skipped

v2.31.4 - 2024-08-01

  • Add transfer_optimization support to the simple lifecycle.

v2.31.3 - 2024-07-15

  • Increased timeout of calls on tests to take into account the performance overhead introduced in inmanta-core with tracing

v2.31.2 - 2024-07-04

v2.31.1 - 2024-07-04

  • Fixed tests compatibility with latest version of inmanta-lsm (additional constraint on exporting states)

v2.31.0 - 2024-07-03 [yanked]

  • Fixed tests compatibility with latest version of inmanta-lsm

  • Add test case to check that partial compiles that delete resource sets can be merged when using batched partial compiles

  • Add support for compiler reduction as enabled by same desired state booleans on StateTransfer

v2.30.1 - 2024-06-17

  • Fixed tests compatibility with latest version of inmanta-lsm

v2.30.0 - 2024-05-17

  • Added support for custom selectors for partial compile

  • Fixed tests compatibility with latest version of inmanta-core

v2.29.2 - 2024-05-03

  • remove the deprecated std resources from the codebase.

v2.29.1 - 2024-04-24

  • Add python utility methods get_service_instance, get_validated_instance_id, is_validation_compile to inmanta_plugins.lsm.util.

v2.29.0 - 2024-04-19

  • Add lsm::validate_service_index plugin

  • Add lsm::update_read_only_attribute plugin

  • Add lsm::allocators::combine_used_values plugin

  • Add lsm::allocators::allocate_value allocator and lsm::allocators::reallocate_value re-allocator

  • Add allocation v3 re-allocator decorator

v2.28.17 - 2024-04-16

v2.28.16 - 2024-04-11

v2.28.15 - 2024-04-05

  • Allow embedded entity to have an optional relation towards its parent

v2.28.14 - 2024-04-03

  • Added test case to verify that the mergeable environment variable are set correctly when using batched partial compiles

v2.28.13 - 2024-03-28

v2.28.12 - 2024-03-27

  • Add logging in allocation v3 logic

v2.28.11 - 2024-03-18

  • Add a test to make sure deleting an non-existing order is allowed

v2.28.10 - 2024-03-15

  • Add support to prevent the lsm:all() plugin from emitting service instances if the lsm_no_instances environment variable is set

v2.28.9 - 2024-03-14

  • Remove access to private field _env_id of the agent

v2.28.8 - 2024-03-04

  • Increase timeout on create_instances() method in test case

v2.28.7 - 2024-02-19

  • Add a code snippet (with a test) that is used by the docs

v2.28.6 - 2024-02-19

v2.28.5 - 2024-02-14

  • Loosen the typing of annotations

v2.28.4 - 2024-02-09

  • Allow AllocationSpecs to overwrite by default (#700)

v2.28.3 - 2024-01-16

  • Remove xfail from test_example_track_delete test case

v2.28.2 - 2024-01-15

  • Remove exporter warnings when documenting fields that are not part of a service definition

v2.28.1 - 2024-01-09

v2.28.0 - 2024-01-08

  • Support polymorph inter-service relationships

v2.27.6 - 2024-01-05

  • Fix wrong description for Simple StateTransfer

v2.27.5 - 2024-01-04

  • Fixed bugged logging interpolation during resource deploy

v2.27.4 - 2023-12-07

  • Allow std==5.0

v2.27.3 - 2023-12-06

v2.27.2 - 2023-12-05

  • Added end-to-end tests for the order API

v2.27.1 - 2023-12-01

v2.27.0 - 2023-12-01

  • Support the new float type

v2.26.0 - 2023-11-16

  • Add allocation v3

v2.25.5 - 2023-11-02

  • Fixed some more imports of the dict_path library

v2.25.4 - 2023-10-31

  • add constraint on inmanta-core

v2.25.3 - 2023-10-30

  • Fix imports of dictpath in tests

v2.25.2 - 2023-10-27

  • Improve warning message when the owner relation is not explicitly set on service entity binding.

v2.25.1 - 2023-10-17

v2.25.0 - 2023-10-17

  • Remove old event-handling logic

v2.24.1 - 2023-10-12

  • Reverted last release because of a bug in dry-run behavior

v2.24.0 - 2023-10-11

  • Remove old event-based mechanism

v2.23.1 - 2023-10-11

  • Fix issue where the lsm::LifecycleTransfer resource is not included in the configuration model when the serialization of the resource id of one of its resource dependencies raises an IgnoreResourceException.

v2.23.0 - 2023-08-16

  • Add support to set annotations on entities and attributes

v2.22.13 - 2023-08-10

v2.22.12 - 2023-08-08

  • Fix for partial compile for states with no active attributes

v2.22.11 - 2023-08-02

  • add error message when service entity binding refers to nonexistent entity

v2.22.10 - 2023-07-25

  • add test to assert that the ResourceId is of the right type in the failures of a diagnose.

v2.22.9 - 2023-07-05

  • Wire ServiceBase.owned_resources to the parent entity

v2.22.8 - 2023-06-30

v2.22.7 - 2023-06-28

  • Improved full compile behavior when owner relation is not set explicitly

v2.22.6 - 2023-06-27

  • Synchronize documentation examples with inmanta-core (addition CRUDHandlerGeneric)

v2.22.5 - 2023-06-22

  • Fix broken tests caused by the removal of the lsm_interservicerelationship table

v2.22.4 - 2023-06-15

  • Improve test stability by disabling agent backoff

  • Add support to export service ownership to the server

v2.22.3 - 2023-06-05

  • Add retry on export of service entity definition in tests

v2.22.2 - 2023-05-31

  • Disable the agent-get-resource-backoff rate limiter in the test_resource_based_transfer_agent test case

v2.22.1 - 2023-05-08

  • Fix bug where the key_attributes of nested embedded entities were not exported to the server when strict_modifier_enforcement was enabled

v2.22.0 - 2023-04-21

  • Embedded entities no longer require an index to identify the embedded entities when the upper limit of the arity of the relationship is 1

v2.21.5 - 2023-04-13

  • Produce a warning when strict_modifier_enforcement is not enabled.

v2.21.4 - 2023-04-04

v2.21.3 - 2023-04-03

  • Fixed bug where lsm’s validation would ignore type modifiers like [] and ? for some typedef types.

v2.21.2 - 2023-03-29

v2.21.1 - 2023-03-28

  • Documentation tests and fixes for partial compiles for Inter Service Relations

v2.21.0 - 2023-03-08

  • Added support for partial compiles for Inter Service Relations

v2.20.3 - 2023-02-03

  • Add a test case to verify whether the export works fine when a service instance is deleted

v2.20.2 - 2023-02-02

  • Add documentation examples verification Jenkins job.

v2.19.13

  • Enable timestamp on the log messages produced by the test cases.

v2.19.12

  • Deprecated dict_path in favor of the implementation in the inmanta-lsm extension.

v2.19.11

  • Skip the tests that require the lsm_export_service_definition endpoint if the used inmanta-core version doesn’t offer that endpoint.

v2.19.10

  • Removed workarounds for backwards-compatibility with older extension versions (installed locally)

v2.19.9

  • Raise timeout threshold on test cases test_partial_compile and test_update_shared_resource_in_partial_compile

v2.19.8

  • Update the version constraint on the std module to allow version 4 of the std module.

v2.19.7

  • Add tests for the export service API endpoint

v2.19.6

  • Deal with TODOs in documentation.

v2.19.3

  • Fix bug where a partial compile fails if two different service entities and associated lsm::all() calls exist in the model.

v2.19.2

  • Fix null path usage together with wild paths in the dict_path library.

v2.19.1

  • Add guard to make sure that the test suite doesn’t start any autostarted agents.

v2.19.0

  • Make resources service aware using resource sets.

v2.18.8

  • Fixed bug in inter-service relation definition export. If you previously used inter-service relations with an older version, re-export the service entity definitions for proper web-console behavior with regards to inter-service relations. (inmanta/inmanta-lsm#982)

v2.18.7

  • Fixed timeout in testcase

v2.18.5

  • Extend attribute_set_opt typedef to include ‘rollback’ for rollback validation

v2.18.4

  • Add documentation regarding improved embedded entity support.

v2.18.3

  • Add support for changing the Inmanta state directory to a writable location by the current user.

v2.18.1

  • Replace hyphens by underscores in lifecycle names.

v2.18.0

  • Set read-only attributes using the V2 endpoint when strict_modifier_enforcement is enabled.

v2.17.2

  • Fix tests to account for read-only attributes being returned in instance objects.

v2.17.1

  • Disabled compiler cache in tests to isolate local and mocked server compiles.

v2.17.0

  • Add warning state to go into when a delete operation fails

  • Change LifeCycleStateMachine names to only use hyphens and not underscores

v2.16.2

  • Explicitly set null for optional lifecycle relation attributes for fsm.

v2.16.1

  • Added doc for inter-service-relation and how to use a validation state for delete operations.

v2.16.0

  • Added support for multi-key matching for dict paths

  • Fixed special characters escapes and conversion for ForEach allocation keys

v2.15.0

  • Added lifecycles with delete_validate support.

v2.14.2

  • Fix tests to support email_validator>=1.2.0

v2.14.1

  • Remove pytest.ini and move its logic to pyproject.toml

v2.14.0

  • Added support for recursive modifier enforcement on embedded entities. See the docs for how to enable this.

v2.13.2

  • Deprecation note: for ISO versions >=5.1.0, the DictPath library is available from inmanta_lsm.dict_path. DictPath will be removed from this module in a future version.

v2.13.0

  • Add the ability to specify inter-service-relations

v2.12.5

  • Add pytest-asyncio mode to remove deprecation warnings

v2.12.2

  • Sort resources list of LifecycleTransfer resource

v2.12.1

  • Fix race condition in tests if the lsm moves too quickly through the lifecycle.

v2.12.0

  • Added lifecycle simple_with_deallocation_v2 to improve de-allocation after rejection

v2.11.0

  • Add track_deletes options to allocation V2

v2.10.0

  • Added NullPath to the dictpath library

v2.9.5

  • Expanded quickstart docs to be compatible with iso5+

v2.9.4

  • Fix allocator registration for pytest-inmanta>2.0.0

v2.9.3

  • Change in the behavior of dict_path: all key values passed to WildKeyedList are compared as strings.

v2.9.2

  • Fix backward compatibility issue with allocation spec allocators attribute, introduced in 2.7.0

v2.9.1

  • Added documentation for allocators v2

v2.9.0

  • Attaching inmanta.plugins.Context object to allocation Context objects. This is a breaking change with respect to the unreleased version 2.8.0 as the constructor of ContextV2 has been altered.

v2.8.3

  • Fixed exception hierarchy in allocators v2

v2.8.2

  • Fixed an agent loading bug in allocators v2

v2.8.1

  • Improved backward compatibility for 2.7.0

v2.8.0

  • Improved allocation framework with AllocatorV2. This offers support for embedded entity allocation, an improved context object to set and get values on the instance and a handy dict_path library, to facilitate manipulations on python dict. (#372)

v2.7.3

  • Set update=False on client.notify_change() calls in tests cases to prevent timeouts while waiting for a service instance state.

v2.7.2

  • Fixing the documentation of needs_allocation

v2.7.1

  • Small fixes in test cases (#378, #379)

v2.7.0

  • Add support for --export-plugin service_entities_exporter to allow type updates

v2.6.2

  • Fixed incorrect import of inmanta.data.model.ResourceIdStr

v2.6.1

  • Prevent race condition in test case test_resource_based_transfer_agent

v2.6.0

  • Added support to the lsm::LifecycleTransfer handler for deployments using the deploy() method (#336)

v2.5.0

  • Added AllocatorWrapper

v2.4.10

  • Remove version constraint on PyJWT dependency (inmanta/inmanta-core#2683)

v2.4.9

  • Constrain version inmanta-lsm dependency

v2.4.8

  • Added mark to tests to skip tests on older servers (#320)

v2.4.7

  • Updated troubleshooting documentation to include diagnosis endpoint (inmanta/inmanta-lsm#408)

v2.4.6

  • Service instance state: default to no label (#294).

v2.4.5

  • Prevent race condition in test case test_resource_based_transfer_agent

v2.4.4

  • Prevent race condition in test case test_resource_based_transfer_agent

v2.4.3

  • Use the internal_agent fixture in order to prevent hitting the rate limiter of the agent.

v2.4.2

  • Removed version constraint on inmanta-lsm dependency.

v2.4.1

  • Add version constraint on inmanta-lsm dependency.

v2.4.0

  • Add support for service identity (#299)

v2.3.2

  • Fix race condition in test case test_resource_based_transfer_agent

v2.3.1

  • Specify labels for lifecycle states

v2.3.0

  • Relax the resources relation to support all resources.

v2.2.21

  • Unpin version inmanta-lsm

v2.2.20

  • Pin version inmanta-lsm

v2.2.19

  • Add limitations section to documentation

v2.2.18

  • Add index to LifecycleTransfer (#275)

v2.2.17

  • Ensure allocation doesn’t fail silently (#237)

v2.2.16

  • Use inmanta-dev-dependencies package

v2.2.15

  • Disable index check for embedded entities (#241)

v2.2.14

  • Improve error message on missing field (#202)

v2.2.13

  • Improve exception handling of allocations (#205, #206)

v2.2.10

  • Fix service exporter for lists with default values

v2.2.7

  • Fix documentation on troubleshooting validation failure in update_rejected state (#150)

v2.2.6

  • Don’t produce the warning message “ can only be validated using a validation compile” for primitive types (#149)

v2.2.5

  • Fixes the issue where all non underscore-prefixed relations were treated as embedded entities (#154)

v2.2.2

  • Ensure that the resources list of an lsm::LifecycleTransferResource contains only resources that exist in the model (#385)

v2.2.1

  • Make LifecycleTransfer report failure when making a failure transition (#146)

v2.2.0

  • Added support for embedded entities (#135)

v2.1.0

  • Added support for constrained number typedefs using <, <=, >, >= (and conjunctions of these constraints) (#inmanta/inmanta-lsm#131)

  • Added support for enumeration typedef (#inmanta/inmanta-lsm#131)

  • Added support for regex typedef (#inmanta/inmanta-lsm#131)

  • Added documentation on how to respond to deployment and validation failure (#102, #103)

v2.0.3

  • Clarify rejected_states attribute of ServiceEntity (#115)

v2.0.2

  • Check self argument when parsing validation type (#125)

v2.0.1

  • Pin transitive dependencies

v2.0.0

  • ExternalAllocator inherits from Allocator instead of SingleAllocator (#96)

v1.6.1

  • Service Instance handler should only perform delete call when allowed (#116)

v1.6.0

  • Added deallocating state and de-allocation handler (#95)

v1.5.1

  • Fix Service Instance Handler unnecessary updates (#120)

v1.5.0

  • Added dense int allocation strategy (#97)

v1.4.0

  • Added external lookup (#98)

v1.3.1

  • Move psycopg2 to requirements.dev.txt

v1.3.0

  • Added External Source allocation

v1.2.2

  • Ensure failure takes precedence over skip when determining which transfer to take (#112)

v1.2.1

  • Updated to use new core Attribute type information (inmanta/inmanta-sphinx#29)

v1.2.0

  • Added Service Instance Handler

v1.1.1

  • Ensure that entities can be exporter after the config of that entity has changed (#104)

v1.1.0

  • added support for automatic allocation of identifiers (#93)

v1.0.1

  • fixed support for default null values

  • added more meaningful error message when ServiceAttribute instantiation fails (#72)