Project

General

Profile

« Previous | Next » 

Revision acfb10fc

Added by Nils Domrose over 10 years ago

fixes #2572 - FreeBSD unattended installation support via mfsbsd

View differences:

app/controllers/unattended_controller.rb
@mediapath = os.mediumpath @host
end
def memdisk_attributes
os = @host.operatingsystem
@mediapath = os.mediumpath @host
end
def waik_attributes
end
app/models/operatingsystem.rb
'Windows' => %r{Windows}i,
'Archlinux' => %r{Archlinux}i,
'Gentoo' => %r{Gentoo}i,
'Solaris' => %r{Solaris}i }
'Solaris' => %r{Solaris}i,
'Freebsd' => %r{FreeBSD}i }
class Jail < Safemode::Jail
allow :name, :media_url, :major, :minor, :family, :to_s, :repos, :==, :release_name, :kernel, :initrd, :pxe_type, :medium_uri
app/models/operatingsystems/freebsd.rb
class Freebsd < Operatingsystem
# We don't fetch any PXEFILES!
# Please copy your mfsbsd boot image into the tftp area.
#
# -as kernel we will use memdisk
# -as initrd we will use your custom FreeBSD-<arch>-<version>-mfs.img in boot
PXEFILES = {}
# Simple output of the media url
def mediumpath host
medium_uri(host).to_s
end
def class
Operatingsystem
end
def pxe_type
"memdisk"
end
def pxedir
"boot/$arch/images"
end
def url_for_boot(file)
pxedir + "/" + PXEFILES[file]
end
def kernel arch
"memdisk"
end
def initrd arch
"boot/FreeBSD-#{arch}-#{release}-mfs.img"
end
end
app/views/unattended/snippets/_puppet.conf.erb
#kind: snippet
#name: puppet.conf
[main]
<% if @host.operatingsystem.name == "FreeBSD" -%>
vardir = /var/puppet
logdir = \$vardir/log
<% else -%>
vardir = /var/lib/puppet
logdir = /var/log/puppet
<% end -%>
rundir = /var/run/puppet
ssldir = \$vardir/ssl

Also available in: Unified diff