diff --git a/pkg/service/v1/config-service.go b/pkg/service/v1/config-service.go
index 3264d3228a6f21a4dcc446b53bc82fab7aa6118c..30db808555e7e0d87ad429545b5b9e872c0b51f6 100644
--- a/pkg/service/v1/config-service.go
+++ b/pkg/service/v1/config-service.go
@@ -716,9 +716,15 @@ func (s *namespaceServiceServer) CreateNamespace(ctx context.Context, req *v1.Na
     if err := checkAPI(req.Api, apiVersion); err != nil {
         return nil, err
     }
+	logLine(fmt.Sprintf("Creating namespace %s with %d annotations", req.Namespace, len(req.Annotations)))
 
 	ns := apiv1.Namespace{}
 	ns.Name = req.Namespace
+
+	labels := make(map[string]string)
+	labels["name"] = req.Namespace
+	ns.SetLabels(labels)
+
 	annotations := make(map[string]string)
     for _, a := range req.Annotations {
         annotations[a.Key] = a.Value
diff --git a/pkg/service/v1/config-service_test.go b/pkg/service/v1/config-service_test.go
index 05adf008f783cf0b2f8255efb8d4ef3e14fe2f29..3e11a21e3e18f2b46db9e26ec40e7ebdcb937b3f 100644
--- a/pkg/service/v1/config-service_test.go
+++ b/pkg/service/v1/config-service_test.go
@@ -464,4 +464,23 @@ func TestPodServiceServer_RetrievePodLogs(t *testing.T) {
 	if err != nil || res.Status != v1.Status_OK || len(res.Lines) != 1 {
 		t.Fail()
 	}
+}
+
+func TestNamespaceServiceServer_CreateNamespace(t *testing.T) {
+    client := testclient.NewSimpleClientset()
+    server := NewNamespaceServiceServer(client)
+
+	//Fail on API version check
+	nsReq := v1.NamespaceRequest{Api:"invalid", Namespace:"ns1", Annotations:nil}
+	res, err := server.CreateNamespace(context.Background(), &nsReq)
+	if err == nil || res != nil {
+		t.Fail()
+	}
+
+	nsReq = v1.NamespaceRequest{Api:apiVersion, Namespace:"ns1", Annotations:nil}
+    //Pass
+    res, err = server.CreateNamespace(context.Background(), &nsReq)
+    if err != nil || res.Status != v1.Status_OK {
+        t.Fail()
+    }
 }
\ No newline at end of file