示例#1
0
文件: igor.py 项目: jscruz/igor
def stop_auto_stop_candidates():
    autoStopCandidates = ec2.get_auto_stop_candidates()
    instanceIdsToStop = []
    
    for instance in autoStopCandidates:
        instanceIdsToStop.append(instance['id'])
        
    ec2.stop(instanceIdsToStop)
示例#2
0
文件: test_ec2.py 项目: jscruz/igor
    def test_when_we_get_auto_stop_candidates_the_correct_instances_are_returned(self, mock_landlord, mock_ec2):
        now = datetime.datetime.now()
        fiveHoursAgo = (datetime.datetime.now() - datetime.timedelta(hours=5))
        oneDayAgo = (datetime.datetime.now() - datetime.timedelta(days=1))

        ec2.get_all_instances = Mock(return_value=self.getStubStopCandidateInstances())
        unitInstances = ec2.get_auto_stop_candidates()

        self.assertEquals(len(unitInstances), 3)
        self.assertEquals(unitInstances[0]['id'], '2')
        self.assertEquals(unitInstances[0]['name'], 'Instance1RunningStopTimePassed')
        self.assertEquals(unitInstances[0]['stopTime'], now.hour-1)
        self.assertLess(unitInstances[0]['launchtime'], now.hour)
        
        self.assertEquals(unitInstances[1]['id'], '4')
        self.assertEquals(unitInstances[1]['name'], 'Instance3RunningStopTimeJustPassed')
        self.assertEquals(unitInstances[1]['stopTime'], now.hour)
        self.assertLess(unitInstances[1]['launchtime'], now.hour)
        
        self.assertEquals(unitInstances[2]['id'], '7')
        self.assertEquals(unitInstances[2]['name'], 'Instance6RunningStopTimePassedButLaunchTIMESinceButPreviousDay')
        self.assertEquals(unitInstances[2]['stopTime'], now.hour - 1)
        self.assertGreater(unitInstances[2]['launchtime'], unitInstances[2]['stopTime'])