[release-announce] ansible-config_template 1.0.0
no-reply at openstack.org
no-reply at openstack.org
Fri Apr 5 08:23:33 UTC 2019
We are delighted to announce the release of:
ansible-config_template 1.0.0: Config Template plugin for Ansible
This is the first release of ansible-config_template.
The source is available from:
https://git.openstack.org/cgit/openstack/ansible-config_template
Download the package from:
https://tarballs.openstack.org/ansible-config_template/
For more details, please see below.
1.0.0
^^^^^
New Features
************
* The config_template template module now supports writing out
valueless INI options without suffixing them with '=' or ':'. This
is done via the 'ignore_none_type' attribute. If ignore_none_type is
set to true, these key/value entries will be ignored, if it's set to
false, then ConfigTemplateParser will write out only the option name
without the '=' or ':' suffix. The default is true.
* The ability to support MultiStrOps has been added to the
config_template action plugin. This change updates the parser to use
the "set()" type to determine if values within a given key are to be
rendered as "MultiStrOps". If an override is used in an INI config
file the set type is defined using the standard yaml construct of
"?" as the item marker.
# Example Override Entries
Section:
typical_list_things:
- 1
- 2
multistrops_things:
? a
? b
# Example Rendered Config:
[Section]
typical_list_things = 1,2
multistrops_things = a
multistrops_things = b
* Compare dict vars of before and after configuration to determine
whether the config keys or values have changed so a configuration
file will not be incorrectly marked as changed when only the
ordering has changed.
* Set diff return variable to a dict of changes applied.
* The "py_pkgs" lookup plugin now has strict ordering for
requirement files discovered. These files are used to add additional
requirements to the python packages discovered. The order is defined
by the constant, "REQUIREMENTS_FILE_TYPES" which contains the
following entries, 'test-requirements.txt', 'dev-requirements.txt',
'requirements.txt', 'global-requirements.txt', 'global-requirement-
pins.txt'. The items in this list are arranged from least to most
priority.
* Add "get_networks" command to the neutron library. This will
return network information for all networks, and fail if the
specified "net_name" network is not present. If no "net_name" is
specified network information will for all networks will be returned
without performing a check on an existing "net_name" network.
* The *get_nested* filter has been added, allowing for simplified
value lookups inside of nested dictionaries.
*ansible_local|get_nested('openstack_ansible.swift')*, for example,
will look 2 levels down and return the result.
* The default behaviour of "ensure_endpoint" in the keystone module
has changed to update an existing endpoint, if one exists that
matches the service name, type, region and interface. This ensures
that no duplicate service entries can exist per region.
* The ability to support login user domain and login project domain
has been added to the keystone module.
# Example usage
- keystone:
command: ensure_user
endpoint: "{{ keystone_admin_endpoint }}"
login_user: admin
login_password: admin
login_project_name: admin
login_user_domain_name: custom
login_project_domain_name: custom
user_name: demo
password: demo
project_name: demo
domain_name: custom
* The config_template action plugin now has a new option to toggle
list extension for JSON or YAML formats. The new option is
"list_extend" and is a boolean. The default is True which maintains
the existing API.
* The new provider network attribute "sriov_host_interfaces" is
added to support SR-IOV network mappings inside Neutron. The
provider_network adds new items network_sriov_mappings and
network_sriov_mappings_list to the provider_networks dictionary.
Multiple interfaces can be defined by comma separation.
* An opportunistic Ansible execution strategy has been implemented.
This allows the Ansible linear strategy to skip tasks with
conditionals faster by never queuing the task when the conditional
is evaluated to be false.
* The Ansible SSH plugin has been modified to support running
commands within containers without having to directly ssh into them.
The change will detect presence of a container. If a container is
found the physical host will be used as the SSH target and commands
will be run directly. This will improve system reliability and speed
while also opening up the possibility for SSH to be disabled from
within the container itself.
* Allow the default section in an ini file to be specified using the
"default_section" variable when calling a "config_template" task.
This defaults to "DEFAULT".
* The deployer can now define an environment variable
"GROUP_VARS_PATH" with the folders of its choice (separated by the
colon sign) to define an user space group_vars folder. These vars
will apply but be (currently) overriden by the OpenStack-Ansible
default group vars, by the set facts, and by the user_* variables.
If the deployer defines multiple paths, the variables found are
merged, and precedence is increasing from left to right (the last
defined in GROUP_VARS_PATH wins)
* The deployer can now define an environment variable
"HOST_VARS_PATH" with the folders of its choice (separated by the
colon sign) to define an user space host_vars folder. These vars
will apply but be (currently) overriden by the OpenStack-Ansible
default host vars, by the set facts, and by the user_* variables. If
the deployer defines multiple paths, the variables found are merged,
and precedence is increasing from left to right (the last defined in
HOST_VARS_PATH wins)
Upgrade Notes
*************
* The "glance" library has been removed from OpenStack-Ansible's
plugins. Upstream Ansible modules for managing OpenStack image
resources should be used instead.
* The "neutron" library has been removed from OpenStack-Ansible's
plugins. Upstream Ansible modules for managing OpenStack network
resources should be used instead.
Deprecation Notes
*****************
* The "update" state for the "ensure_endpoint" method of the
"keystone" module is now deprecated, and will be removed in the
Queens cycle. Setting state to "present" will achieve the same
result.
Bug Fixes
*********
* The ability to support login user domain and login project domain
has been added to the keystone module. This resolves
https://bugs.launchpad.net/openstack-ansible/+bug/1574000
# Example usage
- keystone:
command: ensure_user
endpoint: "{{ keystone_admin_endpoint }}"
login_user: admin
login_password: admin
login_project_name: admin
login_user_domain_name: custom
login_project_domain_name: custom
user_name: demo
password: demo
project_name: demo
domain_name: custom
Other Notes
***********
* The vars plugin "override_folder.py" has been removed. With the
move to Ansible 2.4 ["https://review.openstack.org/#/c/522778"] this
plugin is no longer required. The functionality this plugin provided
has been replaced with the native Ansible inventory plugin.
Changes in ansible-config_template 2c9c5f005bbd42faf21a317c6336ad142a859bb0..1.0.0
----------------------------------------------------------------------------------
937d995 Updated from OpenStack Ansible Tests
0e67ef2 Updated from OpenStack Ansible Tests
66a97f2 Remove whitespace before comments
869f312 Add multistropt test cases
78bcedc Correct "changed" to work with the latest ansible
113505f Use usr/share/ansible/plugins for data_files
95c5365 Switch python3 test to bionic
861e3a9 Fix pep8 errors
d972792 Set container_name as host_var in test inventory
4905e71 Updated from OpenStack Ansible Tests
2f08b9f Replace Chinese quotes with English quotes
8a28d82 Updated from OpenStack Ansible Tests
71ed57a Updated from OpenStack Ansible Tests
ce65945 fix tox python3 overrides
b74d7ac Compare dict vars to determine changed
fb906fb switch documentation job to new PTI
6b17afc import zuul job settings from project-config
f0185de Use the TESTING_BRANCH env var for constraints
5d0c77e Fix usage of "|" for tests
1d402f0 Replace unicode with six.text_type
fcf669b Fix config_template to work with Ansible 2.6
62a6076 Add source code repository and project home notes link to README
df1875a Use tests repo for common role test requirements
46c2b78 Add document links to README
41ebaf7 Remove --diff mode support
25cf209 Switch to using project-templates
4d93182 Fix ordering for --diff mode setup
a5c9d97 Allow config_template to be loaded as a role
d3211be Updated from OpenStack Ansible Tests
ef8a2b5 Updated from OpenStack Ansible Tests
12200cc Add Bionic testing
727dd20 Updated from OpenStack Ansible Tests
75cb867 Allow default section in ini to be specified
3be4203 Updated from OpenStack Ansible Tests
fc1c931 Fix py3 unicode issue
6b6a9c6 Set py3 job to be voting
5ac3492 Temporarily disable python3 job
0f91706 Retain the ordering when using with MultiStringOp
371ed92 Updated from OpenStack Ansible Tests
c70530d Remove tests-repo-clone.sh
780bba9 Update run_tests.sh and remove tests-repo-clone.sh
bc707fe Utilise sorted to ensure no random changes
2c6ebef Fix pep8 for config_template.py
5b858d5 update url in readme file
a55d4a2 Add support for --diff
e4c6307 Add testing on config_template
708d867 Cleanup config_template repo
802ac8f Updated from OpenStack Ansible Tests
fcf65b8 Update reno for stable/queens
a9ee493 Fix nsenter commands on centos
8fcc904 Zuul: Remove project name
dd2dc85 Updated from global requirements
051d5c0 Updated from OpenStack Ansible Tests
3e1ee24 Updated from global requirements
6743087 Remove virtualenv-tools in the examples.
cbd4399 connection: ssh: Use individuals' host variables for physical host IP
c665f9f Remove the vars plugin as it's no longer used
52a13b0 Allow the experimental trigger of the integrated repo
1b79d16 Updated from OpenStack Ansible Tests
6d97647 Follow symlinks in the lookup
7d97336 Add basic plugin support for nspawn type containers
3f5a274 Preserve comments in INI files
8ead9b2 Add missing domain parameter to _get_group_roles
f37321a Resolve ansible-lint test failures
7145937 Remove setting of version/release from releasenotes
2091a0b Updated from OpenStack Ansible Tests
ad91b1a Make possible to use ansible 2.4
6a64c8e Remove unified queue from gate pipeline
a458ce4 Add openstack-ansible-linters test
ead9047 Initial OSA zuul v3 role jobs
e0002ca Updated from OpenStack Ansible Tests
3a7a65b Add OpenStack-Ansible metadata
42f8f53 Revert "Add OpenStack-Ansible metadata"
c4cba7d Make connection plugin 2.4.1 compatible
143a20a Add OpenStack-Ansible metadata
6924526 Updated from global requirements
b819a87 Add container-aware connection plugin tests
42b88d0 Updated from global requirements
ed0a8d6 Updated from OpenStack Ansible Tests
5cd5610 Make linear strategy plugin 2.4 compatible
7593eb3 Remove plugin compatibility with Ansible v1.9
bfc26ac Remove debug_message_collector plugin
ca0cf34 Python3 compatibility for config_template overrides
d0fe4a6 Updated from OpenStack Ansible Tests
787d037 Updated from OpenStack Ansible Tests
d54eda4 Update reno for stable/pike
f5a87cd Updated from global requirements
5daef92 Updated from OpenStack Ansible Tests
854812e Updated from OpenStack Ansible Tests
2d1dd94 remove the use of iteritems
a769cf7 Fix lookup plugin for py3.5 support
2a286fb config_template python 3 compatibility
6d496d6 Fix dumping hostvars to yaml from overrides
15357d7 Add func_py3 toxenv
e1fbd3d Updated from OpenStack Ansible Tests
d084f2c Updated from global requirements
2319b3c Update URLs in documents according to document migration
80a1262 Add a get_nested filter
e76a18d Updated from OpenStack Ansible Tests
4b9187b Updated from OpenStack Ansible Tests
6c6753b Fix the physical_host_addr vars lookup
38a7c29 Fix openstackdocstheme settings
8685a0b Resolve unorderable types errors
60363db Replace use of basestring
d8cd490 Updated from global requirements
76d5f02 Add ignore_none_type to config template
2869a79 Switch from oslosphinx to openstackdocstheme
1670ccd Avoid double-encoding to bytes
371cbc1 Handle 'dict' type as input of 'content'
13fadcd Updated from OpenStack Ansible Tests
7d0a494 conditional import of shlex_quote
c69ac0c Correct ansible imports
8b1a07d Fix delegation to containers between hosts
a556e38 Python fix to the connection issue
1c7cb99 connection: ssh: Clear environment when connecting to LXC containers
88e9453 Updated from global requirements
3ac2452 Actually fix connection plugin physical host var
02fd0a9 Updated from global requirements
d91d203 Fix connection plugin physical host set
8f8d9cf Connect using physical host's ansible_host var
9cc3dae Revert "connection: ssh: Clear environment when connecting to LXC containers"
c2c71bc connection: ssh: Clear environment when connecting to LXC containers
057ed9a Python3 compatibility for osa-filters
69b9cdf Ensure that role tests pin pip/setuptools/wheel
36ff6fb Updated from global requirements
a5d669f Remove neutron library
573c8a8 Updated from global requirements
fa85b97 Support Keystone versionless endpoints
a900eca Use zuul-cloner for tests repo in OpenStack-CI
d8c0341 Support delegation in strategy plugin
8d040dc Add openSUSE and CentOS as supported distributions
5e1828c Don't log password arguments of keystone module
8bfffe3 Add Packages file parsing lookup
9974ceb Updated connection plugin for ansible 2.3 support
cb7ad3f Fix the pep8 fixing
77bbd15 Introduce userspace group_vars and host_vars
5822e29 Always update existing matching endpoints
5805987 Install python2-pyOpenSSL package on CentOS
6b3b601 Updated from global requirements
cc7c924 Allow keystone module to ignore service catalog
5d6c040 Implement tag filter strategy
655d777 Add a new strategy filtering tasks
5202eb3 [DOCS] Add docs for plugins
aa236e0 Remove apt-get update in Vagranfile as we do it in run_test.sh
14d2727 Remove quotes when assigning values from an openrc
5e2c0c5 Updated from global requirements
d23ad34 Updated from global requirements
d10df27 Install python2 for Ubuntu 16.04 and CentOS 7 in Vagrant
5a2f82f Remove profile_tasks callback
9dacd3a Use https instead of http for git.openstack.org
b028501 Update reno for stable/ocata
83df100 Remove greaterthan/lessthan test plugins
80d59cd Added yaml class dumper to support indentation
ab176bb Implementation Neutron SR-IOV
8142ebb Update and clean up run_tests.sh
6d76bfe Cleanup temporary files after content argument usage
1325a99 Delete unnecessary utf-8 coding
1bc328c Remove Trusty support from plugins role
1f404d7 Introduce content argument
db492e7 Catch only debug tasks w/callback
786ed1d Add greater/less than tests
736a2ff Delete deprecated Hacking in tox.ini
ab01251 Fix Jinja2 in debug msg callback
32dd6bc Updated from global requirements
460df1e Display debug messages after playbook run
eafd5ee Show team and repo badges on README
5af6359 Add ability to execute against a remote chroot
800ef36 Revert "Remove neutron library"
0af8988 Remove glance library
5bf7a5c Adapt to_unicode and to_bytes for ansible 2.2
38b899b Remove neutron library
4e20bc0 Updated from global requirements
16ba2cf Replace github with git.o.o
7abcaf9 Add the ability to ignore requirements from a given package
a1be7af Resolve distro package index issue
5f42556 Updated for deprecated "ansible_ssh_user"
e566c20 Remove deprecated ansible_ssh_host variable
2f6cac2 Remove deprecated first_available_file
ea0888e [DOCS] Added release-name as a watermark to Docs.
0c964eb Ensure testing is against current commit
aa0fe4a Use upper constraints for all tox targets
fcf7fc3 Accept ansible_host in linear strategy
6b5a7d9 Add get_networks command to neutron library
8311039 Remove xrange for run both Python 2 and Python 3
2e4aeaa Enable release notes translation
c45a043 Use centralised Ansible test scripts
67acddf Remove install_test_packages variable
18bbe27 Adding Magnum plugin
e0be905 Updated from global requirements
2d117d9 Update reno for stable/newton
963d117 Support more than one flat network
44a1f65 Use centralised test scripts
544adfe Update testing bits for consistency
f25bf23 Human readable logs should be removed
5e0fd58 Update homepage with developer documentation page
7af6721 Fix regression for proprietary packages
65390c6 Implement distro package lookups and index
80beba8 Add option to toggle list extensions
f974f7a Deserialize glance image_properties
ffb02cf Fix assumption that the main OSA inventory will be used
cb01efe Implement an opportunistic strategy and connection plugin
7e931aa Added SNI support for ansible_plugins via OS packages
accc469 Add indexing of individual package keys
7a88090 Account for the move of other-requirements.txt to bindep.txt
29668ca Adding Vagrantfile for local testing
d801f78 Ansible 2.1.1 role testing
fb67f22 Move other-requirements.txt to bindep.txt
388dfe1 [DOCS] Updating plugin role docs
0464815 Add test playbook for filters
3ec922c Update py_pkgs to set options group membership and itemise global pins
523afbd Fix py_pkgs lookup to not include optional packages
bc73b33 Remove dev-requirements.txt
c8e25f5 Updated py_pkgs to index requirement files
c7b7169 Update dist-sort module for better effectiveness
9913803 Omit the "other-requirements.txt"
7f50658 Update the lookup plugin to force dep ordering
54ce4ce Updated from global requirements
aa69b10 Add the Ansible human_log call back plugin
c44f2b1 Pin test-requirements to match OpenStack requirements
7d059fd Optionally include image properties
7d534a4 Adding ability to set 'properties' via Glance
a72d40e Provide type for boolean module parameters
58d9d83 Bring delete and update functions to keystone module
07d600d Support users without projects in keystone library
f975da2 Revert "Support users without projects in keystone library"
2e1492a Support users without projects in keystone library
627b70b Add .swp files to .gitignore
e20add1 Add dependencies for paramiko 2.0
dce1b35 Add user and project login domains to keystone
79f3735 Adjust release note for config template
4a70773 Add reno scaffolding for release notes management
f946160 Added option to support case-insensitive keys
cd47eda Update the config_template plugin
41778e3 Fix NoneType with no subnet allocation ranges
4cd932a Add allocation pool support to neutron module
c962fd2 Add logic to NOT build "proprietary" packages
5d610fd Update py_pkgs.py to support ansible v2.1
f9e6f56 Update the config_template plugin for ansible2
bbe2748 [DOCS] Cleanup the role docs for consistency and clarity
7fb1c5d Add curl to bindep requirements
817bad4 Initial commit for bindep requirements
b0a6430 Strip .git from _git_repo variables
7c08483 define login_project_name key on keystone library.
4ba94db Created deprecation filter
5c4df7b Update tox config and add bashate E006, E040 exceptions
e5d22f3 Validate type of loaded yaml configuration files
b42faff Add MultiStrOps support to config_template
fc411ea Rename plugins folders to standard Ansible names
852ab82 Updated config parsing for listOPS
da3da53 Revise all lint tests and add consolidated 'linters' tox environment
f009a79 Update LICENSE file
9df1773 Fixes keystone library incompatibility with the Keystone v3 client
ecc3607 Forward port missing patches
126d74a Updated repo for new org
More information about the Release-announce
mailing list