@@ -69,20 +69,23 @@ type podManager struct {
69
69
mtu uint32
70
70
ovs * ovsController
71
71
72
+ enableHostports bool
73
+
72
74
// Things only accessed through the processCNIRequests() goroutine
73
75
// and thus can be set from Start()
74
76
ipamConfig []byte
75
77
hostportSyncer kubehostport.HostportSyncer
76
78
}
77
79
78
80
// Creates a new live podManager; used by node code0
79
- func newPodManager (kClient kclientset.Interface , policy osdnPolicy , mtu uint32 , ovs * ovsController ) * podManager {
81
+ func newPodManager (kClient kclientset.Interface , policy osdnPolicy , mtu uint32 , ovs * ovsController , enableHostports bool ) * podManager {
80
82
pm := newDefaultPodManager ()
81
83
pm .kClient = kClient
82
84
pm .policy = policy
83
85
pm .mtu = mtu
84
86
pm .podHandler = pm
85
87
pm .ovs = ovs
88
+ pm .enableHostports = enableHostports
86
89
return pm
87
90
}
88
91
@@ -152,7 +155,9 @@ func getIPAMConfig(clusterNetwork *net.IPNet, localSubnet string) ([]byte, error
152
155
153
156
// Start the CNI server and start processing requests from it
154
157
func (m * podManager ) Start (socketPath string , localSubnetCIDR string , clusterNetwork * net.IPNet ) error {
155
- m .hostportSyncer = kubehostport .NewHostportSyncer ()
158
+ if m .enableHostports {
159
+ m .hostportSyncer = kubehostport .NewHostportSyncer ()
160
+ }
156
161
157
162
var err error
158
163
if m .ipamConfig , err = getIPAMConfig (clusterNetwork , localSubnetCIDR ); err != nil {
@@ -501,8 +506,10 @@ func (m *podManager) setup(req *cniserver.PodRequest) (cnitypes.Result, *running
501
506
defer func () {
502
507
if ! success {
503
508
m .ipamDel (req .SandboxID )
504
- if err := m .hostportSyncer .SyncHostports (Tun0 , m .getRunningPods ()); err != nil {
505
- glog .Warningf ("failed syncing hostports: %v" , err )
509
+ if m .hostportSyncer != nil {
510
+ if err := m .hostportSyncer .SyncHostports (Tun0 , m .getRunningPods ()); err != nil {
511
+ glog .Warningf ("failed syncing hostports: %v" , err )
512
+ }
506
513
}
507
514
}
508
515
}()
@@ -513,8 +520,10 @@ func (m *podManager) setup(req *cniserver.PodRequest) (cnitypes.Result, *running
513
520
return nil , nil , err
514
521
}
515
522
podPortMapping := kubehostport .ConstructPodPortMapping (& v1Pod , podIP )
516
- if err := m .hostportSyncer .OpenPodHostportsAndSync (podPortMapping , Tun0 , m .getRunningPods ()); err != nil {
517
- return nil , nil , err
523
+ if m .hostportSyncer != nil {
524
+ if err := m .hostportSyncer .OpenPodHostportsAndSync (podPortMapping , Tun0 , m .getRunningPods ()); err != nil {
525
+ return nil , nil , err
526
+ }
518
527
}
519
528
520
529
var hostVethName , contVethMac string
@@ -633,8 +642,10 @@ func (m *podManager) teardown(req *cniserver.PodRequest) error {
633
642
errList = append (errList , err )
634
643
}
635
644
636
- if err := m .hostportSyncer .SyncHostports (Tun0 , m .getRunningPods ()); err != nil {
637
- errList = append (errList , err )
645
+ if m .hostportSyncer != nil {
646
+ if err := m .hostportSyncer .SyncHostports (Tun0 , m .getRunningPods ()); err != nil {
647
+ errList = append (errList , err )
648
+ }
638
649
}
639
650
640
651
return kerrors .NewAggregate (errList )
0 commit comments