예제 #1
0
    def test_cluster_status_transition(self):
        self.assertTrue(
            ClusterStatus.valid_transition(ClusterStatus.CREATED,
                                           ClusterStatus.LAUNCHING))

        self.assertFalse(
            ClusterStatus.valid_transition(ClusterStatus.ERROR,
                                           ClusterStatus.CREATED))
예제 #2
0
파일: cluster.py 프로젝트: dealenx/cumulus
    def provision(self, cluster, params):

        if not ClusterStatus.valid_transition(cluster['status'],
                                              ClusterStatus.PROVISIONING):
            raise RestException(
                'Cluster status is %s and cannot be provisioned' %
                cluster['status'],
                code=400)

        body = self._get_body()
        provision_ssh_user = get_property('ssh.user', body)
        if provision_ssh_user:
            cluster['config'].setdefault('provision', {})['ssh'] = {
                'user': provision_ssh_user
            }
            del body['ssh']

        if 'spec' in body:
            cluster['config'].setdefault('provision', {})['spec'] \
                = body['spec']
            del body['spec']

        cluster['config'].setdefault('provision', {})\
            .setdefault('params', {}).update(body)
        cluster = self._model.save(cluster)

        return self._model.filter(
            self._launch_or_provision('provision', cluster),
            self.getCurrentUser())
예제 #3
0
파일: cluster.py 프로젝트: Kitware/cumulus
    def provision(self, cluster, params):

        if not ClusterStatus.valid_transition(
                cluster['status'], ClusterStatus.PROVISIONING):
            raise RestException(
                'Cluster status is %s and cannot be provisioned' %
                cluster['status'], code=400)

        body = self._get_body()
        provision_ssh_user = get_property('ssh.user', body)
        if provision_ssh_user:
            cluster['config'].setdefault('provision', {})['ssh'] = {
                'user': provision_ssh_user
            }
            del body['ssh']

        if 'spec' in body:
            cluster['config'].setdefault('provision', {})['spec'] \
                = body['spec']
            del body['spec']

        cluster['config'].setdefault('provision', {})\
            .setdefault('params', {}).update(body)
        cluster = self._model.save(cluster)

        return self._model.filter(
            self._launch_or_provision('provision', cluster),
            self.getCurrentUser())
예제 #4
0
    def test_cluster_status_transition(self):
        self.assertTrue(ClusterStatus.valid_transition(ClusterStatus.CREATED,
                                                       ClusterStatus.LAUNCHING))

        self.assertFalse(ClusterStatus.valid_transition(ClusterStatus.ERROR,
                                                        ClusterStatus.CREATED))