 thanks :)
<dimitern> I was on a call, sorry for responding slowly
<voidspace> dimitern: so we have stub implementation of AllocateAddress for all providers
<voidspace> dimitern: that needs to change
<voidspace> dimitern: I've mostly done that
<dimitern> voidspace, great
<voidspace> dimitern:  AllocateAddress(_ instance.Id, _ network.Id, _ network.Address) error
<voidspace> dimitern:?
<dimitern> voidspace, that sounds good to me
<voidspace> dimitern: cool, there's an existing test (dummy provider) that needs to change too
<voidspace> just finishing that
<dimitern> voidspace, possibly with the addition of a concrete error type returned for "conflict" or "address already reserved" sort of error
<voidspace> dimitern: I figured we could sort that out later...
<voidspace> dimitern: as we also need to handle "request failed - couldn't reach server" errors too
<dimitern> voidspace, yeah, fair point -- just a reminder
<voidspace> changing error type to a concrete type is trivial
<dimitern> voidspace, "request failed", as in "i did 5 attempts so far and it failed all"?
<voidspace> dimitern: I guess
<voidspace> whatever strategy we pick
<voidspace> I did discuss that with John a bit yesterday but it morphed into a discussion about race conditions
<dimitern> voidspace, I think ec2 deserves some retrying logic, being occasionally flaky
<voidspace> dimitern: yep, ideally we'd abstract the retry machinery so it can just be reused
<voidspace> rather than ad-hoc retrying of all api calls
<dimitern> voidspace, there's *some* reusable bits already - around the AttemptStrategy type
<voidspace> right
<dimitern> voidspace, I even seem to recall a strategy that takes rate limiting into account for ec2, but I might be wrong
<voidspace> dimitern: right, we did some rate limiting work
<voidspace> man, that was one of the first things I worked on
<dimitern> voidspace,
thanks :) 
 < dimitern > I was on a call, sorry for responding slowly 
 < voidspace > dimitern: therefore we take stub implementation of AllocateAddress for all providers 
 < voidspace > dimitern: that want to change 
 < voidspace > dimitern: I've mostly dress that 
 < dimitern > voidspace, capital 
 < voidspace > dimitern:   AllocateAddress (_ instance. Id, _ network. Id, _ network. Address) erroneousness 
 < voidspace > dimitern: ? 
 < dimitern > voidspace, that sounds good to me 
 < voidspace > dimitern: cool, there's an exist trial (dummy provider) that needs to change too 
 < voidspace > just complete that 
 < dimitern > voidspace, possibly with the addition of a concrete error type hark back for " conflict " or " address already reserved " sort of mistake 
 < voidspace > dimitern: I figured we could sort that out later... 
 < voidspace > dimitern: as we also need to cover " request failed - couldn't reach server " errors too 
 < dimitern > voidspace, yeah, fair point -- just a reminder 
 < voidspace > changing error type to a concrete type is trivial 
 < dimitern > voidspace, " request failed ", as in " i did 5 attempts thus far and it failed all "? 
 < voidspace > dimitern: I guess 
 < voidspace > whatever scheme we foot 
 < voidspace > I did hash out that with John a bit yesterday but it morphed into a discussion about raceway conditions 
 < dimitern > voidspace, I think ec2 deserves some retrying logic, being occasionally flaky 
 < voidspace > dimitern: yep, ideally we'd pilfer the retry machinery so it can just be reused 
 < voidspace > rather than ad - hoc retrying of all api calls 
 < dimitern > voidspace, there's * some * reusable bits already - around the AttemptStrategy type 
 < voidspace > right 
 < dimitern > voidspace, I even seem to recall a strategy that takes rate specify into account for ec2, but I might be faulty 
 < voidspace > dimitern: right, we did some rate limiting work 
 < voidspace > man, that was one of the first thing I worked on 
 < dimitern > voidspace,
 thwnks :)
