Skip to content
This repository has been archived by the owner on Jan 19, 2023. It is now read-only.

Infinite loading (only header shown), error "crd conversion failed: cannot convert int64 to float64" #72

Closed
hjacobs opened this issue Jul 23, 2019 · 15 comments
Assignees
Labels
api bug Something isn't working

Comments

@hjacobs
Copy link

hjacobs commented Jul 23, 2019

Octant 0.4 does not load for me:

Screenshot_2019-07-23_17-55-58

Console is full of these errors:


2019-07-23T17:54:24.950+0200	ERROR	event/generator.go:103	event generator error	{"err": "get CRD from object store: cannot convert int64 to float64", "errVerbose": "cannot convert int64 to float64\nget CRD from object store\ngithub.com/vmware/octant/internal/describer.CustomResourceDefinition\n\t/go/src/github.com/vmware/octant/internal/describer/customresource.go:61\ngithub.com/vmware/octant/internal/describer.(*crdList).Describe\n\t/go/src/github.com/vmware/octant/internal/describer/crd_list.go:57\ngithub.com/vmware/octant/internal/describer.(*CRDSection).Describe\n\t/go/src/github.com/vmware/octant/internal/describer/crd_section.go:62\ngithub.com/vmware/octant/internal/describer.(*Section).Describe\n\t/go/src/github.com/vmware/octant/internal/describer/section.go:35\ngithub.com/vmware/octant/internal/modules/overview.(*realGenerator).Generate\n\t/go/src/github.com/vmware/octant/internal/modules/overview/generator.go:95\ngithub.com/vmware/octant/internal/modules/overview.(*Overview).Content\n\t/go/src/github.com/vmware/octant/internal/modules/overview/overview.go:225\ngithub.com/vmware/octant/internal/event.(*ContentGenerator).generateContent\n\t/go/src/github.com/vmware/octant/internal/event/content_generator.go:75\ngithub.com/vmware/octant/internal/event.(*ContentGenerator).Event\n\t/go/src/github.com/vmware/octant/internal/event/content_generator.go:71\ngithub.com/vmware/octant/internal/event.runGenerator\n\t/go/src/github.com/vmware/octant/internal/event/generator.go:89\ngithub.com/vmware/octant/internal/event.Stream.func1\n\t/go/src/github.com/vmware/octant/internal/event/generator.go:54\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1337"}
github.com/vmware/octant/internal/event.runGenerator
	/go/src/github.com/vmware/octant/internal/event/generator.go:103
github.com/vmware/octant/internal/event.Stream.func1
	/go/src/github.com/vmware/octant/internal/event/generator.go:54
2019-07-23T17:54:27.792+0200	ERROR	event/generator.go:103	event generator error	{"err": "generate entries for Custom Resources: retrieving CRD names: crd conversion failed: cannot convert int64 to float64", "errVerbose": "cannot convert int64 to float64\ncrd conversion failed\ngithub.com/vmware/octant/pkg/navigation.CustomResourceDefinitionNames\n\t/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:126\ngithub.com/vmware/octant/pkg/navigation.CRDEntries\n\t/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:73\ngithub.com/vmware/octant/internal/octant.(*NavigationFactory).genNode\n\t/go/src/github.com/vmware/octant/internal/octant/factory.go:115\ngithub.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1\n\t/go/src/github.com/vmware/octant/internal/octant/factory.go:83\ngithub.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1337\nretrieving CRD names\ngithub.com/vmware/octant/pkg/navigation.CRDEntries\n\t/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:75\ngithub.com/vmware/octant/internal/octant.(*NavigationFactory).genNode\n\t/go/src/github.com/vmware/octant/internal/octant/factory.go:115\ngithub.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1\n\t/go/src/github.com/vmware/octant/internal/octant/factory.go:83\ngithub.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1337\ngenerate entries for Custom Resources\ngithub.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1\n\t/go/src/github.com/vmware/octant/internal/octant/factory.go:85\ngithub.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1337"}
github.com/vmware/octant/internal/event.runGenerator
	/go/src/github.com/vmware/octant/internal/event/generator.go:103
github.com/vmware/octant/internal/event.Stream.func1
@hjacobs hjacobs changed the title Infinite loading (only header shown) Infinite loading (only header shown), error "crd conversion failed: cannot convert int64 to float64" Jul 23, 2019
@wwitzel3 wwitzel3 added the bug Something isn't working label Jul 23, 2019
@wwitzel3
Copy link
Contributor

