diff --git a/manifests/guest.pp b/manifests/guest.pp index ef54d7ce05cac56af7b9990e7f1e9681167b6c47..1321f858a8c87f7e1cfa70d637a034be1e5dd94f 100644 --- a/manifests/guest.pp +++ b/manifests/guest.pp @@ -215,6 +215,7 @@ define vm::guest($ensure='installed', $autoboot=true, $virtmethod='xenpv', include vm::network_bridging include "vm::osinst::${nodash_os}::${arch}" include vm::guests::blacklist_hw_drivers + include puppet file { "${vm::osparams::xen_kickstart_dir}/${name}.ks": diff --git a/templates/kickstart/xenguest.centos-6.ks.erb b/templates/kickstart/xenguest.centos-6.ks.erb index 4257b4946bc7d66dd90ffd1e7957b8732da91bb6..d7e4d8e5de2e0368162a3c21de829f6b4b2cc3ef 100644 --- a/templates/kickstart/xenguest.centos-6.ks.erb +++ b/templates/kickstart/xenguest.centos-6.ks.erb @@ -39,6 +39,10 @@ reboot ipaddr = Socket.getaddrinfo(@vm_fqdn, nil, family=Socket::AF_INET)[0][3] case IPAddr.new(ipaddr) + when IPAddr.new('130.236.100.0/25') + netmask = "255.255.255.128" + gateway = "130.236.100.1" + nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() when IPAddr.new('130.236.101.0/26') netmask = "255.255.255.192" gateway = "130.236.101.1" @@ -47,6 +51,18 @@ reboot netmask = "255.255.255.192" gateway = "130.236.101.65" nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() + when IPAddr.new('130.236.103.112/28') + netmask = "255.255.255.240" + gateway = "130.236.103.113" + nameservers = scope.lookupvar('nscnets::dns_resolvers') + when IPAddr.new('10.33.0.0/16') + netmask = "255.255.0.0" + gateway = "10.33.254.1" + nameservers = scope.lookupvar('nscnets::dns_resolvers') + when IPAddr.new('192.168.118.0/24') + netmask = "255.255.255.0" + gateway = "192.168.118.10" + nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() else raise(Puppet::ParseError, "Can't configure network for VM #{@name} (#{ipaddr})") @@ -165,3 +181,13 @@ if not explicit_home _erbout += mount_stanza("/home", nil, nil, true) end -%> + +cd /root +cat > bootstrap << EOF +wget "http://<%= scope.lookupvar('puppet::master') %>/pkg/puppet/runpuppet.sh" +chmod +x runpuppet.sh +PENV=\${1:-production} +./runpuppet.sh --logdir=/var/log/puppet env=<%= scope.lookupvar('puppet::master') %>:\$PENV --tags=pkgrepo --waitforcert=5 +./runpuppet.sh --logdir=/var/log/puppet env=<%= scope.lookupvar('puppet::master') %>:\$PENV +EOF +chmod +x bootstrap diff --git a/templates/kickstart/xenguest.centos-7.ks.erb b/templates/kickstart/xenguest.centos-7.ks.erb index 09c518166027e72f24a5bf87c67046742a5ce165..ca238aa6ec927b7c9aa207b76657102585563f75 100644 --- a/templates/kickstart/xenguest.centos-7.ks.erb +++ b/templates/kickstart/xenguest.centos-7.ks.erb @@ -39,6 +39,10 @@ reboot ipaddr = Socket.getaddrinfo(@vm_fqdn, nil, family=Socket::AF_INET)[0][3] case IPAddr.new(ipaddr) + when IPAddr.new('130.236.100.0/25') + netmask = "255.255.255.128" + gateway = "130.236.100.1" + nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() when IPAddr.new('130.236.101.0/26') netmask = "255.255.255.192" gateway = "130.236.101.1" @@ -47,6 +51,18 @@ reboot netmask = "255.255.255.192" gateway = "130.236.101.65" nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() + when IPAddr.new('130.236.103.112/28') + netmask = "255.255.255.240" + gateway = "130.236.103.113" + nameservers = scope.lookupvar('nscnets::dns_resolvers') + when IPAddr.new('10.33.0.0/16') + netmask = "255.255.0.0" + gateway = "10.33.254.1" + nameservers = scope.lookupvar('nscnets::dns_resolvers') + when IPAddr.new('192.168.118.0/24') + netmask = "255.255.255.0" + gateway = "192.168.118.10" + nameservers = scope.lookupvar('nscnets::dns_resolvers').reverse() else raise(Puppet::ParseError, "Can't configure network for VM #{@name} (#{ipaddr})") @@ -182,4 +198,14 @@ if not explicit_home _erbout += mount_stanza("/home", nil, nil, true) end -%> + +cd /root +cat > bootstrap << EOF +wget "http://<%= scope.lookupvar('puppet::master') %>/pkg/puppet/runpuppet.sh" +chmod +x runpuppet.sh +PENV=\${1:-production} +./runpuppet.sh --logdir=/var/log/puppet env=<%= scope.lookupvar('puppet::master') %>:\$PENV --tags=pkgrepo --waitforcert=5 +./runpuppet.sh --logdir=/var/log/puppet env=<%= scope.lookupvar('puppet::master') %>:\$PENV +EOF +chmod +x bootstrap %end