Add webhook server to tests (#2873)

* Add webhook server to tests
* fix config for webhoook service
* Fix logger in webhook manager
* Use interface for webhook manager
* single reference for router url
* Cleanup token code

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
This commit is contained in:
Sanket Sudake
2023-11-16 14:16:28 +05:30
committed by GitHub
parent 57b537f09e
commit e7d6381876
15 changed files with 346 additions and 92 deletions
+32 -15
View File
@@ -5,6 +5,9 @@ import (
"fmt"
"os"
"go.uber.org/zap"
cnwebhook "sigs.k8s.io/controller-runtime/pkg/webhook"
"github.com/fission/fission/pkg/buildermgr"
"github.com/fission/fission/pkg/executor"
eclient "github.com/fission/fission/pkg/executor/client"
@@ -15,10 +18,28 @@ import (
"github.com/fission/fission/pkg/timer"
"github.com/fission/fission/pkg/utils"
"github.com/fission/fission/pkg/utils/manager"
"github.com/fission/fission/pkg/webhook"
"github.com/fission/fission/test/e2e/framework"
)
func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Interface) error {
os.Setenv("DEBUG_ENV", "true")
env := f.GetEnv()
webhookPort := env.WebhookInstallOptions.LocalServingPort
err := f.ToggleMetricAddr()
if err != nil {
return fmt.Errorf("error toggling metric address: %v", err)
}
mgr.Add(ctx, func(ctx context.Context) {
err = webhook.Start(ctx, f.ClientGen(), f.Logger(), cnwebhook.Options{
Port: webhookPort,
CertDir: env.WebhookInstallOptions.LocalServingCertDir,
})
if err != nil {
f.Logger().Fatal("error starting webhook", zap.Error(err))
}
})
f.AddServiceInfo("webhook", framework.ServiceInfo{Port: webhookPort})
executorPort, err := utils.FindFreePort()
if err != nil {
@@ -44,9 +65,7 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
if err != nil {
return fmt.Errorf("error starting executor: %v", err)
}
f.ServiceInfo["executor"] = framework.ServiceInfo{
Port: executorPort,
}
f.AddServiceInfo("executor", framework.ServiceInfo{Port: executorPort})
os.Setenv("PRUNE_ENABLED", "true")
os.Setenv("PRUNE_INTERVAL", "60")
@@ -67,9 +86,7 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
if err != nil {
return fmt.Errorf("error starting storage service: %v", err)
}
f.ServiceInfo["storagesvc"] = framework.ServiceInfo{
Port: storageSvcPort,
}
f.AddServiceInfo("storagesvc", framework.ServiceInfo{Port: storageSvcPort})
err = f.ToggleMetricAddr()
if err != nil {
return fmt.Errorf("error toggling metric address: %v", err)
@@ -78,7 +95,7 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
if err != nil {
return fmt.Errorf("error starting builder manager: %v", err)
}
f.ServiceInfo["buildermgr"] = framework.ServiceInfo{}
f.AddServiceInfo("buildermgr", framework.ServiceInfo{})
os.Setenv("ROUTER_ROUND_TRIP_TIMEOUT", "50ms")
os.Setenv("ROUTER_ROUNDTRIP_TIMEOUT_EXPONENT", "2")
@@ -89,8 +106,8 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
os.Setenv("ROUTER_SVC_ADDRESS_UPDATE_TIMEOUT", "30s")
os.Setenv("ROUTER_UNTAP_SERVICE_TIMEOUT", "3600s")
os.Setenv("USE_ENCODED_PATH", "false")
os.Setenv("DISPLAY_ACCESS_LOG", "false")
os.Setenv("DEBUG_ENV", "false")
os.Setenv("DISPLAY_ACCESS_LOG", "true")
//os.Setenv("DEBUG_ENV", "false")
routerPort, err := utils.FindFreePort()
if err != nil {
return fmt.Errorf("error finding unused port: %v", err)
@@ -104,9 +121,8 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
if err != nil {
return fmt.Errorf("error starting router: %v", err)
}
f.ServiceInfo["router"] = framework.ServiceInfo{
Port: routerPort,
}
f.AddServiceInfo("router", framework.ServiceInfo{Port: routerPort})
routerURL := fmt.Sprintf("http://localhost:%d", routerPort)
os.Setenv("FISSION_ROUTER_URL", routerURL)
@@ -114,18 +130,19 @@ func StartServices(ctx context.Context, f *framework.Framework, mgr manager.Inte
if err != nil {
return fmt.Errorf("error starting timer: %v", err)
}
f.ServiceInfo["timer"] = framework.ServiceInfo{}
f.AddServiceInfo("timer", framework.ServiceInfo{})
err = mqtrigger.StartScalerManager(ctx, f.ClientGen(), f.Logger(), mgr, routerURL)
if err != nil {
return fmt.Errorf("error starting mqt scaler manager: %v", err)
}
f.ServiceInfo["mqtrigger-keda"] = framework.ServiceInfo{}
f.AddServiceInfo("mqtrigger-keda", framework.ServiceInfo{})
err = kubewatcher.Start(ctx, f.ClientGen(), f.Logger(), mgr, routerURL)
if err != nil {
return fmt.Errorf("error starting kubewatcher: %v", err)
}
f.ServiceInfo["kubewatcher"] = framework.ServiceInfo{}
f.AddServiceInfo("kubewatcher", framework.ServiceInfo{})
return nil
}