mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
abstract duplicated code in ipvs proxier
This commit is contained in:
parent
0e42990eee
commit
339f92c175
@ -21,6 +21,7 @@ import (
|
|||||||
utilipset "k8s.io/kubernetes/pkg/util/ipset"
|
utilipset "k8s.io/kubernetes/pkg/util/ipset"
|
||||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||||
|
|
||||||
|
"fmt"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -107,6 +108,10 @@ func (set *IPSet) isEmpty() bool {
|
|||||||
return len(set.activeEntries.UnsortedList()) == 0
|
return len(set.activeEntries.UnsortedList()) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (set *IPSet) getComment() string {
|
||||||
|
return fmt.Sprintf("\"%s\"", set.Comment)
|
||||||
|
}
|
||||||
|
|
||||||
func (set *IPSet) resetEntries() {
|
func (set *IPSet) resetEntries() {
|
||||||
set.activeEntries = sets.NewString()
|
set.activeEntries = sets.NewString()
|
||||||
}
|
}
|
||||||
@ -146,12 +151,10 @@ func (set *IPSet) syncIPSetEntries() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ensureIPSets(ipSets ...*IPSet) error {
|
func ensureIPSet(set *IPSet) error {
|
||||||
for _, set := range ipSets {
|
if err := set.handle.CreateSet(&set.IPSet, true); err != nil {
|
||||||
if err := set.handle.CreateSet(&set.IPSet, true); err != nil {
|
glog.Errorf("Failed to make sure ip set: %v exist, error: %v", set, err)
|
||||||
glog.Errorf("Failed to make sure ip set: %v exist, error: %v", set, err)
|
return err
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -119,43 +119,37 @@ func NewFakeProxier(ipt utiliptables.Interface, ipvs utilipvs.Interface, ipset u
|
|||||||
},
|
},
|
||||||
LookPathFunc: func(cmd string) (string, error) { return cmd, nil },
|
LookPathFunc: func(cmd string) (string, error) { return cmd, nil },
|
||||||
}
|
}
|
||||||
|
// initialize ipsetList with all sets we needed
|
||||||
|
ipsetList := make(map[string]*IPSet)
|
||||||
|
for _, is := range ipsetInfo {
|
||||||
|
ipsetList[is.name] = NewIPSet(ipset, is.name, is.setType, false, is.comment)
|
||||||
|
}
|
||||||
return &Proxier{
|
return &Proxier{
|
||||||
exec: fexec,
|
exec: fexec,
|
||||||
serviceMap: make(proxy.ServiceMap),
|
serviceMap: make(proxy.ServiceMap),
|
||||||
serviceChanges: proxy.NewServiceChangeTracker(newServiceInfo, nil, nil),
|
serviceChanges: proxy.NewServiceChangeTracker(newServiceInfo, nil, nil),
|
||||||
endpointsMap: make(proxy.EndpointsMap),
|
endpointsMap: make(proxy.EndpointsMap),
|
||||||
endpointsChanges: proxy.NewEndpointChangeTracker(testHostname, nil, nil, nil),
|
endpointsChanges: proxy.NewEndpointChangeTracker(testHostname, nil, nil, nil),
|
||||||
excludeCIDRs: make([]string, 0),
|
excludeCIDRs: make([]string, 0),
|
||||||
iptables: ipt,
|
iptables: ipt,
|
||||||
ipvs: ipvs,
|
ipvs: ipvs,
|
||||||
ipset: ipset,
|
ipset: ipset,
|
||||||
clusterCIDR: "10.0.0.0/24",
|
clusterCIDR: "10.0.0.0/24",
|
||||||
hostname: testHostname,
|
hostname: testHostname,
|
||||||
portsMap: make(map[utilproxy.LocalPort]utilproxy.Closeable),
|
portsMap: make(map[utilproxy.LocalPort]utilproxy.Closeable),
|
||||||
portMapper: &fakePortOpener{[]*utilproxy.LocalPort{}},
|
portMapper: &fakePortOpener{[]*utilproxy.LocalPort{}},
|
||||||
healthChecker: newFakeHealthChecker(),
|
healthChecker: newFakeHealthChecker(),
|
||||||
ipvsScheduler: DefaultScheduler,
|
ipvsScheduler: DefaultScheduler,
|
||||||
ipGetter: &fakeIPGetter{nodeIPs: nodeIPs},
|
ipGetter: &fakeIPGetter{nodeIPs: nodeIPs},
|
||||||
iptablesData: bytes.NewBuffer(nil),
|
iptablesData: bytes.NewBuffer(nil),
|
||||||
natChains: bytes.NewBuffer(nil),
|
natChains: bytes.NewBuffer(nil),
|
||||||
natRules: bytes.NewBuffer(nil),
|
natRules: bytes.NewBuffer(nil),
|
||||||
filterChains: bytes.NewBuffer(nil),
|
filterChains: bytes.NewBuffer(nil),
|
||||||
filterRules: bytes.NewBuffer(nil),
|
filterRules: bytes.NewBuffer(nil),
|
||||||
netlinkHandle: netlinktest.NewFakeNetlinkHandle(),
|
netlinkHandle: netlinktest.NewFakeNetlinkHandle(),
|
||||||
loopbackSet: NewIPSet(ipset, kubeLoopBackIPSet, utilipset.HashIPPortIP, false, kubeLoopBackIPSetComment),
|
ipsetList: ipsetList,
|
||||||
clusterIPSet: NewIPSet(ipset, kubeClusterIPSet, utilipset.HashIPPort, false, kubeClusterIPSetComment),
|
nodePortAddresses: make([]string, 0),
|
||||||
externalIPSet: NewIPSet(ipset, kubeExternalIPSet, utilipset.HashIPPort, false, kubeExternalIPSetComment),
|
networkInterfacer: proxyutiltest.NewFakeNetwork(),
|
||||||
lbSet: NewIPSet(ipset, kubeLoadBalancerSet, utilipset.HashIPPort, false, kubeLoadBalancerSetComment),
|
|
||||||
lbFWSet: NewIPSet(ipset, kubeLoadbalancerFWSet, utilipset.HashIPPort, false, kubeLoadbalancerFWSetComment),
|
|
||||||
lbLocalSet: NewIPSet(ipset, kubeLoadBalancerLocalSet, utilipset.HashIPPort, false, kubeLoadBalancerLocalSetComment),
|
|
||||||
lbWhiteListIPSet: NewIPSet(ipset, kubeLoadBalancerSourceIPSet, utilipset.HashIPPortIP, false, kubeLoadBalancerSourceIPSetComment),
|
|
||||||
lbWhiteListCIDRSet: NewIPSet(ipset, kubeLoadBalancerSourceCIDRSet, utilipset.HashIPPortNet, false, kubeLoadBalancerSourceCIDRSetComment),
|
|
||||||
nodePortSetTCP: NewIPSet(ipset, kubeNodePortSetTCP, utilipset.BitmapPort, false, kubeNodePortSetTCPComment),
|
|
||||||
nodePortLocalSetTCP: NewIPSet(ipset, kubeNodePortLocalSetTCP, utilipset.BitmapPort, false, kubeNodePortSetTCPComment),
|
|
||||||
nodePortLocalSetUDP: NewIPSet(ipset, kubeNodePortLocalSetUDP, utilipset.BitmapPort, false, kubeNodePortLocalSetUDPComment),
|
|
||||||
nodePortSetUDP: NewIPSet(ipset, kubeNodePortSetUDP, utilipset.BitmapPort, false, kubeNodePortSetUDPComment),
|
|
||||||
nodePortAddresses: make([]string, 0),
|
|
||||||
networkInterfacer: proxyutiltest.NewFakeNetwork(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -887,7 +881,7 @@ func TestOnlyLocalNodePorts(t *testing.T) {
|
|||||||
JumpChain: string(KubeNodePortChain), MatchSet: kubeNodePortSetTCP,
|
JumpChain: string(KubeNodePortChain), MatchSet: kubeNodePortSetTCP,
|
||||||
}},
|
}},
|
||||||
string(KubeNodePortChain): {{
|
string(KubeNodePortChain): {{
|
||||||
JumpChain: "ACCEPT", MatchSet: kubeNodePortLocalSetTCP,
|
JumpChain: "RETURN", MatchSet: kubeNodePortLocalSetTCP,
|
||||||
}, {
|
}, {
|
||||||
JumpChain: string(KubeMarkMasqChain), MatchSet: "",
|
JumpChain: string(KubeMarkMasqChain), MatchSet: "",
|
||||||
}},
|
}},
|
||||||
|
Loading…
Reference in New Issue
Block a user