@hjacobs would you be able to provide the list of CRDs installed for this cluster? kubectl get crds

@hjacobs
Copy link
Author

hjacobs commented Jul 23, 2019

Here the complete YAML dump: https://gist.github.com/hjacobs/9876005c325e18930992aa2bd2eaf7da

@wwitzel3
Copy link
Contributor

wwitzel3 commented Jul 24, 2019

@hjacobs I just merged #76 which will address part of the issue, instead of halting operations, octant will now log out the CRD it failed to parse and continue. This will be released as part of our upcoming 0.4.1 release which is scheduled for Monday (29 July 2019)

@hjacobs
Copy link
Author

hjacobs commented Aug 6, 2019

0.5.1 crashes again for me 😞
Screenshot_2019-08-06_22-57-27

@jonmoter
Copy link

jonmoter commented Aug 7, 2019

I get the same SIGSEGV with v0.5.1 on a cluster that has CRDs installed on it. Same errors and stacktrace, though different CRDs.

Full output when I start octant:

$ octant
2019-08-07T08:54:39.710-0700	INFO	module/manager.go:75	registering action	{"component": "module-manager", "actionPath": "deployment/configuration", "module-name": "overview"}
2019-08-07T08:54:39.711-0700	INFO	api/content.go:52	Registering routes for overview
2019-08-07T08:54:39.711-0700	INFO	api/content.go:52	Registering routes for cluster-overview
2019-08-07T08:54:39.712-0700	INFO	api/content.go:52	Registering routes for configuration
2019-08-07T08:54:39.712-0700	INFO	dash/dash.go:335	Dashboard is available at http://127.0.0.1:50468

2019-08-07T08:54:40.689-0700	ERROR	navigation/navigation.go:125	dynamodbtables.storage.zende.sk: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
2019-08-07T08:54:40.690-0700	ERROR	navigation/navigation.go:125	dynamodbtables.storage.zende.sk: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x1e16d69]

goroutine 259 [running]:
github.com/vmware/octant/pkg/navigation.CRDEntries.func1(0x0, 0x25, 0x0)
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:80 +0x49
sort.doPivot_func(0xc000c99d38, 0xc000f18fa0, 0x0, 0x47, 0xc00121a940, 0x8)
	/usr/local/go/src/sort/zfuncversion.go:87 +0x452
sort.quickSort_func(0xc000c99d38, 0xc000f18fa0, 0x0, 0x47, 0xe)
	/usr/local/go/src/sort/zfuncversion.go:143 +0x9a
sort.Slice(0x211d400, 0xc000f18f80, 0xc000c99d38)
	/usr/local/go/src/sort/slice.go:21 +0x129
github.com/vmware/octant/pkg/navigation.CRDEntries(0x29b8620, 0xc000d79c80, 0xc001142a00, 0x34, 0xc00121f227, 0x7, 0x29cd260, 0xc0012ab500, 0x0, 0x0, ...)
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:79 +0x124
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode(0xc0010fa480, 0x29b8620, 0xc000d79c80, 0x23d9308, 0x10, 0x27d7158, 0xc0012302b0, 0xc000d16270, 0x23d5f9c)
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115 +0x269
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1(0xc000000008, 0x27da070)
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83 +0xeb
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1(0xc000d16330, 0xc00104c280)
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57 +0x57
created by github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:54 +0x66

@wwitzel3
Copy link
Contributor

wwitzel3 commented Aug 7, 2019

