Example #1
0
    def reconfigService(self,
                        name,
                        password,
                        hyper_host,
                        hyper_accesskey,
                        hyper_secretkey,
                        image,
                        hyper_size="s3",
                        masterFQDN=None,
                        **kwargs):

        AbstractLatentWorker.reconfigService(self, name, password, **kwargs)
        self.size = hyper_size
        self.image = image

        # Prepare the parameters for the Docker Client object.
        self.client_args = {
            'clouds': {
                hyper_host: {
                    "accesskey": hyper_accesskey,
                    "secretkey": hyper_secretkey
                }
            }
        }
        if not masterFQDN:  # also match empty string (for UI)
            masterFQDN = socket.getfqdn()
        self.masterFQDN = masterFQDN
Example #2
0
 def reconfigService(self,
                     name,
                     password=None,
                     zone=None,
                     api_username=None,
                     api_password=None,
                     image=None,
                     hostconfig=None,
                     base_url=DEFAULT_BASE_URL,
                     masterFQDN=None,
                     **kwargs):
     if password is None:
         password = self.getRandomPass()
     if masterFQDN is None:
         masterFQDN = socket.getfqdn()
     self.masterFQDN = masterFQDN
     self.image = image
     if hostconfig is None:
         hostconfig = {}
     self.hostconfig = hostconfig
     self.client = yield HTTPClientService.getService(
         self.master,
         base_url,
         auth=(api_username, api_password),
         debug=kwargs.get('debug', False))
     masterName = util.unicode2bytes(self.master.name)
     self.masterhash = hashlib.sha1(masterName).hexdigest()[:6]
     yield AbstractLatentWorker.reconfigService(self, name, password,
                                                **kwargs)
Example #3
0
    def reconfigService(self,
                        name,
                        password,
                        hyper_host,
                        hyper_accesskey,
                        hyper_secretkey,
                        image,
                        hyper_size="s3",
                        masterFQDN=None,
                        **kwargs):
        # Set build_wait_timeout to 0s if not explicitely set: Starting a
        # container is almost immediate, we can affort doing so for each build.

        if 'build_wait_timeout' not in kwargs:
            kwargs['build_wait_timeout'] = 0

        yield AbstractLatentWorker.reconfigService(self, name, password,
                                                   **kwargs)

        self.manager = yield HyperLatentManager.getService(
            self.master, hyper_host, hyper_accesskey, hyper_secretkey)
        self.masterhash = hashlib.sha1(self.master.name).hexdigest()[:6]
        self.size = hyper_size

        self.image = image
        if not masterFQDN:  # also match empty string (for UI)
            masterFQDN = socket.getfqdn()
        self.masterFQDN = masterFQDN
Example #4
0
    def reconfigService(self, name, password, hyper_host,
                        hyper_accesskey, hyper_secretkey, image, hyper_size="xs", masterFQDN=None, **kwargs):

        AbstractLatentWorker.reconfigService(self, name, password, **kwargs)
        self.size = hyper_size
        self.image = image

        # Prepare the parameters for the Docker Client object.
        self.client_args = {'clouds': {
            hyper_host: {
                "accesskey": hyper_accesskey,
                "secretkey": hyper_secretkey
            }
        }}
        if not masterFQDN:  # also match empty string (for UI)
            masterFQDN = socket.getfqdn()
        self.masterFQDN = masterFQDN
Example #5
0
 def reconfigService(self, name, password=None, image=None,
                     masterFQDN=None, **kwargs):
     # Set build_wait_timeout to 0 if not explicitely set: Starting a
     # container is almost immediate, we can afford doing so for each build.
     if 'build_wait_timeout' not in kwargs:
         kwargs['build_wait_timeout'] = 0
     if password is None:
         password = self.getRandomPass()
     self.image = image
     return AbstractLatentWorker.reconfigService(self, name, password, **kwargs)
Example #6
0
 def reconfigService(self, name, password=None, image=None,
                     masterFQDN=None, **kwargs):
     # Set build_wait_timeout to 0 if not explicitely set: Starting a
     # container is almost immediate, we can afford doing so for each build.
     if 'build_wait_timeout' not in kwargs:
         kwargs['build_wait_timeout'] = 0
     if password is None:
         password = self.getRandomPass()
     if masterFQDN is None:
         masterFQDN = socket.getfqdn()
     self.masterFQDN = masterFQDN
     self.image = image
     self.masterhash = hashlib.sha1(self.master.name).hexdigest()[:6]
     return AbstractLatentWorker.reconfigService(self, name, password, **kwargs)
