Use code-generator to generate clientset/informer/lister (#1492)

To reduce maintenance effort and avoid writing duplicate informer code,
use code-generator to generate clientset/informer/lister code.
This commit is contained in:
Ta-Ching Chen
2020-01-16 15:18:38 +08:00
committed by GitHub
parent b96ca0735d
commit 574fb55fcf
169 changed files with 6325 additions and 2349 deletions
+23 -23
View File
@@ -79,7 +79,7 @@ func assertCronSpecFails(err error) {
func TestFunctionApi(t *testing.T) {
testFunc := &fv1.Function{
Metadata: metav1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: metav1.NamespaceDefault,
},
@@ -99,7 +99,7 @@ func TestFunctionApi(t *testing.T) {
},
}
_, err := g.Client().V1().Function().Get(&metav1.ObjectMeta{
Name: testFunc.Metadata.Name,
Name: testFunc.ObjectMeta.Name,
Namespace: metav1.NamespaceDefault,
})
assertNotFoundFailure(err, "function")
@@ -114,13 +114,13 @@ func TestFunctionApi(t *testing.T) {
_, err = g.Client().V1().Function().Create(testFunc)
assertNameReuseFailure(err, "function")
testFunc.Metadata.ResourceVersion = m.ResourceVersion
testFunc.ObjectMeta.ResourceVersion = m.ResourceVersion
testFunc.Spec.Package.FunctionName = "yyy"
_, err = g.Client().V1().Function().Update(testFunc)
panicIf(err)
testFunc.Metadata.ResourceVersion = ""
testFunc.Metadata.Name = "bar"
testFunc.ObjectMeta.ResourceVersion = ""
testFunc.ObjectMeta.Name = "bar"
m2, err := g.Client().V1().Function().Create(testFunc)
panicIf(err)
defer g.Client().V1().Function().Delete(m2)
@@ -146,7 +146,7 @@ func TestFunctionApi(t *testing.T) {
func TestHTTPTriggerApi(t *testing.T) {
testTrigger := &fv1.HTTPTrigger{
Metadata: metav1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: metav1.NamespaceDefault,
},
@@ -160,7 +160,7 @@ func TestHTTPTriggerApi(t *testing.T) {
},
}
_, err := g.Client().V1().HTTPTrigger().Get(&metav1.ObjectMeta{
Name: testTrigger.Metadata.Name,
Name: testTrigger.ObjectMeta.Name,
Namespace: metav1.NamespaceDefault,
})
assertNotFoundFailure(err, "httptrigger")
@@ -179,13 +179,13 @@ func TestHTTPTriggerApi(t *testing.T) {
testTrigger.Spec.FunctionReference.Type == tr.Spec.FunctionReference.Type &&
testTrigger.Spec.FunctionReference.Name == tr.Spec.FunctionReference.Name, "trigger should match after reading")
testTrigger.Metadata.ResourceVersion = m.ResourceVersion
testTrigger.ObjectMeta.ResourceVersion = m.ResourceVersion
testTrigger.Spec.RelativeURL = "/hi"
_, err = g.Client().V1().HTTPTrigger().Update(testTrigger)
panicIf(err)
testTrigger.Metadata.ResourceVersion = ""
testTrigger.Metadata.Name = "yyy"
testTrigger.ObjectMeta.ResourceVersion = ""
testTrigger.ObjectMeta.Name = "yyy"
_, err = g.Client().V1().HTTPTrigger().Create(testTrigger)
assert(err != nil, "duplicate trigger should not be allowed")
@@ -202,7 +202,7 @@ func TestHTTPTriggerApi(t *testing.T) {
func TestEnvironmentApi(t *testing.T) {
testEnv := &fv1.Environment{
Metadata: metav1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "foo",
Namespace: metav1.NamespaceDefault,
},
@@ -215,7 +215,7 @@ func TestEnvironmentApi(t *testing.T) {
},
}
_, err := g.Client().V1().Environment().Get(&metav1.ObjectMeta{
Name: testEnv.Metadata.Name,
Name: testEnv.ObjectMeta.Name,
Namespace: metav1.NamespaceDefault,
})
assertNotFoundFailure(err, "environment")
@@ -231,13 +231,13 @@ func TestEnvironmentApi(t *testing.T) {
panicIf(err)
assert(reflect.DeepEqual(testEnv.Spec, e.Spec), "env should match after reading")
testEnv.Metadata.ResourceVersion = m.ResourceVersion
testEnv.ObjectMeta.ResourceVersion = m.ResourceVersion
testEnv.Spec.Runtime.Image = "another-img"
_, err = g.Client().V1().Environment().Update(testEnv)
panicIf(err)
testEnv.Metadata.ResourceVersion = ""
testEnv.Metadata.Name = "bar"
testEnv.ObjectMeta.ResourceVersion = ""
testEnv.ObjectMeta.Name = "bar"
m2, err := g.Client().V1().Environment().Create(testEnv)
panicIf(err)
@@ -250,7 +250,7 @@ func TestEnvironmentApi(t *testing.T) {
func TestWatchApi(t *testing.T) {
testWatch := &fv1.KubernetesWatchTrigger{
Metadata: metav1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "xxx",
Namespace: metav1.NamespaceDefault,
},
@@ -264,7 +264,7 @@ func TestWatchApi(t *testing.T) {
},
}
_, err := g.Client().V1().KubeWatcher().Get(&metav1.ObjectMeta{
Name: testWatch.Metadata.Name,
Name: testWatch.ObjectMeta.Name,
Namespace: metav1.NamespaceDefault,
})
assertNotFoundFailure(err, "watch")
@@ -283,7 +283,7 @@ func TestWatchApi(t *testing.T) {
testWatch.Spec.FunctionReference.Type == w.Spec.FunctionReference.Type &&
testWatch.Spec.FunctionReference.Name == w.Spec.FunctionReference.Name, "watch should match after reading")
testWatch.Metadata.Name = "yyy"
testWatch.ObjectMeta.Name = "yyy"
m2, err := g.Client().V1().KubeWatcher().Create(testWatch)
panicIf(err)
defer g.Client().V1().KubeWatcher().Delete(m2)
@@ -295,7 +295,7 @@ func TestWatchApi(t *testing.T) {
func TestTimeTriggerApi(t *testing.T) {
testTrigger := &fv1.TimeTrigger{
Metadata: metav1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "xxx",
Namespace: metav1.NamespaceDefault,
},
@@ -307,7 +307,7 @@ func TestTimeTriggerApi(t *testing.T) {
},
},
}
_, err := g.Client().V1().TimeTrigger().Get(&metav1.ObjectMeta{Name: testTrigger.Metadata.Name})
_, err := g.Client().V1().TimeTrigger().Get(&metav1.ObjectMeta{Name: testTrigger.ObjectMeta.Name})
assertNotFoundFailure(err, "trigger")
m, err := g.Client().V1().TimeTrigger().Create(testTrigger)
@@ -323,13 +323,13 @@ func TestTimeTriggerApi(t *testing.T) {
testTrigger.Spec.FunctionReference.Type == tr.Spec.FunctionReference.Type &&
testTrigger.Spec.FunctionReference.Name == tr.Spec.FunctionReference.Name, "trigger should match after reading")
testTrigger.Metadata.ResourceVersion = m.ResourceVersion
testTrigger.ObjectMeta.ResourceVersion = m.ResourceVersion
testTrigger.Spec.Cron = "@hourly"
_, err = g.Client().V1().TimeTrigger().Update(testTrigger)
panicIf(err)
testTrigger.Metadata.ResourceVersion = ""
testTrigger.Metadata.Name = "yyy"
testTrigger.ObjectMeta.ResourceVersion = ""
testTrigger.ObjectMeta.Name = "yyy"
testTrigger.Spec.Cron = "Not valid cron spec"
_, err = g.Client().V1().TimeTrigger().Create(testTrigger)
assertCronSpecFails(err)
+9 -9
View File
@@ -60,7 +60,7 @@ func RegisterCanaryConfigRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.CanaryConfig{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created canaryConfig", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created canaryConfig", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/canaryconfigs/{canaryConfig}").
@@ -86,7 +86,7 @@ func RegisterCanaryConfigRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.CanaryConfig{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated canaryConfig", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated canaryConfig", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/canaryconfigs/{canaryConfig}").
@@ -122,13 +122,13 @@ func (a *API) CanaryConfigApiCreate(w http.ResponseWriter, r *http.Request) {
return
}
canaryCfgNew, err := a.fissionClient.CanaryConfigs(canaryCfg.Metadata.Namespace).Create(&canaryCfg)
canaryCfgNew, err := a.fissionClient.V1().CanaryConfigs(canaryCfg.ObjectMeta.Namespace).Create(&canaryCfg)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(canaryCfgNew.Metadata)
resp, err := json.Marshal(canaryCfgNew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -153,7 +153,7 @@ func (a *API) CanaryConfigApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
canaryCfg, err := a.fissionClient.CanaryConfigs(ns).Get(name)
canaryCfg, err := a.fissionClient.V1().CanaryConfigs(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -180,7 +180,7 @@ func (a *API) CanaryConfigApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
canaryCfgs, err := a.fissionClient.CanaryConfigs(ns).List(metav1.ListOptions{})
canaryCfgs, err := a.fissionClient.V1().CanaryConfigs(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -215,13 +215,13 @@ func (a *API) CanaryConfigApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
canayCfgNew, err := a.fissionClient.CanaryConfigs(c.Metadata.Namespace).Update(&c)
canayCfgNew, err := a.fissionClient.V1().CanaryConfigs(c.ObjectMeta.Namespace).Update(&c)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(canayCfgNew.Metadata)
resp, err := json.Marshal(canayCfgNew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -244,7 +244,7 @@ func (a *API) CanaryConfigApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.CanaryConfigs(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().CanaryConfigs(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+1 -1
View File
@@ -103,7 +103,7 @@ func (c *CanaryConfig) Update(canaryConf *fv1.CanaryConfig) (*metav1.ObjectMeta,
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("canaryconfigs/%v", canaryConf.Metadata.Name)
relativeUrl := fmt.Sprintf("canaryconfigs/%v", canaryConf.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -114,7 +114,7 @@ func (c *Environment) Update(env *fv1.Environment) (*metav1.ObjectMeta, error) {
return nil, err
}
relativeUrl := fmt.Sprintf("environments/%v", env.Metadata.Name)
relativeUrl := fmt.Sprintf("environments/%v", env.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", data)
if err != nil {
+1 -1
View File
@@ -128,7 +128,7 @@ func (c *Function) Update(f *fv1.Function) (*metav1.ObjectMeta, error) {
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("functions/%v", f.Metadata.Name)
relativeUrl := fmt.Sprintf("functions/%v", f.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -113,7 +113,7 @@ func (c *HTTPTrigger) Update(t *fv1.HTTPTrigger) (*metav1.ObjectMeta, error) {
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("triggers/http/%v", t.Metadata.Name)
relativeUrl := fmt.Sprintf("triggers/http/%v", t.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -113,7 +113,7 @@ func (c *MessageQueueTrigger) Update(mqTrigger *fv1.MessageQueueTrigger) (*metav
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("triggers/messagequeue/%v", mqTrigger.Metadata.Name)
relativeUrl := fmt.Sprintf("triggers/messagequeue/%v", mqTrigger.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -113,7 +113,7 @@ func (c *Package) Update(f *fv1.Package) (*metav1.ObjectMeta, error) {
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("packages/%v", f.Metadata.Name)
relativeUrl := fmt.Sprintf("packages/%v", f.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -113,7 +113,7 @@ func (c *TimeTrigger) Update(t *fv1.TimeTrigger) (*metav1.ObjectMeta, error) {
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("triggers/time/%v", t.Metadata.Name)
relativeUrl := fmt.Sprintf("triggers/time/%v", t.ObjectMeta.Name)
resp, err := c.client.Put(relativeUrl, "application/json", reqbody)
if err != nil {
+1 -1
View File
@@ -31,7 +31,7 @@ import (
func ConfigCanaryFeature(context context.Context, logger *zap.Logger, fissionClient *crd.FissionClient, kubeClient *kubernetes.Clientset, featureConfig *config.FeatureConfig, featureStatus map[string]string) error {
// start the appropriate controller
if featureConfig.CanaryConfig.IsEnabled {
canaryCfgMgr, err := canaryconfigmgr.MakeCanaryConfigMgr(logger, fissionClient, kubeClient, fissionClient.GetCrdClient(),
canaryCfgMgr, err := canaryconfigmgr.MakeCanaryConfigMgr(logger, fissionClient, kubeClient, fissionClient.V1().RESTClient(),
featureConfig.CanaryConfig.PrometheusSvc)
if err != nil {
featureStatus[config.CanaryFeature] = err.Error()
+11 -11
View File
@@ -58,7 +58,7 @@ func RegisterEnvironmentRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Environment{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created environment", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created environment", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/environments/{environment}").
@@ -84,7 +84,7 @@ func RegisterEnvironmentRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Environment{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated environment", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated environment", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/environments/{environment}").
@@ -105,7 +105,7 @@ func (a *API) EnvironmentApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceAll
}
envs, err := a.fissionClient.Environments(ns).List(metav1.ListOptions{})
envs, err := a.fissionClient.V1().Environments(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -136,19 +136,19 @@ func (a *API) EnvironmentApiCreate(w http.ResponseWriter, r *http.Request) {
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(env.Metadata.Namespace)
err = a.createNsIfNotExists(env.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
enew, err := a.fissionClient.Environments(env.Metadata.Namespace).Create(&env)
enew, err := a.fissionClient.V1().Environments(env.ObjectMeta.Namespace).Create(&env)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(enew.Metadata)
resp, err := json.Marshal(enew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -167,7 +167,7 @@ func (a *API) EnvironmentApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
env, err := a.fissionClient.Environments(ns).Get(name)
env, err := a.fissionClient.V1().Environments(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -199,19 +199,19 @@ func (a *API) EnvironmentApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
if name != env.Metadata.Name {
if name != env.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "Environment name doesn't match URL")
a.respondWithError(w, err)
return
}
enew, err := a.fissionClient.Environments(env.Metadata.Namespace).Update(&env)
enew, err := a.fissionClient.V1().Environments(env.ObjectMeta.Namespace).Update(&env)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(enew.Metadata)
resp, err := json.Marshal(enew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -229,7 +229,7 @@ func (a *API) EnvironmentApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.Environments(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().Environments(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+14 -14
View File
@@ -70,7 +70,7 @@ func RegisterFunctionRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Function{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusOK, "Metadata of created function", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of created function", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/functions/{function}").
@@ -96,7 +96,7 @@ func RegisterFunctionRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Function{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated function", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated function", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/functions/{function}").
@@ -117,7 +117,7 @@ func (a *API) FunctionApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceAll
}
funcs, err := a.fissionClient.Functions(ns).List(metav1.ListOptions{})
funcs, err := a.fissionClient.V1().Functions(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -147,19 +147,19 @@ func (a *API) FunctionApiCreate(w http.ResponseWriter, r *http.Request) {
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(f.Metadata.Namespace)
err = a.createNsIfNotExists(f.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
fnew, err := a.fissionClient.Functions(f.Metadata.Namespace).Create(&f)
fnew, err := a.fissionClient.V1().Functions(f.ObjectMeta.Namespace).Create(&f)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(fnew.Metadata)
resp, err := json.Marshal(fnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -177,7 +177,7 @@ func (a *API) FunctionApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
f, err := a.fissionClient.Functions(ns).Get(name)
f, err := a.fissionClient.V1().Functions(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -208,19 +208,19 @@ func (a *API) FunctionApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
if name != f.Metadata.Name {
if name != f.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "Function name doesn't match URL")
a.respondWithError(w, err)
return
}
fnew, err := a.fissionClient.Functions(f.Metadata.Namespace).Update(&f)
fnew, err := a.fissionClient.V1().Functions(f.ObjectMeta.Namespace).Update(&f)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(fnew.Metadata)
resp, err := json.Marshal(fnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -236,7 +236,7 @@ func (a *API) FunctionApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.Functions(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().Functions(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -299,7 +299,7 @@ func (a *API) FunctionPodLogs(w http.ResponseWriter, r *http.Request) {
podNs = ns
}
f, err := a.fissionClient.Functions(ns).Get(fnName)
f, err := a.fissionClient.V1().Functions(ns).Get(fnName, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -307,7 +307,7 @@ func (a *API) FunctionPodLogs(w http.ResponseWriter, r *http.Request) {
// Get function Pods first
selector := map[string]string{
types.FUNCTION_UID: string(f.Metadata.UID),
types.FUNCTION_UID: string(f.ObjectMeta.UID),
types.ENVIRONMENT_NAME: f.Spec.Environment.Name,
types.ENVIRONMENT_NAMESPACE: f.Spec.Environment.Namespace,
}
@@ -353,7 +353,7 @@ func getContainerLog(kubernetesClient *kubernetes.Clientset, w http.ResponseWrit
}
msg := fmt.Sprintf("\n%v\nFunction: %v\nEnvironment: %v\nNamespace: %v\nPod: %v\nContainer: %v\nNode: %v\n%v\n", seq,
fn.Metadata.Name, fn.Spec.Environment.Name, pod.Namespace, pod.Name, container.Name, pod.Spec.NodeName, seq)
fn.ObjectMeta.Name, fn.Spec.Environment.Name, pod.Namespace, pod.Name, container.Name, pod.Spec.NodeName, seq)
w.Write([]byte(msg))
_, err = io.Copy(w, podLogs)
+14 -14
View File
@@ -58,7 +58,7 @@ func RegisterHTTPTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.HTTPTrigger{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created httpTrigger", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created httpTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/triggers/http/{httpTrigger}").
@@ -84,7 +84,7 @@ func RegisterHTTPTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.HTTPTrigger{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated httpTrigger", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated httpTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/triggers/http/{httpTrigger}").
@@ -105,7 +105,7 @@ func (a *API) HTTPTriggerApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceAll
}
triggers, err := a.fissionClient.HTTPTriggers(ns).List(metav1.ListOptions{})
triggers, err := a.fissionClient.V1().HTTPTriggers(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -122,19 +122,19 @@ func (a *API) HTTPTriggerApiList(w http.ResponseWriter, r *http.Request) {
// checkHTTPTriggerDuplicates checks whether the tuple (Method, Host, URL) is duplicate or not.
func (a *API) checkHTTPTriggerDuplicates(t *fv1.HTTPTrigger) error {
triggers, err := a.fissionClient.HTTPTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
triggers, err := a.fissionClient.V1().HTTPTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
if err != nil {
return err
}
for _, ht := range triggers.Items {
if ht.Metadata.UID == t.Metadata.UID {
if ht.ObjectMeta.UID == t.ObjectMeta.UID {
// Same resource. No need to check.
continue
}
if ht.Spec.RelativeURL == t.Spec.RelativeURL && ht.Spec.Method == t.Spec.Method && ht.Spec.Host == t.Spec.Host {
return ferror.MakeError(ferror.ErrorNameExists,
fmt.Sprintf("HTTPTrigger with same Host, URL & method already exists (%v)",
ht.Metadata.Name))
ht.ObjectMeta.Name))
}
}
return nil
@@ -162,19 +162,19 @@ func (a *API) HTTPTriggerApiCreate(w http.ResponseWriter, r *http.Request) {
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(t.Metadata.Namespace)
err = a.createNsIfNotExists(t.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
tnew, err := a.fissionClient.HTTPTriggers(t.Metadata.Namespace).Create(&t)
tnew, err := a.fissionClient.V1().HTTPTriggers(t.ObjectMeta.Namespace).Create(&t)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -192,7 +192,7 @@ func (a *API) HTTPTriggerApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
t, err := a.fissionClient.HTTPTriggers(ns).Get(name)
t, err := a.fissionClient.V1().HTTPTriggers(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -224,7 +224,7 @@ func (a *API) HTTPTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
if name != t.Metadata.Name {
if name != t.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "HTTPTrigger name doesn't match URL")
a.respondWithError(w, err)
return
@@ -236,13 +236,13 @@ func (a *API) HTTPTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
tnew, err := a.fissionClient.HTTPTriggers(t.Metadata.Namespace).Update(&t)
tnew, err := a.fissionClient.V1().HTTPTriggers(t.ObjectMeta.Namespace).Update(&t)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -258,7 +258,7 @@ func (a *API) HTTPTriggerApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.HTTPTriggers(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().HTTPTriggers(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+11 -11
View File
@@ -57,7 +57,7 @@ func RegisterMessageQueueTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.MessageQueueTrigger{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created messageQueueTrigger", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created messageQueueTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/triggers/messagequeue/{mqTrigger}").
@@ -83,7 +83,7 @@ func RegisterMessageQueueTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.MessageQueueTrigger{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated messageQueueTrigger", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated messageQueueTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/triggers/messagequeue/{mqTrigger}").
@@ -105,7 +105,7 @@ func (a *API) MessageQueueTriggerApiList(w http.ResponseWriter, r *http.Request)
ns = metav1.NamespaceAll
}
triggers, err := a.fissionClient.MessageQueueTriggers(ns).List(metav1.ListOptions{})
triggers, err := a.fissionClient.V1().MessageQueueTriggers(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -133,19 +133,19 @@ func (a *API) MessageQueueTriggerApiCreate(w http.ResponseWriter, r *http.Reques
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(mqTrigger.Metadata.Namespace)
err = a.createNsIfNotExists(mqTrigger.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
tnew, err := a.fissionClient.MessageQueueTriggers(mqTrigger.Metadata.Namespace).Create(&mqTrigger)
tnew, err := a.fissionClient.V1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Create(&mqTrigger)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -162,7 +162,7 @@ func (a *API) MessageQueueTriggerApiGet(w http.ResponseWriter, r *http.Request)
ns = metav1.NamespaceDefault
}
mqTrigger, err := a.fissionClient.MessageQueueTriggers(ns).Get(name)
mqTrigger, err := a.fissionClient.V1().MessageQueueTriggers(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -192,19 +192,19 @@ func (a *API) MessageQueueTriggerApiUpdate(w http.ResponseWriter, r *http.Reques
return
}
if name != mqTrigger.Metadata.Name {
if name != mqTrigger.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "Message queue trigger name doesn't match URL")
a.respondWithError(w, err)
return
}
tnew, err := a.fissionClient.MessageQueueTriggers(mqTrigger.Metadata.Namespace).Update(&mqTrigger)
tnew, err := a.fissionClient.V1().MessageQueueTriggers(mqTrigger.ObjectMeta.Namespace).Update(&mqTrigger)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -220,7 +220,7 @@ func (a *API) MessageQueueTriggerApiDelete(w http.ResponseWriter, r *http.Reques
ns = metav1.NamespaceDefault
}
err := a.fissionClient.MessageQueueTriggers(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().MessageQueueTriggers(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+1 -1
View File
@@ -71,7 +71,7 @@ func enrichSwaggerObject(swo *spec.Swagger) {
var openapiDescription = `
OpenAPI 2.0 document for fission controller
* Metadata (v1.ObjectMeta) should be empty when creating a CRD resource. Kubernetes will assign it automatically.
* ObjectMeta (v1.ObjectMeta) should be empty when creating a CRD resource. Kubernetes will assign it automatically.
* Following semantic errors are known issues and won't affect the API accessibility.
- Operations must have unique operationIds.
- All scale semantic errors. (Due to go-restful exposes inner fields of k8s struct).
+11 -11
View File
@@ -60,7 +60,7 @@ func RegisterPackageRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Package{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created package", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created package", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/packages/{package}").
@@ -86,7 +86,7 @@ func RegisterPackageRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.Package{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated package", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated package", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/packages/{package}").
@@ -106,7 +106,7 @@ func (a *API) PackageApiList(w http.ResponseWriter, r *http.Request) {
if len(ns) == 0 {
ns = metav1.NamespaceAll
}
funcs, err := a.fissionClient.Packages(ns).List(metav1.ListOptions{})
funcs, err := a.fissionClient.V1().Packages(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -150,19 +150,19 @@ func (a *API) PackageApiCreate(w http.ResponseWriter, r *http.Request) {
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(f.Metadata.Namespace)
err = a.createNsIfNotExists(f.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
fnew, err := a.fissionClient.Packages(f.Metadata.Namespace).Create(&f)
fnew, err := a.fissionClient.V1().Packages(f.ObjectMeta.Namespace).Create(&f)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(fnew.Metadata)
resp, err := json.Marshal(fnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -181,7 +181,7 @@ func (a *API) PackageApiGet(w http.ResponseWriter, r *http.Request) {
}
raw := r.FormValue("raw") // just the deployment pkg
f, err := a.fissionClient.Packages(ns).Get(name)
f, err := a.fissionClient.V1().Packages(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -217,19 +217,19 @@ func (a *API) PackageApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
if name != f.Metadata.Name {
if name != f.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "Package name doesn't match URL")
a.respondWithError(w, err)
return
}
fnew, err := a.fissionClient.Packages(f.Metadata.Namespace).Update(&f)
fnew, err := a.fissionClient.V1().Packages(f.ObjectMeta.Namespace).Update(&f)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(fnew.Metadata)
resp, err := json.Marshal(fnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -245,7 +245,7 @@ func (a *API) PackageApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.Packages(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().Packages(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+11 -11
View File
@@ -58,7 +58,7 @@ func RegisterTimeTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.TimeTrigger{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created timeTrigger", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created timeTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/triggers/time/{timeTrigger}").
@@ -84,7 +84,7 @@ func RegisterTimeTriggerRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.TimeTrigger{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated timeTrigger", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated timeTrigger", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/triggers/time/{timeTrigger}").
@@ -105,7 +105,7 @@ func (a *API) TimeTriggerApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceAll
}
triggers, err := a.fissionClient.TimeTriggers(ns).List(metav1.ListOptions{})
triggers, err := a.fissionClient.V1().TimeTriggers(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -143,19 +143,19 @@ func (a *API) TimeTriggerApiCreate(w http.ResponseWriter, r *http.Request) {
}
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(t.Metadata.Namespace)
err = a.createNsIfNotExists(t.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
tnew, err := a.fissionClient.TimeTriggers(t.Metadata.Namespace).Create(&t)
tnew, err := a.fissionClient.V1().TimeTriggers(t.ObjectMeta.Namespace).Create(&t)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -173,7 +173,7 @@ func (a *API) TimeTriggerApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
t, err := a.fissionClient.TimeTriggers(ns).Get(name)
t, err := a.fissionClient.V1().TimeTriggers(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -205,7 +205,7 @@ func (a *API) TimeTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
if name != t.Metadata.Name {
if name != t.ObjectMeta.Name {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "TimeTrigger name doesn't match URL")
a.respondWithError(w, err)
return
@@ -218,13 +218,13 @@ func (a *API) TimeTriggerApiUpdate(w http.ResponseWriter, r *http.Request) {
return
}
tnew, err := a.fissionClient.TimeTriggers(t.Metadata.Namespace).Update(&t)
tnew, err := a.fissionClient.V1().TimeTriggers(t.ObjectMeta.Namespace).Update(&t)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(tnew.Metadata)
resp, err := json.Marshal(tnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -240,7 +240,7 @@ func (a *API) TimeTriggerApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.TimeTriggers(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().TimeTriggers(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return
+8 -8
View File
@@ -57,7 +57,7 @@ func RegisterWatchRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.KubernetesWatchTrigger{}).
Writes(metav1.ObjectMeta{}).
Returns(http.StatusCreated, "Metadata of created kubernetesWatch", metav1.ObjectMeta{}))
Returns(http.StatusCreated, "ObjectMeta of created kubernetesWatch", metav1.ObjectMeta{}))
ws.Route(
ws.GET("/v2/watches/{watch}").
@@ -83,7 +83,7 @@ func RegisterWatchRoute(ws *restful.WebService) {
Produces(restful.MIME_JSON).
Reads(fv1.KubernetesWatchTrigger{}).
Writes(metav1.ObjectMeta{}). // on the response
Returns(http.StatusOK, "Metadata of updated kubernetesWatch", metav1.ObjectMeta{}))
Returns(http.StatusOK, "ObjectMeta of updated kubernetesWatch", metav1.ObjectMeta{}))
ws.Route(
ws.DELETE("/v2/watches/{watch}").
@@ -104,7 +104,7 @@ func (a *API) WatchApiList(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceAll
}
watches, err := a.fissionClient.KubernetesWatchTriggers(ns).List(metav1.ListOptions{})
watches, err := a.fissionClient.V1().KubernetesWatchTriggers(ns).List(metav1.ListOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -136,19 +136,19 @@ func (a *API) WatchApiCreate(w http.ResponseWriter, r *http.Request) {
// TODO check for duplicate watches
// TODO check for duplicate watches -> we probably wont need it?
// check if namespace exists, if not create it.
err = a.createNsIfNotExists(watch.Metadata.Namespace)
err = a.createNsIfNotExists(watch.ObjectMeta.Namespace)
if err != nil {
a.respondWithError(w, err)
return
}
wnew, err := a.fissionClient.KubernetesWatchTriggers(watch.Metadata.Namespace).Create(&watch)
wnew, err := a.fissionClient.V1().KubernetesWatchTriggers(watch.ObjectMeta.Namespace).Create(&watch)
if err != nil {
a.respondWithError(w, err)
return
}
resp, err := json.Marshal(wnew.Metadata)
resp, err := json.Marshal(wnew.ObjectMeta)
if err != nil {
a.respondWithError(w, err)
return
@@ -166,7 +166,7 @@ func (a *API) WatchApiGet(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
watch, err := a.fissionClient.KubernetesWatchTriggers(ns).Get(name)
watch, err := a.fissionClient.V1().KubernetesWatchTriggers(ns).Get(name, metav1.GetOptions{})
if err != nil {
a.respondWithError(w, err)
return
@@ -194,7 +194,7 @@ func (a *API) WatchApiDelete(w http.ResponseWriter, r *http.Request) {
ns = metav1.NamespaceDefault
}
err := a.fissionClient.KubernetesWatchTriggers(ns).Delete(name, &metav1.DeleteOptions{})
err := a.fissionClient.V1().KubernetesWatchTriggers(ns).Delete(name, &metav1.DeleteOptions{})
if err != nil {
a.respondWithError(w, err)
return