Fix RAPI custom parameter support for recreate-disks

The recreate-disks RAPI call previously ignored almost all parameters
passed to it, and this patch fixes the issue and adds tests.

Signed-off-by: Chris Schrier <schrierc@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

Cherry-picked from [d59dd394774a]

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Add iallocator arg to RAPI client RecreateInstanceDisks

This allows to change the iallocator when calling the function over
the RAPI interface.

Signed-off-by: Chris Schrier <schrierc@google.com>
Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Refactor functions for building the developent schroot

We want to avoid passing bash functions through the environment,
therefore refactor the functions to be run outside the schroot and
let them invoke commands in the schroot instead.

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Query.Language: Add "==", make "=" legacy

`man 7 ganeti` specifies that "==" is the comparison operator
for the Ganeti Query Language.

"==" has always been used in the CLI tools, but RAPI for some reason
used "=".

We switch to "==" as the default, and keep "=" as supported legacy.

Signed-off-by: Niklas Hambuechen <niklash@google.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Query.Language: Support "!="

It is specified in `man 7 ganeti`.

Ideally we would drop support for it and keep only "not (==)",
but Ganeti 2.10 supported "!=", so we keep it as supported legacy.

This only affects parsing "!="; the internal representation is "not (==)".

Signed-off-by: Niklas Hambuechen <niklash@google.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Tests: Add `case_filterParsing`

This also makes clear how legacy filter are supposed to be treated.

Signed-off-by: Niklas Hambuechen <niklash@google.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
Merge branch 'stable-2.12' into master

* stable-2.12
  Refactor functions for building the developent schroot
  Add iallocator arg to RAPI client RecreateInstanceDisks
  Fix RAPI custom parameter support for recreate-disks

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>
Enable haskell tests for distcheck

The full test suite also includes the haskell tests.
Hence enable them when running distcheck.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
Always distribute test/hs/htest.hs

If in the original configure, haskell-tests are disabled,
test/hs/htest.hs will not be a needed dependency, hence it
will not automatically end up in the distribution tar ball.
Add the file to EXTRA_DIST in this case.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>