Example #7
0
 def reconfigService(self, name, password=None, image=None,
                     masterFQDN=None, **kwargs):
     # Set build_wait_timeout to 0 if not explicitely set: Starting a
     # container is almost immediate, we can afford doing so for each build.
     if 'build_wait_timeout' not in kwargs:
         kwargs['build_wait_timeout'] = 0
     if password is None:
         password = self.getRandomPass()
     if masterFQDN is None:
         masterFQDN = socket.getfqdn()
     self.masterFQDN = masterFQDN
     self.image = image
     masterName = unicode2bytes(self.master.name)
     self.masterhash = hashlib.sha1(masterName).hexdigest()[:6]
     return AbstractLatentWorker.reconfigService(self, name, password, **kwargs)
Example #8
0
 def reconfigService(self,
                     name,
                     password=None,
                     image=None,
                     masterFQDN=None,
                     **kwargs):
     # Set build_wait_timeout to 0 if not explicitely set: Starting a
     # container is almost immediate, we can afford doing so for each build.
     if 'build_wait_timeout' not in kwargs:
         kwargs['build_wait_timeout'] = 0
     if password is None:
         password = self.getRandomPass()
     self.image = image
     return AbstractLatentWorker.reconfigService(self, name, password,
                                                 **kwargs)
Example #9
0
    def reconfigService(self, name, password, hyper_host,
                        hyper_accesskey, hyper_secretkey, image, hyper_size="s3", masterFQDN=None, **kwargs):
        # Set build_wait_timeout to 0s if not explicitely set: Starting a
        # container is almost immediate, we can affort doing so for each build.

        if 'build_wait_timeout' not in kwargs:
            kwargs['build_wait_timeout'] = 0

        yield AbstractLatentWorker.reconfigService(self, name, password, **kwargs)

        self.manager = yield HyperLatentManager.getService(self.master, hyper_host, hyper_accesskey,
                                                           hyper_secretkey)
        self.masterhash = hashlib.sha1(self.master.name).hexdigest()[:6]
        self.size = hyper_size

        self.image = image
        if not masterFQDN:  # also match empty string (for UI)
            masterFQDN = socket.getfqdn()
        self.masterFQDN = masterFQDN
Example #10
0
    def reconfigService(self,
                        name,
                        password,
                        hyper_host,
                        hyper_accesskey,
                        hyper_secretkey,
                        image,
                        hyper_size="s3",
                        masterFQDN=None,
                        **kwargs):
        yield AbstractLatentWorker.reconfigService(self, name, password,
                                                   **kwargs)

        self.manager = yield HyperLatentManager.getService(
            self.master, hyper_host, hyper_accesskey, hyper_secretkey)
        self.masterhash = hashlib.sha1(self.master.name).hexdigest()[:6]
        self.size = hyper_size

        self.image = image
        if not masterFQDN:  # also match empty string (for UI)
            masterFQDN = socket.getfqdn()
        self.masterFQDN = masterFQDN
Example #11
0
    def reconfigService(self,
                        name,
                        run_task_kwargs,
                        container_name='buildbot',
                        boto3_session=None,
                        master_host=None,
                        build_wait_timeout=0,
                        **kwargs):
        # create a random password for this worker
        password = kwargs.pop('password', self.getRandomPass())

        self.master_host = master_host or socket.getfqdn()
        self.run_task_kwargs = run_task_kwargs
        self.container_name = container_name
        self.boto3_session = boto3_session or boto3.Session()
        self.ecs = self.boto3_session.client('ecs')
        self.task_arn = None

        return AbstractLatentWorker.reconfigService(
            self,
            name,
            password=password,
            build_wait_timeout=build_wait_timeout,
            **kwargs)
Example #12
0
 def reconfigService(self, name, _, **kwargs):
     AbstractLatentWorker.reconfigService(
         self, name, None,
         build_wait_timeout=self._controller.build_wait_timeout,
         **kwargs)
Example #13
0
 def reconfigService(self, name, _, **kwargs):
     AbstractLatentWorker.reconfigService(self, name, None, **kwargs)
Example #14
0
 def reconfigService(self, name, _, **kwargs):
     AbstractLatentWorker.reconfigService(self, name, None, **kwargs)