Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Jenkins: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/
    • This is the admin for Hive builds.  The dashboard shows the state of build queue, test results of past builds, etc.  
    • Builds are submitted either manually in the dashboard UI, automatically by patch upload (See Hive PreCommit Testing), or by Jenkins schedule (branch builds).
  2. Hive Hive2 PTest WebServer
    • Exposes a REST API to take test request from the Jenkins builds.  Each request specifies a profile property-file, which contains a set of properties such as what branch to build, what tests to run.
    • On a test request:
      • Creates EC2 slaves, which are spot-instances.
      • Reads the specified property-file and compiles hive using it.
      • Distributes the compiled artifacts across the EC2 slaves, makes SSH calls to run the tests remotely in parallel, and gather the results.
      • If no further test request come in 30 minutes, the slaves are shutdown.

...

In /usr/local/hiveptest/public/ you can copy existing profile property-file, and update the branch property.  Then in Jenkins, copy an existing branch build, and in the build config modify the profile argument in the Hive Ptest2 Webserver call (it will be like: "java ... org.apache.hive.ptest.api.client.PTestClient --profile trunk-mr1") to point to the new profile.

How can I read or make changes to Hive

...

PTest2 Infra code?

Code is located in hive git repo.  It is under /hive/testutils/ptest2.  As the Hive Ptest2 Webserver is a running process, if changes are made, it needs to be restarted.

How do I stop, start, restart the Hive PTest2

...

WebServer, or have it use the latest test infra code?

No Format
$ sudo /usr/local/hiveptest/bin/stop-server.sh 
$ sudo /usr/local/hiveptest/bin/start-server.sh 
$ sudo /usr/local/hiveptest/bin/restart-server.sh 
$ sudo /usr/local/hiveptest/bin/update.sh