GithubHelp home page GithubHelp logo

mrcetinel / coreos-iso-maker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chuckersjp/coreos-iso-maker

0.0 1.0 0.0 34 KB

Create a bunch of coreos ISOs for OCP 4.3 installs when you need to set static IPs

License: Apache License 2.0

coreos-iso-maker's Introduction

coreos-iso-maker V2.2

This version incorporates the ability to generate either a single ISO for OCP 4.x installations or multiple ISOs depending on needs. These ISOs are created for when you need statis IPs.

New in the version: Make sure that genisoimage package is installed. Specially thanks to Scott Worthington (https://github.com/worsco) for this Pull Request.

Problem definition

Some customers would like to use static IPs for their OCP nodes but don't have a working DHCP server for various reasons. This can be done using the ISO for CoreOS and messing with the boot parameters. However, this is involves lots of error prone typing. This project is designed to work around that and originally created individualized ISOs for each node. In v2.1, it can be used to create a single ISO with a menu item for each node being built. Due to screen space limitations, it is NOT recommend that you use this to create more than 7 nodes at a time (1 bootstrap, 3 master control planes, and 3 worker nodes). It might work, but you might have problems with the display on boot. Caveat user. If you would prefer to have multiple ISOs, there is a separate playbook for that.

Variables to define

In the group_vars/all.yml file, define the following variables:

gateway - default router IP

netmask - default netmask

interface - NIC device name. Defaults to ens192 which is default for VMWare

dns - dns server

webserver_url - webserver that holds the Ignition file

webserver_port - webserver port for the webserver above

ocp_version - OCP version you are going for. Currently defaults to 4.3

iso_checksum - sha256 checksum of the ISO. Currently correct as of 2020-01-23 and OCP 4.3

iso_name - Name of the ISO to download. Makes certain assumptions that should be verified

rhcos_bios - Name of the BIOS image to boot from. Make certain assumptions that should be verified

In inventory.yml you will need to define your hosts:

bootstrap - bootstrap node and its ipv4 address

masters - You will need to define 3 master nodes and their ipv4 address

workers - However many worker nodes you want and their corresponding ipv4 addresses. Recommend no more than 3 at a go.

You will need to use create individual ignition files and load them to your webserver. This project does NOT currently do that.

Once the inventory is created, you can run either of the following commands:

For single: ansible-playbook playbook-single.yml -K

For multiple: ansible-playbook playbook-multi.yml -K

The ISO(s) will be created in the /tmp directory. The -K is to request for the BECOME password which is required to mount an ISO (assuming you don't have passwordless sudo).

Acknowlegements

Special thanks to Shanna Chan for trailblazing these issues (detail here: https://shanna-chan.blog/2019/07/26/openshift4-vsphere-static-ip/) and inspiring its creation.

coreos-iso-maker's People

Contributors

chuckersjp avatar mrcetinel avatar worsco avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.