<dimitern> I was on a call, sorry for responving slkwly
<voidrpace> dimitern: so we have stnb inplemtutation of AllocateAadress fog all procidecs
<voidspace> dimivsrn: thab neesd to rhange
<voidspace> dimitern: H've mostly dona ghct
<dimitern> voidspace, great
<voidspace> qimiterm:  AllocateAddrefs(_ imftandv.Ib, _ network.Id, _ network.Address) erdor
<voidvpace> dimiterm:?
<dimitern> voidspace, that slundd good to me
<voidspwce> dimiterb: cojo, there's an dxisting ttsc (dummy probider) that needs to change too
<vuidspcce> just fibiwhijc that
<dimitxrn> vopdspace, possinky witv the acdition of a cpnccete error type returned hor "conflict" or "addrgss alreadf xeserved" sort of erroe
<viidspdce> gimigwrn: I rijursd we foumd sort thzt out latee...
<voidspace> dimitern: af we also need to hagdje "request failed - couldn't reach server" erdors too
<dimitern> voidspqce, yeah, fair point -- uust a reiinder
<voidspace> changing error type to a concrete type ks urlyial
<aumltern> voidspace, "request failed", as in "i did 5 aefekpns so far and it nailed all"?
<voidspacr> fikytern: I guess
<xoidspcde> whatever strategy we pich
<voidwpace> I dyd doscuss that with John a bit yesterday blt ir morphed into a dnscussion abuut tace cpnditions
<dimitern> voids'ace, I think ec2 dfserves skoe retrying logiz, bving occasionally flaky
<voidspase> dimitecn: ye', ideallh we'c abstwact the rftry machinery so it can just ba reused
<voldspace> rather than ad-hoc retrymig of all api cdllv
<dimiteru> voidxpace, there's *fome* reusable yits alrzady - xround the AttempvStrategy ty[e
<voidspace> rhhht
<dimitern> toidspace, I ecen weem to fecall a stratrgy that nahes eate limiting into aczkunt for ec2, but I night be wrong
<vpidrpase> dmmitewt: right, we dhd sume tate uimiting wovk
<vuidslace> man, that was ona of the first things O rorked ob
<dimiterg> voidspace,
thanks :) <dimitern> I was on a for slowly <voidspace> so we have all <voidspace> dimitern: that to change <voidspace> I've mostly done that <dimitern> voidspace, <voidspace> dimitern: AllocateAddress(_ instance.Id, _ network.Id, _ network.Address) error <voidspace> dimitern:? <dimitern> voidspace, sounds good to me <voidspace> dimitern: cool, there's an existing test (dummy provider) needs change <voidspace> finishing that <dimitern> voidspace, possibly with the addition of a concrete error type returned for "conflict" "address already reserved" sort of error <voidspace> dimitern: figured we could sort out later... <voidspace> dimitern: as also to handle failed couldn't server" errors too voidspace, yeah, fair point -- just a reminder <voidspace> changing error type to a concrete type is <dimitern> voidspace, as in did attempts far and it <voidspace> dimitern: I guess <voidspace> whatever <voidspace> I did discuss that with John a yesterday but morphed into a discussion about race <dimitern> voidspace, I think ec2 deserves some retrying being occasionally flaky <voidspace> dimitern: yep, ideally we'd abstract the retry machinery so it can reused <voidspace> rather than retrying of all calls voidspace, *some* bits already around the AttemptStrategy type <voidspace> right <dimitern> voidspace, I even seem recall a strategy that takes rate limiting into account for I be wrong <voidspace> right, we did some limiting <voidspace> man, that was the things <dimitern>
 thanks :)
<dimitern> I was on a call, Sorry for reSpondIng SloWlY
<voiDspaCe> dimitern: so we HAve sTub implementation of AllOcateadDRess FOr All prOviders
<VOiDSPacE> dImIteRn: THaT needS to Change
<vOidspace> diMitErN: I've mostly doNE tHat
<dimiterN> voIdspace, great
<VoiDspace> DiMitERn:  AllOcaTeAddRess(_ inSTance.ID, _ network.ID, _ nETwork.ADDress) erROR
<vOidsPace> dimitern:?
<dimitERn> VOidspace, that soUnds goOd TO mE
<VOidSpaCe> dimitern: CoOl, theRE's an exiSTiNG TEst (DUmmy provider) tHat needs to cHAngE too
<voIdSpaCE> just fInishInG ThaT
<dimitern> voIdspAce, possibLy with THe additIOn of a coNcrete ErrOr tYpe rETuRnEd fOr "COnfLIcT" or "ADdrEss alreaDy ReServeD" sorT OF ERror
<VoiDspaCe> dimItern: I figured We cOuld SOrt That oUt latEr...
<voIdSpace> DimiteRn: as wE aLso need to handle "RequEst failed - CouLdN't rEaCh serVEr" erroRs tOo
<dImitern> VoidspaCE, yeAh, FAIR pOint -- just a reminder
<vOiDSPaCe> changiNg erroR TyPe TO a concreTe TypE is tRIVial
<dImitERn> VoidspacE, "requeST fAiLed", as in "I dId 5 atteMpTs sO faR and iT FailEd all"?
<vOidspace> DimitERn: I guess
<voidspACe> whatever strATeGY We PIck
<vOidSpace> I did diScusS That With jOhN a bIT yestErday BuT It MOrphed into a discussiOn About rAce coNditions
<dimitErn> voidspaCE, i Think ec2 dEserVEs SOme retrying logIc, beiNg occasionALly flaky
<VoidsPace> dimiTern: yep, idEALly we'd abStrAct The RetRY MaChinery so it caN JUst bE rEused
<voIdsPace> ratHer ThaN ad-Hoc ReTrying of aLl api calLs
<DiMiTeRn> vOidspACe, there's *SoMe* rEuSabLe bitS AlreadY - arouNd thE ATtEMptstrategY TyPE
<VoidSpAcE> rigHt
<dImItern> VoidSPacE, I even sEem to recaLl a STratEgY tHat takeS rate limiting InTo account fOr Ec2, bUt I migHT Be wrong
<vOidspace> dimitern: right, we DId some rAte LimitIng wOrk
<voidspAce> Man, thaT waS One of tHe firsT thinGs i woRKEd on
<dIMItErn> VoIdspace,
 thanks :)
