User story #12436
closedMigrate deprecated generic methods to new ones
Description
The following methods (in table below) are deprecated in 4.3.
Technique in the technique editor using them will be mark as deprecated, but there is no simple way to update the generic method: one would need to manually add the new method, copy/paste parameters, remove the old one - quite tedious.
We want to provide an as-automated-upgrade experience as possible for user on that subject.
So there is 4 mains step to provide that said experience:
1/ for just on method, find and automate the process that allows in Rudder (post-update) to change the method name from old to new and do what is needed in term of git commit, hooks and generation to have the technique and directives containing the method correctly updated.
2/ add all the simple cases in the automated process. These cases should be just rename, and should be easy to add in the previous process.
3/ add the special cases, one at a time. We don't know exactly to what extend we will be able to fully automate all of the special cases, so for them, process iteratively - each added method is a win for the user experience.
4/ for the remaining methods that can't be automated (if any), write the corresponding udgrade process.
Renamed methods (simple cases):
method | replacement |
directory_create | directory_present |
file_copy_from_local_source | file_from_local_source |
file_copy_from_local_source_recursion | file_from_local_source_recursion |
file_copy_from_local_source_with_check | file_from_local_source_with_check |
file_copy_from_remote_source | file_from_remote_source |
file_copy_from_remote_source_recursion | file_from_remote_source_recursion |
file_create | file_present |
file_create_symlink_enforce | file_symlink_present_option |
file_create_symlink | file_symlink_present |
file_create_symlink_force | file_symlink_present_force |
file_download | file_from_http_server |
file_enforce_content | file_content |
file_ensure_block_in_section | file_block_present_in_section |
file_ensure_block_present | file_block_present |
file_ensure_keys_values | file_keys_values_present |
file_ensure_key_value | file_key_value_present |
file_ensure_key_value_option | file_key_value_present_option |
file_ensure_key_value_parameter_in_list | file_key_value_parameter_present_in_list |
file_ensure_key_value_parameter_not_in_list | file_key_value_parameter_absent_in_list |
file_ensure_key_value_present_in_ini_section | file_key_value_present_in_ini_section |
file_ensure_line_present_in_ini_section | file_line_present_in_ini_section |
file_ensure_line_present_in_xml_tag | file_line_present_in_xml_tag |
file_ensure_lines_absent | file_lines_absent |
file_ensure_lines_present | file_lines_present |
file_remove | file_absent |
permissions_dirs_recurse | permissions_dir_recursive |
permissions_recurse | permissions_recursive |
_service_check_running_smf | service_check_running |
_service_check_running_src | service_check_running |
service_ensure_disabled_at_boot | service_disabled_at_boot |
service_ensure_running_path | service_started_path |
service_ensure_running | service_started |
service_ensure_started_at_boot | service_enabled |
service_ensure_stopped | service_stopped |
These are simply renamed, without changes in the arguments, we only need to be careful with the classes from these methods used as conditions.
Special cases (hard one):
method | replacement | comment |
package_install | package_present | automatable but different implementation |
package_install_version | package_present | automatable but different implementation |
package_install_version_cmp | package_present | not all cases are covered (version comparison) |
package_install_version_cmp_update | package_present | not all cases are covered (version comparison) |
package_remove | package_absent | automatable but different implementation |
service_restart_if | service_restart (with a condition) | automatable with specific logic |
service_start | service_started (or service_action) | automatable but the user might has mistaken what this method actually does (start vs. started) |
service_stop | service_stopped (or service_action) | automatable but the user might has mistaken what this method actually does (stop vs. stopped) |
user_create | user_* methods | |
file_from_template | x | Removing support for CFEngine templating |
file_template_expand | x | Removing support for CFEngine templating |
Updated by Alexis Mousset over 6 years ago
- Description updated (diff)
- Target version set to 4.3.0
Updated by François ARMAND over 6 years ago
- Translation missing: en.field_tag_list set to Blocking 4.3
Perhaps we should have the step 1/ in 4.3 to be sure that their is nothing blocking for the other steps. What do you think Alexis/Benoit?
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.3.0 to 4.3.1
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.3.1 to 4.3.2
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.3.2 to 410
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 410 to 4.3.2
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.3.2 to 4.3.3
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.3.3 to 4.3.4
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 4.3.4 to 4.3.5
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.3.5 to 4.3.6
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.3.6 to 4.3.7
Updated by Vincent MEMBRÉ almost 6 years ago
- Target version changed from 4.3.7 to 4.3.8
Updated by Vincent MEMBRÉ almost 6 years ago
- Target version changed from 4.3.8 to 4.3.9
Updated by Alexis Mousset almost 6 years ago
- Target version changed from 4.3.9 to 4.3.10
Updated by François ARMAND over 5 years ago
- Target version changed from 4.3.10 to 4.3.11
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 4.3.11 to 4.3.12
Updated by Benoît PECCATTE over 5 years ago
- Target version changed from 4.3.12 to 5.0.10
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.10 to 5.0.11
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.11 to 5.0.12
Updated by Vincent MEMBRÉ over 5 years ago
- Target version changed from 5.0.12 to 5.0.13
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.13 to 5.0.14
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.14 to 5.0.15
Updated by Vincent MEMBRÉ almost 5 years ago
- Target version changed from 5.0.15 to 5.0.16
Updated by Alexis Mousset almost 5 years ago
- Target version changed from 5.0.16 to 5.0.17
Updated by Vincent MEMBRÉ over 4 years ago
- Target version changed from 5.0.17 to 5.0.18
Updated by Benoît PECCATTE over 4 years ago
- Target version changed from 5.0.18 to 6.2.0~beta1
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 6.2.0~beta1 to 6.2.0~rc1
Updated by François ARMAND about 4 years ago
- Target version changed from 6.2.0~rc1 to 7.0.0~beta1
This will be handled with rudder lang.
Updated by François ARMAND about 4 years ago
- Has duplicate User story #11813: Help the user migrate generic methods in his techniques added
Updated by Alexis Mousset over 3 years ago
- Translation missing: en.field_tag_list deleted (
Blocking 4.3)
Updated by Alexis Mousset over 2 years ago
- Project changed from 41 to Rudder
- Category changed from Generic methods to Generic methods