This repository was archived by the owner on Jan 1, 2024. It is now read-only.
Tags: tarantool/ansible-cartridge
Tags
Release 1.8.0 **Fixed** - Role installation will be completely skipped if you specify a tag other than the tags for this role - Fixed selecting control instance that doesn't belong to cluster or isn't alive. The following rules are currently used: * Members are checked in lexicographic order by URIs * Members not mentioned in hostvars aren't selected to be control * Members with status not `alive` aren't selected to be control - Fixed setting `needs_restart` when configuration files don't exist - Fixed error on configuring auth without users specified - Reset role variables before each run **Added** - `cartridge-replicasets` tag to the membership stage - `cartridge_wait_buckets_discovery` parameter to wait for instance to discover buckets - `instance_discover_buckets_timeout` parameter to configure time in seconds to wait for instance to discover buckets - Ability to deploy TGZ packages - `cartridge_multiversion` flag that allows to use specific version of application for each instance and perform rolling update correctly (using new `update_instance` step) - `rotate_dists` step that allows to rotate application distributions - `cleanup` step to remove temporary files from specific list - Added availability to import steps by scenario name. Added some default scenarios. Added availability to create custom scenarios. - availability to use `tasks_from` to import any step - `zone` variable to edit instance zone - `edit_topology_timeout` variable to wait until cluster become healthy after editing topology - availability to specify instance `memtx_dir`, `vinyl_dir` and `wal_dir` params by `cartridge_memtx_dir_parent`, `cartridge_vinyl_dir_parent`, `cartridge_wal_dir_parent` variables. - Control instance is selected considering two-phase commit version of instances. The reason is that all operations that modify cluster-wide config should be performed via instance that has lowest Cartridge version (in fact, only two-phase commit version matters). - Availability to change advertise URIs of any instance **Changed** - `cartridge.admin_edit_topology` is called once for all replicasets and instances to expel. It can be called second time to set up failover priority for replicasets where new instances were joined. As a result, `replicaset_healthy_timeout` is removed as unused. - Now list of instances for installing a package is selected once for all. Before this patch, the complexity of calculating the list of instances was O(N^2), now it is O(N). For 100 instances, it gives a 10x time reduction (60s -> 5s). - Refactored package installing. Getting package info is performed in a library module, all tasks except installing package itself are common for RPM and DEB. - Now `check_instance_started` function: check all instances, including the stateboard; wait `Unconfigured` or `RolesConfigured` status instead `alive` state; check that all buckets are discovered by routers if cluster was bootstrapped. - Role divided into many steps (#141). It's possible to combine them using a scenario in the config by `cartridge_scenario`. It is also possible to use custom steps in a scenario. Custom steps can be defined by `cartridge_custom_steps_dir` and `cartridge_custom_steps`. - Now step `connect_to_membership` is executed only on one not expelled instance. Before the patch, the difficulty of performing `connect_to_membership` step was `N^2`. For 100 instances, the step took about 900 seconds. Now the complexity has decreased to N, so for 100 instances the execution time is about 5 seconds.
PreviousNext