Project

General

Profile

Download (6.57 KB) Statistics
| Branch: | Tag: | Revision:
<?xml version="1.0" encoding="UTF-8"?>
<%#
kind: provision
name: AutoYaST default
model: ProvisioningTemplate
oses:
- OpenSUSE
-%>
<%
# safemode renderer does not support unary negation
pm_set = @host.puppetmaster.empty? ? false : true
puppet_enabled = pm_set || host_param_true?('force-puppet')
salt_enabled = host_param('salt_master') ? true : false
os_major = @host.operatingsystem.major.to_i
primary_interface_identifier = @host.primary_interface.identifier.blank? ? 'eth0' : @host.primary_interface.identifier
primary_interface_subnet = @host.primary_interface.subnet
-%>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<general>
<mode>
<confirm config:type="boolean">false</confirm>
<final_reboot config:type="boolean">true</final_reboot>
</mode>
</general>
<networking>
<dns>
<hostname><%= @host.name %></hostname>
<% unless primary_interface_subnet.dhcp_boot_mode? -%>
<dhcp_hostname config:type="boolean">false</dhcp_hostname>
<dhcp_resolv config:type="boolean">false</dhcp_resolv>
<% if @host.domain -%>
<domain><%= @host.domain -%></domain>
<% end -%>
<% if primary_interface_subnet.dns_primary.present? -%>
<nameservers config:type="list">
<nameserver><%= primary_interface_subnet.dns_primary -%></nameserver>
<% if primary_interface_subnet.dns_secondary.present? -%>
<nameserver><%= primary_interface_subnet.dns_secondary -%></nameserver>
<% end -%>
</nameservers>
<% end -%>
<% else -%>
<resolv_conf_policy>auto</resolv_conf_policy>
<% end -%>
<% if @host.domain -%>
<searchlist config:type="list">
<search><%= @host.domain %></search>
</searchlist>
<% end -%>
</dns>
<interfaces config:type="list">
<%
@host.managed_interfaces.each do |interface|
next if !interface.managed? || interface.subnet.nil? || interface.ip.nil?
dhcp = interface.subnet.dhcp_boot_mode?
-%>
<% if dhcp -%>
<interface>
<bootproto>dhcp</bootproto>
<device><%= interface.primary ? primary_interface_identifier : interface.identifier -%></device>
<startmode>auto</startmode>
<usercontrol>no</usercontrol>
</interface>
<% else -%>
<interface>
<bootproto>static</bootproto>
<device><%= interface.primary ? primary_interface_identifier : interface.identifier -%></device>
<ipaddr><%= interface.ip -%></ipaddr>
<netmask><%= interface.subnet.mask -%></netmask>
<startmode>onboot</startmode>
<usercontrol>no</usercontrol>
</interface>
<% end -%>
<% end -%>
</interfaces>
<% unless primary_interface_subnet.dhcp_boot_mode? -%>
<routing>
<routes config:type="list">
<route>
<destination>default</destination>
<device><%= primary_interface_identifier -%></device>
<gateway><%= primary_interface_subnet.gateway -%></gateway>
<netmask><%= primary_interface_subnet.mask -%></netmask>
</route>
</routes>
</routing>
<% end -%>
</networking>
<%# NTP client configuration has incompatible changes in Leap 15 -%>
<% if os_major <= 12 || os_major == 42 -%>
<ntp-client>
<configure_dhcp config:type="boolean">false</configure_dhcp>
<peers config:type="list">
<peer>
<address><%= host_param('ntp-server') || '0.opensuse.pool.ntp.org' %></address>
<initial_sync config:type="boolean">true</initial_sync>
<options></options>
<type>server</type>
</peer>
</peers>
<start_at_boot config:type="boolean">true</start_at_boot>
<start_in_chroot config:type="boolean">true</start_in_chroot>
</ntp-client>
<% else -%>
<ntp-client>
<ntp_policy>auto</ntp_policy>
<ntp_servers config:type="list">
<ntp_server>
<iburst config:type="boolean">false</iburst>
<address><%= host_param('ntp-server') || '0.opensuse.pool.ntp.org' %></address>
<offline config:type="boolean">true</offline>
</ntp_server>
</ntp_servers>
<ntp_sync>systemd</ntp_sync>
</ntp-client>
<% end -%>
<% if ! @dynamic -%>
<%= @host.diskLayout %>
<% end -%>
<runlevel>
<default>3</default>
<services config:type="list">
<service>
<service_name>sshd</service_name>
<service_status>enable</service_status>
</service>
</services>
</runlevel>
<software>
<base>default</base>
<patterns config:type="list">
<pattern>base</pattern>
<pattern>enhanced_base</pattern>
<pattern>sw_management</pattern>
<pattern>yast2_basis</pattern>
</patterns>
<packages config:type="list">
<package>lsb-release</package>
<% if puppet_enabled -%>
<package>rubygem-puppet</package>
<% end -%>
<% if salt_enabled -%>
<package>salt-minion</package>
<% end -%>
</packages>
</software>
<users config:type="list">
<user>
<username>root</username>
<encrypted config:type="boolean">true</encrypted>
<fullname>root</fullname>
<gid>0</gid>
<home>/root</home>
<shell>/bin/bash</shell>
<uid>0</uid>
<user_password><%= root_pass %></user_password>
</user>
</users>
<scripts>
<% if @dynamic -%>
<pre-scripts config:type="list">
<script>
<debug config:type="boolean">true</debug>
<filename>pre_disklayout</filename>
<interpreter>shell</interpreter>
<source><![CDATA[
<%= @host.diskLayout %>
]]>
</source>
</script>
</pre-scripts>
<% end -%>
<chroot-scripts config:type="list">
<script>
<filename>cp-resolv.sh</filename>
<chrooted config:type="boolean">false</chrooted>
<interpreter>shell</interpreter>
<notification>Copying resolv.conf into chroot ...</notification>
<source><![CDATA[
cp /etc/resolv.conf /mnt/etc
]]>
</source>
</script>
<script>
<filename>foreman.sh</filename>
<chrooted config:type="boolean">true</chrooted>
<interpreter>shell</interpreter>
<notification>Setting up Puppet / Foreman ...</notification>
<source><![CDATA[
/bin/hostname <%= @host.name %>

<%= snippet('remote_execution_ssh_keys') %>

<%= snippet "blacklist_kernel_modules" %>

<% if puppet_enabled -%>
<%= snippet 'puppet_setup' %>
<% end -%>

<% if salt_enabled %>
<%= snippet 'saltstack_setup' %>
<% end -%>

<%= snippet 'built' %>

rm /etc/resolv.conf
]]>
</source>
</script>
</chroot-scripts>
</scripts>
<keyboard>
<keymap>english-us</keymap>
</keyboard>
<timezone>
<hwclock>UTC</hwclock>
<timezone><%= host_param('time-zone') || 'Etc/UTC' %></timezone>
</timezone>
</profile>
(3-3/13)