From 42692cc77e3071f8eb2f8c3b0308d3a22a50f38b Mon Sep 17 00:00:00 2001 From: Juan Hernandez Date: Thu, 16 Mar 2023 23:09:34 +0100 Subject: [PATCH] NO-ISSUE: Fix use of deprecated MetalLB CRDs in UI Currently the UI tries to create/modify the deprecated `AdressPool` object, but that object is no longer used in the current MetalLB configuration because it has been replaced by `IPAddressPool`. This patch adjusts the UI accordingly. Signed-off-by: Juan Hernandez --- ui/frontend/src/components/PersistPage/persistServices.ts | 8 ++++---- .../src/components/PersistPage/resourceTemplates.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/frontend/src/components/PersistPage/persistServices.ts b/ui/frontend/src/components/PersistPage/persistServices.ts index 754c41cdd..4c54a99a2 100644 --- a/ui/frontend/src/components/PersistPage/persistServices.ts +++ b/ui/frontend/src/components/PersistPage/persistServices.ts @@ -31,7 +31,7 @@ const createAddressPool = async ( const object = cloneDeep(ADDRESS_POOL_TEMPLATE); object.metadata.generateName = `ztpfw-${type}-`; // object.metadata.namespace = namespace; - object.spec.addresses = [`${serviceIp}-${serviceIp}`]; + object.spec.addresses = [`${serviceIp}/32`]; const response = await createResource(object).promise; console.log('Resource created: ', response); @@ -65,20 +65,20 @@ const patchAddressPool = async ( { op: 'replace', path: '/spec/addresses', - value: [`${serviceIp}-${serviceIp}`], + value: [`${serviceIp}/32`], }, ]; try { await patchResource(addrPoolObj, addrPoolPatches).promise; console.log( - `Patched ${addressPoolName} AddressPool name in the ${ADDRESS_POOL_NAMESPACE} namespace`, + `Patched ${addressPoolName} IPAddressPool name in the ${ADDRESS_POOL_NAMESPACE} namespace`, ); } catch (e) { console.error('Can not patch resource: ', e, addrPoolObj, addrPoolPatches); setError({ title: RESOURCE_PATCH_TITLE, - message: `Can not update ${addressPoolName} AddressPool in the ${ADDRESS_POOL_NAMESPACE} namespace.`, + message: `Can not update ${addressPoolName} IPAddressPool in the ${ADDRESS_POOL_NAMESPACE} namespace.`, }); return false; } diff --git a/ui/frontend/src/components/PersistPage/resourceTemplates.ts b/ui/frontend/src/components/PersistPage/resourceTemplates.ts index 7344f047d..1b0b571db 100644 --- a/ui/frontend/src/components/PersistPage/resourceTemplates.ts +++ b/ui/frontend/src/components/PersistPage/resourceTemplates.ts @@ -9,17 +9,17 @@ import { import { ADDRESS_POOL_NAMESPACE } from './constants'; export const ADDRESS_POOL_TEMPLATE = { - apiVersion: 'metallb.io/v1alpha1', - kind: 'AddressPool', + apiVersion: 'metallb.io/v1beta1', + kind: 'IPAddressPool', metadata: { generateName: 'ztpfw-', // To be filled name: '', namespace: ADDRESS_POOL_NAMESPACE, }, spec: { - protocol: 'layer2', + autoAssign: false, addresses: [ - '', // To be filled, example: '172.18.0.100-172.18.0.255', + '', // To be filled, example: '172.18.0.100/32', ], }, };