Revision f9f6480e htools/Ganeti/HTools/Cluster.hs

b/htools/Ganeti/HTools/Cluster.hs
870 870
                 -> [Ndx]             -- ^ The list of available nodes
871 871
                                      -- for allocation
872 872
                 -> Result (Node.List, Instance.List, [OpCodes.OpCode])
873
nodeEvacInstance _ _ mode (Instance.Instance
874
                           {Instance.diskTemplate = dt@DTDiskless}) _ _ =
875
                  failOnSecondaryChange mode dt >>
876
                  fail "Diskless relocations not implemented yet"
873
nodeEvacInstance nl il mode inst@(Instance.Instance
874
                                  {Instance.diskTemplate = dt@DTDiskless})
875
                 gdx avail_nodes =
876
                   failOnSecondaryChange mode dt >>
877
                   evacOneNodeOnly nl il inst gdx avail_nodes
877 878

  
878 879
nodeEvacInstance _ _ _ (Instance.Instance
879 880
                        {Instance.diskTemplate = DTPlain}) _ _ =
......
883 884
                        {Instance.diskTemplate = DTFile}) _ _ =
884 885
                  fail "Instances of type file cannot be relocated"
885 886

  
886
nodeEvacInstance _ _ mode  (Instance.Instance
887
                            {Instance.diskTemplate = dt@DTSharedFile}) _ _ =
888
                  failOnSecondaryChange mode dt >>
889
                  fail "Shared file relocations not implemented yet"
887
nodeEvacInstance nl il mode inst@(Instance.Instance
888
                                  {Instance.diskTemplate = dt@DTSharedFile})
889
                 gdx avail_nodes =
890
                   failOnSecondaryChange mode dt >>
891
                   evacOneNodeOnly nl il inst gdx avail_nodes
890 892

  
891
nodeEvacInstance _ _ mode (Instance.Instance
892
                           {Instance.diskTemplate = dt@DTBlock}) _ _ =
893
                  failOnSecondaryChange mode dt >>
894
                  fail "Block device relocations not implemented yet"
893
nodeEvacInstance nl il mode inst@(Instance.Instance
894
                                  {Instance.diskTemplate = dt@DTBlock})
895
                 gdx avail_nodes =
896
                   failOnSecondaryChange mode dt >>
897
                   evacOneNodeOnly nl il inst gdx avail_nodes
895 898

  
896
nodeEvacInstance _ _ mode  (Instance.Instance
897
                            {Instance.diskTemplate = dt@DTRbd}) _ _ =
898
                  failOnSecondaryChange mode dt >>
899
                  fail "Rbd relocations not implemented yet"
899
nodeEvacInstance nl il mode inst@(Instance.Instance
900
                                  {Instance.diskTemplate = dt@DTRbd})
901
                 gdx avail_nodes =
902
                   failOnSecondaryChange mode dt >>
903
                   evacOneNodeOnly nl il inst gdx avail_nodes
900 904

  
901 905
nodeEvacInstance nl il ChangePrimary
902 906
                 inst@(Instance.Instance {Instance.diskTemplate = DTDrbd8})

Also available in: Unified diff