diff options
author | Nicolas Vigier <boklm@mageia.org> | 2013-05-23 15:06:52 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2013-05-23 15:06:52 +0000 |
commit | 4dd6894b35de045bde3b5638ad71f02dffc8b388 (patch) | |
tree | 6df431a6d8be300c60186076cbb934832926f72e /modules | |
parent | 50a4542efc81f09671f83a9b96aadaef1f069b8a (diff) | |
download | puppet-4dd6894b35de045bde3b5638ad71f02dffc8b388.tar puppet-4dd6894b35de045bde3b5638ad71f02dffc8b388.tar.gz puppet-4dd6894b35de045bde3b5638ad71f02dffc8b388.tar.bz2 puppet-4dd6894b35de045bde3b5638ad71f02dffc8b388.tar.xz puppet-4dd6894b35de045bde3b5638ad71f02dffc8b388.zip |
buildsystem: add /etc/youri/host.conf
The host.conf config file for youri contains the hostnames of the nodes
that are building packages for each architecture. The variable
$build_src_node has been added to buildsystem::var::scheduler to contain
the hostname of the server building the initial src.rpm. The variable
$build_nodes_aliases has been added to buildsystem::var::scheduler to be
used to find the real hostnames of the nodes building the packages for
each architecture.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/buildsystem/manifests/var/scheduler.pp | 8 | ||||
-rw-r--r-- | modules/buildsystem/manifests/youri_submit.pp | 2 | ||||
-rw-r--r-- | modules/buildsystem/templates/youri/host.conf | 23 |
3 files changed, 32 insertions, 1 deletions
diff --git a/modules/buildsystem/manifests/var/scheduler.pp b/modules/buildsystem/manifests/var/scheduler.pp index 087020bf..02320587 100644 --- a/modules/buildsystem/manifests/var/scheduler.pp +++ b/modules/buildsystem/manifests/var/scheduler.pp @@ -5,10 +5,16 @@ # hostname of the server where submitted packages are uploaded # $build_nodes: # a hash containing available build nodes indexed by architecture +# $build_nodes_aliases: +# a hash containing build nodes indexed by their alias +# $build_src_node: +# hostname of the server building the initial src.rpm class buildsystem::var::scheduler( $admin_mail = "root@${::domain}", $pkg_uphost = "pkgsubmit.${::domain}", - $build_nodes + $build_nodes, + $build_nodes_aliases = {}, + $build_src_node ){ $login = 'schedbot' $homedir = "/var/lib/$login" diff --git a/modules/buildsystem/manifests/youri_submit.pp b/modules/buildsystem/manifests/youri_submit.pp index f4e49412..32fc8243 100644 --- a/modules/buildsystem/manifests/youri_submit.pp +++ b/modules/buildsystem/manifests/youri_submit.pp @@ -26,6 +26,8 @@ class buildsystem::youri_submit { ensure => 'directory'; '/etc/youri/acl.conf': content => template('buildsystem/youri/acl.conf'); + '/etc/youri/host.conf': + content => template('buildsystem/youri/host.conf'); } buildsystem::youri_submit_conf{ 'upload': diff --git a/modules/buildsystem/templates/youri/host.conf b/modules/buildsystem/templates/youri/host.conf new file mode 100644 index 00000000..35f4043b --- /dev/null +++ b/modules/buildsystem/templates/youri/host.conf @@ -0,0 +1,23 @@ +<%- + aliases = scope.lookupvar('buildsystem::var::scheduler::build_nodes_aliases') + nodes = {} + nodes['src'] = scope.lookupvar('buildsystem::var::scheduler::build_src_node') + scope.lookupvar('buildsystem::var::scheduler::build_nodes').each{|arch,n| + a = arch + '|noarch|src' + nodes[a] = [] + n.each{|node| + if aliases[node] != nil + nodes[a] += [ aliases[node] ] + else + nodes[a] += [ node ] + end + } + } + str = '' + nodes.keys.sort.each{|arch| + nodes[arch].sort.uniq.each{|node| + str += node + ' ' + arch + "\n" + } + } +-%> +<%= str -%> |