Skip to content
Snippets Groups Projects
  1. Oct 23, 2012
  2. Oct 22, 2012
  3. Oct 19, 2012
  4. Oct 18, 2012
  5. Oct 17, 2012
    • Iustin Pop's avatar
      Generalise the Result type · 93be1ced
      Iustin Pop authored
      
      Currently, our error monad—Result—has a plain string error type. This
      is not good, as we don't have structured errors, we can't pass back
      proper error information to Python code, etc.
      
      To solve this, we generalise this type as 'GenericResult a', and make
      Result an alias to 'GenericResult String' for compatibility with the
      old code. New error hierarchies will be introduced as different
      types. Furthermore, we generalise our helper functions too, so that
      they can work on any 'GeneralInstance a' type, not only Result.
      
      There are two small drawbacks to this generalisation. First, a Monad
      instance requires (at least for the way we use it) a 'fail :: String
      -> m a' instance, so we need to be able to build an 'a' value from a
      string; therefore, we can implement the Monad instance only for a
      newly-introduced typeclass, 'FromString', which requires the needed
      conversion function. Second, due to the fact that 'String' is a type
      alias (for [Char]) instead of an actual type, we need to enable the
      FlexibleInstances language pragma; as far as I know, this has no
      significant drawbacks.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      93be1ced
    • Dato Simó's avatar
      Merge branch 'devel-2.6' into master · 659d769d
      Dato Simó authored
      
      * devel-2.6:
        htools-excl.test: add test case for exclusion tags in hbal
        Instance.hs: rename 'tags' to 'exclTags', provide 'allTags'
        Group.hs: add 'allTags'; adjust loaders and test data for it
        Add hbal-excl-tags.data to Makefile.am, missed in 0397694e
      
      Conflicts:
      	Makefile.am: hbal-excl-tags.data moved under htest/
      	htools/Ganeti/HTools/Luxi.hs: types from Qlang are now used
      	htools/Ganeti/HTools/QC.hs: defGroup definition now in TestHTools.hs
      	lib/cmdlib.py: IAllocator class now in iallocator.py
      	test/htools-excl.test: moved under htest/
      
      Signed-off-by: default avatarDato Simó <dato@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      659d769d
    • Michael Hanselmann's avatar
      cli: Fix small typo · 90efd920
      Michael Hanselmann authored
      
      s/it/if/
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarDato Simó <dato@google.com>
      Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
      90efd920
    • Dato Simó's avatar
    • Dato Simó's avatar
      Group.hs: add 'allTags'; adjust loaders and test data for it · 6b6e335b
      Dato Simó authored
      
      This commit adds a Group.allTags field to store the tags of node groups,
      and teaches each loader backend in HTools to populate it (additionally, the
      IAllocator class in lib/cmdlib.py now includes tags for groups too). Test
      data is updated to include an empty set of tags for node groups in all
      affected test cases.
      
      Signed-off-by: default avatarDato Simó <dato@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      6b6e335b
Loading