*.zip
*.tar
*.gz
+src/kube2msb/kube2msb
got := <-kubeWorkQueue
if got.Action != c {
- t.Errorf("sendServiceWork(%action, queue, service) got %gotAction", c, got.Action)
+ t.Errorf("sendServiceWork(%v, queue, service) got %v", c, got.Action)
}
}
}
got := <-kubeWorkQueue
if got.Action != c {
- t.Errorf("sendPodWork(%action, queue, service) got %gotAction", c, got.Action)
+ t.Errorf("sendPodWork(%v, queue, service) got %v", c, got.Action)
}
}
}
)
type Client interface {
- Register(string)
- DeRegister(string)
+ Register(string, string)
+ DeRegister(string, string)
}
type MSBAgent struct {
return &MSBAgent{url: s}, nil
}
-func (client *MSBAgent) Register(serviceInfo string) {
+func (client *MSBAgent) Register(ip, serviceInfo string) {
var (
sas = []*ServiceAnnotation{}
)
}
for _, sa := range sas {
+ sa.IP = ip
su := ServiceAnnotation2ServiceUnit(sa)
body, _ := json.Marshal(su)
postURL := client.url + urlPrefix
}
}
-func (client *MSBAgent) DeRegister(serviceInfo string) {
+func (client *MSBAgent) DeRegister(ip, serviceInfo string) {
var (
sas = []*ServiceAnnotation{}
)
}
for _, sa := range sas {
+ sa.IP = ip
var deleteURL string
if sa.Version == "" {
deleteURL = client.url + urlPrefix + "/" + sa.ServiceName + "/version/" + "null" + "/nodes/" + sa.IP + "/" + sa.Port
}
unit := ServiceAnnotation2ServiceUnit(&sa)
- if unit.Name != sa.ServiceName || unit.Version != sa.Version || unit.URL != sa.URL || unit.Protocol != sa.Protocol || unit.LBPolicy != sa.LBPolicy || unit.LBPolicy != sa.LBPolicy || unit.Path != sa.Path || unit.EnableSSL != sa.EnableSSL || unit.Instances[0].ServiceIP != sa.IP || unit.Instances[0].ServicePort != sa.Port {
+ if unit.Name != sa.ServiceName || unit.Version != sa.Version || unit.URL != sa.URL || unit.Protocol != sa.Protocol || unit.LBPolicy != sa.LBPolicy || unit.Path != sa.Path || unit.EnableSSL != sa.EnableSSL || unit.Instances[0].ServiceIP != sa.IP || unit.Instances[0].ServicePort != sa.Port {
t.Errorf("ServiceAnnotation2ServiceUnit error")
}
}
func TestRegister(t *testing.T) {
+ ip := "192.168.1.10"
serviceInfo := `[{
- "ip":"192.168.1.10",
"port":"8080",
"serviceName":"resgisterTest",
"version":"v1",
url: server.URL,
}
- client.Register(serviceInfo)
+ client.Register(ip, serviceInfo)
}
func TestDeRegister(t *testing.T) {
+ ip := "192.168.1.10"
cases := []struct{ url, serviceInfo string }{
{ // Version is ""
urlPrefix + "/resgisterTest1/version/null/nodes/192.168.1.10/8080",
`[{
- "ip":"192.168.1.10",
"port":"8080",
"serviceName":"resgisterTest1",
"version":"",
}, { // version is not ""
urlPrefix + "/resgisterTest2/version/v1/nodes/192.168.1.10/8080",
`[{
- "ip":"192.168.1.10",
"port":"8080",
"serviceName":"resgisterTest2",
"version":"v1",
url: server.URL,
}
- client.DeRegister(c.serviceInfo)
+ client.DeRegister(ip, c.serviceInfo)
}
}
import (
"log"
- "strings"
"sync"
)
return
}
- client.agent.Register(mergeIP(ip, sInfo))
+ client.agent.Register(ip, sInfo)
}
func (client *MSBAgentWorker) RemoveService(ip, sInfo string) {
return
}
- client.agent.DeRegister(mergeIP(ip, sInfo))
+ client.agent.DeRegister(ip, sInfo)
}
func (client *MSBAgentWorker) AddPod(ip, sInfo string) {
return
}
- client.agent.Register(mergeIP(ip, sInfo))
+ client.agent.Register(ip, sInfo)
}
func (client *MSBAgentWorker) RemovePod(ip, sInfo string) {
return
}
- client.agent.DeRegister(mergeIP(ip, sInfo))
-}
-
-func mergeIP(ip, sInfo string) string {
- insert := "{\"ip\":\"" + ip + "\","
- parts := strings.Split(sInfo, "{")
- out := parts[0]
- for i := 1; i < len(parts); i++ {
- out += insert + parts[i]
- }
- return out
+ client.agent.DeRegister(ip, sInfo)
}
func TestRemovePodMsb(t *testing.T) {
removeServiceOrPodTest(t, "Pod")
}
-
-func TestMergeIP(t *testing.T) {
- cases := []struct{ ip, sInfo, want string }{
- {"127.0.0.1", "{}", "{\"ip\":\"127.0.0.1\",}"},
- {"127.0.0.1", "[{}]", "[{\"ip\":\"127.0.0.1\",}]"},
- {"127.0.0.1", "{\"name\":\"msb\"}", "{\"ip\":\"127.0.0.1\",\"name\":\"msb\"}"},
- {"127.0.0.1", "{\"name\":\"msb\", \"child\":{\"name\":\"childname\"}}",
- "{\"ip\":\"127.0.0.1\",\"name\":\"msb\", \"child\":{\"ip\":\"127.0.0.1\",\"name\":\"childname\"}}"},
- }
-
- for _, c := range cases {
- got := mergeIP(c.ip, c.sInfo)
- if got != c.want {
- t.Errorf("mergeIP(%ip, %sInfo) == %got, want %want", c.ip, c.sInfo, got, c.want)
- }
- }
-}