diff --git a/cli/sfconfig/cmd/dev/run.go b/cli/sfconfig/cmd/dev/run.go index 6ec0f141..742f7434 100644 --- a/cli/sfconfig/cmd/dev/run.go +++ b/cli/sfconfig/cmd/dev/run.go @@ -35,14 +35,17 @@ var DevCmd = &cobra.Command{ var DevPrepareCmd = &cobra.Command{ Use: "prepare", Short: "prepare dev environment", - Run: func(cmd *cobra.Command, args []string) { Run() }, + Run: func(cmd *cobra.Command, args []string) { Run(cmd) }, } func init() { + var installPrometheus bool + DevPrepareCmd.Flags().BoolVar(&installPrometheus, "with-prometheus", false, "Add this flag to spin a prometheus instance as well") DevCmd.AddCommand(DevPrepareCmd) } -func Run() { +func Run(cmd *cobra.Command) { + withPrometheus, _ := cmd.Flags().GetBool("with-prometheus") ctrl.SetLogger(zap.New(zap.UseFlagOptions(&zap.Options{Development: true}))) sfconfig := config.GetSFConfigOrDie() fmt.Println("sfconfig started with: ", sfconfig) @@ -59,10 +62,13 @@ func Run() { EnsureNamespaces(&env) EnsureMicroshiftWorkarounds(&env) EnsureCertManager(&env) + // the Prometheus Operator is a dependency of the SF Operator so we must install it regardless of the --with-prometheus flag EnsurePrometheusOperator(&env) gerrit.EnsureGerrit(&env, sfconfig.FQDN) EnsureGerritAccess(sfconfig.FQDN) - sfprometheus.EnsurePrometheus(&env, sfconfig.FQDN, false) + if withPrometheus { + sfprometheus.EnsurePrometheus(&env, sfconfig.FQDN, false) + } EnsureDemoConfig(&env, &sfconfig) nodepool.CreateNamespaceForNodepool(&env, "", "nodepool", "") EnsureCRD() diff --git a/roles/run-tests/defaults/main.yaml b/roles/run-tests/defaults/main.yaml index 91ae9f48..a370aca9 100644 --- a/roles/run-tests/defaults/main.yaml +++ b/roles/run-tests/defaults/main.yaml @@ -1,2 +1,3 @@ --- microshift_host: "microshift.dev" +test_monitoring: false diff --git a/roles/run-tests/tasks/main.yaml b/roles/run-tests/tasks/main.yaml index e17c3481..c285c409 100644 --- a/roles/run-tests/tasks/main.yaml +++ b/roles/run-tests/tasks/main.yaml @@ -39,6 +39,7 @@ when: "{{ mode == 'olm' }}" - name: zuul-client-api - name: test-monitoring + when: "{{ test_monitoring == 'true' }}" - name: zuul-components - name: test-log-forwarding loop_control: diff --git a/roles/sfconfig-dev-prepare/tasks/main.yaml b/roles/sfconfig-dev-prepare/tasks/main.yaml index c5919786..ecaa7025 100644 --- a/roles/sfconfig-dev-prepare/tasks/main.yaml +++ b/roles/sfconfig-dev-prepare/tasks/main.yaml @@ -1,5 +1,8 @@ --- +- set_fact: + with_prometheus_flag: "{{ '--with-prometheus' if test_monitoring == 'true' else '' }}" + - name: Run the sfconfig dev prepare - command: "tools/sfconfig dev prepare" + command: "tools/sfconfig dev prepare {{ with_prometheus_flag }}" args: chdir: "{{ zuul.project.src_dir }}" diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index cb2a478b..581ef771 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -39,6 +39,7 @@ - 199.204.44.24 - 199.204.47.54 inject_dev_ssh_keys: true + test_monitoring: "false" - job: name: sf-operator-multinode