Commit f0ad860d authored by Chao Xu's avatar Chao Xu

pkg/dns

parent b50367cb
...@@ -17,8 +17,9 @@ limitations under the License. ...@@ -17,8 +17,9 @@ limitations under the License.
package config package config
import ( import (
"github.com/stretchr/testify/assert"
"testing" "testing"
"github.com/stretchr/testify/assert"
) )
func TestValidate(t *testing.T) { func TestValidate(t *testing.T) {
......
...@@ -18,9 +18,9 @@ package config ...@@ -18,9 +18,9 @@ package config
import ( import (
"k8s.io/client-go/pkg/util/wait" "k8s.io/client-go/pkg/util/wait"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/cache"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
fed "k8s.io/kubernetes/pkg/dns/federation" fed "k8s.io/kubernetes/pkg/dns/federation"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
...@@ -55,19 +55,19 @@ func NewSync(client clientset.Interface, ns string, name string) Sync { ...@@ -55,19 +55,19 @@ func NewSync(client clientset.Interface, ns string, name string) Sync {
} }
listWatch := &cache.ListWatch{ listWatch := &cache.ListWatch{
ListFunc: func(options api.ListOptions) (runtime.Object, error) { ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
options.FieldSelector = fields.Set{"metadata.name": name}.AsSelector() options.FieldSelector = fields.Set{"metadata.name": name}.AsSelector().String()
return client.Core().ConfigMaps(ns).List(options) return client.Core().ConfigMaps(ns).List(options)
}, },
WatchFunc: func(options api.ListOptions) (watch.Interface, error) { WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
options.FieldSelector = fields.Set{"metadata.name": name}.AsSelector() options.FieldSelector = fields.Set{"metadata.name": name}.AsSelector().String()
return client.Core().ConfigMaps(ns).Watch(options) return client.Core().ConfigMaps(ns).Watch(options)
}, },
} }
store, controller := cache.NewInformer( store, controller := cache.NewInformer(
listWatch, listWatch,
&api.ConfigMap{}, &v1.ConfigMap{},
time.Duration(0), time.Duration(0),
cache.ResourceEventHandlerFuncs{ cache.ResourceEventHandlerFuncs{
AddFunc: sync.onAdd, AddFunc: sync.onAdd,
...@@ -115,8 +115,8 @@ func (sync *kubeSync) Periodic() <-chan *Config { ...@@ -115,8 +115,8 @@ func (sync *kubeSync) Periodic() <-chan *Config {
return sync.channel return sync.channel
} }
func (sync *kubeSync) toConfigMap(obj interface{}) *api.ConfigMap { func (sync *kubeSync) toConfigMap(obj interface{}) *v1.ConfigMap {
cm, ok := obj.(*api.ConfigMap) cm, ok := obj.(*v1.ConfigMap)
if !ok { if !ok {
glog.Fatalf("Expected ConfigMap, got %T", obj) glog.Fatalf("Expected ConfigMap, got %T", obj)
} }
...@@ -154,7 +154,7 @@ func (sync *kubeSync) onUpdate(_, obj interface{}) { ...@@ -154,7 +154,7 @@ func (sync *kubeSync) onUpdate(_, obj interface{}) {
} }
} }
func (sync *kubeSync) processUpdate(cm *api.ConfigMap) (config *Config, changed bool, err error) { func (sync *kubeSync) processUpdate(cm *v1.ConfigMap) (config *Config, changed bool, err error) {
glog.V(4).Infof("processUpdate ConfigMap %+v", *cm) glog.V(4).Infof("processUpdate ConfigMap %+v", *cm)
if cm.ObjectMeta.ResourceVersion != sync.latestVersion { if cm.ObjectMeta.ResourceVersion != sync.latestVersion {
...@@ -184,7 +184,7 @@ func (sync *kubeSync) processUpdate(cm *api.ConfigMap) (config *Config, changed ...@@ -184,7 +184,7 @@ func (sync *kubeSync) processUpdate(cm *api.ConfigMap) (config *Config, changed
return return
} }
func (sync *kubeSync) updateFederations(cm *api.ConfigMap, config *Config) (err error) { func (sync *kubeSync) updateFederations(cm *v1.ConfigMap, config *Config) (err error) {
if flagValue, ok := cm.Data["federations"]; ok { if flagValue, ok := cm.Data["federations"]; ok {
config.Federations = make(map[string]string) config.Federations = make(map[string]string)
if err = fed.ParseFederationsFlag(flagValue, config.Federations); err != nil { if err = fed.ParseFederationsFlag(flagValue, config.Federations); err != nil {
......
...@@ -21,9 +21,9 @@ import ( ...@@ -21,9 +21,9 @@ import (
"strings" "strings"
"time" "time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
fed "k8s.io/kubernetes/pkg/dns/federation" fed "k8s.io/kubernetes/pkg/dns/federation"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
...@@ -42,12 +42,12 @@ type dnsConfigMapTest struct { ...@@ -42,12 +42,12 @@ type dnsConfigMapTest struct {
name string name string
labels []string labels []string
cm *api.ConfigMap cm *v1.ConfigMap
isValid bool isValid bool
dnsPod *api.Pod dnsPod *v1.Pod
utilPod *api.Pod utilPod *v1.Pod
utilService *api.Service utilService *v1.Service
} }
var _ = framework.KubeDescribe("DNS config map", func() { var _ = framework.KubeDescribe("DNS config map", func() {
...@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("DNS config map", func() { ...@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("DNS config map", func() {
func (t *dnsConfigMapTest) init() { func (t *dnsConfigMapTest) init() {
By("Finding a DNS pod") By("Finding a DNS pod")
label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "kube-dns"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "kube-dns"}))
options := api.ListOptions{LabelSelector: label} options := v1.ListOptions{LabelSelector: label.String()}
pods, err := t.f.ClientSet.Core().Pods("kube-system").List(options) pods, err := t.f.ClientSet.Core().Pods("kube-system").List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -94,19 +94,19 @@ func (t *dnsConfigMapTest) run() { ...@@ -94,19 +94,19 @@ func (t *dnsConfigMapTest) run() {
invalid := map[string]string{"federations": "invalid.map=xyz"} invalid := map[string]string{"federations": "invalid.map=xyz"}
By("empty -> valid1") By("empty -> valid1")
t.setConfigMap(&api.ConfigMap{Data: valid1}, true) t.setConfigMap(&v1.ConfigMap{Data: valid1}, true)
t.validate() t.validate()
By("valid1 -> valid2") By("valid1 -> valid2")
t.setConfigMap(&api.ConfigMap{Data: valid2}, true) t.setConfigMap(&v1.ConfigMap{Data: valid2}, true)
t.validate() t.validate()
By("valid2 -> invalid") By("valid2 -> invalid")
t.setConfigMap(&api.ConfigMap{Data: invalid}, false) t.setConfigMap(&v1.ConfigMap{Data: invalid}, false)
t.validate() t.validate()
By("invalid -> valid1") By("invalid -> valid1")
t.setConfigMap(&api.ConfigMap{Data: valid1}, true) t.setConfigMap(&v1.ConfigMap{Data: valid1}, true)
t.validate() t.validate()
By("valid1 -> deleted") By("valid1 -> deleted")
...@@ -114,7 +114,7 @@ func (t *dnsConfigMapTest) run() { ...@@ -114,7 +114,7 @@ func (t *dnsConfigMapTest) run() {
t.validate() t.validate()
By("deleted -> invalid") By("deleted -> invalid")
t.setConfigMap(&api.ConfigMap{Data: invalid}, false) t.setConfigMap(&v1.ConfigMap{Data: invalid}, false)
t.validate() t.validate()
} }
...@@ -210,7 +210,7 @@ func (t *dnsConfigMapTest) runDig(dnsName string) []string { ...@@ -210,7 +210,7 @@ func (t *dnsConfigMapTest) runDig(dnsName string) []string {
} }
} }
func (t *dnsConfigMapTest) setConfigMap(cm *api.ConfigMap, isValid bool) { func (t *dnsConfigMapTest) setConfigMap(cm *v1.ConfigMap, isValid bool) {
if isValid { if isValid {
t.cm = cm t.cm = cm
} }
...@@ -219,11 +219,11 @@ func (t *dnsConfigMapTest) setConfigMap(cm *api.ConfigMap, isValid bool) { ...@@ -219,11 +219,11 @@ func (t *dnsConfigMapTest) setConfigMap(cm *api.ConfigMap, isValid bool) {
cm.ObjectMeta.Namespace = t.ns cm.ObjectMeta.Namespace = t.ns
cm.ObjectMeta.Name = t.name cm.ObjectMeta.Name = t.name
options := api.ListOptions{ options := v1.ListOptions{
FieldSelector: fields.Set{ FieldSelector: fields.Set{
"metadata.namespace": t.ns, "metadata.namespace": t.ns,
"metadata.name": t.name, "metadata.name": t.name,
}.AsSelector(), }.AsSelector().String(),
} }
cmList, err := t.c.Core().ConfigMaps(t.ns).List(options) cmList, err := t.c.Core().ConfigMaps(t.ns).List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
...@@ -253,22 +253,22 @@ func (t *dnsConfigMapTest) createUtilPod() { ...@@ -253,22 +253,22 @@ func (t *dnsConfigMapTest) createUtilPod() {
// Actual port # doesn't matter, just need to exist. // Actual port # doesn't matter, just need to exist.
const servicePort = 10101 const servicePort = 10101
t.utilPod = &api.Pod{ t.utilPod = &v1.Pod{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Pod", Kind: "Pod",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: t.f.Namespace.Name, Namespace: t.f.Namespace.Name,
Labels: map[string]string{"app": "e2e-dns-configmap"}, Labels: map[string]string{"app": "e2e-dns-configmap"},
GenerateName: "e2e-dns-configmap-", GenerateName: "e2e-dns-configmap-",
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "util", Name: "util",
Image: "gcr.io/google_containers/dnsutils:e2e", Image: "gcr.io/google_containers/dnsutils:e2e",
Command: []string{"sleep", "10000"}, Command: []string{"sleep", "10000"},
Ports: []api.ContainerPort{ Ports: []v1.ContainerPort{
{ContainerPort: servicePort, Protocol: "TCP"}, {ContainerPort: servicePort, Protocol: "TCP"},
}, },
}, },
...@@ -282,17 +282,17 @@ func (t *dnsConfigMapTest) createUtilPod() { ...@@ -282,17 +282,17 @@ func (t *dnsConfigMapTest) createUtilPod() {
framework.Logf("Created pod %v", t.utilPod) framework.Logf("Created pod %v", t.utilPod)
Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(HaveOccurred()) Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(HaveOccurred())
t.utilService = &api.Service{ t.utilService = &v1.Service{
TypeMeta: unversioned.TypeMeta{ TypeMeta: unversioned.TypeMeta{
Kind: "Service", Kind: "Service",
}, },
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Namespace: t.f.Namespace.Name, Namespace: t.f.Namespace.Name,
Name: "e2e-dns-configmap", Name: "e2e-dns-configmap",
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Selector: map[string]string{"app": "e2e-dns-configmap"}, Selector: map[string]string{"app": "e2e-dns-configmap"},
Ports: []api.ServicePort{ Ports: []v1.ServicePort{
{ {
Protocol: "TCP", Protocol: "TCP",
Port: servicePort, Port: servicePort,
...@@ -309,7 +309,7 @@ func (t *dnsConfigMapTest) createUtilPod() { ...@@ -309,7 +309,7 @@ func (t *dnsConfigMapTest) createUtilPod() {
func (t *dnsConfigMapTest) deleteUtilPod() { func (t *dnsConfigMapTest) deleteUtilPod() {
podClient := t.c.Core().Pods(t.f.Namespace.Name) podClient := t.c.Core().Pods(t.f.Namespace.Name)
if err := podClient.Delete(t.utilPod.Name, api.NewDeleteOptions(0)); err != nil { if err := podClient.Delete(t.utilPod.Name, v1.NewDeleteOptions(0)); err != nil {
framework.Logf("Delete of pod %v:%v failed: %v", framework.Logf("Delete of pod %v:%v failed: %v",
t.utilPod.Namespace, t.utilPod.Name, err) t.utilPod.Namespace, t.utilPod.Name, err)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment