I run a cloud bare metal server with Fedora Silverblue. The server is far from being full of services and settings, so I would like to take the opportunity to migrate to FCOS before too many apps are deployed.
Following Fedoraproject documentation[0], I have been able to write a simple ignition file with no issues. But then I have no idea how to proceed to install FCOS, as I can't boot the server from an ISO file. My first though is to install coreos-installer, via a package or a docker image, then run coreos-installer as described in the coreos github[1] with my .ign file, then reboot. Will I be able to thereafter ssh the server as core user with the given ssh key? Or shall I write sshd settings in my ignition file to allow ssh from key for user core?
Is it the correct process? Or is the process something more complicated involving PXE?
I have read the excellent paper, as usual, written by Dusty[2], but the process is dedicated to a VM. Maybe can I make some changes to adapt the method?
Thank you for any hint to a clear way to install coreOS from Silverblue. I may then write a How-To as it seems clear directions are missing.
[0]https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/ [1]https://github.com/coreos/coreos-installer [2]https://dustymabe.com/2020/01/23/devconf.cz-2020-fedora-coreos-lab/
On 1/28/20 6:48 AM, arnaud gaboury wrote:
I run a cloud bare metal server with Fedora Silverblue. The server is far from being full of services and settings, so I would like to take the opportunity to migrate to FCOS before too many apps are deployed.
Following Fedoraproject documentation[0], I have been able to write a simple ignition file with no issues. But then I have no idea how to proceed to install FCOS, as I can't boot the server from an ISO file. My first though is to install coreos-installer, via a package or a docker image, then run coreos-installer as described in the coreos github[1] with my .ign file, then reboot. Will I be able to thereafter ssh the server as core user with the given ssh key? Or shall I write sshd settings in my ignition file to allow ssh from key for user core?
After you boot the ISO image you are given a bash prompt on the system. You can then run /usr/bin/coreos-installer to install Fedora CoreOS to the disk you desire as described in https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/#_installing_f...
You should be able to add an ssh key pretty easy. If you follow the lab to the end we add an SSH key to the ignition config in the advanced example. https://dustymabe.com/2020/01/23/devconf.cz-2020-fedora-coreos-lab/
Adding an ssh key is also the simplest example in the docs: https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/#_writing_t...
Is it the correct process? Or is the process something more complicated involving PXE?
This is the correct process. You can use PXE if you like (typically better for automation), but it's not required. Just use the live ISO for now.
I have read the excellent paper, as usual, written by Dusty[2], but the process is dedicated to a VM. Maybe can I make some changes to adapt the method?
Your Ignition file you create can be the same
Thank you for any hint to a clear way to install coreOS from Silverblue. I may then write a How-To as it seems clear directions are missing.
You can't migrate a server "in-place". i.e. you can install Fedora CoreOS to the same disk your Fedora Silverblue instance is booted from. You can boot the Fedora CoreOS live ISO image and do the install from that "live" environment, though.
[0]https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/ [1]https://github.com/coreos/coreos-installer [2]https://dustymabe.com/2020/01/23/devconf.cz-2020-fedora-coreos-lab/
On 1/29/20 10:28 AM, Dusty Mabe wrote:
On 1/28/20 6:48 AM, arnaud gaboury wrote:
I have read the excellent paper, as usual, written by Dusty[2], but the process is dedicated to a VM. Maybe can I make some changes to adapt the method?
Your Ignition file you create can be the same
Sorry. That was an incomplete thought.
Your Ignition file you create can be the same for a bare metal install or a VM install. Part of the idea with Ignition in Fedora CoreOS is that it unifies provisioning experience regardless of where you are running (in the cloud, in a local VM, or bare metal).
Dusty
On 1/29/20 10:33 AM, Bob Gustafson wrote:
Can, Can't ??
You are correct. It should have been:
"You can't migrate a server "in-place". i.e. you *can't* install Fedora CoreOS to the same disk your Fedora Silverblue instance is booted from."
On 1/29/20 9:28 AM, Dusty Mabe wrote:
You can't migrate a server "in-place". i.e. you can install Fedora CoreOS to
On 1/29/20 4:28 PM, Dusty Mabe wrote:
On 1/28/20 6:48 AM, arnaud gaboury wrote:
I run a cloud bare metal server with Fedora Silverblue. The server is far from being full of services and settings, so I would like to take the opportunity to migrate to FCOS before too many apps are deployed.
Following Fedoraproject documentation[0], I have been able to write a simple ignition file with no issues. But then I have no idea how to proceed to install FCOS, as I can't boot the server from an ISO file. My first though is to install coreos-installer, via a package or a docker image, then run coreos-installer as described in the coreos github[1] with my .ign file, then reboot. Will I be able to thereafter ssh the server as core user with the given ssh key? Or shall I write sshd settings in my ignition file to allow ssh from key for user core?
After you boot the ISO image you are given a bash prompt on the system. You can then run /usr/bin/coreos-installer to install Fedora CoreOS to the disk you desire as described in https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/#_installing_f...
I can't boot from ISO as the server is a non managed one (i.e I don't have access to the upper "layer"). I have only access to the OS in the cloud. The OS is already installed when I take hand on the server. That is my worry.
You should be able to add an ssh key pretty easy. If you follow the lab to the end we add an SSH key to the ignition config in the advanced example. https://dustymabe.com/2020/01/23/devconf.cz-2020-fedora-coreos-lab/
Adding an ssh key is also the simplest example in the docs: https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/#_writing_t...
Is it the correct process? Or is the process something more complicated involving PXE?
This is the correct process. You can use PXE if you like (typically better for automation), but it's not required. Just use the live ISO for now.
I have read the excellent paper, as usual, written by Dusty[2], but the process is dedicated to a VM. Maybe can I make some changes to adapt the method?
Your Ignition file you create can be the same
Thank you for any hint to a clear way to install coreOS from Silverblue. I may then write a How-To as it seems clear directions are missing.
You can't migrate a server "in-place". i.e. you can install Fedora CoreOS to the same disk your Fedora Silverblue instance is booted from. You can boot the Fedora CoreOS live ISO image and do the install from that "live" environment, though.
OK, I *can't *install from my in place server, and don't have access to the VM manager. The only solution I see in this case is net booting, i.e rebooting my Silverblue server to an external server with everything to net install FCOS.
[0]https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/ [1]https://github.com/coreos/coreos-installer [2]https://dustymabe.com/2020/01/23/devconf.cz-2020-fedora-coreos-lab/
On Wed, Jan 29, 2020 at 11:27 AM arnaud gaboury arnaud.gaboury@gmail.com wrote:
I can't boot from ISO as the server is a non managed one (i.e I don't have access to the upper "layer"). I have only access to the OS in the cloud. The OS is already installed when I take hand on the server. That is my worry.
Which cloud is this? If you have write access to the serial console and the cloud supports PXE booting, then you should be able to use the live PXE path and then follow the same coreos-installer path as Dusty mentioned.
If you don't have write access to the serial console, you could still set up all the kargs in the PXE config so that the PXE boot automatically installs the metal image. See the coreos.inst args documented at https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/#_installing_f... (and for the full documentation on those: https://github.com/coreos/coreos-installer/#kernel-command-line-options-for-...).
On 1/29/20 5:37 PM, Jonathan Lebon wrote:
On Wed, Jan 29, 2020 at 11:27 AM arnaud gaboury arnaud.gaboury@gmail.com wrote:
I can't boot from ISO as the server is a non managed one (i.e I don't have access to the upper "layer"). I have only access to the OS in the cloud. The OS is already installed when I take hand on the server. That is my worry.
Which cloud is this?
swiss one: infomaniak.com
If you have write access to the serial console and the cloud supports PXE booting, then you should be able to use the live PXE path and then follow the same coreos-installer path as Dusty mentioned.
I have access to the serial console, so I will follow this path.
Thank you all for your answers.
If you don't have write access to the serial console, you could still set up all the kargs in the PXE config so that the PXE boot automatically installs the metal image. See the coreos.inst args documented at https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/#_installing_f... (and for the full documentation on those: https://github.com/coreos/coreos-installer/#kernel-command-line-options-for-...).
Hi, I'm not sure if that helps, but in case someone with a similar Problem comes across this thread here is how I did a bare-metal install on a cloud-server. The Server-Provider offers the opportunity to boot a live-System for rescue-purposes, in this case that is debian, I have no acces to the serial-console, but I can boot the rescue-debian on the Server through the Webconsole of the Provider, and then login through ssh. So that's the prerequisite: a running live (in memory) Linux on the Server to be installed. Here are the steps:
1. Install prerequisites to compile the coreos-installer. In my case, there was "build-essential" and perhaps other Packages already installed in the live-System provided, I found out what was missing by simply doing Step 2 and going through the errors. Since the coreos-installer is written in Rust, you need at least Rust. For me it boiled down to:
``` # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # apt install libssl-dev pkg-config ```
2. Clone the Installer-sources and compile it:
``` # git clone https://github.com/coreos/coreos-installer.git # cd coreos-installer && make ```
3. This produces the bin in `./target/debug`. To run the Installer like in the docs, scp your Ignitionfile to the live-System and then:
``` # ./target/debug/coreos-installer install /dev/sda --ignition /path/to/your/file.ign ```
Of cause adjust `/dev/sda` to your environment.
That's how it worked for me.
__ s.
coreos@lists.fedoraproject.org