Marco Ricci commited on 2024-12-20 15:06:20
Zeige 1 geänderte Dateien mit 16 Einfügungen und 33 Löschungen.
Lower the failure/retry rate for data generation by moving all data generation into initialization rules and by removing data restrictions on rule inputs as far as possible, turning the rule effectively into a no-op if necessary. The only currently remaining operation with notable retry rate is the top-level rule selection.
... | ... |
@@ -2706,8 +2706,8 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
2706 | 2706 |
target=configuration, |
2707 | 2707 |
configs=strategies.lists( |
2708 | 2708 |
_vault_full_config, |
2709 |
- min_size=4, |
|
2710 |
- max_size=4, |
|
2709 |
+ min_size=8, |
|
2710 |
+ max_size=8, |
|
2711 | 2711 |
), |
2712 | 2712 |
) |
2713 | 2713 |
def declare_initial_configs( |
... | ... |
@@ -2718,37 +2718,20 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
2718 | 2718 |
|
2719 | 2719 |
@stateful.initialize( |
2720 | 2720 |
target=setting, |
2721 |
- config=_vault_full_config, |
|
2722 |
- ) |
|
2723 |
- def extract_initial_settings( |
|
2724 |
- self, |
|
2725 |
- config: _types.VaultConfig, |
|
2726 |
- ) -> Iterable[_types.VaultConfigServicesSettings]: |
|
2727 |
- return stateful.multiple( |
|
2728 |
- *map(copy.deepcopy, config['services'].values()) |
|
2729 |
- ) |
|
2730 |
- |
|
2731 |
- @stateful.rule( |
|
2732 |
- target=configuration, |
|
2733 |
- config=_vault_full_config, |
|
2721 |
+ configs=strategies.lists( |
|
2722 |
+ _vault_full_config, |
|
2723 |
+ min_size=4, |
|
2724 |
+ max_size=4, |
|
2734 | 2725 |
) |
2735 |
- def declare_config( |
|
2736 |
- self, |
|
2737 |
- config: _types.VaultConfig, |
|
2738 |
- ) -> _types.VaultConfig: |
|
2739 |
- return config |
|
2740 |
- |
|
2741 |
- @stateful.rule( |
|
2742 |
- target=setting, |
|
2743 |
- config=_vault_full_config, |
|
2744 | 2726 |
) |
2745 |
- def extract_settings( |
|
2727 |
+ def extract_initial_settings( |
|
2746 | 2728 |
self, |
2747 |
- config: _types.VaultConfig, |
|
2729 |
+ configs: list[_types.VaultConfig], |
|
2748 | 2730 |
) -> Iterable[_types.VaultConfigServicesSettings]: |
2749 |
- return stateful.multiple( |
|
2750 |
- *map(copy.deepcopy, config['services'].values()) |
|
2751 |
- ) |
|
2731 |
+ settings: list[_types.VaultConfigServicesSettings] = [] |
|
2732 |
+ for c in configs: |
|
2733 |
+ settings.extend(c['services'].values()) |
|
2734 |
+ return stateful.multiple(*map(copy.deepcopy, settings)) |
|
2752 | 2735 |
|
2753 | 2736 |
@staticmethod |
2754 | 2737 |
def fold_configs( |
... | ... |
@@ -2846,14 +2829,14 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
2846 | 2829 |
|
2847 | 2830 |
@stateful.rule( |
2848 | 2831 |
target=configuration, |
2849 |
- config=configuration.filter(lambda c: 'global' in c), |
|
2832 |
+ config=configuration, |
|
2850 | 2833 |
) |
2851 | 2834 |
def purge_global( |
2852 | 2835 |
self, |
2853 | 2836 |
config: _types.VaultConfig, |
2854 | 2837 |
) -> _types.VaultConfig: |
2855 | 2838 |
cli._save_config(config) |
2856 |
- config.pop('global') |
|
2839 |
+ config.pop('global', None) |
|
2857 | 2840 |
_result = self.runner.invoke( |
2858 | 2841 |
cli.derivepassphrase_vault, |
2859 | 2842 |
['--delete-globals'], |
... | ... |
@@ -2868,7 +2851,7 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
2868 | 2851 |
@stateful.rule( |
2869 | 2852 |
target=configuration, |
2870 | 2853 |
config_and_service=configuration.filter( |
2871 |
- lambda c: len(c['services']) > 1 |
|
2854 |
+ lambda c: bool(c['services']) |
|
2872 | 2855 |
).flatmap( |
2873 | 2856 |
lambda c: strategies.tuples( |
2874 | 2857 |
strategies.just(c), |
... | ... |
@@ -2896,7 +2879,7 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
2896 | 2879 |
|
2897 | 2880 |
@stateful.rule( |
2898 | 2881 |
target=configuration, |
2899 |
- config=configuration.filter(lambda c: 0 < len(c['services']) < 5), |
|
2882 |
+ config=configuration, |
|
2900 | 2883 |
) |
2901 | 2884 |
def purge_all( |
2902 | 2885 |
self, |
2903 | 2886 |