Следующий код работает в кластере OKD, но завершается неудачно, когда я пытаюсь запустить его в среде поддельных юнит-тестов Kubernetes (т. Е. Используя k8s.io/client-go/dynamic/fake
):
routev1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
...
routeV1Client, err = routev1.NewForConfig(cfg)
route, _ := routeV1Client.Routes(getkAppNavNamespace()).Get(KappnavUIService, apismetav1.GetOptions{})
Кто-нибудь знает, как это сделать? работай? Я получаю сообщение об ошибке:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x1af3132]
goroutine 16 [running]:
github.com/kappnav/controller/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1.(*routes).Get(0xc00000e7c0, 0x1e018a0, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2987bd7, ...)
/Users/paul/gokappnav/src/github.com/kappnav/controller/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go:49 +0xa2
github.com/kappnav/controller.getKappnavWebConsoleExtensionURLs()
/Users/paul/gokappnav/src/github.com/kappnav/controller/kappnav_handler.go:270 +0x16b
Обновление: Вышеприведенная ошибка моя - неправильно настроен routeV1Client
. Не вижу поддельной версии openshift/client-go/route
. Кажется, есть один для openshift / client-go / apps . Я подозреваю, что мне может понадобиться универсальный клиент , если я действительно хочу использовать поддельный юнит-тестовый envir.
Пол