UNPKG

guv

Version:

Grid Utilization Virgilante

158 lines (155 loc) 3.06 kB
- name: 'no messages' expect: 'should go to minimum' result: 3 role: 'def' config: | '*': {min: 3} def: {} state: messages: 0 - name: 'huge number of messages' expect: 'should go to maximum' result: 40 role: 'def' config: | '*': {max: 40} def: {} state: messages: 10000 - name: 'many messages with role-specific processing/deadline' expect: 'should go to maximum' result: 5 config: | '*': {min: 0} my: {p:60, deadline: 240} role: 'my' state: messages: 1000 # history based - name: 'history of high load, then one low load' expect: 'should not scale down' result: null config: | '*': {min: 0, max: 4} my: {p:60, deadline: 240} role: 'my' current: 4 state: messages: 10 history: [ 4, 4, 0 ] - name: 'history of high load, then many low load' expect: 'should scale down' result: 1 config: | '*': {min: 0, max: 4} my: {p:60, deadline: 240} role: 'my' current: 4 state: messages: 10 history: [ 0, 0, 0 ] - name: 'history of varying loads, then one low' expect: 'should not scale down' result: null config: | '*': {min: 0, max: 4} my: {p:60, deadline: 240} role: 'my' current: 4 state: messages: 10 history: [ 4, 1, 4, 2 ] - name: 'history of medium loads, then one medium' expect: 'should scale down a bit' result: 2 config: | '*': {min: 0, max: 4} my: {p:60, deadline: 240} role: 'my' current: 3 state: messages: 40 history: [ 1, 2, 1 ] - name: 'history of decreasing loads, then nothing' expect: 'should scale down a bit' config: | '*': {min: 0, max: 4} my: {p:60, deadline: 240} role: 'my' current: 12 state: messages: 0 history: [ 10, 9, 8 ] result: 10 - name: 'impossible config' expect: 'should scale up to max' result: 4 config: | '*': {min: 0, max: 4} my: { processing: 60, deadline: 61} role: 'my' current: 0 state: messages: 40 history: [ 1, 2, 1 ] - name: 'unrealistic config' expect: 'should scale up to max' result: 4 config: | '*': {min: 0, max: 4} my: { processing: 25, stddev: 12, deadline: 50} role: 'my' current: 0 state: messages: 40 history: [ 1, 2, 1 ] - name: 'medium load, concurrency = 1' expect: 'should start some workers' result: 11 role: 'def' config: | '*': {max: 40} def: { concurrency: 1 } state: messages: 40 - name: 'medium load, concurrency = 3' expect: 'should start ca 1/3 workers of concurrency=1' result: 4 role: 'def' config: | '*': {max: 40} def: { concurrency: 3 } state: messages: 40 - name: 'low load, concurrency = 1' expect: 'should start few workers' result: 1 role: 'def' config: | '*': {max: 40, deadline: 90} def: { concurrency: 1 } state: messages: 5 - name: 'low load, concurrency = 3' expect: 'should start same workers as concurrency=1' result: 1 role: 'def' config: | '*': {max: 40, deadline: 90} def: { concurrency: 3 } state: messages: 5