コード例 #1
0
    def test_prepare_group_subservices(self):
        '''Test prepare group with multiple internal dependencies.'''
        group = ServiceGroup('GROUP')
        ac_suc1 = Action('start', command='/bin/true')
        ac_suc2 = Action('start', command='/bin/true')
        ac_suc3 = Action('start', command='/bin/true')

        subserv_a = Service('SUB1')
        subserv_b = Service('SUB2')
        subserv_c = Service('SUB3')

        subserv_a.add_action(ac_suc1)
        subserv_b.add_action(ac_suc2)
        subserv_c.add_action(ac_suc3)

        group.add_inter_dep(target=subserv_a)
        group.add_inter_dep(target=subserv_b)
        group.add_inter_dep(base=subserv_a, target=subserv_c)
        group.add_inter_dep(base=subserv_b, target=subserv_c)

        group.run('start')
        self.assertEqual(group.status, DONE)
        self.assertEqual(subserv_a.status, DONE)
        self.assertEqual(subserv_b.status, DONE)
        self.assertEqual(subserv_c.status, DONE)
コード例 #2
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
    def test_prepare_group_subservices(self):
        '''Test prepare group with multiple internal dependencies.'''
        group = ServiceGroup('GROUP')
        ac_suc1 = Action('start', command='/bin/true')
        ac_suc2 = Action('start', command='/bin/true')
        ac_suc3 = Action('start', command='/bin/true')

        subserv_a = Service('SUB1')
        subserv_b = Service('SUB2')
        subserv_c = Service('SUB3')

        subserv_a.add_action(ac_suc1)
        subserv_b.add_action(ac_suc2)
        subserv_c.add_action(ac_suc3)

        group.add_inter_dep(target=subserv_a)
        group.add_inter_dep(target=subserv_b)
        group.add_inter_dep(base=subserv_a, target=subserv_c)
        group.add_inter_dep(base=subserv_b, target=subserv_c)

        group.run('start')
        self.assertEqual(group.status, DONE)
        self.assertEqual(subserv_a.status, DONE)
        self.assertEqual(subserv_b.status, DONE)
        self.assertEqual(subserv_c.status, DONE)
コード例 #3
0
ファイル: CoreTests.py プロジェクト: cea-hpc/milkcheck
    def test_core_behaviour_reverse(self):
        '''Test ability of the core to solve a large graph in reverse mode'''
        # Define Group 1
        grp1 = ServiceGroup('GRP1')
        grp1.algo_reversed = True
        grp1_i1 = Service('I1')
        grp1_i1.algo_reversed = True
        grp1_i2 = Service('I2')
        grp1_i2.algo_reversed = True
        grp1_i3 = Service('I3')
        grp1_i3.algo_reversed = True
        grp1_i1.add_action(Action('stop', command='/bin/true'))
        grp1_i2.add_action(Action('stop', command='/bin/true'))
        grp1_i3.add_action(Action('stop', command='/bin/true'))
        grp1.add_inter_dep(target=grp1_i1)
        grp1.add_inter_dep(base=grp1_i1, target=grp1_i2)
        grp1.add_inter_dep(target=grp1_i3)

        # Define Group 2
        grp2 = ServiceGroup('GRP2')
        grp2.algo_reversed = True
        grp2_i1 = Service('I1')
        grp2_i1.algo_reversed = True
        grp2_i2 = Service('I2')
        grp2_i2.algo_reversed = True
        grp2_i1.add_action(Action('stop', command='/bin/true'))
        grp2_i2.add_action(Action('stop', command='/bin/true'))
        grp2.add_inter_dep(target=grp2_i1)
        grp2.add_inter_dep(base=grp2_i1, target=grp2_i2)

        # Define Group init
        svc1 = Service('S1')
        svc1.algo_reversed = True
        svc1.add_action(Action('stop', command='/bin/true'))
        svc2 = Service('S2')
        svc2.algo_reversed = True
        svc2.add_action(Action('stop', command='/bin/true'))
        svc3 = Service('S3')
        svc3.algo_reversed = True
        svc3.add_action(Action('stop', command='/bin/true'))
        group_init = ServiceGroup('GROUP_INIT')
        group_init.algo_reversed = True
        group_init.add_inter_dep(target=svc1)
        group_init.add_inter_dep(base=svc1, target=svc2, sgth=REQUIRE_WEAK)
        group_init.add_inter_dep(base=svc1, target=grp1)
        group_init.add_inter_dep(base=svc2, target=svc3)
        group_init.add_inter_dep(base=grp1, target=svc3)
        group_init.add_inter_dep(base=svc3, target=grp2)

        # Solve the graph
        group_init.run('stop')

        # Assertions
        self.assertEqual(grp2.status, DONE)
        self.assertEqual(svc3.status, DONE)
        self.assertEqual(svc2.status, DONE)
        self.assertEqual(grp1.status, DONE)
        self.assertEqual(svc1.status, DONE)
        self.assertEqual(group_init.status, DONE)
