def _list_clusters(self): """Logic of the method is as follows. If 'ovdc' is present in the body, choose the right broker (by identifying the container_provider (vcd|pks) defined for that ovdc) to do list_clusters operation. Else Invoke set of all (vCD/PKS)brokers in the org to do list_clusters. Post-process the result returned by each broker. Aggregate all the results into one. """ if self.is_ovdc_present_in_request: broker = self.get_broker_based_on_vdc() return broker.list_clusters() else: common_cluster_properties = ('name', 'vdc', 'status', 'org_name') vcd_broker = VcdBroker(self.req_headers, self.req_spec) vcd_clusters = [] for cluster in vcd_broker.list_clusters(): vcd_cluster = { k: cluster.get(k, None) for k in common_cluster_properties } vcd_cluster[K8S_PROVIDER_KEY] = K8sProviders.NATIVE vcd_clusters.append(vcd_cluster) pks_clusters = [] pks_ctx_list = self._create_pks_context_for_all_accounts_in_org() for pks_ctx in pks_ctx_list: pks_broker = PKSBroker(self.req_headers, self.req_spec, pks_ctx) # Get all cluster information to get vdc name from # compute-profile-name for cluster in pks_broker.list_clusters(is_admin_request=True): pks_cluster = \ PKSBroker.generate_cluster_subset_with_given_keys( cluster, common_cluster_properties) pks_cluster[K8S_PROVIDER_KEY] = K8sProviders.PKS pks_clusters.append(pks_cluster) return vcd_clusters + pks_clusters
def cluster_list(request_data, tenant_auth_token): """Request handler for cluster list operation. All (vCD/PKS) brokers in the org do 'list cluster' operation. Post-process the result returned by pks broker. Aggregate all the results into a list. Optional data and default values: org_name=None, ovdc_name=None (data validation handled in brokers) :return: List """ vcd_broker = VcdBroker(tenant_auth_token) vcd_clusters_info = vcd_broker.list_clusters(request_data) pks_clusters_info = [] if utils.is_pks_enabled(): pks_clusters_info = pks_broker_manager.list_clusters(request_data, tenant_auth_token) all_cluster_infos = vcd_clusters_info + pks_clusters_info common_cluster_properties = [ 'name', 'vdc', 'status', 'org_name', 'k8s_version', K8S_PROVIDER_KEY ] result = [] for cluster_info in all_cluster_infos: filtered_cluster_info = \ {k: cluster_info.get(k) for k in common_cluster_properties} result.append(filtered_cluster_info) return result
def cluster_list(request_data, op_ctx: ctx.OperationContext): """Request handler for cluster list operation. Optional data and default values: org_name=None, ovdc_name=None (data validation handled in broker) :return: List """ vcd_broker = VcdBroker(op_ctx) vcd_clusters_info = vcd_broker.list_clusters(data=request_data) common_cluster_properties = [ 'name', 'vdc', 'status', 'org_name', 'k8s_version', K8S_PROVIDER_KEY ] result = [] for cluster_info in vcd_clusters_info: filtered_cluster_info = \ {k: cluster_info.get(k) for k in common_cluster_properties} result.append(filtered_cluster_info) return result
def _list_clusters(self): """Logic of the method is as follows. If 'ovdc' is present in the body, choose the right broker (by identifying the container_provider (vcd|pks) defined for that ovdc) to do list_clusters operation. Else Invoke set of all (vCD/PKS)brokers in the org to do list_clusters. Post-process the result returned by each broker. Aggregate all the results into one. """ if self.is_ovdc_present_in_request: broker = self.get_broker_based_on_vdc() return broker.list_clusters() else: common_cluster_properties = ('name', 'vdc', 'status') vcd_broker = VcdBroker(self.req_headers, self.req_spec) vcd_clusters = [] for cluster in vcd_broker.list_clusters(): vcd_cluster = { k: cluster.get(k, None) for k in common_cluster_properties } vcd_cluster[CONTAINER_PROVIDER_KEY] = CtrProvType.VCD.value vcd_clusters.append(vcd_cluster) pks_clusters = [] pks_ctx_list = self._create_pks_context_for_all_accounts_in_org() for pks_ctx in pks_ctx_list: pks_broker = PKSBroker(self.req_headers, self.req_spec, pks_ctx) for cluster in pks_broker.list_clusters(): pks_cluster = self._get_truncated_cluster_info( cluster, pks_broker, common_cluster_properties) pks_cluster[CONTAINER_PROVIDER_KEY] = CtrProvType.PKS.value pks_clusters.append(pks_cluster) return vcd_clusters + pks_clusters
def list_clusters(self): vcd_broker = VcdBroker(self.tenant_auth_token, self.req_spec) vcd_clusters = [] for cluster in vcd_broker.list_clusters(): vcd_clusters.append(cluster) return vcd_clusters