-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: Module Rename Lifecycle #14
Labels
Comments
Updates from discussion in today's meeting:
|
@ryansb is there anywhere where you are collating a list of modules that should be renamed? I have a few suggestions... |
@ryansb any update on this one? |
@wimnat updated with new outcomes from last core meeting. |
Looks good. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Proposal: Module Rename Lifecycle
Author: Ryan "@ryansb" Scott Brown
Date: 2016/05/11
Motivation
There are some modules that don't conform to naming conventions that have either developed since the module was merged or weren't enforced when the module was merged. This proposal is to add a guideline to the contrib/community guide that covers how to rename a module, and a deprecation cycle for renames.
Problems
If a module has a name that needs to be changed, the development team needs a way of changing the name without breaking playbooks and creating sad users. Some examples of names we'd want to change are the plural module names from this spec or the AWS route53 module which is just the service name, not a resource within the service.
Solution proposal
This proposal matches the 4-cycle deprecation process.
After being deprecated, the old name could be reused if needed, though there's not much of a reason to reuse a name if it was deprecated for not conforming to a guideline.
When deprecated, the module code should be moved to a file matching the new name, and a code block along these lines should be added to the execution path:
In the above example, the ping module is being renamed to newping.
Example
Let's walk through the process if someone were to rename a module during the 2.3 dev cycle.
module.deprecate
call to the module, andgit mv
the file to the new name (example.py
->newname.py
) and add a symlink to alias the old name,_example.py
.The text was updated successfully, but these errors were encountered: