Add events for NGINX reloads
This commit is contained in:
parent
c7b041fb9e
commit
29ea30a4e8
26 changed files with 319 additions and 326 deletions
|
|
@ -75,6 +75,9 @@ func GetNodeIPOrName(kubeClient clientset.Interface, name string, useInternalIP
|
|||
return defaultOrInternalIP
|
||||
}
|
||||
|
||||
// IngressNGINXPod hold information about the ingress-nginx pod
|
||||
var IngressNGINXPod *apiv1.Pod
|
||||
|
||||
// PodInfo contains runtime information about the pod running the Ingres controller
|
||||
type PodInfo struct {
|
||||
Name string
|
||||
|
|
@ -84,25 +87,34 @@ type PodInfo struct {
|
|||
Labels map[string]string
|
||||
}
|
||||
|
||||
// GetPodDetails returns runtime information about the pod:
|
||||
// name, namespace and IP of the node where it is running
|
||||
func GetPodDetails(kubeClient clientset.Interface) (*PodInfo, error) {
|
||||
// GetIngressPod load the ingress-nginx pod
|
||||
func GetIngressPod(kubeClient clientset.Interface) error {
|
||||
podName := os.Getenv("POD_NAME")
|
||||
podNs := os.Getenv("POD_NAMESPACE")
|
||||
|
||||
if podName == "" || podNs == "" {
|
||||
return nil, fmt.Errorf("unable to get POD information (missing POD_NAME or POD_NAMESPACE environment variable")
|
||||
return fmt.Errorf("unable to get POD information (missing POD_NAME or POD_NAMESPACE environment variable")
|
||||
}
|
||||
|
||||
pod, _ := kubeClient.CoreV1().Pods(podNs).Get(context.TODO(), podName, metav1.GetOptions{})
|
||||
if pod == nil {
|
||||
return nil, fmt.Errorf("unable to get POD information")
|
||||
IngressNGINXPod, _ = kubeClient.CoreV1().Pods(podNs).Get(context.TODO(), podName, metav1.GetOptions{})
|
||||
if IngressNGINXPod == nil {
|
||||
return fmt.Errorf("unable to get POD information")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetPodDetails returns runtime information about the pod:
|
||||
// name, namespace and IP of the node where it is running
|
||||
func GetPodDetails() (*PodInfo, error) {
|
||||
if IngressNGINXPod == nil {
|
||||
return nil, fmt.Errorf("no ingress-nginx pod details available")
|
||||
}
|
||||
|
||||
return &PodInfo{
|
||||
Name: podName,
|
||||
Namespace: podNs,
|
||||
Labels: pod.GetLabels(),
|
||||
Name: IngressNGINXPod.Name,
|
||||
Namespace: IngressNGINXPod.Namespace,
|
||||
Labels: IngressNGINXPod.GetLabels(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ func TestGetPodDetails(t *testing.T) {
|
|||
// POD_NAME & POD_NAMESPACE not exist
|
||||
os.Setenv("POD_NAME", "")
|
||||
os.Setenv("POD_NAMESPACE", "")
|
||||
_, err1 := GetPodDetails(testclient.NewSimpleClientset())
|
||||
err1 := GetIngressPod(testclient.NewSimpleClientset())
|
||||
if err1 == nil {
|
||||
t.Errorf("expected an error but returned nil")
|
||||
}
|
||||
|
|
@ -226,7 +226,7 @@ func TestGetPodDetails(t *testing.T) {
|
|||
// POD_NAME not exist
|
||||
os.Setenv("POD_NAME", "")
|
||||
os.Setenv("POD_NAMESPACE", apiv1.NamespaceDefault)
|
||||
_, err2 := GetPodDetails(testclient.NewSimpleClientset())
|
||||
err2 := GetIngressPod(testclient.NewSimpleClientset())
|
||||
if err2 == nil {
|
||||
t.Errorf("expected an error but returned nil")
|
||||
}
|
||||
|
|
@ -234,7 +234,7 @@ func TestGetPodDetails(t *testing.T) {
|
|||
// POD_NAMESPACE not exist
|
||||
os.Setenv("POD_NAME", "testpod")
|
||||
os.Setenv("POD_NAMESPACE", "")
|
||||
_, err3 := GetPodDetails(testclient.NewSimpleClientset())
|
||||
err3 := GetIngressPod(testclient.NewSimpleClientset())
|
||||
if err3 == nil {
|
||||
t.Errorf("expected an error but returned nil")
|
||||
}
|
||||
|
|
@ -242,7 +242,7 @@ func TestGetPodDetails(t *testing.T) {
|
|||
// POD not exist
|
||||
os.Setenv("POD_NAME", "testpod")
|
||||
os.Setenv("POD_NAMESPACE", apiv1.NamespaceDefault)
|
||||
_, err4 := GetPodDetails(testclient.NewSimpleClientset())
|
||||
err4 := GetIngressPod(testclient.NewSimpleClientset())
|
||||
if err4 == nil {
|
||||
t.Errorf("expected an error but returned nil")
|
||||
}
|
||||
|
|
@ -273,13 +273,9 @@ func TestGetPodDetails(t *testing.T) {
|
|||
},
|
||||
}}})
|
||||
|
||||
epi, err5 := GetPodDetails(fkClient)
|
||||
err5 := GetIngressPod(fkClient)
|
||||
if err5 != nil {
|
||||
t.Errorf("expected a PodInfo but returned error")
|
||||
return
|
||||
}
|
||||
|
||||
if epi == nil {
|
||||
t.Errorf("expected a PodInfo but returned nil")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue