mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add a code-smell test for smart quotes and remove smart quotes from all files
This commit is contained in:
parent
f9370c95d7
commit
c82cf791dd
41 changed files with 147 additions and 120 deletions
4
.github/ISSUE_TEMPLATE.md
vendored
4
.github/ISSUE_TEMPLATE.md
vendored
|
@ -13,7 +13,7 @@ Also test if the latest release, and master branch are affected too.
|
|||
<!--- Name of the module/plugin/task/feature -->
|
||||
|
||||
##### ANSIBLE VERSION
|
||||
<!--- Paste verbatim output from “ansible --version” between quotes below -->
|
||||
<!--- Paste verbatim output from "ansible --version" between quotes below -->
|
||||
```
|
||||
|
||||
```
|
||||
|
@ -30,7 +30,7 @@ Otherwise, mention any settings you have changed/added/removed in ansible.cfg
|
|||
##### OS / ENVIRONMENT
|
||||
<!---
|
||||
Mention the OS you are running Ansible from, and the OS you are
|
||||
managing, or say “N/A” for anything that is not platform-specific.
|
||||
managing, or say "N/A" for anything that is not platform-specific.
|
||||
Also mention the specific version of what you are trying to control,
|
||||
e.g. if this is a network bug the version of firmware on the network device.
|
||||
-->
|
||||
|
|
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -18,7 +18,7 @@ the change does.
|
|||
<!--- Name of the module/plugin/module/task -->
|
||||
|
||||
##### ANSIBLE VERSION
|
||||
<!--- Paste verbatim output from “ansible --version” between quotes below -->
|
||||
<!--- Paste verbatim output from "ansible --version" between quotes below -->
|
||||
```
|
||||
|
||||
```
|
||||
|
|
|
@ -1808,7 +1808,7 @@ Module fixes:
|
|||
This re-executes inventory scripts, but does not force them to ignore any cache they might use.
|
||||
* New delegate_facts directive, a boolean that allows you to apply facts to the delegated host (true/yes) instead of the inventory_hostname (no/false) which is the default and previous behaviour.
|
||||
* local connections now work with 'su' as a privilege escalation method
|
||||
* Ansible 2.0 has deprecated the “ssh” from ansible_ssh_user, ansible_ssh_host, and ansible_ssh_port to become ansible_user, ansible_host, and ansible_port.
|
||||
* Ansible 2.0 has deprecated the "ssh" from ansible_ssh_user, ansible_ssh_host, and ansible_ssh_port to become ansible_user, ansible_host, and ansible_port.
|
||||
* New ssh configuration variables (`ansible_ssh_common_args`, `ansible_ssh_extra_args`) can be used to configure a
|
||||
per-group or per-host ssh ProxyCommand or set any other ssh options.
|
||||
`ansible_ssh_extra_args` is used to set options that are accepted only by ssh (not sftp or scp, which have their own analogous settings).
|
||||
|
|
|
@ -3,7 +3,7 @@ Committers Guidelines (for people with commit rights to Ansible on GitHub)
|
|||
|
||||
These are the guidelines for people with commit access to Ansible. Committers are essentially acting as members of the Ansible Core team, although not necessarily as an employee of Ansible and Red Hat. Please read the guidelines before you commit.
|
||||
|
||||
These guidelines apply to everyone. At the same time, this ISN’T a process document. So just use good judgement. You’ve been given commit access because we trust your judgement.
|
||||
These guidelines apply to everyone. At the same time, this ISN'T a process document. So just use good judgement. You've been given commit access because we trust your judgement.
|
||||
|
||||
That said, use the trust wisely.
|
||||
|
||||
|
@ -19,18 +19,18 @@ Any other new features and changes to high level design should go through the pr
|
|||
Our Workflow on GitHub
|
||||
======================
|
||||
|
||||
As a committer, you may already know this, but our workflow forms a lot of our team policies. Please ensure you’re aware of the following workflow steps:
|
||||
As a committer, you may already know this, but our workflow forms a lot of our team policies. Please ensure you're aware of the following workflow steps:
|
||||
|
||||
* Fork the repository upon which you want to do some work to your own personal repository
|
||||
* Work on the specific branch upon which you need to commit
|
||||
* Create a Pull Request back to the Ansible repository and tag the people you would like to review; assign someone as the primary “owner” of your request
|
||||
* Create a Pull Request back to the Ansible repository and tag the people you would like to review; assign someone as the primary "owner" of your request
|
||||
* Adjust code as necessary based on the Comments provided
|
||||
* Ask someone on the Core Team to do a final review and merge
|
||||
|
||||
Addendum to workflow for Committers:
|
||||
------------------------------------
|
||||
|
||||
The Core Team is aware that this can be a difficult process at times. Sometimes, the team breaks the rules: Direct commits, merging their own PRs. This section is a set of guidelines. If you’re changing a comma in a doc, or making a very minor change, you can use your best judgement. This is another trust thing. The process is critical for any major change, but for little things or getting something done quickly, use your best judgement and make sure people on the team are aware of your work.
|
||||
The Core Team is aware that this can be a difficult process at times. Sometimes, the team breaks the rules: Direct commits, merging their own PRs. This section is a set of guidelines. If you're changing a comma in a doc, or making a very minor change, you can use your best judgement. This is another trust thing. The process is critical for any major change, but for little things or getting something done quickly, use your best judgement and make sure people on the team are aware of your work.
|
||||
|
||||
Roles on Core
|
||||
=============
|
||||
|
@ -41,12 +41,12 @@ General Rules
|
|||
=============
|
||||
Individuals with direct commit access to ansible/ansible are entrusted with powers that allow them to do a broad variety of things--probably more than we can write down. Rather than rules, treat these as general *guidelines*, individuals with this power are expected to use their best judgement.
|
||||
|
||||
* Don’t
|
||||
* Don't
|
||||
|
||||
- Commit directly.
|
||||
- Merge your own PRs. Someone else should have a chance to review and approve the PR merge. If you are a Core Committer, you have a small amount of leeway here for very minor changes.
|
||||
- Forget about alternate environments. Consider the alternatives--yes, people have bad environments, but they are the ones who need us the most.
|
||||
- Drag your community team members down. Always discuss the technical merits, but you should never address the person’s limitations (you can later go for beers and call them idiots, but not in IRC/Github/etc.).
|
||||
- Drag your community team members down. Always discuss the technical merits, but you should never address the person's limitations (you can later go for beers and call them idiots, but not in IRC/Github/etc.).
|
||||
- Forget about the maintenance burden. Some things are really cool to have, but they might not be worth shoehorning in if the maintenance burden is too great.
|
||||
- Break playbooks. Always keep backwards compatibility in mind.
|
||||
- Forget to keep it simple. Complexity breeds all kinds of problems.
|
||||
|
@ -55,7 +55,7 @@ Individuals with direct commit access to ansible/ansible are entrusted with powe
|
|||
|
||||
- Squash, avoid merges whenever possible, use github's squash commits or cherry pick if needed (bisect thanks you).
|
||||
- Be active. Committers who have no activity on the project (through merges, triage, commits, etc.) will have their permissions suspended.
|
||||
- Consider backwards compatibility (goes back to "don’t break existing playbooks").
|
||||
- Consider backwards compatibility (goes back to "don't break existing playbooks").
|
||||
- Write tests. PRs with tests are looked at with more priority than PRs without tests that should have them included. While not all changes require tests, be sure to add them for bug fixes or functionality changes.
|
||||
- Discuss with other committers, specially when you are unsure of something.
|
||||
- Document! If your PR is a new feature or a change to behavior, make sure you've updated all associated documentation or have notified the right people to do so. It also helps to add the version of Core against which this documentation is compatible (to avoid confusion with stable versus devel docs, for backwards compatibility, etc.).
|
||||
|
|
|
@ -45,7 +45,7 @@ I'd Like To Help Share and Promote Ansible
|
|||
You can help share Ansible with others by telling friends and colleagues, writing a blog post,
|
||||
or presenting at user groups (like DevOps groups or the local LUG).
|
||||
|
||||
You are also welcome to share slides on speakerdeck, sign up for a free account and tag it “Ansible”. On Twitter,
|
||||
You are also welcome to share slides on speakerdeck, sign up for a free account and tag it "Ansible". On Twitter,
|
||||
you can also share things with #ansible and may wish to `follow us <https://twitter.com/ansible>`_.
|
||||
|
||||
I'd Like To Help Ansible Move Faster
|
||||
|
@ -87,7 +87,7 @@ the mailing list or IRC first.
|
|||
|
||||
As we are a very high volume project, if you determine that
|
||||
you do have a bug, please be sure to open the issue yourself to ensure we have a record of
|
||||
it. Don’t rely on someone else in the community to file the bug report for you.
|
||||
it. Don't rely on someone else in the community to file the bug report for you.
|
||||
|
||||
It may take some time to get to your report, see our information about priority flags below.
|
||||
|
||||
|
@ -109,7 +109,7 @@ For more information on module documentation see `How to document modules <http:
|
|||
Aside from modules, the main docs are in restructured text
|
||||
format.
|
||||
|
||||
If you aren’t comfortable with restructured text, you can also open a ticket on
|
||||
If you aren't comfortable with restructured text, you can also open a ticket on
|
||||
GitHub about any errors you spot or sections you would like to see added. For more information
|
||||
on creating pull requests, please refer to the
|
||||
`GitHub help guide <https://help.github.com/articles/using-pull-requests>`_.
|
||||
|
@ -155,7 +155,7 @@ If you make a mistake you do not need to close your PR. Instead, create a clean
|
|||
with ``--force`` to overwrite the existing branch (permissible in this case as no one else should be using that
|
||||
branch as reference). Code comments won't be lost, they just won't be attached to the existing branch.
|
||||
|
||||
We’ll then review your contributions and engage with you about questions and so on.
|
||||
We'll then review your contributions and engage with you about questions and so on.
|
||||
|
||||
Because we have a very large and active community it may take awhile to get your contributions
|
||||
in! See the notes about priorities in a later section for understanding our work queue.
|
||||
|
|
|
@ -41,9 +41,9 @@ Each module has at least one assigned maintainer, listed in a `maintainer's file
|
|||
.. _Ansibullbot: https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md
|
||||
.. _maintainer's file: https://github.com/ansible/ansible/blob/devel/.github/BOTMETA.yml
|
||||
|
||||
Some modules have no community maintainers assigned. In this case, the maintainer is listed as ``$team_ansible``. Ultimately, it’s our goal to have at least one community maintainer for every module.
|
||||
Some modules have no community maintainers assigned. In this case, the maintainer is listed as ``$team_ansible``. Ultimately, it's our goal to have at least one community maintainer for every module.
|
||||
|
||||
The maintainer’s job is to review PRs and decide whether that PR should be merged (``shipit``) or revised (``needs_revision``).
|
||||
The maintainer's job is to review PRs and decide whether that PR should be merged (``shipit``) or revised (``needs_revision``).
|
||||
|
||||
The ultimate goal of any pull request is to reach **shipit** status, where the Core team then decides whether the PR is ready to be merged. Not every PR that reaches the **shipit** label is actually ready to be merged, but the better our reviewers are, and the better our guidelines are, the more likely it will be that a PR that reaches **shipit** will be mergeable.
|
||||
|
||||
|
@ -54,7 +54,7 @@ Workflow
|
|||
|
||||
Ansibullbot runs continuously. You can generally expect to see changes to your issue or pull request within thirty minutes. Ansibullbot examines every open pull request in the repositories, and enforces state roughly according to the following workflow:
|
||||
|
||||
- If a pull request has no workflow labels, it’s considered **new**. Files in the pull request are identified, and the maintainers of those files are pinged by the bot, along with instructions on how to review the pull request. (Note: sometimes we strip labels from a pull request to “reboot” this process.)
|
||||
- If a pull request has no workflow labels, it's considered **new**. Files in the pull request are identified, and the maintainers of those files are pinged by the bot, along with instructions on how to review the pull request. (Note: sometimes we strip labels from a pull request to "reboot" this process.)
|
||||
- If the module maintainer is not ``$team_ansible``, the pull request then goes into the **community_review** state.
|
||||
- If the module maintainer is ``$team_ansible``, the pull request then goes into the **core_review** state (and probably sits for a while).
|
||||
- If the pull request is in **community_review** and has received comments from the maintainer:
|
||||
|
@ -110,4 +110,4 @@ Special Labels
|
|||
|
||||
- **new_plugin**: this is for new modules or plugins that are not yet in Ansible.
|
||||
|
||||
**Note:** `new_plugin` kicks off a completely separate process, and frankly it doesn’t work very well at present. We’re working our best to improve this process.
|
||||
**Note:** `new_plugin` kicks off a completely separate process, and frankly it doesn't work very well at present. We're working our best to improve this process.
|
||||
|
|
|
@ -25,7 +25,7 @@ For multiple-file content, we encourage use of gist.github.com. Online pastebin
|
|||
|
||||
If you are not sure if something is a bug yet, you are welcome to ask about something on the mailing list or IRC first.
|
||||
|
||||
As we are a very high volume project, if you determine that you do have a bug, please be sure to open the issue yourself to ensure we have a record of it. Don’t rely on someone else in the community to file the bug report for you.
|
||||
As we are a very high volume project, if you determine that you do have a bug, please be sure to open the issue yourself to ensure we have a record of it. Don't rely on someone else in the community to file the bug report for you.
|
||||
|
||||
Requesting a feature
|
||||
====================
|
||||
|
|
|
@ -55,7 +55,7 @@ The complete module metadata specification is here: `Ansible metadata block <htt
|
|||
* Examples--include them whenever possible and make sure they are reproducible.
|
||||
* Document the return structure of the module. Refer to :ref:`common_return_values` and :ref:`module_documenting` for additional information.
|
||||
* Predictable user interface: This is a particularly important section as it is also an area where we need significant improvements.
|
||||
* Name consistency across modules (we’ve gotten better at this, but we still have many deviations).
|
||||
* Name consistency across modules (we've gotten better at this, but we still have many deviations).
|
||||
* Declarative operation (not CRUD)--this makes it easy for a user not to care what the existing state is, just about the final state. ``started/stopped``, ``present/absent``--don't overload options too much. It is preferable to add a new, simple option than to add choices/states that don't fit with existing ones.
|
||||
* Keep options small, having them take large data structures might save us a few tasks, but adds a complex requirement that we cannot easily validate before passing on to the module.
|
||||
* Allow an "expert mode". This may sound like the absolute opposite of the previous one, but it is always best to let expert users deal with complex data. This requires different modules in some cases, so that you end up having one (1) expert module and several 'piecemeal' ones (ec2_vpc_net?). The reason for this is not, as many users express, because it allows a single task and keeps plays small (which just moves the data complexity into vars files, leaving you with a slightly different structure in another YAML file). It does, however, allow for a more 'atomic' operation against the underlying APIs and services.
|
||||
|
|
|
@ -109,11 +109,11 @@ Structure
|
|||
Fields
|
||||
^^^^^^
|
||||
|
||||
:metadata_version: An “X.Y” formatted string. X and Y are integers which
|
||||
:metadata_version: An "X.Y" formatted string. X and Y are integers which
|
||||
define the metadata format version. Modules shipped with Ansible are
|
||||
tied to an Ansible release, so we will only ship with a single version
|
||||
of the metadata. We’ll increment Y if we add fields or legal values
|
||||
to an existing field. We’ll increment X if we remove fields or values
|
||||
of the metadata. We'll increment Y if we add fields or legal values
|
||||
to an existing field. We'll increment X if we remove fields or values
|
||||
or change the type or meaning of a field.
|
||||
Current metadata_version is "1.1"
|
||||
:supported_by: This field records who supports the module.
|
||||
|
@ -130,13 +130,13 @@ Fields
|
|||
`Modules Support <http://docs.ansible.com/ansible/modules_support.html>`_.
|
||||
|
||||
:status: This field records information about the module that is
|
||||
important to the end user. It’s a list of strings. The default value
|
||||
is a single element list [“preview”]. The following strings are valid
|
||||
important to the end user. It's a list of strings. The default value
|
||||
is a single element list ["preview"]. The following strings are valid
|
||||
statuses and have the following meanings:
|
||||
|
||||
:stableinterface: This means that the module’s parameters are
|
||||
:stableinterface: This means that the module's parameters are
|
||||
stable. Every effort will be made not to remove parameters or change
|
||||
their meaning. It is not a rating of the module’s code quality.
|
||||
their meaning. It is not a rating of the module's code quality.
|
||||
:preview: This module is a tech preview. This means it may be
|
||||
unstable, the parameters may change, or it may require libraries or
|
||||
web services that are themselves subject to incompatible changes.
|
||||
|
|
|
@ -25,7 +25,7 @@ Inventory
|
|||
|
||||
By default, Ansible represents what machines it manages using a very simple INI file that puts all of your managed machines in groups of your own choosing.
|
||||
|
||||
To add new machines, there is no additional SSL signing server involved, so there's never any hassle deciding why a particular machine didn’t get linked up due to obscure NTP or DNS issues.
|
||||
To add new machines, there is no additional SSL signing server involved, so there's never any hassle deciding why a particular machine didn't get linked up due to obscure NTP or DNS issues.
|
||||
|
||||
If there's another source of truth in your infrastructure, Ansible can also plugin to that, such as drawing inventory, group, and variable information from sources like EC2, Rackspace, OpenStack, and more.
|
||||
|
||||
|
@ -69,4 +69,4 @@ Here's what a simple playbook looks like::
|
|||
Extending Ansible with Plug-ins and the API
|
||||
````````````````````````````````````````````
|
||||
|
||||
Should you want to write your own, Ansible modules can be written in any language that can return JSON (Ruby, Python, bash, etc). Inventory can also plug in to any datasource by writing a program that speaks to that datasource and returns JSON. There's also various Python APIs for extending Ansible’s connection types (SSH is not the only transport possible), callbacks (how Ansible logs, etc), and even for adding new server side behaviors.
|
||||
Should you want to write your own, Ansible modules can be written in any language that can return JSON (Ruby, Python, bash, etc). Inventory can also plug in to any datasource by writing a program that speaks to that datasource and returns JSON. There's also various Python APIs for extending Ansible's connection types (SSH is not the only transport possible), callbacks (how Ansible logs, etc), and even for adding new server side behaviors.
|
||||
|
|
|
@ -110,7 +110,7 @@ Never use "we" when writing. "We" aren't doing anything on the user side. Ansibl
|
|||
|
||||
Hyphen
|
||||
~~~~~~~~~~~~~~
|
||||
The hyphen’s primary function is the formation of certain compound terms. Do not use a hyphen unless it serves a purpose. If a compound adjective cannot be misread or, as with many psychological terms, its meaning is established, a hyphen is not necessary.
|
||||
The hyphen's primary function is the formation of certain compound terms. Do not use a hyphen unless it serves a purpose. If a compound adjective cannot be misread or, as with many psychological terms, its meaning is established, a hyphen is not necessary.
|
||||
|
||||
Use hyphens to avoid ambiguity or confusion:
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ Use to describes where to place options for a command, but not where to type the
|
|||
Daylight saving time (DST)
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
Correct. Do not use daylight savings time. Daylight Saving Time (DST) is often misspelled “Daylight Savings”, with an “s” at the end. Other common variations are “Summer Time”and “Daylight-Saving Time”. (http://www.timeanddate.com/time/dst/daylight-savings-time.html)
|
||||
Correct. Do not use daylight savings time. Daylight Saving Time (DST) is often misspelled "Daylight Savings", with an "s" at the end. Other common variations are "Summer Time"and "Daylight-Saving Time". (http://www.timeanddate.com/time/dst/daylight-savings-time.html)
|
||||
|
||||
|
||||
Download
|
||||
|
@ -99,7 +99,7 @@ When used as a verb, fail over is two words since there can be different tenses
|
|||
|
||||
Fewer
|
||||
+++++++++++++++++++
|
||||
Fewer is used with plural nouns. Think things you could count. Time, money, distance, and weight are often listed as exceptions to the traditional “can you count it” rule, often thought of a singular amounts (the work will take less than 5 hours, for example).
|
||||
Fewer is used with plural nouns. Think things you could count. Time, money, distance, and weight are often listed as exceptions to the traditional "can you count it" rule, often thought of a singular amounts (the work will take less than 5 hours, for example).
|
||||
|
||||
File name
|
||||
+++++++++++++
|
||||
|
|
|
@ -13,7 +13,7 @@ This style guide incorporates current Ansible resources and information so that
|
|||
|
||||
<blockquote class="note info">
|
||||
|
||||
“If you don't find it in the index, look very carefully through the entire catalogue.”
|
||||
"If you don't find it in the index, look very carefully through the entire catalogue."
|
||||
― Sears, Roebuck and Co., 1897 Sears Roebuck & Co. Catalogue
|
||||
|
||||
.. raw:: html
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
Sanity Tests » no-smart-quotes
|
||||
==============================
|
||||
|
||||
Smart quotes (``”“‘’``) should not be used. Use plain ascii quotes (``"'``) instead.
|
|
@ -40,11 +40,11 @@ There is now a detailed official tutorial describing `how to create a service pr
|
|||
|
||||
After stepping through the tutorial you will have:
|
||||
|
||||
* Your Client ID, which is found in the “client id” box in the “Configure” page of your application in the Azure portal
|
||||
* Your Client ID, which is found in the "client id" box in the "Configure" page of your application in the Azure portal
|
||||
* Your Secret key, generated when you created the application. You cannot show the key after creation.
|
||||
If you lost the key, you must create a new one in the “Configure” page of your application.
|
||||
* And finally, a tenant ID. It’s a UUID (e.g. ABCDEFGH-1234-ABCD-1234-ABCDEFGHIJKL) pointing to the AD containing your
|
||||
application. You will find it in the URL from within the Azure portal, or in the “view endpoints” of any given URL.
|
||||
If you lost the key, you must create a new one in the "Configure" page of your application.
|
||||
* And finally, a tenant ID. It's a UUID (e.g. ABCDEFGH-1234-ABCD-1234-ABCDEFGHIJKL) pointing to the AD containing your
|
||||
application. You will find it in the URL from within the Azure portal, or in the "view endpoints" of any given URL.
|
||||
|
||||
|
||||
Using Active Directory Username/Password
|
||||
|
|
|
@ -27,7 +27,7 @@ Bootstrapping BSD
|
|||
As mentioned above, you can bootstrap Ansible with the ``raw`` module and remotely install Python on targets. The following example installs Python 2.7 which includes the json library required for full functionality of Ansible.
|
||||
On your control machine you can simply execute the following for most versions of FreeBSD::
|
||||
|
||||
ansible -m raw -a “pkg install -y python27” mybsdhost1
|
||||
ansible -m raw -a "pkg install -y python27" mybsdhost1
|
||||
|
||||
Once this is done you can now use other Ansible modules apart from the ``raw`` module.
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ Installing the Control Machine
|
|||
Latest Release Via Yum
|
||||
++++++++++++++++++++++
|
||||
|
||||
.. note:: We’ve changed how the Ansible community packages are distributed.
|
||||
.. note:: We've changed how the Ansible community packages are distributed.
|
||||
For users of RHEL/CentOS/Scientific Linux version 7, the Ansible community RPM
|
||||
package will transition from the EPEL repository to the Extras channel. There will be no
|
||||
change for version 6 of RHEL/CentOS/Scientific Linux since Extras is not a part of version 6.
|
||||
|
|
|
@ -477,7 +477,7 @@ Here is an example of how to instantly deploy to created containers::
|
|||
:doc:`intro_adhoc`
|
||||
Examples of basic commands
|
||||
:doc:`playbooks`
|
||||
Learning Ansible’s configuration, deployment, and orchestration language.
|
||||
Learning Ansible's configuration, deployment, and orchestration language.
|
||||
`Mailing List <http://groups.google.com/group/ansible-project>`_
|
||||
Questions? Help? Ideas? Stop by the list on Google Groups
|
||||
`irc.freenode.net <http://irc.freenode.net>`_
|
||||
|
|
|
@ -32,9 +32,9 @@ Issue Reporting
|
|||
|
||||
If you believe you have found a bug in a module and are already running the latest stable or development version of Ansible, first look at the `issue tracker in the Ansible repo <https://github.com/ansible/ansible/issues>`_ to see if an issue has already been filed. If not, please file one.
|
||||
|
||||
Should you have a question rather than a bug report, inquiries are welcome on the `ansible-project Google group <https://groups.google.com/forum/#%21forum/ansible-project>`_ or on Ansible’s “#ansible” channel, located on irc.freenode.net.
|
||||
Should you have a question rather than a bug report, inquiries are welcome on the `ansible-project Google group <https://groups.google.com/forum/#%21forum/ansible-project>`_ or on Ansible's "#ansible" channel, located on irc.freenode.net.
|
||||
|
||||
For development-oriented topics, use the `ansible-devel Google group <https://groups.google.com/forum/#%21forum/ansible-devel>`_ or Ansible’s #ansible and #ansible-devel channels, located on irc.freenode.net. You should also read :doc:`Community Information & Contributing <community>`, :doc:`Testing Ansible <dev_guide/testing>`, and :doc:`Developing Modules <dev_guide/developing_modules>`.
|
||||
For development-oriented topics, use the `ansible-devel Google group <https://groups.google.com/forum/#%21forum/ansible-devel>`_ or Ansible's #ansible and #ansible-devel channels, located on irc.freenode.net. You should also read :doc:`Community Information & Contributing <community>`, :doc:`Testing Ansible <dev_guide/testing>`, and :doc:`Developing Modules <dev_guide/developing_modules>`.
|
||||
|
||||
The modules are hosted on GitHub in a subdirectory of the `Ansible <https://github.com/ansible/ansible/tree/devel/lib/ansible/modules>`_ repo.
|
||||
|
||||
|
|
|
@ -78,13 +78,13 @@ You can use any crypt scheme supported by 'Passlib':
|
|||
- *sun_md5_crypt* - Sun MD5 Crypt
|
||||
- *sha256_crypt* - SHA-256 Crypt
|
||||
- *sha512_crypt* - SHA-512 Crypt
|
||||
- *apr_md5_crypt* - Apache’s MD5-Crypt variant
|
||||
- *phpass* - PHPass’ Portable Hash
|
||||
- *apr_md5_crypt* - Apache's MD5-Crypt variant
|
||||
- *phpass* - PHPass' Portable Hash
|
||||
- *pbkdf2_digest* - Generic PBKDF2 Hashes
|
||||
- *cta_pbkdf2_sha1* - Cryptacular’s PBKDF2 hash
|
||||
- *dlitz_pbkdf2_sha1* - Dwayne Litzenberger’s PBKDF2 hash
|
||||
- *cta_pbkdf2_sha1* - Cryptacular's PBKDF2 hash
|
||||
- *dlitz_pbkdf2_sha1* - Dwayne Litzenberger's PBKDF2 hash
|
||||
- *scram* - SCRAM Hash
|
||||
- *bsd_nthash* - FreeBSD’s MCF-compatible nthash encoding
|
||||
- *bsd_nthash* - FreeBSD's MCF-compatible nthash encoding
|
||||
|
||||
However, the only parameters accepted are 'salt' or 'salt_size'. You can use your own salt using
|
||||
'salt', or have one generated automatically using 'salt_size'. If nothing is specified, a salt
|
||||
|
|
|
@ -109,7 +109,7 @@ While all items listed here will show a deprecation warning message, they still
|
|||
|
||||
* Bare variables in ``with_`` loops should instead use the ``"{ {var }}"`` syntax, which helps eliminate ambiguity.
|
||||
* The ansible-galaxy text format requirements file. Users should use the YAML format for requirements instead.
|
||||
* Undefined variables within a ``with_`` loop’s list currently do not interrupt the loop, but they do issue a warning; in the future, they will issue an error.
|
||||
* Undefined variables within a ``with_`` loop's list currently do not interrupt the loop, but they do issue a warning; in the future, they will issue an error.
|
||||
* Using dictionary variables to set all task parameters is unsafe and will be removed in a future version. For example::
|
||||
|
||||
- hosts: localhost
|
||||
|
@ -129,8 +129,8 @@ While all items listed here will show a deprecation warning message, they still
|
|||
|
||||
* Host patterns should use a comma (,) or colon (:) instead of a semicolon (;) to separate hosts/groups in the pattern.
|
||||
* Ranges specified in host patterns should use the [x:y] syntax, instead of [x-y].
|
||||
* Playbooks using privilege escalation should always use “become*” options rather than the old su*/sudo* options.
|
||||
* The “short form” for vars_prompt is no longer supported.
|
||||
* Playbooks using privilege escalation should always use "become*" options rather than the old su*/sudo* options.
|
||||
* The "short form" for vars_prompt is no longer supported.
|
||||
For example::
|
||||
|
||||
vars_prompt:
|
||||
|
@ -148,7 +148,7 @@ Should now be::
|
|||
a: 1
|
||||
|
||||
* Setting any_errors_fatal on a task is no longer supported. This should be set at the play level only.
|
||||
* Bare variables in the `environment` dictionary (for plays/tasks/etc.) are no longer supported. Variables specified there should use the full variable syntax: ‘{{foo}}’.
|
||||
* Bare variables in the `environment` dictionary (for plays/tasks/etc.) are no longer supported. Variables specified there should use the full variable syntax: '{{foo}}'.
|
||||
* Tags (or any directive) should no longer be specified with other parameters in a task include. Instead, they should be specified as an option on the task.
|
||||
For example::
|
||||
|
||||
|
@ -159,7 +159,7 @@ Should now be::
|
|||
- include_tasks: foo.yml
|
||||
tags: [a, b, c]
|
||||
|
||||
* The first_available_file option on tasks has been deprecated. Users should use the with_first_found option or lookup (‘first_found’, …) plugin.
|
||||
* The first_available_file option on tasks has been deprecated. Users should use the with_first_found option or lookup ('first_found', …) plugin.
|
||||
|
||||
|
||||
Other caveats
|
||||
|
|
|
@ -95,11 +95,11 @@ Expand module diff support (already in progress in devel)
|
|||
|
||||
Other
|
||||
-----
|
||||
Things being kicking down the road that we said we’d do
|
||||
Things being kicking down the road that we said we'd do
|
||||
|
||||
- NOT remerging core with ansible/ansible this release cycle
|
||||
|
||||
Community
|
||||
---------
|
||||
- Define the process/ETA for reviewing PR’s from community
|
||||
- Define the process/ETA for reviewing PR's from community
|
||||
- Publish better docs and how-tos for submitting code/features/fixes
|
||||
|
|
|
@ -19,7 +19,7 @@ Extras split from Core
|
|||
----------------------
|
||||
Lead by Jason M and Jimi-c (Targeting 2.2, could move into 2.3).
|
||||
|
||||
Targeted towards the 2.2 release or shortly after, we are planning on splitting Extras out of the “Ansible Core” project. That means that modules that are shipped with Ansible by default are **only** the modules in ansibl-modules-core. Ansible extras will become a separate project, managed by the community standard. Over the next few months we’re going to have a lot of work to do on getting all of the modules in the right places for this to work.
|
||||
Targeted towards the 2.2 release or shortly after, we are planning on splitting Extras out of the "Ansible Core" project. That means that modules that are shipped with Ansible by default are **only** the modules in ansibl-modules-core. Ansible extras will become a separate project, managed by the community standard. Over the next few months we're going to have a lot of work to do on getting all of the modules in the right places for this to work.
|
||||
|
||||
- Create proposal (Jason or Jimi)
|
||||
- Review modules for correct location (extras v core)
|
||||
|
@ -40,7 +40,7 @@ AWS
|
|||
---
|
||||
Lead by Ryan Brown
|
||||
|
||||
- Pagination for all AWS modules (generic pagination exists, but isn’t used everywhere) (bumped to 2.3)
|
||||
- Pagination for all AWS modules (generic pagination exists, but isn't used everywhere) (bumped to 2.3)
|
||||
- Refactoring ec2.py to be more digestible (bumped to 2.3)
|
||||
- Fix inconsistencies with different authentication methods (STS, environment creds, ~/.aws/credentials) (done)
|
||||
- AWS Lambda modules (lambda_execute done, others pending)
|
||||
|
@ -85,7 +85,7 @@ Lead by Matt D
|
|||
|
||||
- Feature parity
|
||||
|
||||
- PS module API (mirror Python module API where appropriate). Note: We don’t necessarily like the current python module API (AnsibleModule is a huge class with many unrelated utility functions. Maybe we should redesign both at the same time?) (bumped to 2.3+ due to "moving target" uncertainty)
|
||||
- PS module API (mirror Python module API where appropriate). Note: We don't necessarily like the current python module API (AnsibleModule is a huge class with many unrelated utility functions. Maybe we should redesign both at the same time?) (bumped to 2.3+ due to "moving target" uncertainty)
|
||||
- Environment keyword support (done)
|
||||
- win_shell/win_command (done)
|
||||
- Async support (done)
|
||||
|
@ -117,7 +117,7 @@ Lead by Nate C, Peter S
|
|||
|
||||
Role revamp
|
||||
-----------
|
||||
- Implement ‘role revamp’ proposal to give users more control on role/task execution (Brian)
|
||||
- Implement 'role revamp' proposal to give users more control on role/task execution (Brian)
|
||||
|
||||
- **https://github.com/ansible/proposals/blob/master/roles_revamp.md**
|
||||
|
||||
|
@ -125,13 +125,13 @@ Vault
|
|||
-----
|
||||
Lead by Jtanner, Adrian
|
||||
|
||||
- *Extend ‘transparent vault file usage’ to other action plugins other than 'copy'(https://github.com/ansible/ansible/issues/7298)*
|
||||
- *Extend 'transparent vault file usage' to other action plugins other than 'copy'(https://github.com/ansible/ansible/issues/7298)*
|
||||
**done:** https://github.com/ansible/ansible/pull/16957
|
||||
- Add ‘per variable’ vault support (!vault YAML directive, existing PR already) https://github.com/ansible/ansible/issues/13287 https://github.com/ansible/ansible/issues/14721
|
||||
- Add 'per variable' vault support (!vault YAML directive, existing PR already) https://github.com/ansible/ansible/issues/13287 https://github.com/ansible/ansible/issues/14721
|
||||
- Add vault/unvault filters https://github.com/ansible/ansible/issues/12087 (deferred to 2.3)
|
||||
- Add vault support to lookups (likely deferred to 2.3 or until lookup plugins are revamped)
|
||||
- Allow for multiple vault secrets https://github.com/ansible/ansible/issues/13243
|
||||
- Config option to turn ‘unvaulting’ failures into warnings https://github.com/ansible/ansible/issues/13244
|
||||
- Config option to turn 'unvaulting' failures into warnings https://github.com/ansible/ansible/issues/13244
|
||||
|
||||
Python3
|
||||
-------
|
||||
|
@ -139,7 +139,7 @@ Lead by Toshio
|
|||
|
||||
A note here from Jason M: Getting to complete, tested Python 3 is both
|
||||
a critical task and one that has so much work and so many moving parts
|
||||
that we don’t expect this to be complete by the 2.2 release. Toshio will
|
||||
that we don't expect this to be complete by the 2.2 release. Toshio will
|
||||
lead this overall effort.
|
||||
|
||||
- Motivation:
|
||||
|
@ -173,7 +173,7 @@ lead this overall effort.
|
|||
- Update: copy of the six library (v1.4.1 for python2.4 compat) and unicode helpers are here (ansible.module_utils._text.{to_bytes,to_text,to_native})
|
||||
- A few basic modules ported to python3
|
||||
|
||||
- Stat module best example module since it’s essential.
|
||||
- Stat module best example module since it's essential.
|
||||
- Update:
|
||||
|
||||
- A handful of modules like stat have been line-by-line ported. They should work reliably with few python3-specific bugs. All but three integration tests pass which means that most essential modules are working to some extent on Python3.
|
||||
|
@ -186,7 +186,7 @@ lead this overall effort.
|
|||
- lib/ansible/* and all modules now compile under Python-3.5
|
||||
|
||||
- Side work to do:
|
||||
- Figure out best ways to run unit-tests on modules. Start unit-testing modules. This is going to become important so we don’t regress python3 or python2.4 support in modules (Going to largely punt on this for 2.2. Matt Clay is working on building us a testing foundation for the first half of 2.2 development so we’ll re-evaluate towards the middle of the dev cycle).
|
||||
- Figure out best ways to run unit-tests on modules. Start unit-testing modules. This is going to become important so we don't regress python3 or python2.4 support in modules (Going to largely punt on this for 2.2. Matt Clay is working on building us a testing foundation for the first half of 2.2 development so we'll re-evaluate towards the middle of the dev cycle).
|
||||
- More unit tests of module_utils
|
||||
- More integration tests. Currently integration tests are the best way to test ansible modules so we have to rely on those.
|
||||
|
||||
|
@ -202,7 +202,7 @@ Infrastructure Buildout and Changes
|
|||
-----------------------------------
|
||||
Lead by Matt Clay
|
||||
|
||||
Another note from Jason M: A lot of this work is to ease the burden of CI, CI performance, increase our testing coverage and all of that sort of thing. It’s not necessarily feature work, but it’s \*\*critical\*\* to growing our product and our ability to get community changes in more securely and quickly.
|
||||
Another note from Jason M: A lot of this work is to ease the burden of CI, CI performance, increase our testing coverage and all of that sort of thing. It's not necessarily feature work, but it's \*\*critical\*\* to growing our product and our ability to get community changes in more securely and quickly.
|
||||
|
||||
- **CI Performance**
|
||||
Reduce time spent waiting on CI for PRs. Combination of optimizing existing Travis setup and offloading work to other services. Will be impacted by available budget.
|
||||
|
|
|
@ -46,7 +46,7 @@ Lead by nitzmahone
|
|||
- Become support **(done/experimental)**
|
||||
- Integrated kerberos ticket management (via ansible_user/ansible_password) **(done)**
|
||||
- Switch PS input encoding to BOM-less UTF8 **(done)**
|
||||
- Server 2016 support/testing (now RTM’d) **(partial)**
|
||||
- Server 2016 support/testing (now RTM'd) **(partial)**
|
||||
- Modularize Windows module_utils (allow N files) **(partial)**
|
||||
- Declarative argspec for PS / .NET **(bumped to 2.4)**
|
||||
- Kerberos encryption (via notting, pywinrm/requests_kerberos/pykerberos) **(in progress, available in pywinrm post 2.3 release)**
|
||||
|
@ -98,8 +98,8 @@ Python3
|
|||
|
||||
- If users report bugs on python3, these should be fixed and will prioritize our work on porting other modules.
|
||||
|
||||
- Still have to solve the python3-only and python2-only modules. Thinking of doing this via metadata. Will mean we have to use metadata at the module_common level. Will also mean we don’t support py2-only or py3-only old style python modules.
|
||||
- Note: Most of the currently tested ansible features now run. But there’s still a lot of code that’s untested.
|
||||
- Still have to solve the python3-only and python2-only modules. Thinking of doing this via metadata. Will mean we have to use metadata at the module_common level. Will also mean we don't support py2-only or py3-only old style python modules.
|
||||
- Note: Most of the currently tested ansible features now run. But there's still a lot of code that's untested.
|
||||
|
||||
Testing and CI
|
||||
--------------
|
||||
|
@ -157,7 +157,7 @@ Plugin Loader
|
|||
|
||||
ansible-ssh
|
||||
-----------
|
||||
- Add a ‘ansible-ssh’ convenience and debugging tool (will slip to 2.4)
|
||||
- Add a 'ansible-ssh' convenience and debugging tool (will slip to 2.4)
|
||||
- Tool to invoke an interactive ssh to a host with the same args/env/config that ansible would.
|
||||
- There are at least three external versions
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ Inventory
|
|||
|
||||
Facts
|
||||
-----
|
||||
- Configurable list of ‘fact modules’ for ``gather_facts`` **(done)**
|
||||
- Configurable list of 'fact modules' for ``gather_facts`` **(done)**
|
||||
- Fact gathering policy finer grained **(done)**
|
||||
- Make ``setup.py``/``facts`` more pluggable **(done)**
|
||||
- Improve testing of ``setup.py``/``facts.py`` **(done)**
|
||||
|
@ -104,8 +104,8 @@ Globalize Callbacks
|
|||
-------------------
|
||||
**(pushed out to future release)**
|
||||
- Make send_callback available to other code that cannot use it.
|
||||
- Would allow for ‘full formatting’ of output (see JSON callback)
|
||||
- Fixes static ‘include’ display problem
|
||||
- Would allow for 'full formatting' of output (see JSON callback)
|
||||
- Fixes static 'include' display problem
|
||||
|
||||
Plugins
|
||||
-------
|
||||
|
@ -128,13 +128,13 @@ Runtime Check on Modules for Blacklisting
|
|||
|
||||
Disambiguate Includes
|
||||
---------------------
|
||||
- Create import_x for ‘static includes’ (import_task, import_play, import_role)
|
||||
- Create import_x for 'static includes' (import_task, import_play, import_role)
|
||||
|
||||
- Any directives are applied to the ‘imported’ tasks
|
||||
- Any directives are applied to the 'imported' tasks
|
||||
|
||||
- Create include_x for ‘dynamic includes’ (include_task, include_role)
|
||||
- Create include_x for 'dynamic includes' (include_task, include_role)
|
||||
|
||||
- Any directives apply to the ‘include’ itself
|
||||
- Any directives apply to the 'include' itself
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
.. note::
|
||||
|
||||
Ansible 2.0 has deprecated the “ssh” from ``ansible_ssh_user``, ``ansible_ssh_host``, and ``ansible_ssh_port`` to become ``ansible_user``, ``ansible_host``, and ``ansible_port``. If you are using a version of Ansible prior to 2.0, you should continue using the older style variables (``ansible_ssh_*``). These shorter variables are ignored, without warning, in older versions of Ansible.
|
||||
Ansible 2.0 has deprecated the "ssh" from ``ansible_ssh_user``, ``ansible_ssh_host``, and ``ansible_ssh_port`` to become ``ansible_user``, ``ansible_host``, and ``ansible_port``. If you are using a version of Ansible prior to 2.0, you should continue using the older style variables (``ansible_ssh_*``). These shorter variables are ignored, without warning, in older versions of Ansible.
|
||||
|
|
|
@ -40,7 +40,7 @@ options:
|
|||
required: false
|
||||
service_plan:
|
||||
description:
|
||||
- The service plan, either “ESSENTIALS” or “ADVANCED”.
|
||||
- The service plan, either "ESSENTIALS" or "ADVANCED".
|
||||
- MCP 2.0 Only.
|
||||
choices: [ESSENTIALS, ADVANCED]
|
||||
default: ESSENTIALS
|
||||
|
|
|
@ -136,7 +136,7 @@ options:
|
|||
required: false
|
||||
format:
|
||||
description:
|
||||
- Target drive’s backing file’s data format.
|
||||
- Target drive's backing file's data format.
|
||||
- Used only with clone
|
||||
default: qcow2
|
||||
choices: [ "cloop", "cow", "qcow", "qcow2", "qed", "raw", "vmdk" ]
|
||||
|
@ -162,7 +162,7 @@ options:
|
|||
- Values allowed are - C("host="HOSTPCIID[;HOSTPCIID2...]",pcie="1|0",rombar="1|0",x-vga="1|0"").
|
||||
- The C(host) parameter is Host PCI device pass through. HOSTPCIID syntax is C(bus:dev.func) (hexadecimal numbers).
|
||||
- C(pcie=boolean) I(default=0) Choose the PCI-express bus (needs the q35 machine model).
|
||||
- C(rombar=boolean) I(default=1) Specify whether or not the device’s ROM will be visible in the guest’s memory map.
|
||||
- C(rombar=boolean) I(default=1) Specify whether or not the device's ROM will be visible in the guest's memory map.
|
||||
- C(x-vga=boolean) I(default=0) Enable vfio-vga device support.
|
||||
- /!\ This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.
|
||||
required: false
|
||||
|
@ -187,7 +187,7 @@ options:
|
|||
- Values allowed are - C("storage:size,format=value").
|
||||
- C(storage) is the storage identifier where to create the disk.
|
||||
- C(size) is the size of the disk in GB.
|
||||
- C(format) is the drive’s backing file’s data format. C(qcow2|raw|subvol).
|
||||
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol).
|
||||
required: false
|
||||
default: null
|
||||
keyboard:
|
||||
|
@ -327,7 +327,7 @@ options:
|
|||
- Values allowed are - C("storage:size,format=value").
|
||||
- C(storage) is the storage identifier where to create the disk.
|
||||
- C(size) is the size of the disk in GB.
|
||||
- C(format) is the drive’s backing file’s data format. C(qcow2|raw|subvol).
|
||||
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol).
|
||||
default: null
|
||||
required: false
|
||||
scsi:
|
||||
|
@ -337,7 +337,7 @@ options:
|
|||
- Values allowed are - C("storage:size,format=value").
|
||||
- C(storage) is the storage identifier where to create the disk.
|
||||
- C(size) is the size of the disk in GB.
|
||||
- C(format) is the drive’s backing file’s data format. C(qcow2|raw|subvol).
|
||||
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol).
|
||||
default: null
|
||||
required: false
|
||||
scsihw:
|
||||
|
@ -469,7 +469,7 @@ options:
|
|||
- Values allowed are - C("storage:size,format=value").
|
||||
- C(storage) is the storage identifier where to create the disk.
|
||||
- C(size) is the size of the disk in GB.
|
||||
- C(format) is the drive’s backing file’s data format. C(qcow2|raw|subvol).
|
||||
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol).
|
||||
required: false
|
||||
default: null
|
||||
vmid:
|
||||
|
|
|
@ -98,7 +98,7 @@ options:
|
|||
behavior:
|
||||
description:
|
||||
- the optional behavior that can be attached to the session when it
|
||||
is created. This can be set to either ‘release’ or ‘delete’. This
|
||||
is created. This can be set to either 'release' or 'delete'. This
|
||||
controls the behavior when a session is invalidated.
|
||||
default: release
|
||||
required: false
|
||||
|
|
|
@ -24,7 +24,7 @@ version_added: 2.0
|
|||
requirements:
|
||||
- requests (either >= 2.0.0 for Python 3, or >= 1.0.0 for Python 2)
|
||||
notes:
|
||||
- Check mode isn’t supported.
|
||||
- Check mode isn't supported.
|
||||
options:
|
||||
api_key:
|
||||
description:
|
||||
|
|
|
@ -39,7 +39,7 @@ description:
|
|||
The CNOS command is passed as an argument of the method.
|
||||
This module functions the same as the cnos_command module.
|
||||
The only exception is that the following inventory variable can be specified
|
||||
[“condition = <flag string>”]
|
||||
["condition = <flag string>"]
|
||||
When this inventory variable is specified as the variable of a task, the command is executed for
|
||||
the network element that matches the flag string. Usually, commands are executed across a group
|
||||
of network devices. When there is a requirement to skip the execution of the command on one or
|
||||
|
|
|
@ -39,7 +39,7 @@ description:
|
|||
The configuration source can be a set of commands or a template written in the Jinja2 templating language.
|
||||
This module functions the same as the cnos_template module.
|
||||
The only exception is that the following inventory variable can be specified
|
||||
[“condition = <flag string>”]
|
||||
["condition = <flag string>"]
|
||||
When this inventory variable is specified as the variable of a task, the template is executed for
|
||||
the network element that matches the flag string. Usually, templates are used when commands are the
|
||||
same across a group of network devices. When there is a requirement to skip the execution of the
|
||||
|
|
|
@ -33,7 +33,7 @@ module: cnos_factory
|
|||
author: "Dave Kasberg (@dkasberg)"
|
||||
short_description: Reset the switch's startup configuration to default (factory) on devices running Lenovo CNOS
|
||||
description:
|
||||
- This module allows you to reset a switch’s startup configuration. The method provides a way to reset the
|
||||
- This module allows you to reset a switch's startup configuration. The method provides a way to reset the
|
||||
startup configuration to its factory settings. This is helpful when you want to move the switch to another
|
||||
topology as a new network device.
|
||||
This module uses SSH to manage network device configuration.
|
||||
|
|
|
@ -35,7 +35,7 @@ short_description: Perform firmware upgrade/download from a remote server on dev
|
|||
description:
|
||||
- This module allows you to work with switch firmware images. It provides a way to download a firmware image
|
||||
to a network device from a remote server using FTP, SFTP, TFTP, or SCP. The first step is to create a directory
|
||||
from where the remote server can be reached. The next step is to provide the full file path of the image’s
|
||||
from where the remote server can be reached. The next step is to provide the full file path of the image's
|
||||
location. Authentication details required by the remote server must be provided as well. By default, this
|
||||
method makes the newly downloaded firmware image the active image, which will be used by the switch during the
|
||||
next restart.
|
||||
|
|
|
@ -38,9 +38,9 @@ description:
|
|||
of a switch from a remote server. This is achieved by using startup or running configurations of the target
|
||||
device that were previously backed up to a remote server using FTP, SFTP, TFTP, or SCP.
|
||||
The first step is to create a directory from where the remote server can be reached. The next step is to
|
||||
provide the full file path of the backup configuration’s location. Authentication details required by the
|
||||
provide the full file path of the backup configuration's location. Authentication details required by the
|
||||
remote server must be provided as well.
|
||||
By default, this method overwrites the switch’s configuration file with the newly downloaded file.
|
||||
By default, this method overwrites the switch's configuration file with the newly downloaded file.
|
||||
This module uses SSH to manage network device configuration.
|
||||
The results of the operation will be placed in a directory named 'results'
|
||||
that must be created by the user in their local directory to where the playbook is run.
|
||||
|
|
|
@ -50,7 +50,7 @@ options:
|
|||
worker:
|
||||
choices: ['sync', 'eventlet', 'gevent', 'tornado ', 'gthread', 'gaiohttp']
|
||||
description:
|
||||
- 'The type of workers to use. The default class (sync) should handle most “normal” types of workloads.'
|
||||
- 'The type of workers to use. The default class (sync) should handle most "normal" types of workloads.'
|
||||
user:
|
||||
description:
|
||||
- 'Switch worker processes to run as this user.'
|
||||
|
|
|
@ -20,9 +20,9 @@ author: "Michael Gruener (@mgruener)"
|
|||
version_added: "2.2"
|
||||
short_description: Create SSL certificates with Let's Encrypt
|
||||
description:
|
||||
- "Create and renew SSL certificates with Let's Encrypt. Let’s Encrypt is a
|
||||
- "Create and renew SSL certificates with Let's Encrypt. Let's Encrypt is a
|
||||
free, automated, and open certificate authority (CA), run for the
|
||||
public’s benefit. For details see U(https://letsencrypt.org). The current
|
||||
public's benefit. For details see U(https://letsencrypt.org). The current
|
||||
implementation supports the http-01, tls-sni-02 and dns-01 challenges."
|
||||
- "To use this module, it has to be executed at least twice. Either as two
|
||||
different tasks in the same run or during multiple runs."
|
||||
|
|
|
@ -56,7 +56,7 @@ Variable | Description
|
|||
`bgpArg5` | This is an overloaded BGP variable. Please refer to the [cnos_bgp module documentation](http://ralfss28.labs.lenovo.com:5555/help/topic/com.lenovo.switchmgt.ansible.doc/cnos_bgp.html?cp=0_3_1_0_2_13) for detailed information on usage. The values of these variables depend on the configuration context and the choices are the following: **as-set**, **summary-only**, name of the route map that controls where BGP route dampening is enabled, value to start reusing a route, administrative distance to routes inside the AS, value for maximum path numbers, **backdoor**, **mask**, **route-map**.
|
||||
`bgpArg6` | This is an overloaded BGP variable. Please refer to the [cnos_bgp module documentation](http://ralfss28.labs.lenovo.com:5555/help/topic/com.lenovo.switchmgt.ansible.doc/cnos_bgp.html?cp=0_3_1_0_2_13) for detailed information on usage. The values of these variables depend on the configuration context and the choices are the following: **summary-only**, **as-set**, value to start suppressing a route, administrative distance for local routes, IP subnet address mask, name of the route map.
|
||||
`bgpArg7` | This is an overloaded BGP variable. Please refer to the [cnos_bgp module documentation](http://ralfss28.labs.lenovo.com:5555/help/topic/com.lenovo.switchmgt.ansible.doc/cnos_bgp.html?cp=0_3_1_0_2_13) for detailed information on usage. The values of these variables depend on the configuration context and the choices are the following: maximum duration to suppress a stable route, **route-map**, **backdoor**.
|
||||
`bgpArg8` | This is an overloaded BGP variable. Please refer to the [cnos_bgp module documentation](http://ralfss28.labs.lenovo.com:5555/help/topic/com.lenovo.switchmgt.ansible.doc/cnos_bgp.html?cp=0_3_1_0_2_13) for detailed information on usage. The values of these variables depend on the configuration context and the choices are the following: time after which an unreachable route’s penalty is decreased by half, **backdoor**.
|
||||
`bgpArg8` | This is an overloaded BGP variable. Please refer to the [cnos_bgp module documentation](http://ralfss28.labs.lenovo.com:5555/help/topic/com.lenovo.switchmgt.ansible.doc/cnos_bgp.html?cp=0_3_1_0_2_13) for detailed information on usage. The values of these variables depend on the configuration context and the choices are the following: time after which an unreachable route's penalty is decreased by half, **backdoor**.
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
This role is an example of using the *cnos_image.py* Lenovo module in the context of CNOS switch configuration. This module allows you to work with switch firmware images. It provides a way to download a firmware image to a network device from a remote server using FTP, SFTP, TFTP, or SCP.
|
||||
|
||||
The first step is to create a directory from where the remote server can be reached. The next step is to provide the full file path of the image’s location. Authentication details required by the remote server must be provided as well.
|
||||
The first step is to create a directory from where the remote server can be reached. The next step is to provide the full file path of the image's location. Authentication details required by the remote server must be provided as well.
|
||||
|
||||
By default, this method makes the newly downloaded firmware image the active image, which will be used by the switch during the next restart.
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
This role is an example of using the *cnos_rollback.py* Lenovo module in the context of CNOS switch configuration.This module allows you to work with switch configurations. It provides a way to roll back configurations of a switch from a remote server. This is achieved by using startup or running configurations of the target device that were previously backed up to a remote server using FTP, SFTP, TFTP, or SCP.
|
||||
|
||||
The first step is to create a directory from where the remote server can be reached. The next step is to provide the full file path of the backup configuration’s location. Authentication details required by the remote server must be provided as well.
|
||||
The first step is to create a directory from where the remote server can be reached. The next step is to provide the full file path of the backup configuration's location. Authentication details required by the remote server must be provided as well.
|
||||
|
||||
By default, this method overwrites the switch’s configuration file with the newly downloaded file.
|
||||
By default, this method overwrites the switch's configuration file with the newly downloaded file.
|
||||
|
||||
The results of the operation can be viewed in *results* directory.
|
||||
|
||||
|
|
23
test/sanity/code-smell/no-smart-quotes.sh
Executable file
23
test/sanity/code-smell/no-smart-quotes.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
|
||||
# shellcheck disable=SC1015,SC1016
|
||||
egrep -r '[‘’“”]' . \
|
||||
--exclude-dir .git \
|
||||
--exclude-dir .tox \
|
||||
| grep -v \
|
||||
-e './test/sanity/code-smell/no-smart-quotes.sh' \
|
||||
-e './docs/docsite/rst/dev_guide/testing/sanity/no-smart-quotes.rst' \
|
||||
-e './test/integration/targets/unicode/unicode.yml' \
|
||||
-e '\.doctree matches$' \
|
||||
-e '\.pickle matches$' \
|
||||
-e './docs/docsite/_build/html/'
|
||||
|
||||
if [ $? -ne 1 ]; then
|
||||
printf 'The file(s) listed above have non-ascii quotes.\n'
|
||||
# shellcheck disable=SC1015,SC1016
|
||||
printf 'Make sure all files use " and '"'"' as quotation marks\n'
|
||||
printf 'These sed commands may be of help to you:\n'
|
||||
# shellcheck disable=SC1015,SC1016
|
||||
printf " sed 's/[”“]/\"/g' \$FILENAME -i && sed \"s/[‘’]/'/g\" \$FILENAME -i\\n"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in a new issue