On Fri, Dec 20, 2013 at 11:27 AM, Helga Velroyen <[email protected]> wrote:

>
>
>
> On Fri, Dec 20, 2013 at 10:09 AM, Hrvoje Ribicic <[email protected]> wrote:
>
>> As query filtering was not a part of the previous workloads, this patch
>> adds a single example of its use.
>>
>> Signed-off-by: Hrvoje Ribicic <[email protected]>
>> ---
>>  qa/rapi-workload.py | 20 +++++++++++++++++++-
>>  1 file changed, 19 insertions(+), 1 deletion(-)
>>
>> diff --git a/qa/rapi-workload.py b/qa/rapi-workload.py
>> index 43d1940..dbbc8a8 100755
>> --- a/qa/rapi-workload.py
>> +++ b/qa/rapi-workload.py
>> @@ -241,6 +241,23 @@ def TestQueries(client, resource_name):
>>    client.Query(resource_name, fields)
>>
>>
>> +def TestQueryFiltering(client, master_name):
>> +  """ Performs queries by playing around with the only guaranteed
>> resource, the
>> +  master node.
>>
>
> Wouldn't it also make sense to test for a query that does not yield a
> result? Like for example filter for certain properties of instances while
> no instances are there?
>
>

Yes, that's a good point - somebody might be relying on behavior like that
and it could get rewarded with an error in later versions.
I will add a simple instance query to check for this as well in the coming
interdiff.


> +
>> +  @type client C{GanetiRapiClientWrapper}
>> +  @param client A wrapped RAPI client.
>> +  @type master_name string
>> +  @param master_name The hostname of the master node.
>> +
>> +  """
>> +  client.Query("node", ["name"],
>> +               ["|",
>> +                ["=", "name", master_name],
>> +                [">", "dtotal", 0.0],
>> +               ])
>> +
>> +
>>  def RemoveAllInstances(client):
>>    """ Queries for a list of instances, then removes them all.
>>
>> @@ -541,8 +558,9 @@ def Workload(client):
>>
>>    node = qa_config.AcquireNode(exclude=qa_config.GetMasterNode())
>>    TestNodeOperations(client, node.primary)
>> +  TestQueryFiltering(client, node.primary)
>>    node.Release()
>> -
>> +
>>    nodes = qa_config.AcquireManyNodes(2)
>>    TestGroupOperations(client, nodes[0].primary, nodes[1].primary)
>>    qa_config.ReleaseManyNodes(nodes)
>> --
>> 1.8.5.1
>>
>>
>
> LGTM, thanks
>
> --
> --
> Helga Velroyen | Software Engineer | [email protected] |
>
> Google Germany GmbH
> Dienerstr. 12
> 80331 München
>
> Registergericht und -nummer: Hamburg, HRB 86891
> Sitz der Gesellschaft: Hamburg
> Geschäftsführer: Graham Law, Christine Elizabeth Flores
>

Reply via email to