Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(console): update prometheuses resourceinfo #1669

Merged
merged 1 commit into from
Nov 23, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions web/console/config/resource/common/apiVersion.ts
Original file line number Diff line number Diff line change
Expand Up @@ -747,10 +747,9 @@ const alarmPolicyApiVersion: ApiVersion = {
headTitle: 'AlarmRecord'
},
prometheus: {
group: apiServerVersion.group,
version: apiServerVersion.version,
basicEntry: apiServerVersion.basicUrl,
watchModule: ConsoleModuleEnum.PLATFORM,
group: monitorServerVersion.group,
version: monitorServerVersion.version,
basicEntry: monitorServerVersion.basicUrl,
headTitle: 'Prometheus'
}
};
Expand Down
19 changes: 1 addition & 18 deletions web/console/src/modules/cluster/WebAPI/ClusterAPI.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,31 +95,14 @@ export async function fetchPrometheuses() {
url
};

// 兼容新的monitor版本peomethus
const monitorParams: RequestParams = {
method: Method.get,
url: '/apis/monitor.tkestack.io/v1/prometheuses'
};

let records = [];
try {
const [response, monitorResponse] = await Promise.all([
reduceNetworkRequest(params),
reduceNetworkRequest(monitorParams)
]);
const response = await reduceNetworkRequest(params);
if (response.code === 0) {
records = response.data.items.map(item => {
return Object.assign({}, item, { id: uuid() });
});
}

if (monitorResponse.code === 0) {
records = records.concat(
monitorResponse.data.items.map(item => {
return Object.assign({}, item, { id: uuid() });
})
);
}
} catch (error) {
// 这里是搜索的时候,如果搜索不到的话,会报404的错误,只有在 resourceNotFound的时候,不把错误抛出去
if (error.code !== 'ResourceNotFound') {
Expand Down
26 changes: 16 additions & 10 deletions web/console/src/modules/common/webapi/PromethusAPI.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import { QueryState, RecordSet, uuid } from '@tencent/ff-redux';
import { t } from '@tencent/tea-app/lib/i18n';

import { apiServerVersion } from '../../../../config';
import { apiServerVersion, resourceConfig } from '../../../../config';
import {
Method,
operationResult,
Expand All @@ -40,28 +40,28 @@ import {

export async function createPromethus(resource: CreateResource) {
try {
let { mode, resourceIns, clusterId, yamlData, resourceInfo, namespace, jsonData } = resource;
const { mode, resourceIns, clusterId, yamlData, resourceInfo, namespace, jsonData } = resource;

let url = '/apis/monitor.tkestack.io/v1/prometheuses';
const url = '/apis/monitor.tkestack.io/v1/prometheuses';
// 获取具体的请求方法,create为POST,modify为PUT
let method = requestMethodForAction(mode);
const method = requestMethodForAction(mode);
// 这里是独立部署版 和 控制台共用的参数,只有是yamlData的时候才需要userdefinedHeader,如果是jaonData的话,就不需要了
let userDefinedHeader: UserDefinedHeader = yamlData
const userDefinedHeader: UserDefinedHeader = yamlData
? {
Accept: 'application/json',
'Content-Type': 'application/yaml'
}
: {};

// 构建参数
let params: RequestParams = {
const params: RequestParams = {
method,
url,
userDefinedHeader,
data: yamlData ? yamlData : jsonData
};

let response = await reduceNetworkRequest(params, clusterId);
const response = await reduceNetworkRequest(params, clusterId);
if (response.code === 0) {
return operationResult(resource);
} else {
Expand All @@ -74,15 +74,21 @@ export async function createPromethus(resource: CreateResource) {

export async function deletePromethus(cluster: Cluster) {
try {
const resourceInfo: ResourceInfo = resourceConfig().prometheus;
const specificName = cluster?.spec?.promethus?.metadata?.name ?? '';
const url = reduceK8sRestfulPath({
resourceInfo,
specificName
});
const clusterId = cluster.metadata.name;
const url = cluster.spec.promethus.metadata.selfLink;

// 构建参数 requestBody 当中
let params: RequestParams = {
const params: RequestParams = {
method: Method.delete,
url
};

let response = await reduceNetworkRequest(params, clusterId);
const response = await reduceNetworkRequest(params, clusterId);

if (response.code === 0) {
return Promise.resolve();
Expand Down