wilfred-s commented on a change in pull request #72: Add ability to support 3rd party K8s operator integration URL: https://github.com/apache/incubator-yunikorn-k8shim/pull/72#discussion_r383121178
########## File path: pkg/appmgmt/interfaces/amprotocol.go ########## @@ -0,0 +1,83 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package interfaces + +import ( + v1 "k8s.io/api/core/v1" +) + +// app management protocol defines all the APIs needed for app management, +// this is the protocol between scheduler cache and app management plugins +type ApplicationManagementProtocol interface { + // returns app that already existed in the cache, + // or nil, false if app with the given appID is not found + GetApplication(appID string) (ManagedApp, bool) + + // add app to the context, app manager needs to provide all + // necessary app metadata through this call. If this a existing app + // for recovery, the AddApplicationRequest#Recovery must be true. + AddApplication(request *AddApplicationRequest) (ManagedApp, bool) Review comment: The only time the boolean return value is used is when we recover. It is also the only time that we do not ignore the `ManagedApp` value that is returned. In all other call paths we have already checked the existence of the app before we call `AddApplication` I still think that if `AddApplication` returns a nil app then we have not added the app, otherwise we did. For recovery that means that if we get an app back it is a new app and we need to recover it: i.e. add it to the recovering apps list. I understand what you are trying to do but we do not use the boolean except for test cases. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
