:sdMMMMMMMMNMNMh: +mMMMNNNNNds :NMMMh .dMMMMMMNMMMMMM
'hMMMMMMMmdhhhhydMMm\ .MMMN+hddddmNNMd+ hMMMMMs dMMMMMAMMMMMMMMM
sMMMMN/ \MMMMN /MMMm ''-+dMMMMd dMMMMMM. NMMMM
hMMMMM MMMMM sMMMM oMMMMM/ NMMMMMM+ MMMMMNNNN
mMMMMM MMMMM sMMMM dMMMM+ .MMMMMMMo MMMMMMMd
NMMMMM MMMMM sMMMM -mMNMM- -MMMMMMMo NMMMM/
yMNmMN\ /MMMMd :MMMM mMhydMy 'MMMMMMM: dMMMn
'dMy/MMMMMNNNNNNMMMN/ MMMMNdhyss+odMMo yMMMMMm +MMMMMNMMMMMMMMM
:shNMMMMMMMMNmlo/ 'hmNMNNMMMNds/ 'hMMMN 'MMhdmM<<Nmmddd
OpenShift (Container Platform) Disconnected installer (for) Enterprises!
ODIE is a distribution of OpenShift Container Platform (OCP) and Red Hat Enterprise Linux (RHEL) on custom media for installation into environments without access to the internet. These environments often are segregated the enterprise network and may lack other common services necessary for an OCP installation. The result of an ODIE installation is a full fledged OCP cluster including container images from supplemental products - RHOCS, RHOAR, SCL, xPaaS, Red Hat JBoss enterprise middleware, with additional products coming later.
The key features include:
-
Drop-in Installation - ODIE can autonomously provisioned into a ready environment without user intervention
-
Batteries Included - all services needed for a disconnected OCP cluster are provisioned during initial setup:
-
DNS
-
DHCP
-
TFTP (PXE booting)
-
NTP
-
rsyslogd
-
httpd server - hosting yum repository
-
Container image registry
-
-
Curated lists of RPM and container image contents - reliable, easy-to-use scripts to download specific images and minimize media size
-
User-friendly OCP configuration - To ease the installation burden on administrators that are unfamiliar with OCP/Ansible. ODIE provides an opinionated step-by-step installation using a CSV host configuration and autogenerated YAML property files. The output is a generated OCP advanced install inventory file that you can modify or just provide your own inventory file.
-
Spinning! - lots of time staring at installation screens is improved with patented SkunkDog spinning technology and improved log display
Long term it is expected to migrate onto other solutions, such as Red Hat Satellite to manage RPMs and Red Hat Quay for disconnected image registry. Please discuss migration strategies with your Red Hat sales team.
ODIE is provided as a series of ISOs that are designed to be burned onto a 4.7GB single layer DVD (our testing identified a significant coaster rate when attempting to boot on dual layer media).
-
baseline (est. ~3.5) - This contains all RPMs and the minimal set of container images that are necessary produces a single ISO that contains everything necessary to install a base installation OpenShift Container Platform. This disc is bootable when burned with the necessary flags.
-
extras - Contains additional OCP services require the supplemental disc.
-
runtimes - Base application frameworks and containers including most of Red Hat’s images from Software Collection Libraries, Source-to-Images, Red Hat JBoss.
-
mega (est. ~16GB) - the "kitchen sink" containing a superset of all the images sets . This ISO is bootable when copied onto a USB stick or Bluray disc.
All of these image set ISOs can be used directly by the stage-iso.sh
, which simplifies the usage of these ISO files without burning.
This is conceptual. As of the alpha, there is only a single ISO being generated. This is being designed and be implemented by GA
When you first get a JumpHost installed, you should run odie setup
This aggregate function combines the commands odie properties
, odie configure
, odie generate-config
and odie push
for a push-button ODIE setup process.
Additionally, if your gateway hosts a (e.g. http://192.168.124.1/odie-config.tar.xz)
The goal is to have a systemd unit that will run on the initial startup. Debugging this has been difficult since the system refuses to boot with this unit in place (keep in mind this was taken directly from a RHT support case). Will be implemented by GA
This command generates the configuration files found at /opt/odie/config
based on the configuration from conf/manifest.conf
(this desperately needs to be renamed prior to GA) .
Alternatively, you can re-run a single file. If you ever want to "reset" a file back its original state, simply delete it and re-run this commands specifying the basename of the file to be generated:
./odie.sh properties build.yml
These files are tagged with the ODIE version at time of creation. After future updates of ODIE, you can re-run this command and any new properties added to ODIE will be non-destructively appended on your existing property files.
This command will update the Kickstart files (/opt/odie/ks/
) and the OCP inventory file (/opt/odie/src/inventory/inventory
). It should be rerun after changing any of the configuration files.
This command configures all of the core services. The /opt/odie/config/odie.yml
file defines a number of these services. Re-run odie configure
to re-apply any change.
This is the command that actually installs OCP. It assumes that you have already provisioned your VMs.
With this approach, you define your environment through the ODIE configuration files.
There are sample hosts.csv
files in the /opt/odie/config/
directory to choose from. Also review all of the files under /opt/odie/config/
, paying particular attention to env.yml
which has mandatory changes necessary for your environment.
After these files have been updated, you you should delete the OCP in ventory file (rm /opt/odie/config/inventory
) then odie generate-config
to regenerate the OCP inventory file. Once you have generated an inventory file, it will not be
over-written and must be manually deleted first.
Alternatively, if you are experienced with OCP administration, you may prefer to work with the native Ansible configuration.
Simply copy your advanced OCP inventory file to /opt/odie/src/inventory/inventory
. The command make -f Makefile.ocp install_openshift
(note this is the
standard installation method) will begin the installation or you can still use odie install
if you’d like to watch the spinning.
To build ODIE requires at least 100GB in the build folder. The assembling of the ISO is both CPU and disk intensive.
You will need a login to Red Hat Access with valid entitlements to OpenShift Container Platform. If you have not already done so, please register:
make register
You will now prepare your local environment for building. This is an interactive command and will require TTY shell.
make initial_setup
-
Upload the RHEL 7.4 ISO to the location defined in `/opt/odie/config/build.yml (this needs to be a user readable directory)
rhel_iso: /root/rhel-server-7.5-x86_64-dvd.iso
ODIE has a automated deployment mechanism onto a KVM hypervisor. The storage pool and virtual network configuration is not yet automated. You do not need to generate a fresh ISO to use this this provisioning. You can use deploy.sh
to provision environments from ISOs that you obtained via another source. You do
no
Install the virtualization group:
yum groupinstall -y "Virtualization Host"
Using virt-manager
make the following changes manually via the UI:
Edit -> Connection Details
Virtual Networks
Delete default
Click [+] to “Create a new virtual network”
Network Name: virbr1 # virbr0 is used by KVM's "default" network
[Forward]
Ensure “Enable IPv4 network address space definition” is checked
Network: 192.168.124.0/24
Uncheck “Enable DHCPv4”
[Forward]
[Forward]
Ensure “Isolated virtual network” is selected
DNS Domain Name: lab.odie
[Finish]
Edit -> Connection Details
[ Add Pool]
Add a New Storage Pool
Name: ODIE
[Forward]
Type: dir Filesystem Directory
Choose target directory
Create a new folder: /opt/odie/vm-images
Edit -> Preferences
Polling
Check:
Poll CPU usage
Poll Disk I/O
Poll Network I/O
Poll Memory stats
Lots to still document before the 1.0.0 GA… always looking for assistance