コード例 #1
0
ファイル: app.py プロジェクト: krancour/deis-controller
    def _deploy_app(self, scale_types, release, existing):
        build_type = app_build_type(release)
        for scale_type in scale_types:
            image = release.image
            version = "v{}".format(release.version)
            kwargs = {
                "memory": release.config.memory,
                "cpu": release.config.cpu,
                "tags": release.config.tags,
                "envs": release.config.values,
                "num": 0,  # Scaling up happens in a separate operation
                "version": version,
                "app_type": scale_type,
                "build_type": build_type,
                "healthcheck": release.config.healthcheck(),
            }

            job_id = self._get_job_id(scale_type)
            command = self._get_command(scale_type)
            try:
                self._scheduler.deploy(namespace=self.id, name=job_id, image=image, command=command, **kwargs)
            except Exception as e:
                err = "{} (deploy): {}".format(job_id, e)
                log_event(self, err, logging.ERROR)
                raise
        [c.delete() for c in existing]
コード例 #2
0
ファイル: app.py プロジェクト: krancour/deis-controller
    def _scale_containers(self, scale_types, to_remove):
        release = self.release_set.latest()
        build_type = app_build_type(release)
        for scale_type in scale_types:
            image = release.image
            version = "v{}".format(release.version)
            kwargs = {
                "memory": release.config.memory,
                "cpu": release.config.cpu,
                "tags": release.config.tags,
                "envs": release.config.values,
                "version": version,
                "num": scale_types[scale_type],
                "app_type": scale_type,
                "build_type": build_type,
                "healthcheck": release.config.healthcheck(),
            }

            job_id = self._get_job_id(scale_type)
            command = self._get_command(scale_type)
            try:
                self._scheduler.scale(namespace=self.id, name=job_id, image=image, command=command, **kwargs)
            except Exception as e:
                err = "{} (scale): {}".format(job_id, e)
                log_event(self, err, logging.ERROR)
                raise
        [c.delete() for c in to_remove]