Skip to content

Commit b209eeb

Browse files
author
Jim Ryan
committed
flag off for r33
1 parent 3aa54bc commit b209eeb

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

cmd/nginx-ingress/main.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import (
3232
"github.com/prometheus/client_golang/prometheus"
3333
api_v1 "k8s.io/api/core/v1"
3434
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
35-
"k8s.io/apimachinery/pkg/types"
3635
util_version "k8s.io/apimachinery/pkg/util/version"
3736
"k8s.io/client-go/dynamic"
3837
"k8s.io/client-go/kubernetes"
@@ -84,12 +83,9 @@ func main() {
8483
managerCollector, controllerCollector, registry := createManagerAndControllerCollectors(constLabels)
8584

8685
var licenseReporter *license_reporting.LicenseReporter
86+
8787
if *nginxPlus {
88-
licenseReporter = license_reporting.NewLicenseReporter(license_reporting.LicenseReporterConfig{
89-
Period: 24 * time.Hour,
90-
K8sClientReader: kubeClient,
91-
PodNSName: types.NamespacedName{Namespace: os.Getenv("POD_NAMESPACE"), Name: os.Getenv("POD_NAME")},
92-
})
88+
licenseReporter = license_reporting.NewLicenseReporter(kubeClient)
9389
}
9490

9591
nginxManager, useFakeNginxManager := createNginxManager(managerCollector, licenseReporter)

internal/license_reporting/license_reporting.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,13 @@ type LicenseReporterConfig struct {
6060
}
6161

6262
// NewLicenseReporter creates a new LicenseReporter
63-
func NewLicenseReporter(cfg LicenseReporterConfig) *LicenseReporter {
63+
func NewLicenseReporter(client kubernetes.Interface) *LicenseReporter {
6464
return &LicenseReporter{
65-
config: cfg,
65+
config: LicenseReporterConfig{
66+
Period: 24 * time.Hour,
67+
K8sClientReader: client,
68+
PodNSName: types.NamespacedName{Namespace: os.Getenv("POD_NAMESPACE"), Name: os.Getenv("POD_NAME")},
69+
},
6670
}
6771
}
6872

internal/license_reporting/license_reporting_test.go

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ import (
55
"os"
66
"path/filepath"
77
"testing"
8-
"time"
98

10-
"k8s.io/apimachinery/pkg/types"
119
"k8s.io/client-go/kubernetes/fake"
1210
)
1311

@@ -60,17 +58,8 @@ func TestWriteLicenseInfo(t *testing.T) {
6058
}
6159

6260
func TestNewLicenseReporter(t *testing.T) {
63-
cfg := LicenseReporterConfig{
64-
Period: time.Minute,
65-
K8sClientReader: fake.NewSimpleClientset(),
66-
PodNSName: types.NamespacedName{Namespace: "default", Name: "test-pod"},
67-
}
68-
69-
reporter := NewLicenseReporter(cfg)
61+
reporter := NewLicenseReporter(fake.NewSimpleClientset())
7062
if reporter == nil {
7163
t.Fatal("NewLicenseReporter() returned nil")
7264
}
73-
if reporter.config != cfg {
74-
t.Errorf("NewLicenseReporter() config = %v, want %v", reporter.config, cfg)
75-
}
7665
}

internal/nginx/manager.go

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,15 @@ func (lm *LocalManager) ClearAppProtectFolder(name string) {
299299
// Start starts NGINX.
300300
func (lm *LocalManager) Start(done chan error) {
301301
if lm.nginxPlus {
302-
ctx, cancel := context.WithCancel(context.Background())
303-
go lm.licenseReporter.Start(ctx)
304-
305-
lm.licenseReporterCancel = cancel
302+
isR33OrGreater, versionErr := lm.Version().PlusGreaterThanOrEqualTo("nginx-plus-r33")
303+
if versionErr != nil {
304+
glog.Errorf("Error determining whether nginx version is >= r33: %v", versionErr)
305+
}
306+
if isR33OrGreater {
307+
ctx, cancel := context.WithCancel(context.Background())
308+
go lm.licenseReporter.Start(ctx)
309+
lm.licenseReporterCancel = cancel
310+
}
306311
}
307312

308313
glog.V(3).Info("Starting nginx")
@@ -356,8 +361,14 @@ func (lm *LocalManager) Reload(isEndpointsUpdate bool) error {
356361
func (lm *LocalManager) Quit() {
357362
glog.V(3).Info("Quitting nginx")
358363

359-
if lm.licenseReporterCancel != nil {
360-
lm.licenseReporterCancel()
364+
if lm.nginxPlus {
365+
isR33OrGreater, err := lm.Version().PlusGreaterThanOrEqualTo("nginx-plus-r33")
366+
if err != nil {
367+
glog.Errorf("Error determining whether nginx version is >= r33: %v", err)
368+
}
369+
if isR33OrGreater && lm.licenseReporterCancel != nil {
370+
lm.licenseReporterCancel()
371+
}
361372
}
362373

363374
binaryFilename := getBinaryFileName(lm.debug)

0 commit comments

Comments
 (0)