コード例 #4
0
ファイル: CoreTests.py プロジェクト: mdlx/milkcheck
    def test_core_behaviour_reverse(self):
        '''Test ability of the core to solve a large graph in reverse mode'''
        # Define Group 1
        grp1 = ServiceGroup('GRP1')
        grp1.algo_reversed = True
        grp1_i1 = Service('I1')
        grp1_i1.algo_reversed = True
        grp1_i2 = Service('I2')
        grp1_i2.algo_reversed = True
        grp1_i3 = Service('I3')
        grp1_i3.algo_reversed = True
        grp1_i1.add_action(Action('stop', command='/bin/true'))
        grp1_i2.add_action(Action('stop', command='/bin/true'))
        grp1_i3.add_action(Action('stop', command='/bin/true'))
        grp1.add_inter_dep(target=grp1_i1)
        grp1.add_inter_dep(base=grp1_i1, target=grp1_i2)
        grp1.add_inter_dep(target=grp1_i3)

        # Define Group 2
        grp2 = ServiceGroup('GRP2')
        grp2.algo_reversed = True
        grp2_i1 = Service('I1')
        grp2_i1.algo_reversed = True
        grp2_i2 = Service('I2')
        grp2_i2.algo_reversed = True
        grp2_i1.add_action(Action('stop', command='/bin/true'))
        grp2_i2.add_action(Action('stop', command='/bin/true'))
        grp2.add_inter_dep(target=grp2_i1)
        grp2.add_inter_dep(base=grp2_i1, target=grp2_i2)

        # Define Group init
        svc1 = Service('S1')
        svc1.algo_reversed = True
        svc1.add_action(Action('stop', command='/bin/true'))
        svc2 = Service('S2')
        svc2.algo_reversed = True
        svc2.add_action(Action('stop', command='/bin/true'))
        svc3 = Service('S3')
        svc3.algo_reversed = True
        svc3.add_action(Action('stop', command='/bin/true'))
        group_init = ServiceGroup('GROUP_INIT')
        group_init.algo_reversed = True
        group_init.add_inter_dep(target=svc1)
        group_init.add_inter_dep(base=svc1, target=svc2, sgth=REQUIRE_WEAK)
        group_init.add_inter_dep(base=svc1, target=grp1)
        group_init.add_inter_dep(base=svc2, target=svc3)
        group_init.add_inter_dep(base=grp1, target=svc3)
        group_init.add_inter_dep(base=svc3, target=grp2)

        # Solve the graph
        group_init.run('stop')

        # Assertions
        self.assertEqual(grp2.status, DONE)
        self.assertEqual(svc3.status, DONE)
        self.assertEqual(svc2.status, DONE)
        self.assertEqual(grp1.status, DONE)
        self.assertEqual(svc1.status, DONE)
        self.assertEqual(group_init.status, DONE)
コード例 #5
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_missing_group(self):
     """A group with only MISSING services should be MISSING"""
     grp = ServiceGroup('group')
     svc1 = Service('svc1')
     svc1.add_action(Action('stop', command='/bin/true'))
     grp.add_inter_dep(target=svc1)
     grp.run('start')
     self.assertEqual(grp.status, MISSING)
コード例 #6
0
 def test_missing_group(self):
     """A group with only MISSING services should be MISSING"""
     grp = ServiceGroup('group')
     svc1 = Service('svc1')
     svc1.add_action(Action('stop', command='/bin/true'))
     grp.add_inter_dep(target=svc1)
     grp.run('start')
     self.assertEqual(grp.status, MISSING)
