Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-13992

Errors in crc script cause jaeger-operator to crash and prevent install of remaining addons

    XMLWordPrintable

Details

    • Bug
    • Status: Done
    • Major
    • Resolution: Done
    • fuse-7.7-GA
    • fuse-7.8-GA
    • Fuse Online
    • None

    Description

      The `syndesis crc` script contains a couple of errors which prevent correct installation of fuse-online and its addons. The result is that although the jaeger addon is installed, it crashes resulting in other addons not being installed (see here.

      The script has the following problems:

      1. The check_error function does not correctly check for error messages prefixed with the word "error" but only with "ERROR". As such any such errors are swallowed and the script continues;
      2. The script cannot be run unless the logged-in user is a cluster-admin since the CRDs can only be installed by a user with that role;
      3. The grant command is not executed by the script (since it was assumed to be run as cluster-admin). This means that the jaeger role permissions are never applied to the syndesis-operator service account, leading to this error:
        {"level":"error","ts":1591262966.0492928,"logger":"controller","msg":"Error reconciling","action":"*action.installAction","phase":"Installing","error":"jaegers.jaegertracing.io \"syndesis-jaeger\" is forbidden: User \"system:serviceaccount:syndesis:syndesis-operator\" cannot get resource \"jaegers\" in API group \"jaegertracing.io\" in the namespace \"syndesis\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/syndesisio/syndesis/install/operator/pkg/controller/syndesis.(*ReconcileSyndesis).Reconcile\n\tsrc/github.com/syndesisio/syndesis/install/operator/pkg/controller/syndesis/syndesis_controller.go:124\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:256\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\tsrc/github.com/syndesisio/syndesis/install/operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88"}
        

      The culmination of these errors results in the jaeger addon throwing the error. The fail-fast nature of the syndesis-operator means that this error stops any further installation of the remaining addon resources. This can be observed here. An improvement would suggest that although fail-fast is fine for the core components, the addons perhaps should be treated as independant artefacts and an error in one should not cause a failure to install in another.

      Attachments

        Issue Links

          Activity

            People

              parichar@redhat.com Paul Richardson
              parichar@redhat.com Paul Richardson
              Matej Kralik Matej Kralik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: