Support RancherOS

Could You add support to RancherOS operating system in the Foreman?

Issue requests usually are added as features in our tracker - Foreman

A quick search revelers there is an existing issue for it tracked at Feature #15634: RancherOS support - Foreman already.

sadly I’m not aware of anyone actually working on it - it would be nice if you could add some description in terms of what is missing (maybe compared to other operating systems we support) so you or other developers could understand more what it means - as it stands now - a random developer would need to invest a bit reading up on RancherOS before even starting… so the more information can be shared, the higher the chances someone might look at it…

1 Like

This will require some effort on their side, from the documentation I don’t see that their installation process does support automation of installation. So for now, you can forget about bare-metal installation via their installer.

You can however deploy to cloud or virtualizations, they provide images.

We have WIP which ads discovery image-based provisioning, that will be a way to deploy on bare-metal too. We are not yet done tho.

I sent a pull request related to this in the Foreman repository https://github.com/theforeman/foreman/pull/5223.

Please, check it’s okay.

I have tested it in my environment and it is workin

The RancherOS support automation of installation with PXE e cloud-config.

Sample PXE template used in my environment:

<%#
kind: PXELinux
name: RancherOS PXELinux
-%>
DEFAULT rancheros

LABEL rancheros
  KERNEL <%= @kernel -%> rancher.state.dev=LABEL=RANCHER_STATE rancher.state.autoformat=[/dev/xvda] rancher.cloud_init.datasources=['url:<%= foreman_url('provision')-%>']
  APPEND initrd=<%= @initrd -%>

Sample Provision template used in my environment:

#cloud-config
<%#
kind: provision
name: RancherOS provision
-%>
hostname: <%= @host.name %>
rancher:
  network:
  dns:
    nameservers:
    - <%= @host.subnet.dns_primary %>
    - <%= @host.subnet.dns_secondary %>
    search:
    - <%= @host.domain %>
    interfaces:
      eth*:
        dhcp: false
      eth0:
        address: <%= @host.ip -%>/<%= @host.subnet.cidr %>
        gateway: <%= @host.subnet.gateway %>
  password: 123456
1 Like

@ohadlevy @lzap

Thanks, I am moving the discussion to the PR now.