github.com/hernad/nomad@v1.6.112/ui/mirage/scenarios/topo.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import faker from 'nomad-ui/mirage/faker'; 7 import { generateNetworks, generatePorts } from '../common'; 8 9 const genResources = (CPU, Memory) => ({ 10 Cpu: { CpuShares: CPU }, 11 Memory: { MemoryMB: Memory }, 12 Disk: { DiskMB: 10000 }, 13 Networks: generateNetworks(), 14 Ports: generatePorts(), 15 }); 16 17 export function topoSmall(server) { 18 server.createList('agent', 3, 'withConsulLink', 'withVaultLink'); 19 server.createList('node-pool', 4); 20 server.createList('node', 12, { 21 datacenter: 'dc1', 22 status: 'ready', 23 nodeResources: genResources(3000, 5192), 24 }); 25 26 const jobResources = [ 27 ['M: 2560, C: 150'], 28 ['M: 128, C: 400'], 29 ['M: 512, C: 100'], 30 ['M: 256, C: 150'], 31 ['M: 200, C: 50'], 32 ['M: 64, C: 100'], 33 ['M: 128, C: 150'], 34 ['M: 1024, C: 500'], 35 ['M: 100, C: 300', 'M: 200, C: 150'], 36 ['M: 512, C: 250', 'M: 600, C: 200'], 37 ]; 38 39 jobResources.forEach((spec) => { 40 server.create('job', { 41 status: 'running', 42 datacenters: ['dc1'], 43 type: 'service', 44 createAllocations: false, 45 resourceSpec: spec, 46 }); 47 }); 48 49 server.createList('allocation', 25, { 50 forceRunningClientStatus: true, 51 }); 52 } 53 54 export function topoMedium(server) { 55 server.createList('agent', 3, 'withConsulLink', 'withVaultLink'); 56 server.createList('node', 10, { 57 datacenter: 'us-west-1', 58 status: 'ready', 59 nodeResources: genResources(3000, 5192), 60 }); 61 server.createList('node', 12, { 62 datacenter: 'us-east-1', 63 status: 'ready', 64 nodeResources: genResources(3000, 5192), 65 }); 66 server.createList('node', 11, { 67 datacenter: 'eu-west-1', 68 status: 'ready', 69 nodeResources: genResources(3000, 5192), 70 }); 71 72 server.createList('node', 8, { 73 datacenter: 'us-west-1', 74 status: 'ready', 75 nodeResources: genResources(8000, 12192), 76 }); 77 server.createList('node', 9, { 78 datacenter: 'us-east-1', 79 status: 'ready', 80 nodeResources: genResources(8000, 12192), 81 }); 82 83 const jobResources = [ 84 ['M: 2560, C: 150'], 85 ['M: 128, C: 400'], 86 ['M: 512, C: 100'], 87 ['M: 256, C: 150'], 88 ['M: 200, C: 50'], 89 ['M: 64, C: 100'], 90 ['M: 128, C: 150'], 91 ['M: 1024, C: 500'], 92 93 ['M: 1200, C: 50'], 94 ['M: 1400, C: 200'], 95 ['M: 50, C: 150'], 96 ['M: 5000, C: 1800'], 97 98 ['M: 100, C: 300', 'M: 200, C: 150'], 99 ['M: 512, C: 250', 'M: 600, C: 200'], 100 ]; 101 102 jobResources.forEach((spec) => { 103 server.create('job', { 104 status: 'running', 105 datacenters: ['dc1'], 106 type: 'service', 107 createAllocations: false, 108 createRecommendations: true, 109 resourceSpec: spec, 110 }); 111 }); 112 113 server.createList('allocation', 100, { 114 forceRunningClientStatus: true, 115 }); 116 }