Bug 1887863 - Installer panics on invalid flavor
Summary: Installer panics on invalid flavor
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 4.6
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: ---
: 4.7.0
Assignee: egarcia
QA Contact: weiwei jiang
URL:
Whiteboard:
: 1891908 1891910 (view as bug list)
Depends On:
Blocks: 1894678
TreeView+ depends on / blocked
 
Reported: 2020-10-13 13:45 UTC by Pierre Prinetti
Modified: 2021-02-24 15:26 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1894678 (view as bug list)
Environment:
Last Closed: 2021-02-24 15:25:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift installer pull 4289 0 None closed Bug 1887863: Patch Flavor Not Found validation for OpenStack Install Config 2021-01-15 11:24:03 UTC
Red Hat Product Errata RHSA-2020:5633 0 None None None 2021-02-24 15:26:00 UTC

Description Pierre Prinetti 2020-10-13 13:45:17 UTC
When passed a non-existent flavor name (in either {compute,control_plane}.platform.openstack.flavorName or platform.openstack.computeFlavor), the Installer panics when validating the flavor.

How to reproduce:

```
cat > install-config.yaml <<EOF
apiVersion: v1
baseDomain: jkfd.de
compute:
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  replicas: 3
  platform:
    openstack:
      type: tuasorella
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  platform: {}
  replicas: 3
metadata:
  creationTimestamp: null
  name: crash
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:
    apiFloatingIP: 128.31.25.129
    apiVIP: 10.0.0.5
    cloud: moc
    externalDNS: null
    externalNetwork: external
    ingressVIP: 10.0.0.7
publish: External
pullSecret: '{"auths":{"cloud.openshift.com":{"auth":"UkVEQUNURUQ="}}}'
EOF

openshift-install-linux-4.6.0-0.nightly-2020-10-03-051134 create manifests
# panic: runtime error: invalid memory address or nil pointer dereference
# [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x2208610]
#
# goroutine 1 [running]:
# github.com/openshift/installer/pkg/asset/installconfig/openstack/validation.validatePlatformFlavor(0xc0005d40e0, 0xc000c10320, 0xc001293770, 0x0, 0x0, 0x0)
#         /go/src/github.com/openshift/installer/pkg/asset/installconfig/openstack/validation/platform.go:83 +0xb0
```

Comment 1 Pierre Prinetti 2020-10-27 19:57:56 UTC
*** Bug 1891910 has been marked as a duplicate of this bug. ***

Comment 2 Pierre Prinetti 2020-10-29 15:15:31 UTC
*** Bug 1891908 has been marked as a duplicate of this bug. ***

Comment 5 Pierre Prinetti 2020-11-03 08:01:14 UTC
Needs backport; backport is blocked by Bug 1878900.

Comment 7 weiwei jiang 2020-11-06 07:09:35 UTC
Checked with 4.7.0-0.nightly-2020-10-27-051128, and it still panic, so need to wait for new accepted payload to have another try.
$ ./openshift-install-4.7 version    
./openshift-install-4.7 4.7.0-0.nightly-2020-10-27-051128
built from commit de62b01d451857d942ac41dcfdad9385856fde9e
release image registry.svc.ci.openshift.org/ocp/release@sha256:2945b52c8bf58f18a2770071acb8cece1fad38c105f28c98dbfecfe675e2f758

$ ./openshift-install-4.7 create manifests --dir /tmp/test
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x22b302f]

goroutine 1 [running]:
github.com/openshift/installer/pkg/asset/installconfig/openstack/validation.validateFlavor(0x0, 0xd567700, 0x8, 0x2, 0x19, 0xc000f05980, 0xc000f05980, 0x40d7d0, 0xc00111ada0)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/openstack/validation/machinepool.go:116 +0x4f
github.com/openshift/installer/pkg/asset/installconfig/openstack/validation.ValidateMachinePool(0xc0005a0ea0, 0xc00006e8c0, 0x0, 0xc000f05950, 0x1, 0x1, 0xc000f05950)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/openstack/validation/machinepool.go:50 +0x71a
github.com/openshift/installer/pkg/asset/installconfig/openstack.Validate(0xc000814fc0, 0x0, 0x0)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/openstack/validate.go:28 +0x3a5
github.com/openshift/installer/pkg/asset/installconfig.(*InstallConfig).platformValidation(0xc000599720, 0x0, 0x0)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/installconfig.go:188 +0x87
github.com/openshift/installer/pkg/asset/installconfig.(*InstallConfig).finish(0xc000599720, 0xd5d1fc5, 0x13, 0x1a64, 0xd2f6240)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/installconfig.go:148 +0x234
github.com/openshift/installer/pkg/asset/installconfig.(*InstallConfig).Load(0xc000599720, 0xe8af800, 0xc0003a3680, 0xe9a3180, 0xc000599720, 0xc000599720)
        /go/src/github.com/openshift/installer/pkg/asset/installconfig/installconfig.go:125 +0x1f0