A partial fix (#124) for this was merged in that will allow octant to continue, similar to the previous fix. If you have time and are willing, you can build from the latest master and octant should not crash anymore.

This fix does not address the conversion error itself, you will still see those errors logged out to the console.

@phenixblue
Copy link

phenixblue commented Aug 8, 2019

Ditto for me as well. The offending CRD's Octant complains about seem to be these:

  • sinks.apps.pivotal.io
  • clustersinks.apps.pivotal.io

This was on a cluster provisioned by PKS v1.4.1

@faheem-nadeem
Copy link

Same happens for me on version 0.5.1
The crds in question are from kubeflow

2019-08-08T10:25:08.093+0200	INFO	module/manager.go:75	registering action	{"component": "module-manager", "actionPath": "deployment/configuration", "module-name": "overview"}
2019-08-08T10:25:08.094+0200	INFO	api/content.go:52	Registering routes for overview
2019-08-08T10:25:08.098+0200	INFO	api/content.go:52	Registering routes for cluster-overview
2019-08-08T10:25:08.098+0200	INFO	api/content.go:52	Registering routes for configuration
2019-08-08T10:25:08.099+0200	INFO	dash/dash.go:335	Dashboard is available at http://127.0.0.1:38245

2019-08-08T10:25:09.151+0200	ERROR	navigation/navigation.go:125	tfjobs.kubeflow.org: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
2019-08-08T10:25:09.151+0200	ERROR	navigation/navigation.go:125	pytorchjobs.kubeflow.org: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
2019-08-08T10:25:09.151+0200	ERROR	navigation/navigation.go:125	pytorchjobs.kubeflow.org: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
2019-08-08T10:25:09.160+0200	ERROR	navigation/navigation.go:125	tfjobs.kubeflow.org: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x12162f9]

goroutine 403 [running]:
github.com/vmware/octant/pkg/navigation.CRDEntries.func1(0x0, 0x2, 0x0)
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:80 +0x49
sort.doPivot_func(0xc000207d38, 0xc000cd3b20, 0x0, 0x11, 0xc00052c140, 0x8)
	/usr/local/go/src/sort/zfuncversion.go:87 +0x452
sort.quickSort_func(0xc000207d38, 0xc000cd3b20, 0x0, 0x11, 0xa)
	/usr/local/go/src/sort/zfuncversion.go:143 +0x9a
sort.Slice(0x151e6a0, 0xc000cd3b00, 0xc000207d38)
	/usr/local/go/src/sort/slice.go:21 +0x129
github.com/vmware/octant/pkg/navigation.CRDEntries(0x1db8f80, 0xc0007f6570, 0xc0009971c0, 0x34, 0xc0007d84e7, 0x7, 0x1dcd9a0, 0xc00001a240, 0x0, 0x0, ...)
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:79 +0x124
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode(0xc000348060, 0x1db8f80, 0xc0007f6570, 0x17da963, 0x10, 0x1bd8930, 0xc000c07170, 0xc000c26e40, 0x17d754f)
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115 +0x269
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1(0xc000000008, 0x1bdb700)
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83 +0xeb
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1(0xc000c26f00, 0xc00057e700)
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57 +0x57
created by github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:54 +0x66

@sysadmiral
Copy link

Fails with the spark operator CRD too in version 0.5.1.

sparkapplications.sparkoperator.k8s.io

@isdzulqor
Copy link

isdzulqor commented Aug 8, 2019

install on my Mac and got the same issue

➜  octant_0.5.1_macOS-64bit ./octant                                                                                                                                                                                             (2) 23:17:45
2019-08-08T23:25:37.317+0700	INFO	module/manager.go:75	registering action	{"component": "module-manager", "actionPath": "deployment/configuration", "module-name": "overview"}
2019-08-08T23:25:37.319+0700	INFO	api/content.go:52	Registering routes for overview
2019-08-08T23:25:37.319+0700	INFO	api/content.go:52	Registering routes for cluster-overview
2019-08-08T23:25:37.320+0700	INFO	api/content.go:52	Registering routes for configuration
2019-08-08T23:25:37.320+0700	INFO	dash/dash.go:335	Dashboard is available at http://127.0.0.1:53501

2019-08-08T23:25:46.218+0700	ERROR	navigation/navigation.go:125	tfjobs.kubeflow.org: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
	/go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
	/go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
	/go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
	/go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup

@phenixblue
Copy link

phenixblue commented Aug 8, 2019

I'll add that I'm using a Mac as well. Confirmed with coworker using Windows that he does not see the same issue while using the same version of Octant and targeting the same cluster. I also confirmed that building from the latest master resolved the immediate crash and allowed me to use Octant. The offending CRD's from before are missing from the list within the UI.

@munnerz
Copy link

munnerz commented Aug 8, 2019

I suspect that this is due to the CRDs in question specifying float values, which according to the API conventions should not be used:

Avoid floating-point values as much as possible, and never use them in spec. Floating-point values cannot be reliably round-tripped (encoded and re-decoded) without changing, and have varying precision and representations across languages and architectures.

https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#primitive-types

@halkeye
Copy link

halkeye commented Aug 9, 2019