コード例 #7
0
 def test_prepare_group_subservice(self):
     '''Test prepare group with an internal dependency.'''
     group = ServiceGroup('GROUP')
     subserv = Service('SUB1')
     subserv.add_action(Action('start', command='/bin/true'))
     group.add_inter_dep(target=subserv)
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(subserv.status, DONE)
コード例 #8
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_prepare_group_subservice(self):
     '''Test prepare group with an internal dependency.'''
     group = ServiceGroup('GROUP')
     subserv = Service('SUB1')
     subserv.add_action(Action('start', command='/bin/true'))
     group.add_inter_dep(target=subserv)
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(subserv.status, DONE)
コード例 #9
0
 def test_prepare_empty_group_external_deps(self):
     '''Test prepare an empty group with a single external dependency.'''
     group = ServiceGroup('GROUP')
     ext_serv = Service('EXT_SERV')
     ac_suc = Action('start', command='/bin/true')
     ext_serv.add_action(ac_suc)
     group.add_dep(ext_serv)
     group.run('start')
     self.assertEqual(ext_serv.status, DONE)
     self.assertEqual(group.status, MISSING)
コード例 #10
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_prepare_empty_group_external_deps(self):
     '''Test prepare an empty group with a single external dependency.'''
     group = ServiceGroup('GROUP')
     ext_serv = Service('EXT_SERV')
     ac_suc = Action('start', command='/bin/true')
     ext_serv.add_action(ac_suc)
     group.add_dep(ext_serv)
     group.run('start')
     self.assertEqual(ext_serv.status, DONE)
     self.assertEqual(group.status, MISSING)
コード例 #11
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_skipped_group(self):
     """A group with only SKIPPED services should be SKIPPED"""
     grp = ServiceGroup('group')
     svc1 = Service('svc1')
     svc1.add_action(Action('start', target="@NOTHING", command=':'))
     svc2 = Service('svc2')
     svc2.add_action(Action('start', target="@NOTHING", command=':'))
     grp.add_inter_dep(target=svc1)
     grp.add_inter_dep(target=svc2)
     grp.run('start')
     self.assertEqual(grp.status, SKIPPED)
コード例 #12
0
 def test_skipped_group(self):
     """A group with only SKIPPED services should be SKIPPED"""
     grp = ServiceGroup('group')
     svc1 = Service('svc1')
     svc1.add_action(Action('start', target="@NOTHING", command=':'))
     svc2 = Service('svc2')
     svc2.add_action(Action('start', target="@NOTHING", command=':'))
     grp.add_inter_dep(target=svc1)
     grp.add_inter_dep(target=svc2)
     grp.run('start')
     self.assertEqual(grp.status, SKIPPED)
コード例 #13
0
    def test_group_with_weak_dep_error(self):
        """A group with a weak dep error runs fine (add_inter_dep())."""

        dep1 = Service('dep1')
        dep1.add_action(Action('stop', command='/bin/false'))

        grp = ServiceGroup('group')
        svc = Service('svc')
        svc.add_action(Action('stop', command='/bin/true'))
        grp.add_inter_dep(svc)
        grp.add_dep(dep1, sgth=REQUIRE_WEAK)
        grp.run('stop')

        self.assertEqual(grp.status, DONE)
コード例 #14
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
    def test_group_with_weak_dep_error(self):
        """A group with a weak dep error runs fine (add_inter_dep())."""

        dep1 = Service('dep1')
        dep1.add_action(Action('stop', command='/bin/false'))

        grp = ServiceGroup('group')
        svc = Service('svc')
        svc.add_action(Action('stop', command='/bin/true'))
        grp.add_inter_dep(svc)
        grp.add_dep(dep1, sgth=REQUIRE_WEAK)
        grp.run('stop')

        self.assertEqual(grp.status, DONE)
コード例 #15
0
 def test_run_stop_on_group(self):
     '''Test stop algorithm on a group'''
     group = ServiceGroup('G1')
     i1 = Service('I1')
     i1.add_action(Action('stop', command='/bin/true'))
     group.add_inter_dep(target=i1)
     s1 = Service('S1')
     s1.add_action(Action('stop', command='/bin/true'))
     s1.add_dep(target=group)
     s1.algo_reversed = True
     group.algo_reversed = True
     group.run('stop')
     self.assertEqual(s1.status, DONE)
     self.assertEqual(i1.status, DONE)
     self.assertEqual(group.status, DONE)