github.com/openshift/installer/pkg/asset/store.(*storeImpl).load(0xc00068e0c0, 0xe8dad00, 0xc000599340, 0xc00064fabc, 0x4, 0xc00064fabc, 0x4, 0x0)
        /go/src/github.com/openshift/installer/pkg/asset/store/store.go:264 +0x455
github.com/openshift/installer/pkg/asset/store.(*storeImpl).load(0xc00068e0c0, 0xe8dacc0, 0xc000599280, 0xd5652a4, 0x2, 0xd5652a4, 0x2, 0x0)
        /go/src/github.com/openshift/installer/pkg/asset/store/store.go:247 +0x2d7
github.com/openshift/installer/pkg/asset/store.(*storeImpl).load(0xc00068e0c0, 0xe8db040, 0x155ede60, 0x0, 0x0, 0x2, 0x2, 0xe826c00)
        /go/src/github.com/openshift/installer/pkg/asset/store/store.go:247 +0x2d7
github.com/openshift/installer/pkg/asset/store.(*storeImpl).fetch(0xc00068e0c0, 0xe8db040, 0x155ede60, 0x0, 0x0, 0x40b4e5, 0xc060420)
        /go/src/github.com/openshift/installer/pkg/asset/store/store.go:201 +0xa3a
github.com/openshift/installer/pkg/asset/store.(*storeImpl).Fetch(0xc00068e0c0, 0xe8db040, 0x155ede60, 0x155a7740, 0x4, 0x4, 0x5c00000000000000, 0xed736ec66)
        /go/src/github.com/openshift/installer/pkg/asset/store/store.go:77 +0x4b
main.runTargetCmd.func1(0x7fffe976bd80, 0x9, 0xc0005991e0, 0xc000273d40)
        /go/src/github.com/openshift/installer/cmd/openshift-install/create.go:173 +0x135
main.runTargetCmd.func2(0x155b47a0, 0xc000598f60, 0x0, 0x2)
        /go/src/github.com/openshift/installer/cmd/openshift-install/create.go:200 +0xb5
github.com/spf13/cobra.(*Command).execute(0x155b47a0, 0xc000598f00, 0x2, 0x2, 0x155b47a0, 0xc000598f00)
        /go/src/github.com/openshift/installer/vendor/github.com/spf13/cobra/command.go:846 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0xc00080f8c0, 0xc000c1fdf8, 0x1, 0x1)
        /go/src/github.com/openshift/installer/vendor/github.com/spf13/cobra/command.go:950 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
        /go/src/github.com/openshift/installer/vendor/github.com/spf13/cobra/command.go:887
main.installerMain()
        /go/src/github.com/openshift/installer/cmd/openshift-install/main.go:70 +0x2b8
main.main()
        /go/src/github.com/openshift/installer/cmd/openshift-install/main.go:50 +0x16f

Comment 8 egarcia 2020-11-09 14:23:03 UTC
It looks like my patch did not make it into that nightly build. The next one should work.

Comment 9 weiwei jiang 2020-11-10 02:01:07 UTC
verified on

$ ./openshift-install-4.7 version 
./openshift-install-4.7 4.7.0-0.nightly-2020-11-09-190845
built from commit 519f21bfada103752bb78929f170580d505b92c0
release image registry.svc.ci.openshift.org/ocp/release@sha256:f7bf10489f11c05927e901310ad7d824599b385f69f12c2de61cf8c437c85fc4
$ ./openshift-install-4.7 create manifests --dir /tmp/test
FATAL failed to fetch Master Machines: failed to load asset "Install Config": compute[0].platform.openstack.type: Not found: "m1.largeaoeu"

Comment 12 errata-xmlrpc 2021-02-24 15:25:34 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 (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), 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/RHSA-2020:5633


Note You need to log in before you can comment on or make changes to this bug.