uriescape is no longer available in Puppet 8

Bug #2057860 reported by Takashi Kajinami
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-nova
Fix Released
High
Takashi Kajinami

Bug Description

The following error is seen in puppet 8 unit tests.

```
1) nova::migration::libvirt on centos-9-x86_64 behaves like nova migration with libvirt with ssh transport with extraparams is expected to contain Nova_config[libvirt/live_migration_uri] with value => "qemu+ssh://%s/system?foo=%%25&bar=baz"
   Failure/Error: raise(Puppet::ParseError, 'Puppet: This function is not available in Puppet 8. URI.escape no longer exists as of Ruby 3+.') if Puppet::Util::Package.versioncmp(Puppet.version, '8').positive?

   Puppet::PreformattedError:
     Evaluation Error: Error while evaluating a Function Call, Puppet: This function is not available in Puppet 8. URI.escape no longer exists as of Ruby 3+. (file: /home/zuul/workspace/spec/fixtures/modules/nova/manifests/migration/libvirt.pp, line: 239, column: 49) on node np0037056051
   Shared Example Group: "nova migration with libvirt" called from ./spec/classes/nova_migration_libvirt_spec.rb:478
```

Changed in puppet-nova:
assignee: nobody → Takashi Kajinami (kajinamit)
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (master)
Changed in puppet-nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-nova (master)

Reviewed: https://review.opendev.org/c/openstack/puppet-nova/+/912835
Committed: https://opendev.org/openstack/puppet-nova/commit/2dcad6d8dc6777e67f19e4c7c8a55172dbbd5250
Submitter: "Zuul (22348)"
Branch: master

commit 2dcad6d8dc6777e67f19e4c7c8a55172dbbd5250
Author: Takashi Kajinami <email address hidden>
Date: Thu Mar 14 11:59:05 2024 +0900

    Replace usage of uriescape

    The uriescape function from puppetlabs-stdlib is no longer functional
    in Puppet 8, because the URI.escape, which is internally used by that
    function, is no longer available in Ruby 3+.

    This replaces the function by own function to avoid the failure in
    Puppet 8.

    Closes-Bug: #2057860
    Change-Id: I7b4db4c1e64416e20d8470cbff0b8497c6a0cfc9

Changed in puppet-nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-nova 24.0.0

This issue was fixed in the openstack/puppet-nova 24.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.