<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hey guys,<br>
    <br>
    I'd like to ask all of you interested in QA of what we are doing, to
    take a look at Container Testing Framework. There were some changes
    recently, but the major idea is still the same - to be able to
    simply combine multiple tests - features, steps.. living at multiple
    locations and run them against your project locally or remotely. <br>
    <br>
    There is also an ongoing effort to merge this (CTF) project and
    UATFramework [2] and then potentially rename the result to something
    like Common/Composite Testing Framework, add it to Container Best
    Practices [6] and move it under Project Atomic (if possible).<br>
    <br>
    Cheers,<br>
    Vašek<br>
    <div class="moz-forward-container"><br>
      <br>
      -------- Forwarded Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
            </th>
            <td>Containers Testing Framework - Proof of Concept</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
            <td>Mon, 27 Apr 2015 10:06:21 +0200</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
            <td>Tomas Hozza <a class="moz-txt-link-rfc2396E" href="mailto:thozza@redhat.com"><thozza@redhat.com></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
            <td><a class="moz-txt-link-abbreviated" href="mailto:appinfra-list@redhat.com">appinfra-list@redhat.com</a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">CC: </th>
            <td>Václav Pavlín <a class="moz-txt-link-rfc2396E" href="mailto:vpavlin@redhat.com"><vpavlin@redhat.com></a>, Vadim
              Rutkovsky <a class="moz-txt-link-rfc2396E" href="mailto:vrutkovs@redhat.com"><vrutkovs@redhat.com></a>, <a class="moz-txt-link-abbreviated" href="mailto:lzachar@redhat.com">lzachar@redhat.com</a>,
              <a class="moz-txt-link-abbreviated" href="mailto:langdon@redhat.com">langdon@redhat.com</a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>Hi all.

As part of "Red Hack week" we had in Platform BU in Brno, we created
a proof of concept of Containers Testing Framework.

The main motivation was:
- We will be building a lot of images, some of them are similar and
thus the testing will be partially similar.
- It would be handy to have a simple framework (and workflow) for
writing and running tests for containers.
- It would be good to reuse the code as much as possible and share
most of the test steps among the tests

During the last week we designed a simple workflow and PoC tool
for using the framework.

The framework is based on Behave [1] and inspired by UATFramework [2].
The main idea is to be able to combine already implemented Behave
Features and Steps into one working directory, and then execute
Behave in it. Behave then performs the tests on Dockerfile and image.
We want it to be able to perform the tests locally or in a remote
machine. Currently we use ansible for that, but it is not yet working
well. As I already mentioned, the whole framework and tool is PoC,
so this is expected. However we think the design is quite useful
and could be really helpful for testing containers.

Everything is available on GitHub [3] and you can find project
documentation and presentation with some nice pictures in the
internal google drive [4]

The current CLI tool [5] enables you to:
- run local project-specific Behave Features and Steps
- run just remote Behave Features and Steps on the local Dockerfile
- run Features and Steps as combination of the above two
- it enables one to use Steps implemented in remote repo in locally
defined Features

As an example we rewritten couple of existing tests for OpenShift
images into the Behave style for our framework.

Our next plan is to discuss the future of the containers testing
with AppInfra teams OpenShift and any other interested parties
to somehow standardize the containers testing in the community
and within Red Hat.

[1] <a class="moz-txt-link-freetext" href="http://pythonhosted.org/behave/">http://pythonhosted.org/behave/</a>
[2] <a class="moz-txt-link-freetext" href="https://github.com/aweiteka/UATFramework">https://github.com/aweiteka/UATFramework</a>
[3] <a class="moz-txt-link-freetext" href="https://github.com/Containers-Testing-Framework">https://github.com/Containers-Testing-Framework</a>
[4]
<a class="moz-txt-link-freetext" href="https://drive.google.com/a/redhat.com/folderview?id=0B0CTJuCyJVsSfkJuZWZMZG03QmhaeHFJaklhSFUzaWFFQV84ZHFOUWJWMkg4bWZOaXc5MDg&usp=sharing&usp=sharing#">https://drive.google.com/a/redhat.com/folderview?id=0B0CTJuCyJVsSfkJuZWZMZG03QmhaeHFJaklhSFUzaWFFQV84ZHFOUWJWMkg4bWZOaXc5MDg&usp=sharing&usp=sharing#</a>
[5] <a class="moz-txt-link-freetext" href="https://github.com/Containers-Testing-Framework/ctf-cli">https://github.com/Containers-Testing-Framework/ctf-cli</a>

Regards,
-- 
Tomas Hozza
Software Engineer - EMEA ENG Developer Experience

PGP: 1D9F3C2D
Red Hat Inc.                               <a class="moz-txt-link-freetext" href="http://cz.redhat.com">http://cz.redhat.com</a>
</pre>
      <br>
      [6] <a class="moz-txt-link-freetext" href="https://github.com/projectatomic/container-best-practices">https://github.com/projectatomic/container-best-practices</a><br>
      <br>
    </div>
    <br>
  </body>
</html>