F5Networks / f5-ipam-controller

The F5 IPAM Controller runs in an orchestration environment like Kubernetes to allocate IP addresses from an IPAM system to BIG-IP Virtual Servers. The purpose is to abstract complexity related to setting up BIG-IP from a networking perspective
Apache License 2.0
10 stars 16 forks source link

ipam default deplyoment in GKE (w/o local storage) fails with releases >0.1.4 #88

Closed dfs5 closed 2 years ago

dfs5 commented 2 years ago

Setup Details

FIC Version : 0.1.5 and 0.1.6 CIS Version : not relevant
FIC Build: f5networks/f5-ipam-controller:lates // 0.1.5 and 0.1.6 CIS Build: not relevant BIGIP Version: not relevant AS3 Version: not relevant Orchestration: K8S
Orchestration Version: v1.21.5-gke.1302
Additional Setup details: <Platform/CNI Plugins/ cluster nodes/ etc>

Description

container deployment fails with the default deployment yaml: https://clouddocs.f5.com/containers/latest/userguide/ipam/#f5-ipam-controller-deployment

sudo kubectl get pod -n kube-system | grep ipam f5-ipam-controller-6f7d67b9b-rctvj 0/1 Error 2 17s

sudo kubectl logs -n kube-system f5-ipam-controller-6f7d67b9b-rctvj 2022/01/03 14:37:46 [INFO] [INIT] Starting: F5 IPAM Controller - Version: 0.1.6, BuildInfo: azure-1677-f86d2913adf51b4c8ebc04cac919203623abe5d6 2022/01/03 14:37:46 [ERROR] [STORE] Unable to create IPAM DB file: open /app/ipamdb/cis_ipam.sqlite3: no such file or directory panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0x5c73b5]

goroutine 1 [running]: github.com/F5Networks/f5-ipam-controller/pkg/provider.(*IPAMProvider).Init(0xc000393ee0, 0x7ffe9359b96e, 0x8f, 0x7ff7df6fb098) /go/src/github.com/F5Networks/f5-ipam-controller/pkg/provider/provider.go:60 +0xf5 github.com/F5Networks/f5-ipam-controller/pkg/provider.NewProvider(0x7ffe9359b96e, 0x8f, 0x2000107) /go/src/github.com/F5Networks/f5-ipam-controller/pkg/provider/provider.go:44 +0xa5 github.com/F5Networks/f5-ipam-controller/pkg/manager.NewIPAMManager(0x7ffe9359b96e, 0x8f, 0x28, 0xc0003aaa70, 0x1) /go/src/github.com/F5Networks/f5-ipam-controller/pkg/manager/f5ipammanager.go:43 +0x39 github.com/F5Networks/f5-ipam-controller/pkg/manager.NewManager(0x17cde2c, 0xe, 0x7ffe9359b96e, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/F5Networks/f5-ipam-controller/pkg/manager/manager.go:53 +0x452 main.main() /go/src/github.com/F5Networks/f5-ipam-controller/cmd/f5-ipam-controller/main.go:278 +0x4a5

In older releases <0.1.5 it's working as expected.

Steps To Reproduce - failed deployment

1) try to deploy with latest image based on: https://clouddocs.f5.com/containers/latest/userguide/ipam/#f5-ipam-controller-deployment 2) 3)

Expected Result

deplyoment should create an ipam container running in 1 pod

Actual Result

pod can not get created

Diagnostic Information

2022/01/03 14:37:46 [ERROR] [STORE] Unable to create IPAM DB file: open /app/ipamdb/cis_ipam.sqlite3: no such file or directory panic: runtime error: invalid memory address or nil pointer dereference

Steps To Reproduce - running deployment

1) try to deploy with image 'f5networks/f5-ipam-controller:0.1.4' based on: https://clouddocs.f5.com/containers/latest/userguide/ipam/#f5-ipam-controller-deployment 2) 3)

Expected Result

deplyoment should create an ipam container running in 1 pod

Actual Result

pod is up and running

Diagnostic Information

sudo kubectl get pod -n kube-system | grep ipam f5-ipam-controller-6f7d67b9b-rctvj 0/1 Terminating 4 2m38s f5-ipam-controller-86757b4596-hc9dj 1/1 Running 0 13s

sudo kubectl logs -n kube-system f5-ipam-controller-86757b4596-hc9dj 2022/01/03 14:39:38 [INFO] [INIT] Starting: F5 IPAM Controller - Version: 0.1.4, BuildInfo: azure-453-9f505dd510b697a3b0058aefa7aace9ec4b519c3 2022/01/03 14:39:38 [INFO] [CORE] Controller started 2022/01/03 14:39:38 [INFO] Starting IPAMClient Informer I0103 14:39:38.906049 1 shared_informer.go:240] Waiting for caches to sync for F5 IPAMClient Controller E0103 14:39:39.019560 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch v1.F5IPAM: failed to list v1.F5IPAM: f5ipams.fic.f5.com is forbidden: User "system:serviceaccount:kube-system:ipam-ctlr" cannot list resource "f5ipams" in API group "fic.f5.com" in the namespace "kube-system" E0103 14:39:40.309671 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch v1.F5IPAM: failed to list v1.F5IPAM: f5ipams.fic.f5.com is forbidden: User "system:serviceaccount:kube-system:ipam-ctlr" cannot list resource "f5ipams" in API group "fic.f5.com" in the namespace "kube-system" E0103 14:39:43.422518 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch v1.F5IPAM: failed to list v1.F5IPAM: f5ipams.fic.f5.com is forbidden: User "system:serviceaccount:kube-system:ipam-ctlr" cannot list resource "f5ipams" in API group "fic.f5.com" in the namespace "kube-system" E0103 14:39:48.758814 1 reflector.go:138] github.com/F5Networks/f5-ipam-controller/pkg/ipammachinery/informers.go:35: Failed to watch v1.F5IPAM: failed to list v1.F5IPAM: f5ipams.fic.f5.com is forbidden: User "system:serviceaccount:kube-system:ipam-ctlr" cannot list resource "f5ipams" in API group "fic.f5.com" in the namespace "kube-system"

Observations (if any)

trinaths commented 2 years ago

For F5 IPAM > 0.1.5, local storage is mandatory. Please see https://github.com/F5Networks/f5-ipam-controller/blob/main/docs/RELEASE-NOTES.rst#migration-from-014