Seems totally reasonable. I'm throwing cephclusters out into the list.

2019-08-08T20:17:30.757-0700    ERROR   navigation/navigation.go:125    cephclusters.ceph.rook.io: crd conversion failed: cannot convert int64 to float64
github.com/vmware/octant/pkg/navigation.CustomResourceDefinitions
        /go/src/github.com/vmware/octant/pkg/navigation/navigation.go:125
github.com/vmware/octant/pkg/navigation.CRDEntries
        /go/src/github.com/vmware/octant/pkg/navigation/navigation.go:74
github.com/vmware/octant/internal/octant.(*NavigationFactory).genNode
        /go/src/github.com/vmware/octant/internal/octant/factory.go:115
github.com/vmware/octant/internal/octant.(*NavigationFactory).Generate.func1
        /go/src/github.com/vmware/octant/internal/octant/factory.go:83
github.com/vmware/octant/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1
        /go/src/github.com/vmware/octant/vendor/golang.org/x/sync/errgroup/errgroup.go:57
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T09:23:26Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
$ kubectl get crd cephclusters.ceph.rook.io -o yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: "2019-04-20T18:14:25Z"
  generation: 1
  name: cephclusters.ceph.rook.io
  resourceVersion: "33706691"
  selfLink: /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/cephclusters.ceph.rook.io
  uid: 20ebfe49-6398-11e9-b8c9-54b203085847
spec:
  additionalPrinterColumns:
  - JSONPath: .spec.dataDirHostPath
    description: Directory used on the K8s nodes
    name: DataDirHostPath
    type: string
  - JSONPath: .spec.mon.count
    description: Number of MONs
    name: MonCount
    type: string
  - JSONPath: .metadata.creationTimestamp
    name: Age
    type: date
  - JSONPath: .status.state
    description: Current State
    name: State
    type: string
  conversion:
    strategy: None
  group: ceph.rook.io
  names:
    kind: CephCluster
    listKind: CephClusterList
    plural: cephclusters
    singular: cephcluster
  preserveUnknownFields: true
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        spec:
          properties:
            cephVersion:
              properties:
                allowUnsupported:
                  type: boolean
                image:
                  type: string
                name:
                  pattern: ^(luminous|mimic|nautilus)$
                  type: string
            dashboard:
              properties:
                enabled:
                  type: boolean
                port:
                  type: integer
                urlPrefix:
                  type: string
            dataDirHostPath:
              pattern: ^/(\S+)
              type: string
            mon:
              properties:
                allowMultiplePerNode:
                  type: boolean
                count:
                  maximum: 9
                  minimum: 1
                  type: integer
              required:
              - count
            network:
              properties:
                hostNetwork:
                  type: boolean
            storage:
              properties:
                nodes:
                  items: {}
                  type: array
                useAllDevices: {}
                useAllNodes:
                  type: boolean
          required:
          - mon
  version: v1
  versions:
  - name: v1
    served: true
    storage: true
status:
  acceptedNames:
    kind: CephCluster
    listKind: CephClusterList
    plural: cephclusters
    singular: cephcluster
  conditions:
  - lastTransitionTime: "2019-04-20T18:14:25Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: null
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  - lastTransitionTime: "2019-07-03T01:48:49Z"
    message: '[spec.validation.openAPIV3Schema.properties[spec].properties[cephVersion].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[dashboard].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[mon].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[network].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[storage].properties[nodes].items.type:
      Required value: must not be empty for specified array items, spec.validation.openAPIV3Schema.properties[spec].properties[storage].properties[useAllDevices].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].properties[storage].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.properties[spec].type:
      Required value: must not be empty for specified object fields, spec.validation.openAPIV3Schema.type:
      Required value: must not be empty at the root]'
    reason: Violations
    status: "True"
    type: NonStructuralSchema
  storedVersions:
  - v1

@sysadmiral
Copy link

I'm no Go expert but following @munnerz suspicion I had a look at the crd.go files for the Spark Operator we have deployed and can confirm it contains lots of float64 values in the spec. One example:

https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/0d21aed3ab5f10fc71d12d93f3449746a78933d4/pkg/crd/sparkapplication/crd.go#L92

@bryanl
Copy link
Contributor

bryanl commented Aug 9, 2019

closing in favor of #143

@bryanl bryanl closed this as completed Aug 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api bug Something isn't working
Projects
None yet
Development

No branches or pull requests

10 participants