[OpenIndiana-discuss] Hipster and puppet
Andrew Gabriel
illumos at cucumber.demon.co.uk
Mon Jan 26 10:17:50 UTC 2015
Grüninger wrote:
> Last Friday I made an installation of hipster in our corporate network.
> We use puppet for configuration management.
> Puppet set facts to classify the system and one of them is "operatingsystem".
> The value for operatingsystem is determined by evaluation of 'uname -v'.
>
> # Hipster: uname -v
> illumos-f8554bb
>
> # OpenIndiana oi151a9 : uname -v
> oi_151a9
>
> and the ruby code of puppet
>
> def get_operatingsystem
> output = Facter::Core::Execution.exec('uname -v')
> if output =~ /^joyent_/
> "SmartOS"
> elsif output =~ /^oi_/
> "OpenIndiana"
> elsif output =~ /^omnios-/
> "OmniOS"
> elsif FileTest.exists?("/etc/debian_version")
> "Nexenta"
> else
> "Solaris"
> end
> end
>
> IMHO this is a wrong classification as hipster will be handled like Oracle Solaris.
> And we manage OpenIndiana a151a9 and Oracle Solaris systems with puppet.
> And the test system was handled as an Oracle Solaris system.
>
> I will make a pull request to change the value but I am unsure which value to choose.
> What do you prefer?
> "OpenIndiana" as before and as recognition of a special distribution.
> "IllumOS" as a more general specification.
I would say it should be "OpenIndiana".
"Illumos" would cover several different distros with potentially
different sysadmin interfaces, which is not helpful.
FYI, here's a similar selection from Chef, to narrow down the type of
Solaris platform, which is all driven from contents of /etc/release. I
added some of this for local use, but I didn't test all the existing
options.
File.open("/etc/release") do |file|
while line = file.gets
case line
when /^.*(SmartOS).*$/
platform "smartos"
when /^\s*(OmniOS).*r(\d+).*$/
platform "omnios"
platform_version $2
when /^\s*(OpenIndiana).*oi_(\d+).*$/
platform "openindiana"
platform_version $2
when /^\s*Open Storage Appliance\s+(.*)$/
platform "nexentastor"
platform_version $1
when /^\s*(OpenSolaris).*snv_(\d+).*$/
platform "opensolaris"
platform_version $2
when /^\s*(Oracle Solaris) (\d+)\s.*$/
platform "solaris2"
when /^\s*(Solaris)\s.*$/
platform "solaris2"
when /^\s*(NexentaCore)\s.*$/
platform "nexentacore"
end
end
end
More information about the openindiana-discuss
mailing list