diff --git a/lib/refrepo/gen/puppet/kavlanngg5k.rb b/lib/refrepo/gen/puppet/kavlanngg5k.rb
index 1ba9cb75e0c7b708aa2077b7a9f5362f0950082a..e3570d413f3ab44b50ea30427b85157856b82dde 100644
--- a/lib/refrepo/gen/puppet/kavlanngg5k.rb
+++ b/lib/refrepo/gen/puppet/kavlanngg5k.rb
@@ -47,11 +47,12 @@ def gen_json(output_path)
   end
   # consistent order
   site_data_hierarchy['sites'] = site_data_hierarchy['sites'].sort_by { |site_id, _site_h| site_id }.to_h
-  site_data_hierarchy['sites'].each { |_site_id, site_h|
+  site_data_hierarchy['sites'].each { |site_id, site_h|
     site_h['clusters'] = site_h['clusters'].sort_by { |cluster_id, _cluster_h| cluster_id }.to_h
     site_h['clusters'].each { |_cluster_id, cluster_h|
       cluster_h['nodes'] = cluster_h['nodes'].sort_by { |node_id, _node_h| node_id[/(\d+)/].to_i }.to_h
     }
+    site_data_hierarchy['sites'][site_id] = site_h.sort_by { |key| key}.to_h
   }
 
   output_file = File.new(output_path, 'w')