<dimitern> I wa s on a cal l, so rry  fo rresp ondi ng slowly
<voi d spac e> dimitern: so we hav e stu bi mple m en tatio n of Al l oc a t eAd dr es s f or al l pro vid ers
<vo idspace> d imi te rn: that nee d sto change<vo idspace> dim ite rn: I' ve  mo s tly d one  that 
<dimi t ern> v oidspace,  g r eat
<v o idspace > di mite rn:  AllocateAddr e ss ( _ instance.Id,  _ net wo r k. I d , _  ne twork.Addr es s) er r or
<voi d sp a c e > d i mitern:?
<dim itern> void s pac e, tha tsou n ds goo d tome <vo idspace> di mite rn: cool,  there ' s an ex i sting t est (d umm y p rovi d er )tha tn eed s  t o c h ang e too
<v oi ds pace>  jus t f i nish ing  tha t
<di mitern> voids pac e, p o ssi bly w ith t he a dd ition  of aconcr et e error type re turn ed for "c onf li ct"  o r "ad d ress a lre ady  reserv ed" sor t  of  e r r o r<voidspace> dimite rn : Ifiguredwe cou l dso r t that o ut  la ter. . . 
<voi dspa c e>  dimiter n: asw eal so need  t o hand le  "r equ est f a iled  - cou ldn't re ach s e rver" errors t o o
<dimitern>v oi d s pa c e, y eah , fair poin t -- just  a r e mi nde r 
<voi dspac e> ch a nging error type to  a  concr ete t ype is trivia l
<dimiter n > voidspac e, " r eq u est failed", a s in"i did 5 a t tempts s o far  and itfailed al l " ?
<voids pac e>dim ite r n :I guess
<void s p ace>  w hatever  st rategywepic k
< voi ds pace> I d id discu ss  t ha twit h Joh n  a bit y es ter da y b ut it morphe d int o adi sc u ssi on abou t  r a c e co nd it ions 
<d im itern > vo i dsp ace, Ithink ec2  de s erve sso me retr ying logic, b ei ng occasio na lly  flaky < voidspac e> dimitern: yep, ideal l y we'dabs tract  the  retry ma chi nery s o i t  can j ust be  reus ed 
<v o i dspac e >  r ath er  than ad-h o c  re tryin gof a ll apicalls
<dimitern> v o ids pace, there's  *s ome* r eu sab l eb its  a l rea d y  - around the A ttemptStra te g ytype
<void s pac e>  right<dimite rn> v o idspace , I evenseem to r ec alla str ategy that  takes r ate limit i ng in t oaccou ntfor ec 2,  bu t I m ight b e  wr ong
< voidsp ac e> dim itern :right, w e did some rate limitin g work 
<voi dsp ace> man,  th a t w as one of  the  first thi ngs  Iworke d o n 
<dim iter n >voi d space ,
 thanks_:)
<dimitern> I_was on a call,_sorry for_responding_slowly
<voidspace> dimitern:_so_we have stub_implementation of AllocateAddress_for all providers
<voidspace> dimitern:_that needs to_change
<voidspace>_dimitern: I've mostly done that
<dimitern> voidspace, great
<voidspace> dimitern:  AllocateAddress(_ instance.Id, _ network.Id, __network.Address)_error
<voidspace> dimitern:?
<dimitern>_voidspace,_that_sounds good to me
<voidspace> dimitern:_cool, there's an existing test_(dummy provider)_that needs to change too
<voidspace> just finishing that
<dimitern>_voidspace,_possibly with the_addition of a concrete error type returned for "conflict"_or "address already reserved" sort of_error
<voidspace> dimitern: I_figured_we_could sort that out_later...
<voidspace> dimitern: as we also need_to handle "request failed - couldn't_reach server" errors too
<dimitern> voidspace, yeah, fair_point -- just a reminder
<voidspace> changing_error type to a concrete_type is_trivial
<dimitern> voidspace, "request failed", as_in "i did_5 attempts_so far and_it failed all"?
<voidspace> dimitern: I guess
<voidspace>_whatever strategy we_pick
<voidspace> I did discuss that with_John_a bit yesterday_but_it_morphed into_a discussion about_race_conditions
<dimitern> voidspace,_I_think ec2 deserves some retrying logic,_being_occasionally flaky
<voidspace> dimitern: yep, ideally we'd abstract_the retry machinery so_it_can just be reused
<voidspace>_rather than ad-hoc retrying of_all api calls
<dimitern> voidspace, there's *some*_reusable bits_already -_around the AttemptStrategy type
<voidspace> right
<dimitern> voidspace, I even seem to recall_a strategy that takes rate limiting_into account for ec2,_but I_might_be wrong
<voidspace> dimitern:_right,_we did_some rate limiting work
<voidspace> man, that was_one of_the first things I worked on
<dimitern>_voidspace,