Copyright 2015-2018, Dell EMC, Inc.
This repository contains a set of scripts that uses Docker to build docker images that run in RancherOS, primarily for use with the on-taskgraph workflow engine.
- Docker
The docker images produced by these scripts are intended to be netbooted and run in RAM. The typical flow for how these images are used/booted is this:
- Netboot
RacherOS
(kernel and initrd) via PXE/iPXE - The custom cloud-config file requests a
rackhd/micro
docker image from the boot server. It then starts a container with full container capabilities using therackhd/micro
docker image.
To build images, define an imagebuilding script (see build_all.sh
or build_oem.sh
for an example) or
use the default one. For example, to build the default images:
$ cd on-imagebuilder/
$ sudo ./build_all.sh
The build artifacts will be located in these directories below (which are defined in the ./build_all.sh
file):
-
/tmp/on-imagebuilder/builds/ : it includes the artifacts:
- discovery.docker.tar.xz
- initrd-*-rancher
- vmlinuz-*-rancher
-
/tmp/on-imagebuilder/ipxe/ : it includes the artifacts:
- monorail-efi32-snponly.efi
- monorail-efi64-snponly.efi
- monorail.ipxe
- monorail-undionly.kpxe
-
/tmp/on-imagebuilder/syslinux : it includes the artifacts:
- undionly.kkpxe
-
OEM docker images
raid
andsecure_erase
require storcli_1.17.08_all.deb being copied into the folder oem/raid or oem/secure_erase. User can download it from http://docs.avagotech.com/docs/1.17.08_StorCLI.zip. If a package with different name is to be used, user should use the build parameterSTORCLI
(see the example below). -
OEM docker images
dell_raid
andsecure_erase
require perccli_1.11.03-1_all.deb being copied into the folder oem/dell_raid or oem/secure_erase. There is no .deb version perccli tool. User can download .rpm perccli from: https://downloads.dell.com/FOLDER02444760M/1/perccli-1.11.03-1_Linux_A00.tar.gz.Unzip the package and then use alien to get a .deb version perccli tool as below:
sudo apt-get install alien sudo alien -k perccli-1.11.03-1.noarch.rpm
Again, user can use a different perccli package via the build parameter
PERCCLI
(see the example below). -
OEM docker image
intel-flash
requiresflashupdt
andsyscfg
under the folder oem/intel-flash. Download the files from Intel Download Center. -
OEM docker image
quanta-flash
requires directoryami
andsocflash
under the folder oem/quanta-flash. The essential files used by RackHD are:ami/afulnx_64 ami/SCELNX_64 socflash/socflash_x64
Get
SCELNX_64
from vendor, andafulnx_64/socflash_x64
from Quanta Download Center.
An example to use oem tools for secure-erase(see more examples in build_oem.sh
):
cd secure-erase
sudo docker build -t rackhd/micro \
--build-arg PERCCLI=perccli_1.11.03-1_all.deb \
--build-arg STORCLI=storcli_1.17.08_all.deb .
sudo docker save rackhd/micro | xz -z > secure.erase.docker.tar.xz
copy secure.erase.docker.tar.xz to on-http/static/http/common
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
RackHD is a Trademark of Dell EMC