Ejemplo n.º 1
0
    def run(self):
        rpms = []
        while not self.host_queue.empty():
            host = self.host_queue.get()
            self.host_queue.task_done()
            try:
                rpms = HostRpmBuilder(
                    thread_name=self.name,
                    hostname=host,
                    revision=self.revision,
                    work_dir=self.work_dir,
                    svn_service_queue=self.svn_service_queue,
                    error_logging_handler=self.error_logging_handler).build()
                for rpm in rpms:
                    self.rpm_queue.put(rpm)

            except BaseConfigRpmMakerException as e:
                self.notify_that_host_failed(host, str(e))

            except Exception:
                self.notify_that_host_failed(host, traceback.format_exc())

        count_of_rpms = len(rpms)
        if count_of_rpms > 0:
            LOGGER.debug('%s: finished and built %s rpm(s).', self.name,
                         count_of_rpms)
        else:
            LOGGER.debug('%s: finished without building any rpm!', self.name)
Ejemplo n.º 2
0
    def test_should_raise_CouldNotBuildRpmException(self):

        svn_service_queue = self.create_svn_service_queue()

        host_rpm_builder = HostRpmBuilder(thread_name="Thread-0",
                                          hostname=" --help",
                                          revision='1',
                                          work_dir=self.temporary_directory,
                                          svn_service_queue=svn_service_queue)

        self.assertRaises(CouldNotBuildRpmException, host_rpm_builder.build)
Ejemplo n.º 3
0
    def test_should_remove_variables_directory_after_build_finished(self):

        svn_service_queue = self.create_svn_service_queue()
        host_rpm_builder = HostRpmBuilder(thread_name="Thread-0",
                                          hostname="berweb01",
                                          revision='1',
                                          work_dir=self.temporary_directory,
                                          svn_service_queue=svn_service_queue)

        host_rpm_builder.build()

        self.assert_path_does_not_exist(
            join(self.temporary_directory, 'VARIABLES.berweb01'))
Ejemplo n.º 4
0
    def test_should_raise_ConfigDirAlreadyExistsException(self):

        fake_host_directory = join(self.temporary_directory,
                                   'yadt-config-fakehost')
        if not exists(fake_host_directory):
            makedirs(fake_host_directory)

        host_rpm_builder = HostRpmBuilder(thread_name="Thread-0",
                                          hostname="fakehost",
                                          revision='123',
                                          work_dir=self.temporary_directory,
                                          svn_service_queue={})

        self.assertRaises(ConfigDirAlreadyExistsException,
                          host_rpm_builder.build)
Ejemplo n.º 5
0
    def test_should_write_revision_file(self):

        svn_service_queue = self.create_svn_service_queue()
        host_rpm_builder = HostRpmBuilder(thread_name="Thread-0",
                                          revision='1',
                                          hostname="berweb01",
                                          work_dir=self.temporary_directory,
                                          svn_service_queue=svn_service_queue)

        host_rpm_builder.build()

        host_directory = build_config_viewer_host_directory("berweb01",
                                                            revision='1')
        revision_file_path = join(host_directory, 'berweb01.rev')

        self.assert_path_exists(revision_file_path)
        self.assert_file_content(revision_file_path, '1')