def __init__(self,
                 gke_cluster_version,
                 gke_k8s_release_channel,
                 gce_image_type,
                 gce_image_size,
                 gce_network,
                 services,
                 gce_instance_type='n1-standard-2',
                 user_prefix=None,
                 params=None,
                 gce_datacenter=None,
                 cluster_uuid=None,
                 n_nodes=2,
                 ):
        super().__init__(
            params=params,
            cluster_uuid=cluster_uuid,
            user_prefix=user_prefix
        )
        self.gke_cluster_version = gke_cluster_version
        self.gke_k8s_release_channel = gke_k8s_release_channel.strip()
        self.gce_image_type = gce_image_type
        self.gce_image_size = gce_image_size
        self.gce_network = gce_network
        self.gce_services = services
        self.gce_instance_type = gce_instance_type
        self.n_nodes = n_nodes
        self.gce_project = services[0].project
        self.gce_user = services[0].key
        self.gce_zone = gce_datacenter[0]
        self.gke_cluster_created = False
        self.allowed_labels_on_scylla_node = [('name', 'cpu-policy'),
                                              ('app', 'local-volume-provisioner'),
                                              ('name', 'raid-local-disks'),
                                              ('k8s-app', 'fluentbit-gke'),
                                              ('k8s-app', 'gke-metrics-agent'),
                                              ('component', 'kube-proxy'),
                                              ('k8s-app', 'gcp-compute-persistent-disk-csi-driver'),
                                              ('scylla/cluster', self.k8s_scylla_cluster_name)]

        self.api_call_rate_limiter = ApiCallRateLimiter(
            rate_limit=GKE_API_CALL_RATE_LIMIT,
            queue_size=GKE_API_CALL_QUEUE_SIZE,
            urllib_retry=GKE_URLLIB_RETRY,
            urllib_backoff_factor=GKE_URLLIB_BACKOFF_FACTOR,
        )
        self.api_call_rate_limiter.start()
Beispiel #2
0
    def __init__(self,
                 gke_cluster_version,
                 gce_image_type,
                 gce_image_size,
                 gce_network,
                 services,
                 credentials,
                 gce_n_local_ssd=0,
                 gce_instance_type="n1-highmem-8",
                 n_nodes=3,
                 user_prefix=None,
                 params=None,
                 gce_datacenter=None):
        cluster_prefix = cluster.prepend_user_prefix(user_prefix, "k8s-gke")
        node_prefix = cluster.prepend_user_prefix(user_prefix, "node")
        self._gcloud_token_thread = None
        self.gke_cluster_version = gke_cluster_version
        self.gce_image_type = gce_image_type
        self.gce_image_size = gce_image_size
        self.gce_network = gce_network
        self.gce_services = services
        self.credentials = credentials
        self.gce_instance_type = gce_instance_type
        self.gce_n_local_ssd = int(gce_n_local_ssd) if gce_n_local_ssd else 0

        self.gce_project = services[0].project
        self.gce_user = services[0].key
        self.gce_zone = gce_datacenter[0]
        self.gke_cluster_created = False

        self.api_call_rate_limiter = ApiCallRateLimiter(
            rate_limit=GKE_API_CALL_RATE_LIMIT,
            queue_size=GKE_API_CALL_QUEUE_SIZE,
            urllib_retry=GKE_URLLIB_RETRY
        )
        self.api_call_rate_limiter.start()

        super().__init__(cluster_prefix=cluster_prefix,
                         node_prefix=node_prefix,
                         n_nodes=n_nodes,
                         params=params,
                         region_names=gce_datacenter,
                         node_type="scylla-db")
Beispiel #3
0
    def __init__(self,
                 gke_cluster_version,
                 gke_k8s_release_channel,
                 gce_image_type,
                 gce_image_size,
                 gce_network,
                 services,
                 gce_instance_type='n1-standard-4',
                 user_prefix=None,
                 params=None,
                 gce_datacenter=None,
                 cluster_uuid=None,
                 n_nodes=1
                 ):
        super().__init__(
            params=params,
            cluster_uuid=cluster_uuid,
            user_prefix=user_prefix
        )
        self.gke_cluster_version = gke_cluster_version
        self.gke_k8s_release_channel = gke_k8s_release_channel.strip()
        self.gce_image_type = gce_image_type
        self.gce_image_size = gce_image_size
        self.gce_network = gce_network
        self.gce_services = services
        self.gce_instance_type = gce_instance_type
        self.n_nodes = n_nodes
        self.gce_project = services[0].project
        self.gce_user = services[0].key
        self.gce_zone = gce_datacenter[0]
        self.gke_cluster_created = False

        self.api_call_rate_limiter = ApiCallRateLimiter(
            rate_limit=GKE_API_CALL_RATE_LIMIT,
            queue_size=GKE_API_CALL_QUEUE_SIZE,
            urllib_retry=GKE_URLLIB_RETRY,
            urllib_backoff_factor=GKE_URLLIB_BACKOFF_FACTOR,
        )
        self.api_call_rate_limiter.start()