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
participants (1)
-
no-reply@openstack.org