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
+95 -95
View File
@@ -367,7 +367,7 @@ func applyResources(fclient client.Interface, specDir string, fr *FissionResourc
// that as an error, so that we encourage self-contained specs.
// Is there a good use case for non-self contained specs?
return nil, nil, errors.Errorf("function %v/%v references package %v/%v, which doesn't exist in the specs",
f.Metadata.Namespace, f.Metadata.Name, f.Spec.Package.PackageRef.Namespace, f.Spec.Package.PackageRef.Name)
f.ObjectMeta.Namespace, f.ObjectMeta.Name, f.Spec.Package.PackageRef.Namespace, f.Spec.Package.PackageRef.Name)
}
fr.Functions[i].Spec.Package.PackageRef.ResourceVersion = m.ResourceVersion
}
@@ -532,14 +532,14 @@ func waitForPackageBuild(fclient client.Interface, pkg *fv1.Package) (*fv1.Packa
return pkg, nil
}
if time.Since(start) > 5*time.Minute {
return nil, errors.Errorf("package %v has been building for a while, giving up on waiting for it", pkg.Metadata.Name)
return nil, errors.Errorf("package %v has been building for a while, giving up on waiting for it", pkg.ObjectMeta.Name)
}
// TODO watch instead
time.Sleep(time.Second)
var err error
pkg, err = fclient.V1().Package().Get(&pkg.Metadata)
pkg, err = fclient.V1().Package().Get(&pkg.ObjectMeta)
if err != nil {
return nil, err
}
@@ -556,7 +556,7 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
// filter
objs := make([]fv1.Package, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -564,7 +564,7 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
// index
existent := make(map[string]fv1.Package)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -576,13 +576,13 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
// create or update desired state
for _, o := range fr.Packages {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
keep := false
@@ -598,10 +598,10 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
if keep && existingObj.Status.BuildStatus == fv1.BuildStatusSucceeded {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
// We may be racing against the package builder to update the
// package (a previous version might have been getting built). So,
@@ -609,7 +609,7 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
pkg, err := waitForPackageBuild(fclient, &o)
if err != nil {
// log and ignore
console.Warn(fmt.Sprintf("Error waiting for package '%v' build, ignoring", o.Metadata.Name))
console.Warn(fmt.Sprintf("Error waiting for package '%v' build, ignoring", o.ObjectMeta.Name))
pkg = &o
}
@@ -625,7 +625,7 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -634,7 +634,7 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -642,14 +642,14 @@ func applyPackages(fclient client.Interface, fr *FissionResources, delete bool)
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().Package().Delete(&o.Metadata)
err := fclient.V1().Package().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -667,7 +667,7 @@ func applyFunctions(fclient client.Interface, fr *FissionResources, delete bool)
// filter
objs := make([]fv1.Function, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -675,7 +675,7 @@ func applyFunctions(fclient client.Interface, fr *FissionResources, delete bool)
// index
existent := make(map[string]fv1.Function)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -687,28 +687,28 @@ func applyFunctions(fclient client.Interface, fr *FissionResources, delete bool)
// create or update desired state
for _, o := range fr.Functions {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().Function().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -717,7 +717,7 @@ func applyFunctions(fclient client.Interface, fr *FissionResources, delete bool)
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -725,14 +725,14 @@ func applyFunctions(fclient client.Interface, fr *FissionResources, delete bool)
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().Function().Delete(&o.Metadata)
err := fclient.V1().Function().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -750,7 +750,7 @@ func applyEnvironments(fclient client.Interface, fr *FissionResources, delete bo
// filter
objs := make([]fv1.Environment, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -758,7 +758,7 @@ func applyEnvironments(fclient client.Interface, fr *FissionResources, delete bo
// index
existent := make(map[string]fv1.Environment)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -770,28 +770,28 @@ func applyEnvironments(fclient client.Interface, fr *FissionResources, delete bo
// create or update desired state
for _, o := range fr.Environments {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().Environment().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -800,7 +800,7 @@ func applyEnvironments(fclient client.Interface, fr *FissionResources, delete bo
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -808,14 +808,14 @@ func applyEnvironments(fclient client.Interface, fr *FissionResources, delete bo
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().Environment().Delete(&o.Metadata)
err := fclient.V1().Environment().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -833,7 +833,7 @@ func applyHTTPTriggers(fclient client.Interface, fr *FissionResources, delete bo
// filter
objs := make([]fv1.HTTPTrigger, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -841,7 +841,7 @@ func applyHTTPTriggers(fclient client.Interface, fr *FissionResources, delete bo
// index
existent := make(map[string]fv1.HTTPTrigger)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -853,28 +853,28 @@ func applyHTTPTriggers(fclient client.Interface, fr *FissionResources, delete bo
// create or update desired state
for _, o := range fr.HttpTriggers {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().HTTPTrigger().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -883,7 +883,7 @@ func applyHTTPTriggers(fclient client.Interface, fr *FissionResources, delete bo
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -891,14 +891,14 @@ func applyHTTPTriggers(fclient client.Interface, fr *FissionResources, delete bo
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().HTTPTrigger().Delete(&o.Metadata)
err := fclient.V1().HTTPTrigger().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -916,7 +916,7 @@ func applyKubernetesWatchTriggers(fclient client.Interface, fr *FissionResources
// filter
objs := make([]fv1.KubernetesWatchTrigger, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -924,7 +924,7 @@ func applyKubernetesWatchTriggers(fclient client.Interface, fr *FissionResources
// index
existent := make(map[string]fv1.KubernetesWatchTrigger)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -936,28 +936,28 @@ func applyKubernetesWatchTriggers(fclient client.Interface, fr *FissionResources
// create or update desired state
for _, o := range fr.KubernetesWatchTriggers {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().KubeWatcher().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -966,7 +966,7 @@ func applyKubernetesWatchTriggers(fclient client.Interface, fr *FissionResources
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -974,14 +974,14 @@ func applyKubernetesWatchTriggers(fclient client.Interface, fr *FissionResources
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().KubeWatcher().Delete(&o.Metadata)
err := fclient.V1().KubeWatcher().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -999,7 +999,7 @@ func applyTimeTriggers(fclient client.Interface, fr *FissionResources, delete bo
// filter
objs := make([]fv1.TimeTrigger, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -1007,7 +1007,7 @@ func applyTimeTriggers(fclient client.Interface, fr *FissionResources, delete bo
// index
existent := make(map[string]fv1.TimeTrigger)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -1019,28 +1019,28 @@ func applyTimeTriggers(fclient client.Interface, fr *FissionResources, delete bo
// create or update desired state
for _, o := range fr.TimeTriggers {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().TimeTrigger().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -1049,7 +1049,7 @@ func applyTimeTriggers(fclient client.Interface, fr *FissionResources, delete bo
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -1057,14 +1057,14 @@ func applyTimeTriggers(fclient client.Interface, fr *FissionResources, delete bo
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().TimeTrigger().Delete(&o.Metadata)
err := fclient.V1().TimeTrigger().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
@@ -1082,7 +1082,7 @@ func applyMessageQueueTriggers(fclient client.Interface, fr *FissionResources, d
// filter
objs := make([]fv1.MessageQueueTrigger, 0)
for _, o := range allObjs {
if hasDeploymentConfig(&o.Metadata, fr) {
if hasDeploymentConfig(&o.ObjectMeta, fr) {
objs = append(objs, o)
}
}
@@ -1090,7 +1090,7 @@ func applyMessageQueueTriggers(fclient client.Interface, fr *FissionResources, d
// index
existent := make(map[string]fv1.MessageQueueTrigger)
for _, obj := range objs {
existent[mapKey(&obj.Metadata)] = obj
existent[mapKey(&obj.ObjectMeta)] = obj
}
metadataMap := make(map[string]metav1.ObjectMeta)
@@ -1102,28 +1102,28 @@ func applyMessageQueueTriggers(fclient client.Interface, fr *FissionResources, d
// create or update desired state
for _, o := range fr.MessageQueueTriggers {
// apply deploymentConfig so we can find our objects on future apply invocations
applyDeploymentConfig(&o.Metadata, fr)
applyDeploymentConfig(&o.ObjectMeta, fr)
// index desired state
desired[mapKey(&o.Metadata)] = true
desired[mapKey(&o.ObjectMeta)] = true
// exists?
existingObj, ok := existent[mapKey(&o.Metadata)]
existingObj, ok := existent[mapKey(&o.ObjectMeta)]
if ok {
// ok, a resource with the same name exists, is it the same?
if reflect.DeepEqual(existingObj.Spec, o.Spec) {
// nothing to do on the server
metadataMap[mapKey(&o.Metadata)] = existingObj.Metadata
metadataMap[mapKey(&o.ObjectMeta)] = existingObj.ObjectMeta
} else {
// update
o.Metadata.ResourceVersion = existingObj.Metadata.ResourceVersion
o.ObjectMeta.ResourceVersion = existingObj.ObjectMeta.ResourceVersion
newmeta, err := fclient.V1().MessageQueueTrigger().Update(&o)
if err != nil {
return nil, nil, err
}
ras.Updated = append(ras.Updated, newmeta)
// keep track of metadata in case we need to create a reference to it
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
} else {
// create
@@ -1132,7 +1132,7 @@ func applyMessageQueueTriggers(fclient client.Interface, fr *FissionResources, d
return nil, nil, err
}
ras.Created = append(ras.Created, newmeta)
metadataMap[mapKey(&o.Metadata)] = *newmeta
metadataMap[mapKey(&o.ObjectMeta)] = *newmeta
}
}
@@ -1140,14 +1140,14 @@ func applyMessageQueueTriggers(fclient client.Interface, fr *FissionResources, d
if delete {
// objs is already filtered with our UID
for _, o := range objs {
_, wanted := desired[mapKey(&o.Metadata)]
_, wanted := desired[mapKey(&o.ObjectMeta)]
if !wanted {
err := fclient.V1().MessageQueueTrigger().Delete(&o.Metadata)
err := fclient.V1().MessageQueueTrigger().Delete(&o.ObjectMeta)
if err != nil {
return nil, nil, err
}
ras.Deleted = append(ras.Deleted, &o.Metadata)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.Metadata.Namespace, o.Metadata.Name)
ras.Deleted = append(ras.Deleted, &o.ObjectMeta)
fmt.Printf("Deleted %v %v/%v\n", o.TypeMeta.Kind, o.ObjectMeta.Namespace, o.ObjectMeta.Name)
}
}
}
+2 -2
View File
@@ -79,7 +79,7 @@ func (w *packageBuildWatcher) watch(ctx context.Context) {
keepWaiting := false
buildpkgs := make([]fv1.Package, 0)
for _, pkg := range pkgs {
_, ok := w.pkgMeta[mapKey(&pkg.Metadata)]
_, ok := w.pkgMeta[mapKey(&pkg.ObjectMeta)]
if !ok {
continue
}
@@ -118,5 +118,5 @@ func (w *packageBuildWatcher) watch(ctx context.Context) {
func pkgKey(pkg *fv1.Package) string {
// packages are mutable so we want to keep track of them by resource version
return fmt.Sprintf("%v:%v:%v", pkg.Metadata.Name, pkg.Metadata.Namespace, pkg.Metadata.ResourceVersion)
return fmt.Sprintf("%v:%v:%v", pkg.ObjectMeta.Name, pkg.ObjectMeta.Namespace, pkg.ObjectMeta.ResourceVersion)
}
+16 -16
View File
@@ -121,7 +121,7 @@ func getAppliedFunctions(fns []fv1.Function, deployID string) []fv1.Function {
var fnlist []fv1.Function
if len(fns) > 0 {
for _, f := range fns {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
fnlist = append(fnlist, f)
}
}
@@ -133,7 +133,7 @@ func getAppliedEnvironments(envs []fv1.Environment, deployID string) []fv1.Envir
var envlist []fv1.Environment
if len(envs) > 0 {
for _, f := range envs {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
envlist = append(envlist, f)
}
}
@@ -145,7 +145,7 @@ func getAppliedPackages(pkgs []fv1.Package, deployID string) []fv1.Package {
var pkglist []fv1.Package
if len(pkgs) > 0 {
for _, f := range pkgs {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
pkglist = append(pkglist, f)
}
}
@@ -156,7 +156,7 @@ func getAppliedCanaryConfigs(canaryCfgs []fv1.CanaryConfig, deployID string) []f
var canaryConfiglist []fv1.CanaryConfig
if len(canaryCfgs) > 0 {
for _, f := range canaryCfgs {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
canaryConfiglist = append(canaryConfiglist, f)
}
}
@@ -168,7 +168,7 @@ func getAppliedHTTPTriggers(hts []fv1.HTTPTrigger, deployID string) []fv1.HTTPTr
var httpTriggerlist []fv1.HTTPTrigger
if len(hts) > 0 {
for _, f := range hts {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
httpTriggerlist = append(httpTriggerlist, f)
}
}
@@ -181,7 +181,7 @@ func getAppliedMessageQueueTriggers(mqts []fv1.MessageQueueTrigger, deployID str
var mqTriggerlist []fv1.MessageQueueTrigger
if len(mqts) > 0 {
for _, f := range mqts {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
mqTriggerlist = append(mqTriggerlist, f)
}
}
@@ -192,7 +192,7 @@ func getAppliedTimeTriggers(tts []fv1.TimeTrigger, deployID string) []fv1.TimeTr
var timeTriggerlist []fv1.TimeTrigger
if len(tts) > 0 {
for _, f := range tts {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
timeTriggerlist = append(timeTriggerlist, f)
}
}
@@ -203,7 +203,7 @@ func getSpecKubeWatchers(ws []fv1.KubernetesWatchTrigger, deployID string) []fv1
var kubeWatchTriggerlist []fv1.KubernetesWatchTrigger
if len(ws) > 0 {
for _, f := range ws {
if f.Metadata.Annotations["fission-uid"] == deployID {
if f.ObjectMeta.Annotations["fission-uid"] == deployID {
kubeWatchTriggerlist = append(kubeWatchTriggerlist, f)
}
}
@@ -230,7 +230,7 @@ func ShowFunctions(fns []fv1.Function) {
}
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n",
f.Metadata.Name, f.Spec.Environment.Name,
f.ObjectMeta.Name, f.Spec.Environment.Name,
f.Spec.InvokeStrategy.ExecutionStrategy.ExecutorType,
f.Spec.InvokeStrategy.ExecutionStrategy.MinScale,
f.Spec.InvokeStrategy.ExecutionStrategy.MaxScale,
@@ -255,7 +255,7 @@ func ShowEnvironments(envs []fv1.Environment) {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n", "NAME", "IMAGE", "BUILDER_IMAGE", "POOLSIZE", "MINCPU", "MAXCPU", "MINMEMORY", "MAXMEMORY", "EXTNET", "GRACETIME")
for _, env := range envs {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n",
env.Metadata.Name, env.Spec.Runtime.Image, env.Spec.Builder.Image, env.Spec.Poolsize,
env.ObjectMeta.Name, env.Spec.Runtime.Image, env.Spec.Builder.Image, env.Spec.Poolsize,
env.Spec.Resources.Requests.Cpu(), env.Spec.Resources.Limits.Cpu(),
env.Spec.Resources.Requests.Memory(), env.Spec.Resources.Limits.Memory(),
env.Spec.AllowAccessToExternalNetwork, env.Spec.TerminationGracePeriod)
@@ -272,7 +272,7 @@ func ShowPackages(pkgList []fv1.Package) {
fmt.Fprintf(w, "%v\n", "Packages:")
fmt.Fprintf(w, "%v\t%v\t%v\t%v\n", "NAME", "BUILD_STATUS", "ENV", "LASTUPDATEDAT")
for _, pkg := range pkgList {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\n", pkg.Metadata.Name, pkg.Status.BuildStatus, pkg.Spec.Environment.Name, pkg.Status.LastUpdateTimestamp.Format(time.RFC822))
fmt.Fprintf(w, "%v\t%v\t%v\t%v\n", pkg.ObjectMeta.Name, pkg.Status.BuildStatus, pkg.Spec.Environment.Name, pkg.Status.LastUpdateTimestamp.Format(time.RFC822))
}
fmt.Fprintf(w, "\n")
w.Flush()
@@ -287,7 +287,7 @@ func ShowCanaryConfigs(canaryCfgs []fv1.CanaryConfig) {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n", "NAME", "TRIGGER", "FUNCTION-N", "FUNCTION-N-1", "WEIGHT-INCREMENT", "INTERVAL", "FAILURE-THRESHOLD", "FAILURE-TYPE", "STATUS")
for _, canaryCfg := range canaryCfgs {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n",
canaryCfg.Metadata.Name, canaryCfg.Spec.Trigger, canaryCfg.Spec.NewFunction, canaryCfg.Spec.OldFunction, canaryCfg.Spec.WeightIncrement, canaryCfg.Spec.WeightIncrementDuration,
canaryCfg.ObjectMeta.Name, canaryCfg.Spec.Trigger, canaryCfg.Spec.NewFunction, canaryCfg.Spec.OldFunction, canaryCfg.Spec.WeightIncrement, canaryCfg.Spec.WeightIncrementDuration,
canaryCfg.Spec.FailureThreshold, canaryCfg.Spec.FailureType, canaryCfg.Status.Status)
}
fmt.Fprintf(w, "\n")
@@ -327,7 +327,7 @@ func ShowHTTPTriggers(hts []fv1.HTTPTrigger) {
ann := strings.Join(msg, ", ")
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n",
trigger.Metadata.Name, trigger.Spec.Method, trigger.Spec.RelativeURL, function, trigger.Spec.CreateIngress, host, path, trigger.Spec.IngressConfig.TLS, ann)
trigger.ObjectMeta.Name, trigger.Spec.Method, trigger.Spec.RelativeURL, function, trigger.Spec.CreateIngress, host, path, trigger.Spec.IngressConfig.TLS, ann)
}
fmt.Fprintf(w, "\n")
w.Flush()
@@ -342,7 +342,7 @@ func ShowMQTriggers(mqts []fv1.MessageQueueTrigger) {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n", "NAME", "FUNCTION_NAME", "MESSAGE_QUEUE_TYPE", "TOPIC", "RESPONSE_TOPIC", "ERROR_TOPIC", "MAX_RETRIES", "PUB_MSG_CONTENT_TYPE")
for _, mqt := range mqts {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\t%v\t%v\t%v\n",
mqt.Metadata.Name, mqt.Spec.FunctionReference.Name, mqt.Spec.MessageQueueType, mqt.Spec.Topic, mqt.Spec.ResponseTopic, mqt.Spec.ErrorTopic, mqt.Spec.MaxRetries, mqt.Spec.ContentType)
mqt.ObjectMeta.Name, mqt.Spec.FunctionReference.Name, mqt.Spec.MessageQueueType, mqt.Spec.Topic, mqt.Spec.ResponseTopic, mqt.Spec.ErrorTopic, mqt.Spec.MaxRetries, mqt.Spec.ContentType)
}
fmt.Fprintf(w, "\n")
w.Flush()
@@ -358,7 +358,7 @@ func ShowTimeTriggers(tts []fv1.TimeTrigger) {
for _, tt := range tts {
fmt.Fprintf(w, "%v\t%v\t%v\n",
tt.Metadata.Name, tt.Spec.Cron, tt.Spec.FunctionReference.Name)
tt.ObjectMeta.Name, tt.Spec.Cron, tt.Spec.FunctionReference.Name)
}
fmt.Fprintf(w, "\n")
w.Flush()
@@ -374,7 +374,7 @@ func ShowAppliedKubeWatchers(ws []fv1.KubernetesWatchTrigger) {
for _, wa := range ws {
fmt.Fprintf(w, "%v\t%v\t%v\t%v\t%v\n",
wa.Metadata.Name, wa.Spec.Namespace, wa.Spec.Type, wa.Spec.LabelSelector, wa.Spec.FunctionReference.Name)
wa.ObjectMeta.Name, wa.Spec.Namespace, wa.Spec.Type, wa.Spec.LabelSelector, wa.Spec.FunctionReference.Name)
}
fmt.Fprintf(w, "\n")
w.Flush()
+44 -44
View File
@@ -182,43 +182,43 @@ func SpecSave(resource interface{}, specFile string) error {
case fv1.Package:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "Package"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.Function:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "Function"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.Environment:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "Environment"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.HTTPTrigger:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "HTTPTrigger"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.KubernetesWatchTrigger:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "KubernetesWatchTrigger"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.MessageQueueTrigger:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "MessageQueueTrigger"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
case fv1.TimeTrigger:
typedres.TypeMeta.APIVersion = fv1.CRD_VERSION
typedres.TypeMeta.Kind = "TimeTrigger"
meta = typedres.Metadata
meta = typedres.ObjectMeta
kind = typedres.TypeMeta.Kind
data, err = yaml.Marshal(typedres)
default:
@@ -297,7 +297,7 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
// index packages, check outgoing refs, mark archives that are referenced
packages := make(map[string]bool)
for _, p := range fr.Packages {
packages[MapKey(&p.Metadata)] = false
packages[MapKey(&p.ObjectMeta)] = false
as := map[string]string{
"source": p.Spec.Source.URL,
@@ -311,8 +311,8 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
if _, ok := archives[aname]; !ok {
result = multierror.Append(result, fmt.Errorf(
"%v: package '%v' references unknown %v archive '%v%v'",
fr.SourceMap.Locations["Package"][p.Metadata.Namespace][p.Metadata.Name],
p.Metadata.Name,
fr.SourceMap.Locations["Package"][p.ObjectMeta.Namespace][p.ObjectMeta.Name],
p.ObjectMeta.Name,
archiveType,
ARCHIVE_URL_PREFIX,
aname))
@@ -339,7 +339,7 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
// index functions, check function package refs, mark referenced packages
functions := make(map[string]bool)
for _, f := range fr.Functions {
functions[MapKey(&f.Metadata)] = false
functions[MapKey(&f.ObjectMeta)] = false
pkgMeta := &metav1.ObjectMeta{
Name: f.Spec.Package.PackageRef.Name,
@@ -354,21 +354,21 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
// check that the package referenced by each function is in the same ns as the function
packageRefInFuncNs := func(f *fv1.Function) bool {
return f.Spec.Package.PackageRef.Namespace == f.Metadata.Namespace
return f.Spec.Package.PackageRef.Namespace == f.ObjectMeta.Namespace
}
if !packageRefInFuncNs(&f) {
result = multierror.Append(result, fmt.Errorf(
"%v: function '%v' references a package outside of its namespace %v/%v",
fr.SourceMap.Locations["Function"][f.Metadata.Namespace][f.Metadata.Name],
f.Metadata.Name,
fr.SourceMap.Locations["Function"][f.ObjectMeta.Namespace][f.ObjectMeta.Name],
f.ObjectMeta.Name,
f.Spec.Package.PackageRef.Namespace,
f.Spec.Package.PackageRef.Name))
} else if !packageRefExists() {
result = multierror.Append(result, fmt.Errorf(
"%v: function '%v' references unknown package %v/%v",
fr.SourceMap.Locations["Function"][f.Metadata.Namespace][f.Metadata.Name],
f.Metadata.Name,
fr.SourceMap.Locations["Function"][f.ObjectMeta.Namespace][f.ObjectMeta.Name],
f.ObjectMeta.Name,
pkgMeta.Namespace,
pkgMeta.Name))
} else {
@@ -415,7 +415,7 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
// check function refs from triggers
for _, t := range fr.HttpTriggers {
err := fr.validateFunctionReference(functions, t.Kind, &t.Metadata, t.Spec.FunctionReference)
err := fr.validateFunctionReference(functions, t.Kind, &t.ObjectMeta, t.Spec.FunctionReference)
if err != nil {
result = multierror.Append(result, err)
}
@@ -426,21 +426,21 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
result = multierror.Append(result, t.Validate())
}
for _, t := range fr.KubernetesWatchTriggers {
err := fr.validateFunctionReference(functions, t.Kind, &t.Metadata, t.Spec.FunctionReference)
err := fr.validateFunctionReference(functions, t.Kind, &t.ObjectMeta, t.Spec.FunctionReference)
if err != nil {
result = multierror.Append(result, err)
}
result = multierror.Append(result, t.Validate())
}
for _, t := range fr.TimeTriggers {
err := fr.validateFunctionReference(functions, t.Kind, &t.Metadata, t.Spec.FunctionReference)
err := fr.validateFunctionReference(functions, t.Kind, &t.ObjectMeta, t.Spec.FunctionReference)
if err != nil {
result = multierror.Append(result, err)
}
result = multierror.Append(result, t.Validate())
}
for _, t := range fr.MessageQueueTriggers {
err := fr.validateFunctionReference(functions, t.Kind, &t.Metadata, t.Spec.FunctionReference)
err := fr.validateFunctionReference(functions, t.Kind, &t.ObjectMeta, t.Spec.FunctionReference)
if err != nil {
result = multierror.Append(result, err)
}
@@ -453,7 +453,7 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
// Index envs, warn on functions referencing an environment for which spes does not exist
environments := make(map[string]struct{})
for _, e := range fr.Environments {
environments[fmt.Sprintf("%s:%s", e.Metadata.Name, e.Metadata.Namespace)] = struct{}{}
environments[fmt.Sprintf("%s:%s", e.ObjectMeta.Name, e.ObjectMeta.Namespace)] = struct{}{}
if ((e.Spec.Runtime.Container != nil) && (e.Spec.Runtime.PodSpec != nil)) || ((e.Spec.Builder.Container != nil) && (e.Spec.Builder.PodSpec != nil)) {
warnings = append(warnings, fmt.Sprintf("You have provided both - container spec and pod spec and while merging the pod spec will take precedence."))
}
@@ -466,7 +466,7 @@ func (fr *FissionResources) Validate(input cli.Input) ([]string, error) {
for _, f := range fr.Functions {
if _, ok := environments[fmt.Sprintf("%s:%s", f.Spec.Environment.Name, f.Spec.Environment.Namespace)]; !ok {
warnings = append(warnings, fmt.Sprintf("Environment %s is referenced in function %s but not declared in specs", f.Spec.Environment.Name, f.Metadata.Name))
warnings = append(warnings, fmt.Sprintf("Environment %s is referenced in function %s but not declared in specs", f.Spec.Environment.Name, f.ObjectMeta.Name))
}
strategy := f.Spec.InvokeStrategy.ExecutionStrategy
if strategy.ExecutorType == fv1.ExecutorTypeNewdeploy && strategy.SpecializationTimeout < fv1.DefaultSpecializationTimeOut {
@@ -521,7 +521,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.Packages = append(fr.Packages, v)
case "Function":
var v fv1.Function
@@ -529,7 +529,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.Functions = append(fr.Functions, v)
case "Environment":
var v fv1.Environment
@@ -537,7 +537,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.Environments = append(fr.Environments, v)
case "HTTPTrigger":
var v fv1.HTTPTrigger
@@ -551,7 +551,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
v.Spec.RelativeURL = fmt.Sprintf("/%s", v.Spec.RelativeURL)
}
m = &v.Metadata
m = &v.ObjectMeta
fr.HttpTriggers = append(fr.HttpTriggers, v)
case "KubernetesWatchTrigger":
var v fv1.KubernetesWatchTrigger
@@ -559,7 +559,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.KubernetesWatchTriggers = append(fr.KubernetesWatchTriggers, v)
case "TimeTrigger":
var v fv1.TimeTrigger
@@ -567,7 +567,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.TimeTriggers = append(fr.TimeTriggers, v)
case "MessageQueueTrigger":
var v fv1.MessageQueueTrigger
@@ -575,7 +575,7 @@ func (fr *FissionResources) ParseYaml(b []byte, loc *Location) error {
if err != nil {
return errors.Wrap(err, fmt.Sprintf("Failed to parse %v in %v", tm.Kind, loc))
}
m = &v.Metadata
m = &v.ObjectMeta
fr.MessageQueueTriggers = append(fr.MessageQueueTriggers, v)
// The following are not CRDs
@@ -637,7 +637,7 @@ func (fr *FissionResources) SpecExists(resource interface{}, compareMetadata boo
return nil
case *fv1.Package:
for _, p := range fr.Packages {
if compareMetadata && !reflect.DeepEqual(p.Metadata, typedres.Metadata) {
if compareMetadata && !reflect.DeepEqual(p.ObjectMeta, typedres.ObjectMeta) {
continue
}
if compareSpec && !reflect.DeepEqual(p.Spec, typedres.Spec) {
@@ -663,50 +663,50 @@ func (fr *FissionResources) ExistsInSpecs(resource interface{}) (bool, error) {
}
case fv1.Package:
for _, obj := range fr.Packages {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.Function:
for _, obj := range fr.Functions {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.Environment:
for _, obj := range fr.Environments {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.HTTPTrigger:
for _, obj := range fr.HttpTriggers {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.KubernetesWatchTrigger:
for _, obj := range fr.KubernetesWatchTriggers {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.MessageQueueTrigger:
for _, obj := range fr.MessageQueueTriggers {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}
case fv1.TimeTrigger:
for _, obj := range fr.TimeTriggers {
if obj.Metadata.Name == typedres.Metadata.Name &&
obj.Metadata.Namespace == typedres.Metadata.Namespace {
if obj.ObjectMeta.Name == typedres.ObjectMeta.Name &&
obj.ObjectMeta.Namespace == typedres.ObjectMeta.Namespace {
return true, nil
}
}