Canary deployments for fission functions. (#892)

This commit is contained in:
smruthi2187
2018-09-25 18:26:26 -07:00
committed by GitHub
parent 437d4dc04d
commit fa565b75ae
77 changed files with 5102 additions and 149 deletions
+13 -2
View File
@@ -17,17 +17,19 @@ limitations under the License.
package controller
import (
"context"
"log"
"github.com/fission/fission"
"github.com/fission/fission/canaryconfigmgr"
"github.com/fission/fission/crd"
)
func Start(port int) {
func Start(port int, prometheusSvc string) {
// setup a signal handler for SIGTERM
fission.SetupStackTraceHandler()
fc, _, apiExtClient, err := crd.MakeFissionClient()
fc, kc, apiExtClient, err := crd.MakeFissionClient()
if err != nil {
log.Fatalf("Failed to connect to K8s API: %v", err)
}
@@ -42,6 +44,15 @@ func Start(port int) {
log.Fatalf("Error waiting for CRDs: %v", err)
}
// create canary config manager
canaryCfgMgr, err := canaryconfigmgr.MakeCanaryConfigMgr(fc, kc, fc.GetCrdClient(), prometheusSvc)
if err != nil {
log.Fatalf("Failed to start canary config manager: %v", err)
}
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
canaryCfgMgr.Run(ctx)
api, err := MakeAPI()
if err != nil {
log.Fatalf("Failed to start controller: %v", err)