Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 4e99a675 authored by Samir Noir's avatar Samir Noir :cheese:
Browse files

add a generator to put in hieradata each site reference api description

parent 0faf0ff5
No related branches found
No related tags found
1 merge request!77add a new generator to deploy nodes default env on OAR and frontal VMs
Pipeline #121547 passed
......@@ -203,10 +203,11 @@ namespace :gen do
namespace :puppet do
all_puppet_tasks = [:bindg5k, :conmang5k, :dhcpg5k, :kadeployg5k, :lanpowerg5k, :kavlang5k, :network_monitoring]
all_puppet_tasks = [:bindg5k, :conmang5k, :dhcpg5k, :kadeployg5k, :lanpowerg5k, :kavlang5k, :network_monitoring, :'refapi-subset']
all_puppet_tasks.each { |t|
desc "Generate #{t} configuration -- parameters: [SITE={grenoble,...}] [OUTPUTDIR=(default: #{PUPPET_ODIR})] [CONFDIR=...] [VERBOSE=1]"
generated_desc = (t == :'refapi-subset') ? 'description' : 'configuration'
desc "Generate #{t} #{generated_desc} -- parameters: [SITE={grenoble,...}] [OUTPUTDIR=(default: #{PUPPET_ODIR})] [CONFDIR=...] [VERBOSE=1]"
task t do
require "refrepo/gen/puppet/#{t}"
options = {}
......@@ -214,7 +215,7 @@ namespace :gen do
options[:output_dir] = ENV['OUTPUTDIR'] || PUPPET_ODIR
options[:verbose] = true if ENV['VERBOSE']
options[:conf_dir] = ENV['CONFDIR'] if ENV['CONFDIR']
send("generate_puppet_#{t}", options)
send("generate_puppet_#{t}".gsub(/-/, '_'), options)
end
}
......
# coding: utf-8
require 'refrepo/data_loader'
def generate_puppet_refapi_subset(options)
if not options[:conf_dir]
options[:conf_dir] = "#{options[:output_dir]}/platforms/production/generators/refapi"
end
options[:sites].each do |site|
output_file = "#{options[:output_dir]}/platforms/production/modules/generated/files/grid5000/refapi/#{site}.json"
gen_json(site, output_file)
end
end
# For now, we only put software key in the generated JSON
def gen_json(site, output_path)
site_data_hierarchy = load_data_hierarchy
site_data_hierarchy.delete_if { |key| key != 'sites' }
site_data_hierarchy['sites'].delete_if { |key| key != site }
site_data_hierarchy['sites'][site].delete_if { |key| key != 'clusters' }
site_data_hierarchy['sites'][site]['clusters'].to_h.each do |cluster_uid, cluster_hash|
cluster_hash.delete_if { |key| key != 'nodes' }
cluster_hash['nodes'].to_h.each do |node_uid, node_hash|
node_hash.delete_if { |key| key != 'software' }
end
end
output_file = File.new(output_path, 'w')
output_file.write(JSON.pretty_generate(site_data_hierarchy))
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment