We are stoked to announce the release of: puppet-ironic 9.0.0: Puppet module for OpenStack Ironic This release is part of the newton release series. For more details, please see below. 9.0.0 ^^^^^ This is the first Mitaka release for puppet-ironic module. New Features ************ * Add support for oslo_messaging_amqp backend via puppet-oslo resource * Add oslo.messaging transport_url parameter via puppet-oslo resource * Add api_paste type/provider. * Allow to deploy Ironic API in WSGI with Apache. * Allow to configure Ironic deploy_utils with ironic::drivers::deploy class. * Use dnsmasq dhcp-sequential-ip flag in dnsmasq.conf Introspection naturally happens in large bulks, after which it's inactive. Small pool for DHCP addresses means that we'll have conflicts due to how dnsmasq distributes them by default - using hashing. This change tells dnsmasq to allocate IP addresses sequentially instead to avoid these conflicts. The drawback of this option is that long-running clients may switch IP addresses if their lease expires. This is not a concern for short introspection process. * Allow sending random kernel arguments to the IPA. IPA accepts plenty of kernel arguments, adding all them explicitly may be not practical. New option ramdisk_kernel_args allows to set a string to append to the kernel command line when booting IPA. One of the use- cases is ipa-inspection-benchmarks option, enabling benchmarking during inspection. * Allow changing list of processing hooks. Processing hooks are ironic-inspector plugins for the data processing pipeline. This change enables appending new hooks to the default list. * Specify SELinux type context for tftp dir. We create a /tftpboot/ dir in the root directory without specifying a SELinux type context, so it gets default_t. The tftp process is not allowed read permission on default_t, and as a result the ironic-inspector- dnsmasq service fails to start. The fix is to specify a type context of tftpdir_t when creating the /tftpboot/ directory. This feature pulls the /tftpboot/ directory out of the if block relating only to tftp configuration. The /tftpboot/ directory is also used by iPXE/http for the undionly.kpxe chainloading image. * Enable changing list of inspection collectors. Inspection collectors are IPA plugins that collect additional information for inspection. This feature allow changing their list, with default remaining the same (for now). * Allow to create Keystone resources to deploy Ironic Inspector, like service, endpoints, etc. * Create a separate class for configuring logging. * Support of PyMySQL driver for MySQL backend. * Use oslo module for messaging (rabbit), db and logging configuration. Messaging related parameters were switched to $::os_service_default. Docs string for parameter were updated according to oslo module. * Release notes are no longer maintained by hand, we now use the reno tool to manage them. Deprecation Notes ***************** * cluster_id parameter is deprecated. * Use identity_uri and auth_uri by default and remove old deprecated auth parameters. * Remove QPID messaging support. Qpid messaging driver is removed from oslo.messaging so we won't support anymore. * verbose option is now deprecated for removal, the parameter has no effect. Other Notes *********** * Drop all Qpid support, it was removed from Oslo in Mitaka. * Removed deprecated options for ironic::keystone::auth class. Changes in puppet-ironic 8.0.0b1..9.0.0 --------------------------------------- dc33a29 Cleanup README 14448a4 Remove deprecated keystone::auth options 0591131 Change wiki to docs 815ee7e Prepare 9.0.0 release 9ecbe38 [inspector] Update authentication parameters f09ef1d Add transport_url parameter for oslo.messaging 8c1002c Fix unit test for latest puppet 3bcb586 Adapt ironic tests for a new concat version f21fe60 Add other-requirements.txt for bindep f7b1ed0 Deprecate verbose option in logging bf6842e Add public_endpoint parameter 735c139 Revert "Revert "allow to configure my_ip parameter"" 1077bf2 Introduce support for oslo.messaging amqp driver configuration 5c4d023 Revert "allow to configure my_ip parameter" ff55034 Implement ironic::drivers::deploy class 05d474c allow to configure my_ip parameter 8caebca Fix markdown format typo 79691a6 Add support for the oslo db_max_retries parameter ba159e3 Use oslo module for policy configuration 17407fb Test multiple operating systems for db 9d56010 iPXE: retry on failure during introspection a632be2 Switch ironic to use puppet-oslo module ff87e25 Add Unit Tests for Ironic-config type 76cb4f7 install ipmitool on ubuntu if driver enabled d0e5335 Totally drop Qpid support 516bb6c Copy iPXE ROMs into /tftpboot a7e66a3 Allow chainloading of Inspector ramdisk over UEFI 7dc6e9f Expose an option to enable/disable cleaning b94bbf2 Revert "Allow chainloading of Inspector ramdisk over UEFI" f521947 Don't back up ipxe boot image files e28d585 Gemfile: rely on puppet-openstack_spec_helper for dependencies 235f294 acceptance: run ironic services after rabbitmq resources 96a8eec expose pxe/pxe_bootfile_name 51e0ac5 expose the ipxe_enabled parameter 2c06e0b Import release notes from stable/mitaka 16dc996 Release 8.0.0 5279179 Allow chainloading of Inspector ramdisk over UEFI 4de0c4b add ipxe_timeout parameter to ironic::drivers::pxe 04a484a releasenotes: add notes for Mitaka cycle 58d98b6 Add basic structure for ReNo 794d9c1 [inspector] create a separate class for configuring logging dfff2af [inspector] use dnsmasq dhcp-sequential-ip flag in dnsmasq.conf Diffstat (except docs and test files) ------------------------------------- .gitignore | 4 + CHANGELOG.md | 5 + Gemfile | 23 +- README.md | 14 +- manifests/api.pp | 14 +- manifests/conductor.pp | 8 +- manifests/db.pp | 55 +-- manifests/drivers/deploy.pp | 36 ++ manifests/drivers/pxe.pp | 18 + manifests/init.pp | 429 +++++++++++++-------- manifests/inspector.pp | 81 +++- manifests/inspector/logging.pp | 146 +++++++ manifests/keystone/auth.pp | 97 +---- manifests/logging.pp | 57 +-- manifests/params.pp | 6 +- manifests/policy.pp | 2 + metadata.json | 9 +- other-requirements.txt | 0 .../add_oslo_messaging_amqp-27bd89e08e019a7c.yaml | 3 + ...d_transport_url_parameter-61fed8f4428a1b8e.yaml | 3 + releasenotes/notes/api_paste-b94e191896840944.yaml | 3 + releasenotes/notes/api_wsgi-e8eb12b8e66ffe4e.yaml | 3 + .../deprecate_cluster_id-8d9838a9ef8932bf.yaml | 3 + .../notes/drivers_deploy-7ffce6be5dc9883c.yaml | 3 + releasenotes/notes/drop_qpid-5648277d914993c1.yaml | 3 + .../notes/inspector_mitaka-5984d9af2ba56cb3.yaml | 36 ++ releasenotes/notes/mitaka-dece9d43a565e6cb.yaml | 3 + releasenotes/notes/pymysql-e57bf1f0289dd426.yaml | 3 + ...ted_keystone_auth_options-af722a0d8ab900ad.yaml | 3 + .../notes/remove_old_auth-d9fc4af8e2ced291.yaml | 3 + .../notes/remove_qpid-0b446db43fdea617.yaml | 5 + .../switch_to_oslo_messaging-3dabb3d90892b881.yaml | 5 + releasenotes/notes/use-reno-1caaec4ba5aa4285.yaml | 4 + .../verbose-deprecation-3ad00934a7310ca8.yaml | 4 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/conf.py | 259 +++++++++++++ releasenotes/source/index.rst | 19 + releasenotes/source/mitaka.rst | 6 + releasenotes/source/unreleased.rst | 5 + setup.cfg | 13 + setup.py | 22 ++ spec/acceptance/ironic_wsgi_apache_spec.rb | 5 +- spec/classes/ironic_api_spec.rb | 15 +- spec/classes/ironic_conductor_spec.rb | 5 +- spec/classes/ironic_db_postgresql_spec.rb | 48 +-- spec/classes/ironic_db_spec.rb | 31 +- spec/classes/ironic_db_sync_spec.rb | 35 +- spec/classes/ironic_drivers_deploy_spec.rb | 53 +++ spec/classes/ironic_drivers_pxe_spec.rb | 14 +- spec/classes/ironic_init_spec.rb | 123 ++++-- spec/classes/ironic_inspector_logging_spec.rb | 139 +++++++ spec/classes/ironic_inspector_spec.rb | 76 +++- spec/classes/ironic_keystone_auth_spec.rb | 19 - spec/classes/ironic_logging_spec.rb | 8 +- spec/classes/ironic_policy_spec.rb | 1 + spec/classes/ironic_wsgi_apache_spec.rb | 4 +- spec/unit/type/ironic_config_spec.rb | 45 +++ templates/inspector_dnsmasq_http.erb | 12 +- templates/inspector_dnsmasq_tftp.erb | 1 + templates/inspector_ipxe.erb | 9 +- test-requirements.txt | 4 + tox.ini | 8 + 62 files changed, 1543 insertions(+), 527 deletions(-) Requirements updates -------------------- diff --git a/other-requirements.txt b/other-requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..bedd666 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,4 @@ +# this is required for the docs build jobs +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 +oslosphinx>=2.5.0 # Apache-2.0 +reno>=0.1.1 # Apache-2.0