diff --git a/striker-ui/components/ProvisionServerDialog.tsx b/striker-ui/components/ProvisionServerDialog.tsx index 34fddd8b..abf7af1b 100644 --- a/striker-ui/components/ProvisionServerDialog.tsx +++ b/striker-ui/components/ProvisionServerDialog.tsx @@ -189,177 +189,6 @@ type UpdateLimitsFunction = (options?: { formattedMaxVDSizes: string[]; }; -const MOCK_DATA = { - anvils: [ - { - anvilUUID: 'ad590bcb-24e1-4592-8cd1-9cd6229b7bf2', - anvilName: 'yan-anvil-03', - anvilDescription: "Yan's test Anvil specialized for breaking things.", - anvilTotalCPUCores: 4, - anvilTotalMemory: '17179869184', - anvilTotalAllocatedCPUCores: 1, - anvilTotalAllocatedMemory: '1073741824', - anvilTotalAvailableCPUCores: 3, - anvilTotalAvailableMemory: '7516192768', - hosts: [ - { - hostUUID: 'c9b25b77-f9a1-41fa-9f04-677c58d0d9e1', - hostName: 'yan-a03n01.alteeve.com', - hostCPUCores: 4, - hostMemory: '17179869184', - }, - { - hostUUID: 'c0a1c2c8-3418-4dbc-80c6-c4c0cea6a511', - hostName: 'yan-a03n02.alteeve.com', - hostCPUCores: 4, - hostMemory: '17179869184', - }, - { - hostUUID: '8815a6dd-239d-4f8d-b248-ac8a5cac4a30', - hostName: 'yan-a03dr01.alteeve.com', - hostCPUCores: 4, - hostMemory: '17179869184', - }, - ], - servers: [ - { - serverUUID: 'd128c15a-0e21-4ba3-9084-1972dad31bd4', - serverName: 'alpine-x86_64-01', - serverCPUCores: 1, - serverMemory: '1073741824', - }, - ], - storageGroups: [ - { - storageGroupUUID: 'b594f417-852a-4bd4-a215-fae32d226b0b', - storageGroupName: 'Storage group 1', - storageGroupSize: '137325707264', - storageGroupFree: '42941284352', - }, - ], - files: [ - { - fileUUID: '5d6fc6d9-03f8-40ec-9bff-38e31b3a5bc5', - fileName: 'alpine-virt-3.15.0-x86_64.iso', - }, - ], - }, - { - anvilUUID: '85e0fd96-ea38-403d-992f-441d20cad679', - anvilName: 'mock-anvil-01', - anvilDescription: 'Randomly generated mock Anvil #1.', - anvilTotalCPUCores: 8, - anvilTotalMemory: '34359738368', - anvilTotalAllocatedCPUCores: 0, - anvilTotalAllocatedMemory: '2147483648', - anvilTotalAvailableCPUCores: 8, - anvilTotalAvailableMemory: '32212254720', - hosts: [ - { - hostUUID: '2198ae4a-db3a-4685-8d98-db56af75d53d', - hostName: 'mock-a03n01.alteeve.com', - hostCPUCores: 8, - hostMemory: '34359738368', - }, - { - hostUUID: '928f12b4-1be0-4872-adbc-f78579323d50', - hostName: 'mock-a03n02.alteeve.com', - hostCPUCores: 8, - hostMemory: '34359738368', - }, - { - hostUUID: 'c4837341-fd09-4b36-b1f0-e16115b704b4', - hostName: 'mock-a03dr01.alteeve.com', - hostCPUCores: 8, - hostMemory: '34359738368', - }, - ], - servers: [], - storageGroups: [ - { - storageGroupUUID: '271651b0-c064-401b-9391-549bbced2383', - storageGroupName: 'Mock storage group 1', - storageGroupSize: '274651414528', - storageGroupFree: '85882568704', - }, - { - storageGroupUUID: '1d57d618-9c6a-4fda-bcc3-d9014ea55161', - storageGroupName: 'Mock storage group 2', - storageGroupSize: '205988560896', - storageGroupFree: '171765137408', - }, - ], - files: [ - { - fileUUID: '5d6fc6d9-03f8-40ec-9bff-38e31b3a5bc5', - fileName: 'alpine-virt-3.15.0-x86_64.iso', - }, - ], - }, - { - anvilUUID: '68470d36-e46b-44a5-b2cd-d57b2e7b5ddb', - anvilName: 'mock-anvil-02', - anvilDescription: 'Randomly generated mock Anvil #2.', - anvilTotalCPUCores: 16, - anvilTotalMemory: '1234567890', - anvilTotalAllocatedCPUCores: 7, - anvilTotalAllocatedMemory: '12345', - anvilTotalAvailableCPUCores: 9, - anvilTotalAvailableMemory: '1234555545', - hosts: [ - { - hostUUID: 'ee1f4852-b3bc-44ca-93b7-8000c3063292', - hostName: 'mock-a03n01.alteeve.com', - hostCPUCores: 16, - hostMemory: '1234567890', - }, - { - hostUUID: '26f9d3c4-0f91-4266-9f6f-1309e521c693', - hostName: 'mock-a03n02.alteeve.com', - hostCPUCores: 16, - hostMemory: '1234567890', - }, - { - hostUUID: 'eb1b1bd6-2caa-4907-ac68-7dba465b7a67', - hostName: 'mock-a03dr01.alteeve.com', - hostCPUCores: 16, - hostMemory: '1234567890', - }, - ], - servers: [], - storageGroups: [], - files: [], - }, - ], - osList: [ - 'os_list_almalinux8,AlmaLinux 8', - 'os_list_alpinelinux3.14,Alpine Linux 3.14', - 'os_list_alt.p10,ALT p10 StarterKits', - 'os_list_alt9.1,ALT 9.1', - 'os_list_alt9.2,ALT 9.2', - 'os_list_centos-stream9,CentOS Stream 9', - 'os_list_cirros0.5.0,CirrOS 0.5.0', - 'os_list_cirros0.5.1,CirrOS 0.5.1', - 'os_list_cirros0.5.2,CirrOS 0.5.2', - 'os_list_debian11,Debian 11', - 'os_list_fedora34,Fedora 34', - 'os_list_freebsd13.0,FreeBSD 13.0', - 'os_list_haikur1beta2,Haiku R1/Beta2', - 'os_list_haikur1beta3,Haiku R1/Beta3', - 'os_list_mageia8,Mageia 8', - 'os_list_nixos-21.05,NixOS 21.05', - 'os_list_openbsd6.8,OpenBSD 6.8', - 'os_list_openbsd6.9,OpenBSD 6.9', - 'os_list_opensuse15.3,openSUSE Leap 15.3', - 'os_list_rhel8.5,Red Hat Enterprise Linux 8.5', - 'os_list_silverblue34,Fedora Silverblue 34', - 'os_list_sle15sp3,SUSE Linux Enterprise 15 SP3', - 'os_list_slem5.0,SUSE Linux Enterprise Micro', - 'os_list_ubuntu21.04,Ubuntu 21.04', - 'os_list_win2k22,Microsoft Windows Server 2022', - ], -}; - const BIGINT_ZERO = BigInt(0); const DATA_SIZE_UNIT_SELECT_ITEMS: SelectItem[] = [ @@ -1464,42 +1293,51 @@ const ProvisionServerDialog = ({ }; useEffect(() => { - const data = MOCK_DATA; + mainAxiosInstance + .get('/anvil', { + params: { + anvilUUIDs: 'all', + isForProvisionServer: true, + }, + }) + .then(({ data: stringData }) => { + const data = JSON.parse(stringData); - const { - anvils: ueAllAnvils, - anvilSelectItems: ueAnvilSelectItems, - anvilUUIDMapToData: ueAnvilUUIDMapToData, - fileSelectItems: ueFileSelectItems, - fileUUIDMapToData: ueFileUUIDMapToData, - storageGroupSelectItems: ueStorageGroupSelectItems, - storageGroupUUIDMapToData: ueStorageGroupUUIDMapToData, - } = organizeAnvils(data.anvils); - - setAllAnvils(ueAllAnvils); - setAnvilUUIDMapToData(ueAnvilUUIDMapToData); - setFileUUIDMapToData(ueFileUUIDMapToData); - setStorageGroupUUIDMapToData(ueStorageGroupUUIDMapToData); - - setAnvilSelectItems(ueAnvilSelectItems); - setFileSelectItems(ueFileSelectItems); - setStorageGroupSelectItems(ueStorageGroupSelectItems); - - initLimits({ - allAnvils: ueAllAnvils, - storageGroupUUIDMapToData: ueStorageGroupUUIDMapToData, - }); + const { + anvils: ueAllAnvils, + anvilSelectItems: ueAnvilSelectItems, + anvilUUIDMapToData: ueAnvilUUIDMapToData, + fileSelectItems: ueFileSelectItems, + fileUUIDMapToData: ueFileUUIDMapToData, + storageGroupSelectItems: ueStorageGroupSelectItems, + storageGroupUUIDMapToData: ueStorageGroupUUIDMapToData, + } = organizeAnvils(data.anvils); + + setAllAnvils(ueAllAnvils); + setAnvilUUIDMapToData(ueAnvilUUIDMapToData); + setFileUUIDMapToData(ueFileUUIDMapToData); + setStorageGroupUUIDMapToData(ueStorageGroupUUIDMapToData); + + setAnvilSelectItems(ueAnvilSelectItems); + setFileSelectItems(ueFileSelectItems); + setStorageGroupSelectItems(ueStorageGroupSelectItems); + + initLimits({ + allAnvils: ueAllAnvils, + storageGroupUUIDMapToData: ueStorageGroupUUIDMapToData, + }); - setOSAutocompleteOptions( - data.osList.map((keyValuePair) => { - const [osKey, osValue] = keyValuePair.split(','); + setOSAutocompleteOptions( + data.osList.map((keyValuePair: string) => { + const [osKey, osValue] = keyValuePair.split(','); - return { - label: osValue, - key: osKey, - }; - }), - ); + return { + label: osValue, + key: osKey, + }; + }), + ); + }); }, [initLimits]); return (