VIM Basic Services ================== These are the initial deployment services residing in the VIM server. .. note :: If the VIM server is not direct attached on the management L2 domain, an DHCP relay service is needed to be configured in the management infrastructure switching. Meadow ###### It is an https basic service to provide VIM resources. Get the code .. code-block:: sh git clone https://gitlab.stroila.ca/slg/ocp/meadow.git cd meadow && make clean && make build && make run The service is listening on port 3443 by default and can be chnged in: .. code-block:: sh vi root/usr/share/container-scripts/httpd/common.sh The default document path is /var/www/http To test .. code-block:: sh curl -k https://registry.ocp.labs.stroila.ca:3443/ok Coredns ####### Configuration ------------- .. literalinclude:: config/db.labs.stroila.ca :linenos: :language: text Registry ######## .. tip:: If you receive "docker.io/library/registry: toomanyrequests: You have reached your pull rate limit" you can pull the registry from somwhere else and transfer the image: .. code-block:: sh podman pull docker.io/library/registry podman save -o registry.tar docker.io/library/registry:latest ... podman load < /root/registry.tar Verify registry content .. code-block:: sh # curl -u user:password -ks https://registry.ocp.labs.stroila.ca:5000/v2/_catalog|jq -r . { "repositories": [ "ocp/cni-plugins", "ocp/network-operator", "ocp/keepalived", "olm/redhat-operators", "openshift" ] } Dnsmasq ####### The images directory is extracted from generated iso image created with `assisted-installer `_ File structure ^^^^^^^^^^^^^^ .. code-block:: text /opt/ocp/dnsmasq/ ├── etc │   ├── dhcpd.hosts │   ├── dhcp-options │   └── dnsmasq.conf └── tftpboot ├── boot.ipxe ├── EFI │   └── redhat │   ├── grub.cfg-01-08-ca-3a-67-6d-01 │   ├── grub.cfg-01-90-b1-1c-49-e8-03 │   ├── grub.cfg-01-90-b1-1c-4c-8b-f9 │   ├── grub.cfg-01-b8-ca-3a-6f-3d-4b │   └── grub.cfg-01-b8-ca-3a-6f-7e-bb ├── grubx64.efi ├── images │   ├── efiboot.img │   ├── ignition.img │   └── pxeboot │   ├── initrd.img │   ├── rootfs.img │   └── vmlinuz ├── pxelinux.cfg │   ├── additional_menu_entries │   ├── base-default │   ├── default │   ├── rhcos │   ├── rhcos.efi │   ├── rhcos.http │   ├── rhcos.ipxe │   └── rhcos.pxe ├── rhcos-installer-initramfs.x86_64.img ├── rhcos-installer-kernel-x86_64 └── uefi ├── grubx64.efi ├── mmx64.efi ├── shimx64.efi └── shimx64-redhat.efi Configuration ^^^^^^^^^^^^^ Automated install nested ignition contains the introspection and disk ignitions GRUB UEFI example for Accton Switch ----------------------------------- .. code-block:: text set default="1" function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set timeout=5 menuentry 'Install RHCOS L2' --class fedora --class gnu-linux --class gnu --class os { linuxefi /images/pxeboot/vmlinuz random.trust_cpu=on rd.luks.options=discard ip=[2602:807:900e:141::0090:fb6a:c9fa]::[2602:807:900e:141::f01f:afce:5ded]:64:AJ08025940-l2:enp2s0:none nameserver=2602:807:900e:141::f01f:afce:5ded rd.neednet=1 vga=791 console=ttyS0,57600n8 console=tty0 ignition.firstboot ignition.platform.id=metal coreos.live.rootfs_url=https://[2602:807:900e:141::f01f:afce:5ded]:3443/rootfs.img ignition.config.url=https://[2602:807:900e:141::f01f:afce:5ded]:3443/cfg/automated_install.ign initrdefi /images/pxeboot/initrd.img /images/ignition.img } GRUB UEFI example for Dell Server --------------------------------- .. code-block:: text set default="1" function load_video { insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod all_video } load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set timeout=5 menuentry 'Install RHCOS C3' --class fedora --class gnu-linux --class gnu --class os { linuxefi /images/pxeboot/vmlinuz random.trust_cpu=on rd.luks.options=discard ip=[2602:807:900e:141::90b1:1c26:6aa2]::[2602:807:900e:141::f01f:afce:5ded]:64:r620-3MNXK02-c3:eno1:none nameserver=2602:807:900e:141::f01f:afce:5ded rd.neednet=1 vga=791 console=ttyS0 console=tty0 ignition.firstboot ignition.platform.id=metal coreos.live.rootfs_url=https://[2602:807:900e:141::f01f:afce:5ded]:3443/rootfs.img ignition.config.url=https://[2602:807:900e:141::f01f:afce:5ded]:3443/cfg/automated_install.ign initrdefi /images/pxeboot/initrd.img /images/ignition.img } Monitor ####### This is an API server that receives deployment status information A mocap example is available `Very simple HTTP server in python for logging requests `_ The implementation must be able to receive and provide feedback to the deployment components.