CoreOS Installation

A mirror should be setup firstly before installation. For CoreOS, there is only one way to setup mirror currently.

  • Local ISO mirror: Download CoreOS ISO image, mount ISO image in a local server as the repository, http service for this repository is provided so that a node could access without proxy.
mkdir ~/iso && cd !/iso

# Download iso file
wget https://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso

# Create mirror folder
mkdir -p /var/mirrors/coreos

# Replace {on-http-dir} with your own
mkdir -p {on-http-dir}/static/http/mirrors

# Mount iso
sudo mount coreos_production_iso_image.iso /var/mirrors/coreos

# Replace {on-http-dir} with your own
sudo ln -s /var/mirrors/coreos {on-http-dir}/static/http/mirrors/

Call API to Install OS

Get payload example:

wget https://raw.githubusercontent.com/RackHD/RackHD/master/example/samples/install_coreos_payload_minimum.json

Remember to replace version and repo with your own, see fileServerAddress and fileServerPort in /opt/monorail/config.json

Create workflow, replace the 9090 port if you are using other ports You can configure the port in /opt/monorail/config.json -> httpEndPoints -> northbound-api-router

curl -X POST -H 'Content-Type: application/json' -d @install_coreos_payload_minimal.json 127.0.0.1:9090/api/current/nodes/{node-id}/workflows?name=Graph.InstallCoreOS | jq '.'

Note

For more detail about payload file please refer to Non-Windows OS Installation Workflow Payload