~brendan-donegan/maas/qa-lab-tests_sort_dependencies

« back to all changes in this revision

Viewing changes to maas-integration.py

Add test_region_rack_connected

Show diffs side-by-side

added added

removed removed

Lines of Context:
185
185
    "test_set_http_proxy",
186
186
    # From this point on, we can connect to the external world.
187
187
    "test_import_boot_resources", # Start importing now, check later.
188
 
    "test_rack_connected",
 
188
    "test_region_rack_connected",
189
189
    "test_create_dynamic_range",
190
190
    "test_set_up_dhcp_vlan",
191
191
    "test_check_dhcp_service_systemctl",
575
575
            "apt_proxy: %s" % HTTP_PROXY))
576
576
 
577
577
    def get_master_rack(self):
578
 
        output, err = self._run_maas_cli(["rack-controllers", "list"])
 
578
        output, err = self._run_maas_cli(["rack-controllers", "read"])
579
579
        rack_controllers = loads(output)
580
 
        master_rack_controller = rack_controllers[0]
581
 
        return master_rack_controller
582
 
 
583
 
    # TODO: Need to re-enable this test until we have a way to check
584
 
    # rack controllers are connected, since the master UUID is gone.
585
 
    @skipIf(
586
 
        StrictVersion(get_maas_version()[:3]) > StrictVersion('1.9'),
587
 
        'Skip this test for now until we can check cluster connectivity')
 
580
        if len(rack_controllers) > 0:
 
581
            return rack_controllers[0]
 
582
        return None
 
583
 
 
584
    def get_rack_service_status(self, rack_id, service_name):
 
585
        output, err = self._run_maas_cli(["rack-controller", "read", rack_id])
 
586
        rack_info = loads(output)
 
587
        for service in rack_info['service_set']:
 
588
            if service['name'] == service_name:
 
589
                return service['status']
 
590
        return ''
 
591
 
588
592
    @timeout(5 * 60)
589
 
    def test_rack_connected(self):
 
593
    def test_region_rack_connected(self):
590
594
        # The master cluster is connected and changed the uuid field of the
591
595
        # nodegroup object from 'master' to its UUID.
592
 
        name = self.get_master_rack()['uuid']
593
 
        while name == 'master':
594
 
            sleep(10)
595
 
            name = self.get_master_rack()['uuid']
 
596
        while self.get_master_rack() is None:
 
597
            sleep(10)
 
598
        rack_id = self.get_master_rack()['system_id']
 
599
        while self.get_rack_service_status(rack_id, 'rackd') != 'running':
 
600
            sleep(10)
596
601
 
597
602
    def test_create_dynamic_range(self):
598
603
        output, err = self._run_maas_cli(