From 1e9353f231d43dde45f0e7d1fc1b81263b74f0a6 Mon Sep 17 00:00:00 2001
From: Simon Delamare <simon.delamare@ens-lyon.fr>
Date: Mon, 30 Mar 2020 16:01:56 +0200
Subject: [PATCH] [lib] kwollect : URL encode ipmi credentials

---
 lib/refrepo/gen/puppet/kwollectg5k.rb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/refrepo/gen/puppet/kwollectg5k.rb b/lib/refrepo/gen/puppet/kwollectg5k.rb
index c787212a15d..1eec6bcf572 100644
--- a/lib/refrepo/gen/puppet/kwollectg5k.rb
+++ b/lib/refrepo/gen/puppet/kwollectg5k.rb
@@ -1,4 +1,5 @@
 require 'refrepo/hash/hash'
+require 'erb'
 
 def generate_puppet_kwollectg5k(options)
 
@@ -26,7 +27,9 @@ def generate_puppet_kwollectg5k(options)
     site['clusters'].sort.each { |cluster_uid, cluster|
       cluster['nodes'].each_sort_by_node_uid { |node_uid, node|
 
-        ipmi_credentials = credentials.fetch(site_uid, {}).fetch(cluster_uid, "").sub(" ", ":")
+        ipmi_credentials = credentials.fetch(site_uid, {}).fetch(cluster_uid, "").split(" ")
+        ipmi_credentials.map! { |s| ERB::Util.url_encode(s) }
+        ipmi_credentials = ipmi_credentials.join(":")
 
         output = ERB.new(File.read(File.expand_path('templates/kwollect-node.erb', File.dirname(__FILE__))), nil, '-').result(binding)
         output_file = Pathname("#{options[:output_dir]}//platforms/production/modules/generated/files/grid5000/kwollect/#{site_uid}/#{node_uid}.conf")
-- 
GitLab