Adding new OSes: ESXi, Windows, Solaris11

Our R&D labs do a lot of testing on a variety of Operating Systems. We have
gotten the Linuxes working and would like to add ESXi, Windows and Solaris
11 as well. The steps we have taken so far are as described below.

  1.  Edit file ~foreman/app/models/operatingsystem.rb and add the new OS
    

FAMILIES = { ‘Debian’ => %r{Debian|Ubuntu}i,

           'Redhat'    => 

%r{RedHat|Centos|Fedora|Scientific|SLC|OracleLinux}i,

           'Suse'      => %r{OpenSuSE|SLES|SLED}i,

           'Windows'   => %r{Windows}i,

           'Altlinux'  => %r{Altlinux}i,

           'Archlinux' => %r{Archlinux}i,

           'Coreos'    => %r{CoreOS}i,

           'Gentoo'    => %r{Gentoo}i,

           'Solaris'   => %r{Solaris}i,

           'Freebsd'   => %r{FreeBSD}i,

           'AIX'       => %r{AIX}i,

           'Junos'     => %r{Junos}i,

           'NXOS'      => %r{NX-OS}i,

           'Xenserver' => %r{XenServer}i,

‘ESXi’ => %r{ESXi}i, }

  1.   Add file ~foreman/app/models/operatingsystems/esxi.rb with 
    

relevant information

  1.   Add relevant Provisioning Templates using the Foreman web interface
    

The question we have is do we need to make changes to the Database? The
following files under ~foreman/migrate/ seem to indicate some kind of
database updates? Sorry, I’m not familiar with Ruby Rails architecture.

20100310080727_add_family_to_os.rb: os.family_id =
Operatingsystem::FAMILIES.index :Solaris

20100616114400_change_family_in_os.rb: families = [“Debian”, “Redhat”,
“Solaris”, “Suse”, “Windows”]
20120127141602_add_windows_templates.rb:class AddWindowsTemplates <
ActiveRecord::Migration

Thanks for your input.
Trisha Hoang

Hello,

The files you mentioned are database migrations that are only needed if you
need to change some aspects of the database, from what you describe it
doesn’t sound like it’s required.

​In fact, adding ESXi support is a long-open feature request [1], we would
appreciate it if you would open a pull request with your changes against
the Foreman project on github[2]. This will also help ensure that any
changes you make do not break in future Foreman versions.
There was some attempt done in the past[3] for this but it looks like the
contribution got stale and eventually was not included, you could take a
look into that for some more insights into what is needed for this.

[1] Feature #5176: ESXi operating system and provisioning support - Foreman
[2] GitHub - theforeman/foreman: an application that automates the lifecycle of servers
[3] Fixes #5176 - Adding vSphere as an OS type by LiamLeane · Pull Request #3998 · theforeman/foreman · GitHub

···

On Tue, Dec 12, 2017 at 12:43 AM, Trisha Hoang trishahoang@gmail.com wrote:

Our R&D labs do a lot of testing on a variety of Operating Systems. We
have gotten the Linuxes working and would like to add ESXi, Windows and
Solaris 11 as well. The steps we have taken so far are as described below.

  1.  Edit file ~foreman/app/models/operatingsystem.rb and add the new
    

OS

FAMILIES = { ‘Debian’ => %r{Debian|Ubuntu}i,

           'Redhat'    => %r{RedHat|Centos|Fedora|

Scientific>SLC>OracleLinux}i,

           'Suse'      => %r{OpenSuSE|SLES|SLED}i,

           'Windows'   => %r{Windows}i,

           'Altlinux'  => %r{Altlinux}i,

           'Archlinux' => %r{Archlinux}i,

           'Coreos'    => %r{CoreOS}i,

           'Gentoo'    => %r{Gentoo}i,

           'Solaris'   => %r{Solaris}i,

           'Freebsd'   => %r{FreeBSD}i,

           'AIX'       => %r{AIX}i,

           'Junos'     => %r{Junos}i,

           'NXOS'      => %r{NX-OS}i,

           'Xenserver' => %r{XenServer}i,

‘ESXi’ => %r{ESXi}i, }

  1.   Add file ~foreman/app/models/operatingsystems/esxi.rb with
    

relevant information

  1.   Add relevant Provisioning Templates using the Foreman web
    

interface

The question we have is do we need to make changes to the Database? The
following files under ~foreman/migrate/ seem to indicate some kind of
database updates? Sorry, I’m not familiar with Ruby Rails architecture.

20100310080727_add_family_to_os.rb: os.family_id =
Operatingsystem::FAMILIES.index :Solaris

20100616114400_change_family_in_os.rb: families = [“Debian”, “Redhat”,
“Solaris”, “Suse”, “Windows”]
20120127141602_add_windows_templates.rb:class AddWindowsTemplates <
ActiveRecord::Migration

Thanks for your input.
Trisha Hoang


You received this message because you are subscribed to the Google Groups
“Foreman users” group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.


Have a nice day,
Tomer Brisker
Red Hat Engineering