Zaqar/TestingDay/Liberty

Welcome
Welcome to Zaqar's Liberty Test Day

First and foremost, thanks for loading this page. It likely means you'll help out testing Zaqar, or, at the very least, you'll help us improving the page itself.

Before we even start testing Zaqar, it's important to clarify what Zaqar is. Therefore, I'd recommend you to Zaqar's wiki page and read the overview. If it isn't clear, please report it and feel good because you've already helped us testing the project.

Where should I report an issue?
We hangout on IRC, most of the time. You can find the required information here. The channel is very active and we love newcomers so, that'd be a good place for you to hangout on and to report the issues you find.

However, if you'd like to help even further and provide a more detailed report that we can track and love you more for, I'd suggest you to go to Zaqar's or Zaqarclient's launchpad trackers and file a bug there.

The bug will be triaged and fixed, promissed.

Shut up and take my time
Awesome, let's get to it.

The test day is about testing Zaqar live, manually, and hopefully without using `curl`. The idea is not to test Zaqar using `tox` but to install it, stress the APIs, use zaqarclient and make sure the service is stable and as bug-free as possible. Let's let our dear servant, Jenkins, to take care of `tox`.

The testing session will be devided in different groups. These groups represent a specific deployment method. As much as we'd like you to help testing all of them, we do realize you've a life and you probably want to go out and do something more exciting. Therefore, we'll be more than happy if you could get at least 1 of these tasks and help us testing it. However, if the day in your area is rainy and you've nothing better to do, please please please, take a couple of more. We'll give you more gummybears.

Software Requirements
Depending on the scenario you'd like to test, you'll need to install extra sfotware to be able to complete such task. Please, read below the instructions to install the tecnology you'll need for the secnario you've picked.

MongoDB
For mongodb, we'll defer the install instructions to the MongoDB documentation itself, since they know better. However, for this testing day, it's recommended to run `mongod` manually rather than using the system's scripts. This will give you more control over the binding settings, which we'll have to change to test some of the scenarios listed below.

Let's first create some temp dirs for mongodb's data:

To run `mongod` from the shell, you should execute (each on a dedicated shell):

Note that the instructions above require you to execute 2 mongod nodes. You might not use them both but, for the sake of making the instructions below simpler, it's requested to execute them all, regardless.

Redis
For the installation of Redis, the simple way is just following the official document, see http://redis.io/topics/quickstart. And then you can use cli or Redis Desktop Manager(http://redisdesktop.com/) to manage Redis database.

sqlalchemy
TBW

Testing Scenarios
Each test scenario comes with a config file that you can download and run Zaqar with. If you've followed a different path or configurations to install the storage engines, you'll need to modify these files accordingly.

With Pools
If you're reading this is, likely, because you've chosen to help us test Zaqar's pool functionality. If you're not familiar with how Zaqar's pools work, I'd recommend you to read this blog post. If you don't find it helpful enough, please, don't hesitate to ask. You know where to find us.

That said, the TL;DR of Zaqar pools is that they behave like storage shards and allow Zaqar's storage to be scaled out.

On a pooled environment, the same tests from a non-pooled one are required. However, it's necessary to prepare the environment for that. We need to create some pools first:

Without Pools
TBW