コード例 #16
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
    def test_filter(self):
        """ServiceGroup supports filter dependency"""
        dep = Service('dep')
        dep.add_action(Action('stop', command='false', target=HOSTNAME))

        grp = ServiceGroup('group')
        svc = Service('svc')
        svc.add_action(Action('stop', command='true', target=HOSTNAME))
        grp.add_inter_dep(svc)
        grp.add_dep(dep, sgth=FILTER)
        grp.run('stop')

        self.assertEqual(dep.status, ERROR)
        self.assertEqual(svc.status, SKIPPED)
        self.assertEqual(grp.status, SKIPPED)
コード例 #17
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_run_stop_on_group(self):
     '''Test stop algorithm on a group'''
     group = ServiceGroup('G1')
     i1 = Service('I1')
     i1.add_action(Action('stop', command='/bin/true'))
     group.add_inter_dep(target=i1)
     s1 = Service('S1')
     s1.add_action(Action('stop', command='/bin/true'))
     s1.add_dep(target=group)
     s1.algo_reversed = True
     group.algo_reversed = True
     group.run('stop')
     self.assertEqual(s1.status, DONE)
     self.assertEqual(i1.status, DONE)
     self.assertEqual(group.status, DONE)
コード例 #18
0
    def test_skipped_group_dep_error(self):
        """A full SKIPPED service group with DEP_ERROR should be SKIPPED"""
        svc = Service('error')
        svc.add_action(Action('start', command='/bin/false'))
        grp = ServiceGroup('group')
        svc1 = Service('svc1')
        svc1.add_action(Action('start', target="@NOTHING", command=':'))
        svc2 = Service('svc2')
        svc2.add_action(Action('start', target="@NOTHING", command=':'))
        grp.add_inter_dep(target=svc1)
        grp.add_inter_dep(target=svc2)
        grp.add_dep(svc, sgth=REQUIRE)

        grp.run('start')
        self.assertEqual(svc.status, ERROR)
        self.assertEqual(grp.status, SKIPPED)
コード例 #19
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
    def test_skipped_group_dep_error(self):
        """A full SKIPPED service group with DEP_ERROR should be SKIPPED"""
        svc = Service('error')
        svc.add_action(Action('start', command='/bin/false'))
        grp = ServiceGroup('group')
        svc1 = Service('svc1')
        svc1.add_action(Action('start', target="@NOTHING", command=':'))
        svc2 = Service('svc2')
        svc2.add_action(Action('start', target="@NOTHING", command=':'))
        grp.add_inter_dep(target=svc1)
        grp.add_inter_dep(target=svc2)
        grp.add_dep(svc, sgth=REQUIRE)

        grp.run('start')
        self.assertEqual(svc.status, ERROR)
        self.assertEqual(grp.status, SKIPPED)
コード例 #20
0
 def test_run_partial_deps(self):
     '''Test start algorithm as soon as the calling point is done.'''
     serv = Service('NOT_CALLED')
     serv_a = ServiceGroup('CALLING_GROUP')
     serv_b = Service('SERV_1')
     serv_c = Service('SERV_2')
     act_suc1 = Action('start', command='/bin/true')
     act_suc2 = Action('start', command='/bin/true')
     serv_b.add_action(act_suc1)
     serv_c.add_action(act_suc2)
     serv.add_dep(serv_a)
     serv_a.add_dep(target=serv_b)
     serv_a.add_inter_dep(target=serv_c)
     serv_a.run('start')
     self.assertEqual(serv.status, NO_STATUS)
     self.assertEqual(serv_a.status, DONE)
     self.assertEqual(serv_b.status, DONE)
     self.assertEqual(serv_c.status, DONE)
コード例 #21
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_run_partial_deps(self):
     '''Test start algorithm as soon as the calling point is done.'''
     serv = Service('NOT_CALLED')
     serv_a = ServiceGroup('CALLING_GROUP')
     serv_b = Service('SERV_1')
     serv_c = Service('SERV_2')
     act_suc1 = Action('start', command='/bin/true')
     act_suc2 = Action('start', command='/bin/true')
     serv_b.add_action(act_suc1)
     serv_c.add_action(act_suc2)
     serv.add_dep(serv_a)
     serv_a.add_dep(target=serv_b)
     serv_a.add_inter_dep(target=serv_c)
     serv_a.run('start')
     self.assertEqual(serv.status, NO_STATUS)
     self.assertEqual(serv_a.status, DONE)
     self.assertEqual(serv_b.status, DONE)
     self.assertEqual(serv_c.status, DONE)
コード例 #22
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
    def test_group_with_weak_dep_error(self):
        """A group with a weak dep error runs fine."""

        dep1 = Service('dep1')
        dep1.add_action(Action('stop', command='/bin/false'))

        grp = ServiceGroup('group')
        grp.fromdict({
            'services': {
                'svc1': {
                    'actions': {
                        'stop': { 'cmd': "/bin/true" },
                    }
                }
            }
        })

        grp.add_dep(dep1, sgth=REQUIRE_WEAK)
        grp.run('stop')

        self.assertEqual(grp.status, DONE)
コード例 #23
0
 def test_prepare_group_with_errors_one(self):
     '''Test prepare a group terminated by WARNING'''
     # Group
     group = ServiceGroup('GROUP')
     # Internal
     inter_serv1 = Service('INT_SERV1')
     inter_serv2 = Service('INT_SERV2')
     inter_serv3 = Service('INT_SERV3')
     # External
     ext_serv1 = Service('EXT_SERV1')
     ext_serv2 = Service('EXT_SERV2')
     ac_suc1 = Action('start', command='/bin/true')
     ac_suc2 = Action('start', command='/bin/true')
     ac_suc3 = Action('start', command='/bin/true')
     ac_err1 = Action('start', command='/bin/false')
     ac_err2 = Action('start', command='/bin/false')
     # Add actions
     inter_serv1.add_action(ac_suc1)
     inter_serv2.add_action(ac_suc2)
     inter_serv3.add_action(ac_err1)
     ext_serv1.add_action(ac_suc3)
     ext_serv2.add_action(ac_err2)
     # Add dependencies
     group.add_inter_dep(target=inter_serv1)
     group.add_inter_dep(target=inter_serv2)
     group.add_inter_dep(base=inter_serv2,
                         target=inter_serv3,
                         sgth=REQUIRE_WEAK)
     group.add_dep(ext_serv1)
     group.add_dep(target=ext_serv2, sgth=REQUIRE_WEAK)
     # Prepare group
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(ext_serv1.status, DONE)
     self.assertEqual(ext_serv2.status, ERROR)
     self.assertEqual(inter_serv1.status, DONE)
     self.assertEqual(inter_serv2.status, DONE)
     self.assertEqual(inter_serv3.status, ERROR)
コード例 #24
0
    def test_group_with_weak_dep_error(self):
        """A group with a weak dep error runs fine."""

        dep1 = Service('dep1')
        dep1.add_action(Action('stop', command='/bin/false'))

        grp = ServiceGroup('group')
        grp.fromdict({
            'services': {
                'svc1': {
                    'actions': {
                        'stop': {
                            'cmd': "/bin/true"
                        },
                    }
                }
            }
        })

        grp.add_dep(dep1, sgth=REQUIRE_WEAK)
        grp.run('stop')

        self.assertEqual(grp.status, DONE)
コード例 #25
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_prepare_group_with_errors_one(self):
     '''Test prepare a group terminated by WARNING'''
     # Group
     group = ServiceGroup('GROUP')
     # Internal
     inter_serv1 = Service('INT_SERV1')
     inter_serv2 = Service('INT_SERV2')
     inter_serv3 = Service('INT_SERV3')
     # External
     ext_serv1 =  Service('EXT_SERV1')
     ext_serv2 = Service('EXT_SERV2')
     ac_suc1 = Action('start', command='/bin/true')
     ac_suc2 = Action('start', command='/bin/true')
     ac_suc3 = Action('start', command='/bin/true')
     ac_err1 = Action('start', command='/bin/false')
     ac_err2 = Action('start', command='/bin/false')
     # Add actions
     inter_serv1.add_action(ac_suc1)
     inter_serv2.add_action(ac_suc2)
     inter_serv3.add_action(ac_err1)
     ext_serv1.add_action(ac_suc3)
     ext_serv2.add_action(ac_err2)
     # Add dependencies
     group.add_inter_dep(target=inter_serv1)
     group.add_inter_dep(target=inter_serv2)
     group.add_inter_dep(base=inter_serv2, target=inter_serv3,
         sgth=REQUIRE_WEAK)
     group.add_dep(ext_serv1)
     group.add_dep(target=ext_serv2, sgth=REQUIRE_WEAK)
     # Prepare group
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(ext_serv1.status, DONE)
     self.assertEqual(ext_serv2.status, ERROR)
     self.assertEqual(inter_serv1.status, DONE)
     self.assertEqual(inter_serv2.status, DONE)
     self.assertEqual(inter_serv3.status, ERROR)
コード例 #26
0
 def test_prepare_group_internal_external_deps(self):
     '''Test prepare a group with internal and external dependencies'''
     # Group
     group = ServiceGroup('GROUP')
     # Internal
     inter_serv1 = Service('INT_SERV1')
     inter_serv2 = Service('INT_SERV2')
     inter_serv3 = Service('INT_SERV3')
     # External
     ext_serv1 = Service('EXT_SERV1')
     ext_serv2 = Service('EXT_SERV2')
     ac_suc1 = Action('start', command='/bin/true')
     ac_suc2 = Action('start', command='/bin/true')
     ac_suc3 = Action('start', command='/bin/true')
     ac_suc4 = Action('start', command='/bin/true')
     ac_suc5 = Action('start', command='/bin/true')
     # Add actions
     inter_serv1.add_action(ac_suc1)
     inter_serv2.add_action(ac_suc2)
     inter_serv3.add_action(ac_suc3)
     ext_serv1.add_action(ac_suc4)
     ext_serv2.add_action(ac_suc5)
     # Add dependencies
     group.add_inter_dep(target=inter_serv1)
     group.add_inter_dep(target=inter_serv2)
     group.add_inter_dep(base=inter_serv2, target=inter_serv3)
     group.add_dep(ext_serv1)
     group.add_dep(ext_serv2)
     # Prepare group
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(ext_serv1.status, DONE)
     self.assertEqual(ext_serv2.status, DONE)
     self.assertEqual(inter_serv1.status, DONE)
     self.assertEqual(inter_serv2.status, DONE)
     self.assertEqual(inter_serv3.status, DONE)
コード例 #27
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_prepare_group_internal_external_deps(self):
     '''Test prepare a group with internal and external dependencies'''
     # Group
     group = ServiceGroup('GROUP')
     # Internal
     inter_serv1 = Service('INT_SERV1')
     inter_serv2 = Service('INT_SERV2')
     inter_serv3 = Service('INT_SERV3')
     # External
     ext_serv1 =  Service('EXT_SERV1')
     ext_serv2 = Service('EXT_SERV2')
     ac_suc1 = Action('start', command='/bin/true')
     ac_suc2 = Action('start', command='/bin/true')
     ac_suc3 = Action('start', command='/bin/true')
     ac_suc4 = Action('start', command='/bin/true')
     ac_suc5 = Action('start', command='/bin/true')
     # Add actions
     inter_serv1.add_action(ac_suc1)
     inter_serv2.add_action(ac_suc2)
     inter_serv3.add_action(ac_suc3)
     ext_serv1.add_action(ac_suc4)
     ext_serv2.add_action(ac_suc5)
     # Add dependencies
     group.add_inter_dep(target=inter_serv1)
     group.add_inter_dep(target=inter_serv2)
     group.add_inter_dep(base=inter_serv2, target=inter_serv3)
     group.add_dep(ext_serv1)
     group.add_dep(ext_serv2)
     # Prepare group
     group.run('start')
     self.assertEqual(group.status, DONE)
     self.assertEqual(ext_serv1.status, DONE)
     self.assertEqual(ext_serv2.status, DONE)
     self.assertEqual(inter_serv1.status, DONE)
     self.assertEqual(inter_serv2.status, DONE)
     self.assertEqual(inter_serv3.status, DONE)
コード例 #28
0
ファイル: ServiceGroupTest.py プロジェクト: cea-hpc/milkcheck
 def test_prepare_empty_group_reverse(self):
     '''Test method prepare reverse with a single empty ServiceGroup.'''
     group = ServiceGroup('GROUP')
     group.algo_reversed = True
     group.run('start')
     self.assertEqual(group.status, MISSING)
コード例 #29
0
 def test_prepare_empty_group_reverse(self):
     '''Test method prepare reverse with a single empty ServiceGroup.'''
     group = ServiceGroup('GROUP')
     group.algo_reversed = True
     group.run('start')
     self.assertEqual(group.status, MISSING)