Il giorno 16/ago/2013 09:27, "Thomas Thrainer" <[email protected]> ha
scritto:
>
> Hi,
>
> It looks as if QA is broken with this patch. Did you try to run it on
your test cluster? I assume the problem has something do to with the
configuration being parsed in Python and Haskell as well.
> I assumed (based on git blame) that you introduced the VALUE_HS_NOTHING
constant, but if Michele knows more about this, feel free to assign the bug
to him and then lets see next week why this was done.

I introduced VALUE_HS_NOTHING because of Haskell/python serialization
issues, as you guessed, and it was done to fix some QA test failing.
Unfortunately from here I cannot give more details as I don't have access
to the source code.

Cheers,
Michele

>
> Cheers,
> Thomas
>
>
> On Wed, Aug 14, 2013 at 9:34 PM, Jose A. Lopes <[email protected]>
wrote:
>>
>> From: "Jose A. Lopes" <[email protected]>
>>
>> Fix 'NICC_DEFAULTS' to use 'None' instead of 'VALUE_HS_NOTHING' since
>> that is the value expected by the opcodes, and add 2 tests to ensure
>> 'NICC_DEFAULTS' is a valid default value for the 'nicparams' parameter
>> of 'ClusterSetParams' opcode.
>>
>> Signed-off-by: Jose A. Lopes <[email protected]>
>> ---
>>
>> This patch SHOULD fix issue 552, but I couldn't run QA because master
>> is broken (see my previous email). Maybe I need to install something
>> and if so please let me know and I will run QA and resubmit the patch.
>>
>> In any case, this patch replace the use of 'VALUE_HS_NOTHING' with
>> 'None'. It seems that Michele created 'VALUE_HS_NOTHING' to represent
>> the value 'Nothing' from Haskell.  However, opcodes use 'None' to
>> represent that value. Therefore, we should ask Michele if
>> 'VALUE_HS_NOTHING' is strictly necessary for some other reason, or
>> otherwise it can be completely replaced by 'None'.
>>
>>  lib/constants.py                   | 2 +-
>>  test/py/cmdlib/cluster_unittest.py | 5 +++++
>>  test/py/ganeti.opcodes_unittest.py | 5 +++++
>>  3 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/constants.py b/lib/constants.py
>> index 84b5fac..6e81c7e 100644
>> --- a/lib/constants.py
>> +++ b/lib/constants.py
>> @@ -2286,7 +2286,7 @@ del _LV_DEFAULTS, _DRBD_DEFAULTS
>>  NICC_DEFAULTS = {
>>    NIC_MODE: NIC_MODE_BRIDGED,
>>    NIC_LINK: DEFAULT_BRIDGE,
>> -  NIC_VLAN: VALUE_HS_NOTHING,
>> +  NIC_VLAN: None,
>>    }
>>
>>  # All of the following values are quite arbitrarily - there are no
>> diff --git a/test/py/cmdlib/cluster_unittest.py
b/test/py/cmdlib/cluster_unittest.py
>> index 55676c6..6809384 100644
>> --- a/test/py/cmdlib/cluster_unittest.py
>> +++ b/test/py/cmdlib/cluster_unittest.py
>> @@ -611,6 +611,11 @@ class TestLUClusterSetParams(CmdlibTestCase):
>>      op = opcodes.OpClusterSetParams(nicparams=nicparams)
>>      self.ExecOpCode(op)
>>
>> +  def testNicparamsNiccDefaults(self):
>> +    nicparams = objects.FillDict(constants.NICC_DEFAULTS, {})
>> +    op = opcodes.OpClusterSetParams(nicparams=nicparams)
>> +    self.ExecOpCode(op)
>> +
>>    def testDefaultHvparams(self):
>>      hvparams = constants.HVC_DEFAULTS
>>      op = opcodes.OpClusterSetParams(hvparams=hvparams)
>> diff --git a/test/py/ganeti.opcodes_unittest.py b/test/py/
ganeti.opcodes_unittest.py
>> index 63658c3..fb65466 100755
>> --- a/test/py/ganeti.opcodes_unittest.py
>> +++ b/test/py/ganeti.opcodes_unittest.py
>> @@ -404,5 +404,10 @@ class TestOpInstanceSetParams(unittest.TestCase):
>>        self.assertTrue(fn([[constants.DDM_ADD, {param: param}]]))
>>
>>
>> +class TestOpClusterSetParams(unittest.TestCase):
>> +  def testNicparamsDefaults(self):
>> +    self.assertTrue(ht.TINicParams(constants.NICC_DEFAULTS))
>> +
>> +
>>  if __name__ == "__main__":
>>    testutils.GanetiTestProgram()
>> --
>> 1.8.3
>>
>
>
>
> --
> Thomas Thrainer | 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