LGTM, thanks
On Tue, Jan 28, 2014 at 2:06 PM, Klaus Aehlig <[email protected]> wrote: > > > commit 8caf233edf977766cbfa9eb1dae08d55e3f0887f > Merge: b75430d e10c4a6 > Author: Klaus Aehlig <[email protected]> > Date: Tue Jan 28 13:16:18 2014 +0100 > > Merge branch 'stable-2.10' into stable-2.11 > > * stable-2.10 > Enable network tags in Haskell code > Haskell style: explicit errors, visible in the type > Clarify spacing in record syntax > Improve the point-free section of the style guide > Add code style document to documentation > Export docs from wiki to repo > Run drbdsetup syncer only on network attach > Include target node in hooks nodes for migration > Fix configure dirs > Docs: Update the version of ganeti-instance-debootstrap > > * stable-2.9 > Revision bump for 2.9.3 > Schedule 2.9.3 release > Document fix of issue 691 in NEWS > NEWS: fix typo in 2.8.4 release > Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors > Add missing option to gnt-instance documentation > Update NEWS file > Fix disk_type error in hypervisor parameter documentation > Update NEWS file: issue 687 and configure fix > luxid: fix detection of master node in node query > query: fix detection of master in _GetNodeRole() > Break line longer than 80 chars in configure.ac > Technical writing: improve documentation and glossary > configure: allow detection of Sphinx 1.2+ > Remove deprecated _ERROR_DATA_KEY in QMP > Technical writing: improve main documentation page > Update the NEWS file with the Issue 640 fix > Ensure that all the hypervisors exist in the config file > Fix testEncodeInstance test input > > * stable-2.8 > Version bump for 2.8.4 and NEWS update > Update NEWS file with news about job cancellation bugfix > Fix QA flakiness > Linting fix: remove unused import > Add missing parameter entry to man file > Add QA test for job cancellation > Add correct locking of master node to gnt-debug delay > Add job id type assert to jqueue.py > Add job id transformation/check to Luxi Python client > Start-master/stop-master always fail if confd is disabled > Improve backwards compatibility of Issue 649 fix > Add missing NEWS entries from stable-2.8 > Change usb_devices separator to whitespace > Add support for blktap2 file-driver > Update opcodes test to include network tags > Make network tags searchable > Add network tag tests to QA > Fix RAPI network tag handling > Fix gnt-network list-tags > > Conflicts: > doc/dev-codestyle.rst: take all additions > lib/luxi.py: take union of years in copyright statement > > Signed-off-by: Klaus Aehlig <[email protected]> > > diff --cc doc/index.rst > index ceded13,75f5621..6fc566f > --- a/doc/index.rst > +++ b/doc/index.rst > @@@ -115,9 -96,9 +97,10 @@@ Draft design > design-cmdlib-unittests.rst > design-cpu-pinning.rst > design-device-uuid-name.rst > + design-file-based-storage.rst > design-hroller.rst > design-hotplug.rst > + design-kvmd.rst > design-linuxha.rst > design-lu-generated-jobs.rst > design-monitoring-agent.rst > diff --cc lib/luxi.py > index 086df30,deaaddc..84d8516 > --- a/lib/luxi.py > +++ b/lib/luxi.py > @@@ -1,7 -1,7 +1,7 @@@ > # > # > > - # Copyright (C) 2006, 2007, 2011, 2012, 2013 Google Inc. > -# Copyright (C) 2006, 2007, 2011, 2012, 2014 Google Inc. > ++# Copyright (C) 2006, 2007, 2011, 2012, 2013, 2014 Google Inc. > # > # This program is free software; you can redistribute it and/or modify > # it under the terms of the GNU General Public License as published by > diff --cc qa/qa_network.py > index c0c854b,aac83d5..ffd069a > --- a/qa/qa_network.py > +++ b/qa/qa_network.py > @@@ -24,10 -24,9 +24,11 @@@ > """ > > import qa_config > + import qa_tags > import qa_utils > > +from ganeti import query > + > from qa_utils import AssertCommand > > > @@@ -70,9 -56,15 +71,17 @@@ def TestNetworkAddRemove() > AssertCommand(["gnt-network", "remove", network1]) > AssertCommand(["gnt-network", "remove", network2]) > > + TestNetworkList() > + > > + def TestNetworkTags(): > + """gnt-network tags""" > + (network, ) = GetNonexistentNetworks(1) > + AssertCommand(["gnt-network", "add", "--network", "192.0.2.0/30", > network]) > + qa_tags.TestNetworkTags(network) > + AssertCommand(["gnt-network", "remove", network]) > + > + > def TestNetworkConnect(): > """gnt-network connect/disconnect""" > (group1, ) = qa_utils.GetNonexistentGroups(1) > diff --cc src/Ganeti/Query/Server.hs > index 18bd8f0,ffc7ec5..f4c6eff > --- a/src/Ganeti/Query/Server.hs > +++ b/src/Ganeti/Query/Server.hs > @@@ -168,18 -155,16 +168,16 @@@ handleCall _ _ cdata QueryClusterInfo > Ok _ -> return . Ok . J.makeObj $ obj > Bad ex -> return $ Bad ex > > -handleCall cfg (QueryTags kind name) = do > +handleCall _ _ cfg (QueryTags kind name) = do > let tags = case kind of > TagKindCluster -> Ok . clusterTags $ configCluster cfg > - TagKindGroup -> groupTags <$> Config.getGroup cfg > name > - TagKindNode -> nodeTags <$> Config.getNode cfg > name > - TagKindInstance -> instTags <$> Config.getInstance cfg > name > - TagKindNetwork -> Bad $ OpPrereqError > - "Network tag is not allowed" > - ECodeInval > + TagKindGroup -> groupTags <$> Config.getGroup cfg > name > + TagKindNode -> nodeTags <$> Config.getNode cfg > name > + TagKindInstance -> instTags <$> Config.getInstance cfg > name > + TagKindNetwork -> networkTags <$> Config.getNetwork cfg > name > return (J.showJSON <$> tags) > > -handleCall cfg (Query qkind qfields qfilter) = do > +handleCall _ _ cfg (Query qkind qfields qfilter) = do > result <- query cfg True (Qlang.Query qkind qfields qfilter) > return $ J.showJSON <$> result > > > -- > Klaus Aehlig > Google Germany GmbH, Dienerstr. 12, 80331 Muenchen > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Geschaeftsfuehrer: Graham Law, Christine Elizabeth Flores > -- -- 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
