diff --git a/cli/cmd/build.go b/cli/cmd/build.go index 1ed960e42..51cef64bd 100644 --- a/cli/cmd/build.go +++ b/cli/cmd/build.go @@ -30,8 +30,7 @@ func NewBuildCmd() *cobra.Command { args []string, toComplete string) ([]string, cobra.ShellCompDirective) { var runningCtx running.RunningCtx - err := running.FillCtx( - cliOpts, &cmdCtx, &runningCtx, nil, running.ConfigLoadSkip) + err := running.FillCtx(cliOpts, &cmdCtx, &runningCtx, nil, false, false) if err != nil { return nil, cobra.ShellCompDirectiveNoFileComp } diff --git a/cli/cmd/check.go b/cli/cmd/check.go index 26d0727c6..4a863b965 100644 --- a/cli/cmd/check.go +++ b/cli/cmd/check.go @@ -32,7 +32,7 @@ func internalCheckModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadAll) + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, true, true) if err != nil { return err } diff --git a/cli/cmd/clean.go b/cli/cmd/clean.go index 6ca851335..f66f65bae 100644 --- a/cli/cmd/clean.go +++ b/cli/cmd/clean.go @@ -104,7 +104,7 @@ func internalCleanModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadIgnoreErrors) + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, false, false) if err != nil { return err } diff --git a/cli/cmd/cluster.go b/cli/cmd/cluster.go index b6d37e4bd..1c637a79a 100644 --- a/cli/cmd/cluster.go +++ b/cli/cmd/cluster.go @@ -673,8 +673,7 @@ func parseAppStr(cmdCtx *cmdcontext.CmdCtx, appStr string) (string, string, stri // Fill context for the entire application. // publish app:inst can work even if the `inst` instance doesn't exist right now. var runningCtx running.RunningCtx - err := running.FillCtx( - cliOpts, cmdCtx, &runningCtx, []string{appName}, running.ConfigLoadSkip) + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, []string{appName}, false, false) if err != nil { return "", "", "", err } diff --git a/cli/cmd/connect.go b/cli/cmd/connect.go index 3ef3e83e0..50b9b4df9 100644 --- a/cli/cmd/connect.go +++ b/cli/cmd/connect.go @@ -138,8 +138,8 @@ func resolveConnectOpts(cmdCtx *cmdcontext.CmdCtx, cliOpts *config.CliOpts, // FillCtx returns error if no instances found. var runningCtx running.RunningCtx - if fillErr := running.FillCtx( - cliOpts, cmdCtx, &runningCtx, []string{target}, running.ConfigLoadAll); fillErr == nil { + fillErr := running.FillCtx(cliOpts, cmdCtx, &runningCtx, []string{target}, true, false) + if fillErr == nil { if len(runningCtx.Instances) > 1 { err = fmt.Errorf("specify instance name") return diff --git a/cli/cmd/internal/completion.go b/cli/cmd/internal/completion.go index 0fbfc6dc6..c4258b4ee 100644 --- a/cli/cmd/internal/completion.go +++ b/cli/cmd/internal/completion.go @@ -26,8 +26,7 @@ func ValidArgsFunction( directive = cobra.ShellCompDirectiveNoFileComp var runningCtx running.RunningCtx - if err := running.FillCtx( - cliOpts, cmdCtx, &runningCtx, nil, running.ConfigLoadSkip); err != nil { + if err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, nil, false, false); err != nil { return } diff --git a/cli/cmd/kill.go b/cli/cmd/kill.go index 72dafd7ad..1e24a3e3b 100644 --- a/cli/cmd/kill.go +++ b/cli/cmd/kill.go @@ -79,7 +79,7 @@ func internalKillModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { if confirm { var runningCtx running.RunningCtx if err = running.FillCtx( - cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadSkip); err != nil { + cliOpts, cmdCtx, &runningCtx, args, false, false); err != nil { return err } diff --git a/cli/cmd/log.go b/cli/cmd/log.go index 2c759d721..cd6117f2e 100644 --- a/cli/cmd/log.go +++ b/cli/cmd/log.go @@ -133,7 +133,7 @@ func internalLogModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var err error var runningCtx running.RunningCtx - err = running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadAll) + err = running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, true, false) if err != nil { return err } diff --git a/cli/cmd/logrotate.go b/cli/cmd/logrotate.go index 567fa54b4..d1bd2a87f 100644 --- a/cli/cmd/logrotate.go +++ b/cli/cmd/logrotate.go @@ -42,7 +42,7 @@ func internalLogrotateModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadIgnoreErrors) + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, false, false) if err != nil { return err } diff --git a/cli/cmd/play.go b/cli/cmd/play.go index 0f48477ef..1cfcc7a7b 100644 --- a/cli/cmd/play.go +++ b/cli/cmd/play.go @@ -99,7 +99,7 @@ func internalPlayModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { // FillCtx returns error if no instances found. var runningCtx running.RunningCtx err := running.FillCtx( - cliOpts, cmdCtx, &runningCtx, []string{args[0]}, running.ConfigLoadAll) + cliOpts, cmdCtx, &runningCtx, []string{args[0]}, true, true) if err == nil { if len(runningCtx.Instances) > 1 { return util.InternalError( diff --git a/cli/cmd/replicaset.go b/cli/cmd/replicaset.go index a7d206083..5b3e0c9a9 100644 --- a/cli/cmd/replicaset.go +++ b/cli/cmd/replicaset.go @@ -475,7 +475,7 @@ type replicasetCtx struct { // replicasetFillCtx fills the replicaset command context. func replicasetFillCtx(cmdCtx *cmdcontext.CmdCtx, ctx *replicasetCtx, target string, - isRunningCtxRequired bool, loadConfig running.ConfigLoad) error { + isRunningCtxRequired bool, configRequired bool, scriptRequired bool) error { var err error ctx.Orchestrator, err = getOrchestrator() if err != nil { @@ -491,9 +491,9 @@ func replicasetFillCtx(cmdCtx *cmdcontext.CmdCtx, ctx *replicasetCtx, target str SslCiphers: replicasetSslCiphers, } var connOpts connector.ConnectOpts - - if err := running.FillCtx( - cliOpts, cmdCtx, &ctx.RunningCtx, []string{target}, loadConfig); err == nil { + err = running.FillCtx(cliOpts, cmdCtx, &ctx.RunningCtx, []string{target}, + configRequired, scriptRequired) + if err == nil { ctx.IsApplication = true if len(ctx.RunningCtx.Instances) == 1 { if connectCtx.Username != "" || connectCtx.Password != "" { @@ -515,7 +515,7 @@ func replicasetFillCtx(cmdCtx *cmdcontext.CmdCtx, ctx *replicasetCtx, target str // Re-fill context for an application. ctx.InstName = instName err := running.FillCtx( - cliOpts, cmdCtx, &ctx.RunningCtx, []string{appName}, loadConfig) + cliOpts, cmdCtx, &ctx.RunningCtx, []string{appName}, true, true) if err != nil { // Should not happen. return err @@ -573,7 +573,7 @@ func replicasetFillCtx(cmdCtx *cmdcontext.CmdCtx, ctx *replicasetCtx, target str // internalReplicasetUpgradeModule is a "upgrade" command for the replicaset module. func internalReplicasetUpgradeModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } if ctx.IsInstanceConnect { @@ -608,7 +608,7 @@ func internalReplicasetDowngradeModule(cmdCtx *cmdcontext.CmdCtx, args []string) downgradeVersion := args[1] var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } if ctx.IsInstanceConnect { @@ -641,7 +641,7 @@ func internalReplicasetDowngradeModule(cmdCtx *cmdcontext.CmdCtx, args []string) // internalReplicasetPromoteModule is a "promote" command for the replicaset module. func internalReplicasetPromoteModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } if !ctx.IsInstanceConnect { @@ -671,7 +671,7 @@ func internalReplicasetPromoteModule(cmdCtx *cmdcontext.CmdCtx, args []string) e // internalReplicasetDemoteModule is a "demote" command for the replicaset module. func internalReplicasetDemoteModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, true, true); err != nil { return err } if !ctx.IsApplication { @@ -703,8 +703,7 @@ func internalReplicasetDemoteModule(cmdCtx *cmdcontext.CmdCtx, args []string) er // internalReplicasetStatusModule is a "status" command for the replicaset module. func internalReplicasetStatusModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx( - cmdCtx, &ctx, args[0], false, running.ConfigLoadIgnoreErrors); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, false, false); err != nil { return err } if ctx.IsInstanceConnect { @@ -724,7 +723,7 @@ func internalReplicasetExpelModule(cmdCtx *cmdcontext.CmdCtx, args []string) err return fmt.Errorf("the command expects argument application_name:instance_name") } var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, true, true); err != nil { return err } if ctx.IsInstanceConnect { @@ -751,7 +750,7 @@ func internalReplicasetExpelModule(cmdCtx *cmdcontext.CmdCtx, args []string) err // the "replicaset vshard" module. func internalReplicasetBootstrapVShardModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } if ctx.IsInstanceConnect { @@ -778,7 +777,7 @@ func internalReplicasetBootstrapModule(cmdCtx *cmdcontext.CmdCtx, args []string) _, instName, found := strings.Cut(args[0], string(running.InstanceDelimiter)) var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], true, true, true); err != nil { return err } if ctx.IsInstanceConnect { @@ -840,7 +839,7 @@ func internalReplicasetRebootstrapModule(cmdCtx *cmdcontext.CmdCtx, args []strin // internalReplicasetRolesAddModule is a "roles add" command for the replicaset module. func internalReplicasetRolesAddModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } defer ctx.Conn.Close() @@ -883,7 +882,7 @@ func internalReplicasetRolesAddModule(cmdCtx *cmdcontext.CmdCtx, args []string) // internalReplicasetRolesRemoveModule is a "roles remove" command for the replicaset module. func internalReplicasetRolesRemoveModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { var ctx replicasetCtx - if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, running.ConfigLoadAll); err != nil { + if err := replicasetFillCtx(cmdCtx, &ctx, args[0], false, true, true); err != nil { return err } defer ctx.Conn.Close() diff --git a/cli/cmd/start.go b/cli/cmd/start.go index 2984e3d0f..216fb5d63 100644 --- a/cli/cmd/start.go +++ b/cli/cmd/start.go @@ -127,7 +127,7 @@ func internalStartModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadAll) + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, true, false) if err != nil { return err } diff --git a/cli/cmd/status.go b/cli/cmd/status.go index 79fcb8dde..f67063b2f 100644 --- a/cli/cmd/status.go +++ b/cli/cmd/status.go @@ -62,11 +62,11 @@ func internalStatusModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - if err := running.FillCtx( - cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadIgnoreErrors); err != nil { + err := running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, false, false) + if err != nil { return err } - err := status.Status(runningCtx, opts) + err = status.Status(runningCtx, opts) return err } diff --git a/cli/cmd/stop.go b/cli/cmd/stop.go index 0a1b754db..5d7ef4702 100644 --- a/cli/cmd/stop.go +++ b/cli/cmd/stop.go @@ -79,8 +79,7 @@ func internalStopModule(cmdCtx *cmdcontext.CmdCtx, args []string) error { } var runningCtx running.RunningCtx - var err error = running.FillCtx( - cliOpts, cmdCtx, &runningCtx, args, running.ConfigLoadSkip) + var err error = running.FillCtx(cliOpts, cmdCtx, &runningCtx, args, false, false) if err != nil { return err } diff --git a/cli/instances/list.go b/cli/instances/list.go index 291f15ba4..f0be59bd1 100644 --- a/cli/instances/list.go +++ b/cli/instances/list.go @@ -31,7 +31,7 @@ func ListInstances(cmdCtx *cmdcontext.CmdCtx, cliOpts *config.CliOpts) error { fmt.Printf("instances enabled directory: %s\n", cliOpts.Env.InstancesEnabled) applications, err := running.CollectInstancesForApps(appList, cliOpts, cmdCtx.Cli.ConfigDir, - cmdCtx.Integrity, running.ConfigLoadSkip) + cmdCtx.Integrity, false, false) if err != nil { return err } diff --git a/cli/pack/opts.go b/cli/pack/opts.go index d2e922120..12d42eb98 100644 --- a/cli/pack/opts.go +++ b/cli/pack/opts.go @@ -49,7 +49,7 @@ func initAppsInfo(cliOpts *config.CliOpts, cmdCtx *cmdcontext.CmdCtx, packCtx *P } packCtx.AppList = appList packCtx.AppsInfo, err = running.CollectInstancesForApps(packCtx.AppList, cliOpts, - cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, running.ConfigLoadSkip) + cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, false, false) if err != nil { return fmt.Errorf("failed to collect applications info: %s", err) } diff --git a/cli/replicaset/rebootstrap.go b/cli/replicaset/rebootstrap.go index c55437150..aee24ca17 100644 --- a/cli/replicaset/rebootstrap.go +++ b/cli/replicaset/rebootstrap.go @@ -60,7 +60,7 @@ func cleanDataFiles(instCtx running.InstanceCtx) error { // and starting it again. func Rebootstrap(cmdCtx cmdcontext.CmdCtx, cliOpts config.CliOpts, rbCtx RebootstrapCtx) error { apps, err := running.CollectInstancesForApps([]string{rbCtx.AppName}, &cliOpts, - cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, running.ConfigLoadAll) + cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, true, true) if err != nil { return fmt.Errorf("cannot collect application instances info: %s", err) } diff --git a/cli/running/running.go b/cli/running/running.go index e8b623439..5173451bb 100644 --- a/cli/running/running.go +++ b/cli/running/running.go @@ -126,19 +126,6 @@ type providerImpl struct { instanceCtx *InstanceCtx } -type ConfigLoad int - -const ( - // Skip loading of instances scripts and cluster config. - ConfigLoadSkip ConfigLoad = iota - // Ignore errors at cluster config or instance script loading. - ConfigLoadIgnoreErrors - // Load only instances scripts. - ConfigLoadScripts - // Load instances scripts and cluster config, trigger an errors if not. - ConfigLoadAll -) - // GetAppPath return application path for the instance. It is a script file path in case of // single instance file-only app, or directory in case of directory-based application. func GetAppPath(instance InstanceCtx) string { @@ -166,7 +153,7 @@ func (provider *providerImpl) updateCtx() error { var runningCtx RunningCtx if err = FillCtx( - cliOpts, provider.cmdCtx, &runningCtx, args, ConfigLoadAll); err != nil { + cliOpts, provider.cmdCtx, &runningCtx, args, false, false); err != nil { return err } provider.instanceCtx = &runningCtx.Instances[0] @@ -362,7 +349,7 @@ func loadInstanceConfig(configPath, instName string, // collectInstancesFromAppDir collects instances information from application directory. func collectInstancesFromAppDir(appDir string, selectedInstName string, - integrityCtx integrity.IntegrityCtx, loadConfig ConfigLoad) ( + integrityCtx integrity.IntegrityCtx, configRequired bool, scriptRequired bool) ( []InstanceCtx, error, ) { @@ -390,7 +377,7 @@ func collectInstancesFromAppDir(appDir string, selectedInstName string, InstName: filepath.Base(appDir), AppDir: appDir, SingleApp: true}}, nil - } else if loadConfig == ConfigLoadScripts || loadConfig == ConfigLoadAll { + } else if scriptRequired { return nil, fmt.Errorf("require files are missing in application directory %q: "+ "there must be instances config or the default instance script (%q)", appDir, "init.lua") @@ -423,22 +410,21 @@ func collectInstancesFromAppDir(appDir string, selectedInstName string, } log.Debugf("Instance %q", instance.InstName) - if loadConfig != ConfigLoadSkip { - instance.Configuration, err = loadInstanceConfig(instance.ClusterConfigPath, - instance.InstName, integrityCtx) - if err != nil && loadConfig != ConfigLoadIgnoreErrors { - return instances, fmt.Errorf("error loading instance %q configuration from "+ - "config %q: %w", instance.InstName, instance.ClusterConfigPath, err) - } + instance.Configuration, err = loadInstanceConfig(instance.ClusterConfigPath, + instance.InstName, integrityCtx) + if err != nil && configRequired { + return instances, fmt.Errorf("error loading instance %q configuration from "+ + "config %q: %w", instance.InstName, instance.ClusterConfigPath, err) + } - instance.SingleApp = false - instance.InstanceScript, err = findInstanceScriptInAppDir(appDir, instance.InstName, - appDirFiles.clusterCfgPath, appDirFiles.defaultLuaPath) - if err != nil && loadConfig != ConfigLoadIgnoreErrors { - return instances, fmt.Errorf("cannot find instance script for %q in config %q: %w ", - instance.InstName, appDirFiles.clusterCfgPath, err) - } + instance.SingleApp = false + instance.InstanceScript, err = findInstanceScriptInAppDir(appDir, instance.InstName, + appDirFiles.clusterCfgPath, appDirFiles.defaultLuaPath) + if err != nil && scriptRequired { + return instances, fmt.Errorf("cannot find instance script for %q in config %q: %w ", + instance.InstName, appDirFiles.clusterCfgPath, err) } + instances = append(instances, instance) } @@ -451,7 +437,7 @@ func collectInstancesFromAppDir(appDir string, selectedInstName string, // CollectInstances searches all instances available in application. func CollectInstances(appName string, applicationsDir string, - integrityCtx integrity.IntegrityCtx, loadConfig ConfigLoad) ( + integrityCtx integrity.IntegrityCtx, configRequired bool, scriptRequired bool) ( []InstanceCtx, error, ) { // The user can select a specific instance from the application. @@ -482,7 +468,7 @@ func CollectInstances(appName string, applicationsDir string, } return collectInstancesFromAppDir(appDir, selectedInstName, integrityCtx, - loadConfig) + configRequired, scriptRequired) } // cleanup removes runtime artifacts. @@ -644,7 +630,8 @@ func GetClusterConfigPath(cliOpts *config.CliOpts, // CollectInstancesForApps collects instances information per application. func CollectInstancesForApps(appList []string, cliOpts *config.CliOpts, - ttConfigDir string, integrityCtx integrity.IntegrityCtx, loadConfig ConfigLoad) ( + ttConfigDir string, integrityCtx integrity.IntegrityCtx, configRequired bool, + scriptRequired bool) ( map[string][]InstanceCtx, error) { instEnabledPath := cliOpts.Env.InstancesEnabled if cliOpts.Env.InstancesEnabled == "." { @@ -654,7 +641,7 @@ func CollectInstancesForApps(appList []string, cliOpts *config.CliOpts, for _, appName := range appList { appName = strings.TrimSuffix(appName, ".lua") collectedInstances, err := CollectInstances(appName, instEnabledPath, integrityCtx, - loadConfig) + configRequired, scriptRequired) if err != nil { return apps, fmt.Errorf("can't collect instance information for %s: %w", appName, err) @@ -695,7 +682,7 @@ func createInstanceDataDirectories(instance InstanceCtx) error { // FillCtx fills the RunningCtx context. func FillCtx(cliOpts *config.CliOpts, cmdCtx *cmdcontext.CmdCtx, - runningCtx *RunningCtx, args []string, loadConfig ConfigLoad) error { + runningCtx *RunningCtx, args []string, configRequired bool, scriptRequired bool) error { var err error if len(args) > 1 && cmdCtx.CommandName != "run" && cmdCtx.CommandName != "connect" && @@ -722,7 +709,7 @@ func FillCtx(cliOpts *config.CliOpts, cmdCtx *cmdcontext.CmdCtx, } instances, err := CollectInstancesForApps(appList, cliOpts, - cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, loadConfig) + cmdCtx.Cli.ConfigDir, cmdCtx.Integrity, configRequired, scriptRequired) if err != nil { return err } diff --git a/cli/running/running_test.go b/cli/running/running_test.go index ee2cf6c63..32a5110f3 100644 --- a/cli/running/running_test.go +++ b/cli/running/running_test.go @@ -35,7 +35,7 @@ func Test_CollectInstances(t *testing.T) { instances, err := CollectInstances("script", instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Equal(t, 1, len(instances)) require.Equal(t, InstanceCtx{ @@ -50,7 +50,7 @@ func Test_CollectInstances(t *testing.T) { instances, err = CollectInstances("single_inst", instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Equal(t, 1, len(instances)) require.Equal(t, InstanceCtx{ @@ -67,7 +67,7 @@ func Test_CollectInstances(t *testing.T) { instances, err = CollectInstances(appName, instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Equal(t, 3, len(instances)) assert.True(t, slices.Contains(instances, InstanceCtx{ @@ -103,7 +103,7 @@ func Test_CollectInstances(t *testing.T) { instances, err = CollectInstances("script", instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) assert.ErrorContains(t, err, "script\" doesn't exist or not a directory") assert.Equal(t, 0, len(instances)) @@ -113,7 +113,7 @@ func Test_CollectInstances(t *testing.T) { instances, err = CollectInstances("script", instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) assert.NoError(t, err) assert.Equal(t, 1, len(instances)) @@ -121,7 +121,7 @@ func Test_CollectInstances(t *testing.T) { instances, err = CollectInstances("script", instancesEnabledPath, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) assert.ErrorContains(t, err, "script.lua: permission denied") assert.Equal(t, 1, len(instances)) require.NoError(t, os.Chmod(instancesEnabledPath, 0755)) @@ -189,7 +189,7 @@ func Test_collectInstancesForApps(t *testing.T) { instances, err := CollectInstancesForApps(apps, cliOpts, "/etc/tarantool/", integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Contains(t, instances, appName) @@ -316,7 +316,7 @@ func Test_collectInstancesForSingleInstApp(t *testing.T) { instances, err := CollectInstancesForApps(apps, cliOpts, "/etc/tarantool/", integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Equal(t, 1, len(instances)) require.Contains(t, instances, appName) @@ -347,7 +347,7 @@ func Test_collectInstancesSingleInstanceTntCtlLayout(t *testing.T) { instances, err := CollectInstancesForApps(apps, cliOpts, cfgDir, integrity.IntegrityCtx{ Repository: &mockRepository{}, - }, ConfigLoadAll) + }, true, true) require.NoError(t, err) require.Len(t, instances, 1) require.Contains(t, instances, appName)