Fix kubectl storage class check (#13046)

This commit is contained in:
Charles Gagnon
2020-10-22 15:05:14 -07:00
committed by GitHub
parent dbb30110ac
commit 3ef2650e69

View File

@@ -67,10 +67,12 @@ export class KubeCtlTool extends ToolBase {
}
public async getStorageClasses(): Promise<{ storageClasses: string[], defaultStorageClass: string }> {
const storageClasses: KubeStorageClass[] = JSON.parse(await this.platformService.runCommand('kubectl get sc -o json')).items;
// Ignore any values without metadata - that should never happen but if it doesn't we don't have anything useful to do with it anyways
const storageClasses = (JSON.parse(await this.platformService.runCommand('kubectl get sc -o json')).items as KubeStorageClass[])
.filter(sc => sc.metadata);
return {
storageClasses: storageClasses.map(sc => sc.metadata.name),
defaultStorageClass: storageClasses.find(sc => sc.metadata.annotations['storageclass.kubernetes.io/is-default-class'] === 'true')?.metadata.name ?? ''
defaultStorageClass: storageClasses.find(sc => sc.metadata.annotations?.['storageclass.kubernetes.io/is-default-class'] === 'true')?.metadata.name ?? ''
};
}