Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-9139

Use composing containerizer by default in tests.

    XMLWordPrintableJSON

    Details

      Description

      If we assign "docker,mesos" to the `containerizers` flag for an agent, then ComposingContainerizer will be used for many tests that do not specify containerizers flag. That's the goal of this task.

      I tried to do that by adding flags.containerizers = "docker,mesos", but it turned out that some tests are started to hang due to a paused clocks, while docker c'zer and docker library use libprocess clocks.

      After setting composing c'zer by default, some tests (e.g. AgentAPITest.AttachContainerInputValidation) started to hang due to a paused clocks and the use of clock-dependent methods, like await(), delay(), etc. by the docker library.

      It hangs in Docker::validateVersion(), which is called from Docker::create(). After I added Clock::resume() before calling version.await(DOCKER_VERSION_WAIT_TIMEOUT), tests have started to hang due to the hanging docker recovery: docker c'zer launches docker ps -a subprocess and subscribes for its termination. As a reaper process uses delay(), this leads to a hanging recovery process for the docker c'zer.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                alexr Alex R
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: