Opened 10 years ago

Last modified 9 years ago

#1263 new enhancement

IZ322: Implement several test scenarios for slotwise preemption tests

Reported by: pollinger Owned by:
Priority: normal Milestone:
Component: testsuite Version: current
Severity: Keywords: tests
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=322]

        Issue #:      322             Platform:     All           Reporter: pollinger (pollinger)
       Component:     testsuite          OS:        All
     Subcomponent:    tests           Version:      current          CC:    None defined
        Status:       NEW             Priority:     P3
      Resolution:                    Issue type:    ENHANCEMENT
                                  Target milestone: milestone 1
      Assigned to:    issues@testsuite
      QA Contact:     joga
          URL:
       * Summary:     Implement several test scenarios for slotwise preemption tests
   Status whiteboard:
      Attachments:

     Issue 322 blocks:
   Votes for issue 322:     Vote for this issue


   Opened: Wed Dec 9 06:27:00 -0700 2009 
------------------------


A) Simple Tree Scenario + jobs submission
      Basic Setup
          disable all existing queues
          define 4 queues (a.q, b1.q, b2.q, b3.q)
          define slotwise preemption between the 4 queues:
          subordinate_list      slots=1(b1.q:1:sr, b2.q:2:sr, b3.q:3:sr)
      Check qconf output
          qconf -sq <CQ_name> has to show all setting
          qconf -sq <QI_name> has to show the setting for one host
      Submit one job to each of the child queues b?.q
          Test: job in b2.q and b3.q have to be suspended
      Increase the subordinate_list - slots count to 3
          Test: Each job has to be running again
      Decrease the subordinate_list - slots count to 1
          Test: jobs in b2 and b3 have to be suspended again
      Exchange priority of b1 and b3
          Test: job in b1 and b2 have to be suspended
  B) Simple Tree Scenario + job deletion
      Basic Setup
          disable all existing queues
          define 4 queues (a.q, b1.q, b2.q, b3.q)
          define slotwise preemption between the 4 queues:
          subordinate_list      slots=2(b1.q:1:sr, b2.q:2:sr, b3.q:3:sr)
      Submit on job to each of the 4 qinstances
          check that job in a.1 and b1.q are running and other are
          suspended
      Delete job in b1.q
          check that job in b2.q is running after that
      Submit again a job to b1.q
          check that it gets running and job in b2.q gets suspended
      qdel -f <job_in_b1.q>
          check that job in b2.q is unsuspended
  C) Simple Tree Scenario + remove qinstance
      Basic setup like in B
      Delete qinstance b1.q@hostname
          queue instace has to go into orphaned state
          check that job states are corrected after job in b1.q is
          deleted
          make sure qinstance was deleted
  D) Simple Tree Scenario + add new qinstance
      Basic setup like in B)
          but make sure that qinstance for b1.q does not exist
          submit 3 jobs (one to each existing queue)
          make sure thta job in a.q and b2.q are running
      Add the qinstance to b1.q and submit a job to it
          check that job in b1.q gets running and job in b2.q is
          unsuspended
  E) Simple Tree Scenario + daemon restart
      Basic Setup like in B)
      Shutdown/restart qmaster
          check qstat output and ps output if jobs are still
          suspended/unsuspended
  F) Simple Tree Scenario + other suspend states
      Basic setup like in B)
      qmod -s/-us job in b1.q
          make sure that job in b2.q is unsuspended/suspended
      qmod -s/us qinstance b1.q
          make sure that job in b2.q is unsuspended/suspended
      create a calendar that suspends a queue in one minute and that
      enables the queue after 2 minutes and attach it to b1.q
          make sure that job in b2.q is unsupsended during the minute
          the calendar is active
  G) Simple Tree + invalid configuration
      Basic setup
          create a.q, b1.q, b2.q, c1.q
          make b?.q child queues of a.q
      Try to add a.q to b1.q or b2.q
          this has to be rejected because a (loop)
      Add c1.q as child of b1.q. Then try to add c.q to
          Should this be allowed? Why not - it does not create a loop
  H) Simple Tree + hostgroup modification
      Basic setup
          create a slotwise preemtion configuration for a hostgroup
          take care that host A is not part of the hostgroup but
          qinstances exist
          submit jobs to host A so that jobs might get suspended if the
          slotwise preemtion would be active
      remove host A from cluster queue and add it to hostgroup
          Test that jobs switch to suspend state
      add an additional host B to the hostgroup and submit jobs
      afterwards
          Test that jobs switch to suspend state
      remove host A and B from hostgroup
          qi will go into o state. check that suspend state is not
          removed

Change History (0)

Note: See TracTickets for help on using tickets.