Role - kubeinit_okd

Role Documentation

Please, refer to the kubeinit_okd role official docs for further information.

Role Defaults

This section highlights all of the defaults and variables set within the “kubeinit_okd” role.

# All variables intended for modification should be placed in this file.

# All variables within this role should have a prefix of "kubeinit_okd_"
kubeinit_okd_debug: '{{ (ansible_verbosity | int) >= 2 | bool }}'
kubeinit_okd_hide_sensitive_logs: true

kubeinit_okd_pod_cidr: 10.100.0.0/14
kubeinit_okd_service_cidr: 172.30.0.0/16

kubeinit_okd_wait_for_cluster_to_converge: true
# OVNKubernetes should be the default, but
# currently is not working with submariner
# TODO:FIXME: Change when it works with submariner
# kubeinit_okd_network_type: "OVNKubernetes"
kubeinit_okd_network_type: OpenShiftSDN

###########################################
# If you need to deploy openshift instead #
# This will override the OKD deployment   #
###########################################
kubeinit_okd_openshift_deploy: "{{ hostvars['kubeinit-env'].openshift_deploy }}"

################################################
# Otherwise we will use the following defaults #
################################################

kubeinit_okd_registry: quay.io
kubeinit_okd_registry_organization_aux: '{% if ( kubeinit_okd_openshift_deploy | default(False)
  ) %} openshift-release-dev {% else %} openshift {% endif %}'
kubeinit_okd_registry_organization: "{{ kubeinit_okd_registry_organization_aux | replace('\
  \ ','') }}"

kubeinit_okd_registry_repository_aux: '{% if ( kubeinit_okd_openshift_deploy | default(False)
  ) %} ocp-release {% else %} okd {% endif %}'
kubeinit_okd_registry_repository: "{{ kubeinit_okd_registry_repository_aux | replace('\
  \ ','') }}"

###########################################################################
# Replace 4.7.18 with the OpenShift release you will like to deploy, or   #
# 4.7.0-0.okd-2021-06-19-191547 with the choosen OKD release.             #
###########################################################################
kubeinit_okd_registry_release_tag_aux: '{% if ( kubeinit_okd_openshift_deploy | default(False)
  ) %} 4.7.18 {% else %} 4.9.0-0.okd-2022-01-29-035536 {% endif %}'
kubeinit_okd_registry_release_tag: "{{ kubeinit_okd_registry_release_tag_aux | replace('\
  \ ','') }}"

kubeinit_okd_registry_release_tag_major: "{{ kubeinit_okd_registry_release_tag.split('.')[0]\
  \ }}"
kubeinit_okd_registry_release_tag_minor: "{{ kubeinit_okd_registry_release_tag.split('.')[1]\
  \ }}"
kubeinit_okd_registry_release_tag_rev: "{{ kubeinit_okd_registry_release_tag.split('.')[2]\
  \ }}"

kubeinit_okd_registry_release_url_aux: '{% if ( kubeinit_okd_openshift_deploy | default(False)
  ) %} https://mirror.openshift.com/pub/openshift-v4/clients/ocp/{{ kubeinit_okd_registry_release_tag
  }}/release.txt {% else %} https://api.github.com/repos/openshift/okd/releases/tags/{{
  kubeinit_okd_registry_release_tag }} {% endif %}'
kubeinit_okd_registry_release_url: "{{ kubeinit_okd_registry_release_url_aux | replace('\
  \ ','') }}"

# The space after the first single quote is required, do not remove
# Something in Ansible appears to be recognizing this as valid Python,
# so it's getting transformed into a Python list and then serialized
# using Python's str(), which is why we end up with the single-quoted values.
kubeinit_okd_registry_pullsecret: '  { "auths": {} }'
kubeinit_okd_registry_pullsecret_empty: '  { "auths": {} }'

kubeinit_okd_dependencies_client_aux: '{% if ( kubeinit_okd_openshift_deploy | default(False)
  ) %} https://mirror.openshift.com/pub/openshift-v4/clients/ocp/{{ kubeinit_okd_registry_release_tag
  }}/openshift-client-linux-{{ kubeinit_okd_registry_release_tag }}.tar.gz {% else
  %} https://github.com/openshift/okd/releases/download/{{ kubeinit_okd_registry_release_tag
  }}/openshift-client-linux-{{ kubeinit_okd_registry_release_tag }}.tar.gz {% endif
  %}'

kubeinit_okd_dependencies_installer_aux: '{% if ( kubeinit_okd_openshift_deploy |
  default(False) ) %} https://mirror.openshift.com/pub/openshift-v4/clients/ocp/{{
  kubeinit_okd_registry_release_tag }}/openshift-install-linux-{{ kubeinit_okd_registry_release_tag
  }}.tar.gz {% else %} https://github.com/openshift/okd/releases/download/{{ kubeinit_okd_registry_release_tag
  }}/openshift-install-linux-{{ kubeinit_okd_registry_release_tag }}.tar.gz {% endif
  %}'

kubeinit_okd_dependencies:
  client: "{{ kubeinit_okd_dependencies_client_aux | replace(' ','') }}"
  installer: "{{ kubeinit_okd_dependencies_installer_aux | replace(' ','') }}"

kubeinit_okd_fcos_stream: stable
kubeinit_okd_fcos_release: 34.20210626.3.1
kubeinit_okd_rhcos_release: 4.8.2
kubeinit_okd_rhcos_release_major_minor: "{{ kubeinit_okd_rhcos_release.split('.')[0]\
  \ }}.{{ kubeinit_okd_rhcos_release.split('.')[1] }}"

kubeinit_okd_coreos_images:
  fcos:
    uri: https://builds.coreos.fedoraproject.org/prod/streams/{{ kubeinit_okd_fcos_stream
      }}/builds/{{ kubeinit_okd_fcos_release }}/x86_64/
    kernel: fedora-coreos-{{ kubeinit_okd_fcos_release }}-live-kernel-x86_64
    initrd: fedora-coreos-{{ kubeinit_okd_fcos_release }}-live-initramfs.x86_64.img
    raw: fedora-coreos-{{ kubeinit_okd_fcos_release }}-metal.x86_64.raw.xz
    sig: fedora-coreos-{{ kubeinit_okd_fcos_release }}-metal.x86_64.raw.xz.sig
    rootfs: fedora-coreos-{{ kubeinit_okd_fcos_release }}-live-rootfs.x86_64.img
  rhcos:
    uri: https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/{{ kubeinit_okd_rhcos_release_major_minor
      }}/{{ kubeinit_okd_rhcos_release }}/
    kernel: rhcos-{{ kubeinit_okd_rhcos_release }}-x86_64-live-kernel-x86_64
    initrd: rhcos-{{ kubeinit_okd_rhcos_release }}-x86_64-live-initramfs.x86_64.img
    raw: rhcos-{{ kubeinit_okd_rhcos_release }}-x86_64-metal.x86_64.raw.gz
    sig: ''
    rootfs: rhcos-{{ kubeinit_okd_rhcos_release }}-x86_64-live-rootfs.x86_64.img

Tasks files

This section highlights all the documentation available in the tasks files.

Molecule Scenarios

Molecule is being used to test the “kubeinit_okd” role. The following section highlights the drivers in service and provides an example playbook showing how the role is leveraged.

Scenario: default

Driver: docker
Example default playbook
- name: Converge
  hosts: all
  # roles:
  #   - role: "kubeinit_okd"
  tasks:
  - name: Message for "kubeinit_okd"
    ansible.builtin.debug:
      msg: Finishing molecule for "kubeinit_okd"