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
