Bug 1888615

Summary: [Openstack] Can't create cluster using a `raw` format image
Product: OpenShift Container Platform Reporter: Nikolaos Leandros Moraitis <nmoraiti>
Component: InstallerAssignee: Eric Duen <eduen>
Installer sub component: OpenShift on OpenStack QA Contact: David Sanz <dsanzmor>
Status: CLOSED DUPLICATE Docs Contact:
Severity: high    
Priority: unspecified CC: m.andre
Version: 4.5   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-19 10:18:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nikolaos Leandros Moraitis 2020-10-15 11:10:40 UTC
Version:

$ openshift-install version
./openshift-install 4.5.14
built from commit 9893a482f310ee72089872f1a4caea3dbec34f28
release image quay.io/openshift-release-dev/ocp-release@sha256:95cfe9273aecb9a0070176210477491c347f8e69e41759063642edf8bb8aceb6

Platform:
Openstack

What happened?


Our customer's Openstack doesn't support qcow2 image formats. Instead we convert the rchos image to raw format and follow https://github.com/openshift/installer/blob/master/docs/user/openstack/customization.md#image-overrides documentation to manually specify the image location.

However the installer still tries to do the qcow2 check and gets the following error:


time="2020-10-15T13:04:07+02:00" level=fatal msg="failed to fetch Terraform Variables: failed to generate asset \"Terraform Variables\": failed to get openstack Terraform variables: Bad request with: [POST https://image.cloud.muni.cz/v2/images], error message: {\"message\": \"Provided object does not match schema 'image': 'qcow2' is not one of [None, 'raw']\\n\\nFailed validating 'enum' in schema['properties']['disk_format']:\\n    {'description': 'Format of the disk',\\n     'enum': [None, 'raw'],\\n     'type': ['null', 'string']}\\n\\nOn instance['disk_format']:\\n    'qcow2'<br /><br />\\n\\n\\n\", \"code\": \"400 Bad Request\", \"title\": \"Bad Request\"}"


our config:

apiVersion: v1
baseDomain: vega.io
compute:
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  platform: {}
  replicas: 3
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  platform: {}
  replicas: 3
metadata:
  creationTimestamp: null
  name: vega-cluster
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OpenShiftSDN
  serviceNetwork:
  - 172.30.0.0/16
platform:
  openstack:
    clusterOSImage: file:///var/tmp/img.raw
    apiVIP: 10.0.0.5
    cloud: openstack
    computeFlavor: standard.large
    externalDNS: null
    externalNetwork: public-cesnet-78-128-250-PERSONAL
    ingressVIP: 10.0.0.7
    lbFloatingIP: 78.128.250.207
    octaviaSupport: "1"
    region: ""
    trunkSupport: "1"
publish: External
pullSecret: '{"auths":{"......
sshKey: |
  ssh-rsa ......

Comment 1 Martin André 2020-10-19 10:18:13 UTC
This is a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=1882649. In your case it's failing because the cloud restrict the image upload to raw only.
Mike is working on a patch to set the glance disk format based on the file extension.

In the meantime, there is a workaround. You need to upload the image to glance yourself and reference it from `clusterOSImage` in your `install-config.yaml`.

*** This bug has been marked as a duplicate of bug 1882649 ***