Bug 1712747

Summary: [downstream clone - 4.3.6] [RFE] Ignition support for ovirt vms with a custom payload
Product: Red Hat Enterprise Virtualization Manager Reporter: RHV bug bot <rhv-bugzilla-bot>
Component: ovirt-engineAssignee: Roy Golan <rgolan>
Status: CLOSED ERRATA QA Contact: Nisim Simsolo <nsimsolo>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4.0CC: bugs, emarcus, jparrill, kboumedh, mavital, michal.skrivanek, nobody, nsimsolo, pablo.iranzo, pep, rbarry, rgolan, Rhev-m-bugs
Target Milestone: ovirt-4.3.6Keywords: FutureFeature, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Red Had Virtualization virtual machines now support passing ignition configuration for any guest that supports it, such as RHCOS or FCOS. A guest RHCOS/FCOS guest OS can now be configured by passing ignition configuration using the UI or the API.
Story Points: ---
Clone Of: 1712746 Environment:
Last Closed: 2019-10-10 15:36:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1712746    
Bug Blocks:    

Description RHV bug bot 2019-05-22 07:59:44 UTC
+++ This bug is a downstream clone. The original bug is: +++
+++   bug 1712746 +++
======================================================================

+++ This bug was initially created as a clone of Bug #1691704 +++

Request for enhancement:

To start give support to Openshift4 and OKD4, we need to add ignition support for RHEV vms in order to allow the openshift-installer to scale up and down nodes using oVirt as a base platform.

--- Additional comment from Karim Boumedhel on 2019-05-16 16:47:31 UTC ---

i believe https://gerrit.ovirt.org/#/c/100008 can be used as a workaround

--- Additional comment from Roy Golan on 2019-05-22 07:47:45 UTC ---

The merged patches to the engine supply support over cloud-init cdrom, which is a well known and used
method for a long time.

Currently the way to use it is to pass the ignition config into the 'custom script' section of the vm init object
when creating the vm. If the config file is a valid json file with the ignition key in it, it will be passed to
on into the userdata file under the config-2 disk.

RHCOS side needs to have the openstack ignition enabled in the kernel so it will boot and try to locate 
the config-2 disk - its location will be /dev/disk/by-label/config-2 . The ignition provider mounts it
and then the config data available to ignition.
This means the VM template should be openstack RHCOS image.

Regarding fw_cfg, it doesn't have support from qemu at the moment, and moreover I don't see it supporting large
ignition config files, where in the case of openshift installation, the bootstrap ignition data is 300k big.

(Originally by Ryan Barry)

Comment 9 Roy Golan 2019-07-04 14:37:26 UTC
Nisim you can get more info here https://ovirt.org/develop/release-management/features/virt/coreos-ignition-support.html

Comment 12 Nisim Simsolo 2019-08-06 15:30:23 UTC
Verification builds: 
rhvm-4.3.6-0.1.el7
vdsm-4.30.25-1.el7ev.x86_64
qemu-kvm-rhev-2.12.0-33.el7.x86_64
libvirt-4.5.0-23.el7.x86_64
sanlock-3.7.3-1.el7.x86_64
Fedora CoreOS 30.337

Verification scenario:
1. Create new VM from FCOS template, in new VM dialog -> initial run, check "use cloud-init/sysprep" -> and add the next custom script:

{
  "ignition": { "version": "3.0.0" },
  "passwd": {
    "users": [
      {
        "name": "core",
        "passwordHash": "$y$j9T$skCa2x5kFis7p58gYjz3C1$ykelHfCckRToZKAVYK7GDdLOCi3pcF2WMioI.vmYkj5"
      }
    ]
  }
}

2. Run VM and verify it's possible to login using the next user password:
user: core
password: changeme
3. Create new VM from FCOS template (don't add nothing to cloud-init).
4. Open rnu once dialog and add the cloud-init script from step 1.
5. Run VM and verify user password.

Ignition test plan will be added to external trackers when completed.

Comment 16 errata-xmlrpc 2019-10-10 15:36:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:3010