fix: fix fetch fip data

Fix fetch fip data without qos policy service

Closes-Bug: #1989517
Change-Id: I13a86f5d1c1dc01f5949c4cd0ba86a98dfa72725
This commit is contained in:
zhangjingwei 2022-09-14 10:15:15 +08:00
parent 8cdd14ff09
commit 9913eff4f3

View File

@ -19,6 +19,7 @@ import globalRouterStore from 'stores/neutron/router';
import globalServerStore from 'stores/nova/instance'; import globalServerStore from 'stores/nova/instance';
import globalLbaasStore from 'stores/octavia/loadbalancer'; import globalLbaasStore from 'stores/octavia/loadbalancer';
import globalQoSPolicyStore from 'stores/neutron/qos-policy'; import globalQoSPolicyStore from 'stores/neutron/qos-policy';
import { qosEndpoint } from 'client/client/constants';
export class FloatingIpStore extends Base { export class FloatingIpStore extends Base {
get client() { get client() {
@ -29,6 +30,10 @@ export class FloatingIpStore extends Base {
return true; return true;
} }
get enableQos() {
return !!qosEndpoint();
}
get mapper() { get mapper() {
return (data) => { return (data) => {
const { created_at } = data; const { created_at } = data;
@ -70,8 +75,9 @@ export class FloatingIpStore extends Base {
timeFilter, timeFilter,
...filters ...filters
} = {}) { } = {}) {
const [qosPolicies, allData] = await Promise.all([ const qosReq = this.enableQos ? globalQoSPolicyStore.fetchList() : null;
globalQoSPolicyStore.fetchList(), const [qosResult, allData] = await Promise.all([
qosReq,
this.fetchListByPage({ this.fetchListByPage({
limit, limit,
page, page,
@ -82,6 +88,7 @@ export class FloatingIpStore extends Base {
...filters, ...filters,
}), }),
]); ]);
const qosPolicies = qosResult || [];
const promises = []; const promises = [];
allData.forEach((data) => { allData.forEach((data) => {
const qos = qosPolicies.find((it) => it.id === data.qos_policy_id); const qos = qosPolicies.find((it) => it.id === data.qos_policy_id);