zalando-stups / senza

Deploy immutable application stacks and create and execute AWS CloudFormation templates in a sane way
https://pypi.python.org/pypi/stups-senza
Other
96 stars 72 forks source link

Weird senza traffic behavior #202

Open lmineiro opened 8 years ago

lmineiro commented 8 years ago

A given application had 2 stacks deployed. Older stack had 0% traffic and most recent had 100%.

$ senza traffic skipper Stack Name│Version │Identifier │Weight% skipper r61 skipper-r61 0.0 skipper r62 skipper-r62 100.0

A third stack of the same application was deployed:

$ senza traffic skipper Stack Name│Version │Identifier │Weight% skipper r61 skipper-r61 0.0 skipper r62 skipper-r62 100.0 skipper r62asslpatch skipper-r62asslpatch 0.0

After trying to switch 20% traffic to the new one the following output was produced:

$ senza traffic skipper r62asslpatch 20 Calculating new weights.. OK Stack Name│Version │Identifier │Old Weight%│Delta│Compensation│New Weight%│Current skipper r61 skipper-r61 0.0 20.0 20.0 skipper r62 skipper-r62 100.0 -60.0 20.0 60.0 skipper r62asslpatch skipper-r62asslpatch 0.0 20.0 20.0 < Setting weights for skipper-debug.xxx.yyy., skipper.xxx.yyy... OK

NOTE: skipper has 2 ELBs The 20% compensation for r61 was unexpected and it seemed that it caused r62 to get only 60%. the final result was:

$ senza traffic skipper Stack Name│Version │Identifier │Weight% skipper r61 skipper-r61 0.0 skipper r62 skipper-r62 60.0 skipper r62asslpatch skipper-r62asslpatch 20.0

Which is weirder. Indeed the 20% to r61 seemed to have affected the calculation

hjacobs commented 8 years ago

Looks weird, indeed.