Update test logic to simulate NodeReady/False and NodeReady/Unknown events correctly
Update test logic to simulate NodeReady/False and NodeReady/Unknown events correctly

- optimize code to use one loop to spin up goroutines
- add `defer cleanupTest()` to avoid goroutine leaks
- use only one heartbeat channel

li-ang/kubernetes,nak3/kubernetes,wongma7/kubernetes,mboersma/kubernetes,fabriziopandini/kubernetes,cmluciano/kubernetes,saad-ali/kubernetes,andrewrynhard/kubernetes,iameli/kubernetes,tcnghia/kubernetes,jackfrancis/kubernetes,rafax/kubernetes,erwinvaneyk/kubernetes,mboersma/kubernetes,tengqm/kubernetes,mahak/kubernetes,dims/kubernetes,dereknex/kubernetes,mkumatag/kubernetes,du2016/kubernetes,mboersma/kubernetes,PiotrProkop/kubernetes,jfrazelle/kubernetes,jdef/kubernetes,nak3/kubernetes,verult/kubernetes,xlgao-zju/kubernetes,andrewrynhard/kubernetes,tomzhang/kubernetes,kevin-wangzefeng/kubernetes,hex108/kubernetes,luxas/kubernetes,brendandburns/kubernetes,pmorie/kubernetes,chestack/kubernetes,tomzhang/kubernetes,xlgao-zju/kubernetes,JacobTanenbaum/kubernetes,shyamjvs/kubernetes,jessfraz/kubernetes,wanghaoran1988/kubernetes,spzala/kubernetes,ravilr/kubernetes,PiotrProkop/kubernetes,MikeSpreitzer/kubernetes,sanjeevm0/kubernetes,cadmuxe/kubernetes,jdef/kubernetes,feiskyer/kubernetes,fanzhangio/kubernetes,li-ang/kubernetes,fgimenez/kubernetes,u2takey/kubernetes,LalatenduMohanty/kubernetes,zetaab/kubernetes,jingxu97/kubernetes,saad-ali/kubernetes,weiwei04/kubernetes,kevensen/kubernetes,brendandburns/kubernetes,csrwng/kubernetes,zhangmingld/kubernetes,PI-Victor/kubernetes,jfrazelle/kubernetes,yujuhong/kubernetes,soltysh/kubernetes,zhouhaibing089/kubernetes,ixdy/kubernetes,luxas/kubernetes,gnufied/kubernetes,brendandburns/kubernetes,brendandburns/kubernetes,mkumatag/kubernetes,BenTheElder/kubernetes,luxas/kubernetes,JacobTanenbaum/kubernetes,humblec/kubernetes,yarntime/kubernetes,bizhao/kubernetes,coolsvap/kubernetes,kevensen/kubernetes,PI-Victor/kubernetes,kevensen/kubernetes,rnaveiras/kubernetes,mkumatag/kubernetes,verult/kubernetes,jingxu97/kubernetes,BenTheElder/kubernetes,shyamjvs/kubernetes,verb/kubernetes,feiskyer/kubernetes,ravilr/kubernetes,chrislovecnm/kubernetes,feiskyer/kubernetes,Lion-Wei/kubernetes,mahak/kubernetes,verult/kubernetes,stevesloka/kubernetes,chrislovecnm/kubernetes,li-ang/kubernetes,xlgao-zju/kubernetes,frodenas/kubernetes,tomerf/kubernetes,kitt1987/kubernetes,linux-on-ibm-z/kubernetes,jagosan/kubernetes,fanzhangio/kubernetes,monopole/kubernetes,rrati/kubernetes,krmayankk/kubernetes,dereknex/kubernetes,kitt1987/kubernetes,gnufied/kubernetes,pwittrock/kubernetes,coolsvap/kubernetes,ravilr/kubernetes,verult/kubernetes,nikhita/kubernetes,jessfraz/kubernetes,coolsvap/kubernetes,mikebrow/kubernetes,pwittrock/kubernetes,davidz627/kubernetes,ping035627/kubernetes,mfojtik/kubernetes,aledbf/kubernetes,fejta/kubernetes,k82/kubernetes,MikeSpreitzer/kubernetes,xychu/kubernetes,bizhao/kubernetes,PI-Victor/kubernetes,weiwei04/kubernetes,johscheuer/kubernetes,Clarifai/kubernetes,coolsvap/kubernetes,yujuhong/kubernetes,ingvagabund/kubernetes,frodenas/kubernetes,nak3/kubernetes,weiwei04/kubernetes,deads2k/kubernetes,MHBauer/kubernetes,liggitt/kubernetes,feiskyer/kubernetes,derekwaynecarr/kubernetes,x13n/kubernetes,ixdy/kubernetes,matthyx/kubernetes,jsafrane/kubernetes,GulajavaMinistudio/kubernetes,k82cn/kubernetes,Acidburn0zzz/kubernetes,k82/kubernetes,humblec/kubernetes,aveshagarwal/kubernetes,xychu/kubernetes,yarntime/kubernetes,matthyx/kubernetes,cblecker/kubernetes,Clarifai/kubernetes,cofyc/kubernetes,liggitt/kubernetes,dixudx/kubernetes,gnufied/kubernetes,rnaveiras/kubernetes,coolsvap/kubernetes,yarntime/kubernetes,roberthbailey/kubernetes,carlory/kubernetes,andrewsykim/kubernetes,Clarifai/kubernetes,joelsmith/kubernetes,idvoretskyi/kubernetes,Lion-Wei/kubernetes,tpepper/kubernetes,mengqiy/kubernetes,cmluciano/kubernetes,carlory/kubernetes,davidz627/kubernetes,pires/kubernetes,tengqm/kubernetes,ii/kubernetes,kitt1987/kubernetes,nikhita/kubernetes,wanghaoran1988/kubernetes,Lion-Wei/kubernetes,johscheuer/kubernetes,hex108/kubernetes,olivierlemasle/kubernetes,mboersma/kubernetes,jdef/kubernetes,cblecker/kubernetes,pmorie/kubernetes,zhouhaibing089/kubernetes,PiotrProkop/kubernetes,kubernetes/kubernetes,MHBauer/kubernetes,tallclair/kubernetes,wanghaoran1988/kubernetes,rafax/kubernetes,aveshagarwal/kubernetes,bparees/kubernetes,LalatenduMohanty/kubernetes,pires/kubernetes,bizhao/kubernetes,aveshagarwal/kubernetes,stevesloka/kubernetes,brendandburns/kubernetes,jfrazelle/kubernetes,mfojtik/kubernetes,kpgriffith/kubernetes,ingvagabund/kubernetes,iterion/kubernetes,shyamjvs/kubernetes,gnufied/kubernetes,andrewsykim/kubernetes,thockin/kubernetes,kpgriffith/kubernetes,BenTheElder/kubernetes,jackfrancis/kubernetes,soltysh/kubernetes,jessfraz/kubernetes,du2016/kubernetes,deads2k/kubernetes,rafax/kubernetes,brendandburns/kubernetes,andrewsykim/kubernetes,tomzhang/kubernetes,mikedanese/kubernetes,dims/kubernetes,kubernetes/kubernetes,ixdy/kubernetes,chrislovecnm/kubernetes,frodenas/kubernetes,kevin-wangzefeng/kubernetes,dlorenc/kubernetes,mahak/kubernetes,u2takey/kubernetes,alejandroEsc/kubernetes,JacobTanenbaum/kubernetes,nikhita/kubernetes,bparees/kubernetes,pmorie/kubernetes,maciaszczykm/kubernetes,joelsmith/kubernetes,zetaab/kubernetes,huangjiuyuan/kubernetes,spzala/kubernetes,mikedanese/kubernetes,sdminonne/kubernetes,rnaveiras/kubernetes,wongma7/kubernetes,cmluciano/kubernetes,kpgriffith/kubernetes,zhangmingld/kubernetes,jsafrane/kubernetes,BenTheElder/kubernetes,warmchang/kubernetes,micahhausler/kubernetes,fejta/kubernetes,pires/kubernetes,warmchang/kubernetes,weiwei04/kubernetes,dlorenc/kubernetes,tpepper/kubernetes,tomerf/kubernetes,maciaszczykm/kubernetes,andrewrynhard/kubernetes,alejandroEsc/kubernetes,mboersma/kubernetes,PiotrProkop/kubernetes,liggitt/kubernetes,deads2k/kubernetes,fanzhangio/kubernetes,monopole/kubernetes,GulajavaMinistudio/kubernetes,weiwei04/kubernetes,bparees/kubernetes,ingvagabund/kubernetes,monopole/kubernetes,kubernetes/kubernetes,huangjiuyuan/kubernetes,kevin-wangzefeng/kubernetes,MHBauer/kubernetes,cofyc/kubernetes,tengqm/kubernetes,tcnghia/kubernetes,warmchang/kubernetes,chrislovecnm/kubernetes,davidz627/kubernetes,tomzhang/kubernetes,derekwaynecarr/kubernetes,jingxu97/kubernetes,sanjeevm0/kubernetes,idvoretskyi/kubernetes,cadmuxe/kubernetes,joelsmith/kubernetes,openshift/kubernetes,monopole/kubernetes,dixudx/kubernetes,jingxu97/kubernetes,csrwng/kubernetes,mahak/kubernetes,mengqiy/kubernetes,monopole/kubernetes,chestack/kubernetes,mikebrow/kubernetes,chestack/kubernetes,luxas/kubernetes,cadmuxe/kubernetes,erwinvaneyk/kubernetes,feiskyer/kubernetes,linux-on-ibm-z/kubernetes,ravisantoshgudimetla/kubernetes,mYmNeo/kubernetes,iameli/kubernetes,coolsvap/kubernetes,stevesloka/kubernetes,aledbf/kubernetes,sdminonne/kubernetes,tpepper/kubernetes,andrewrynhard/kubernetes,sanjeevm0/kubernetes,xlgao-zju/kubernetes,JacobTanenbaum/kubernetes,ixdy/kubernetes,lojies/kubernetes,humblec/kubernetes,johscheuer/kubernetes,Lion-Wei/kubernetes,pweil-/kubernetes,derekwaynecarr/kubernetes,tomerf/kubernetes,johscheuer/kubernetes,derekwaynecarr/kubernetes,MikeSpreitzer/kubernetes,aledbf/kubernetes,u2takey/kubernetes,warmchang/kubernetes,cblecker/kubernetes,ixdy/kubernetes,mikedanese/kubernetes,li-ang/kubernetes,tengqm/kubernetes,mYmNeo/kubernetes,kpgriffith/kubernetes,tomerf/kubernetes,mahak/kubernetes,ravilr/kubernetes,verult/kubernetes,bizhao/kubernetes,chestack/kubernetes,roberthbailey/kubernetes,zetaab/kubernetes,u2takey/kubernetes,davidz627/kubernetes,PI-Victor/kubernetes,sethpollack/kubernetes,Acidburn0zzz/kubernetes,tomzhang/kubernetes,mengqiy/kubernetes,BenTheElder/kubernetes,mosoft521/kubernetes,wanghaoran1988/kubernetes,mikebrow/kubernetes,bizhao/kubernetes,ravisantoshgudimetla/kubernetes,weiwei04/kubernetes,tengqm/kubernetes,pires/kubernetes,jsafrane/kubernetes,csrwng/kubernetes,enj/kubernetes,fejta/kubernetes,stevesloka/kubernetes,cmluciano/kubernetes,fanzhangio/kubernetes,pires/kubernetes,chrislovecnm/kubernetes,spzala/kubernetes,micahhausler/kubernetes,derekwaynecarr/kubernetes,soltysh/kubernetes,tpepper/kubernetes,cofyc/kubernetes,erwinvaneyk/kubernetes,rrati/kubernetes,enj/kubernetes,ping035627/kubernetes,mYmNeo/kubernetes,olivierlemasle/kubernetes,nak3/kubernetes,yarntime/kubernetes,fgimenez/kubernetes,cofyc/kubernetes,Lion-Wei/kubernetes,Acidburn0zzz/kubernetes,pweil-/kubernetes,verb/kubernetes,idvoretskyi/kubernetes,ravisantoshgudimetla/kubernetes,chrislovecnm/kubernetes,kubernetes/kubernetes,hex108/kubernetes,MikeSpreitzer/kubernetes,wongma7/kubernetes,aledbf/kubernetes,jagosan/kubernetes,ravisantoshgudimetla/kubernetes,enj/kubernetes,saad-ali/kubernetes,openshift/kubernetes,mfojtik/kubernetes,micahhausler/kubernetes,fgimenez/kubernetes,spzala/kubernetes,idvoretskyi/kubernetes,mfojtik/kubernetes,pweil-/kubernetes,jessfraz/kubernetes,maciaszczykm/kubernetes,zhouhaibing089/kubernetes,pwittrock/kubernetes,ingvagabund/kubernetes,wongma7/kubernetes,andrewsykim/kubernetes,tcnghia/kubernetes,liggitt/kubernetes,k82/kubernetes,xlgao-zju/kubernetes,saad-ali/kubernetes,jagosan/kubernetes,pmorie/kubernetes,johscheuer/kubernetes,jdef/kubernetes,idvoretskyi/kubernetes,frodenas/kubernetes,cadmuxe/kubernetes,fabriziopandini/kubernetes,iterion/kubernetes,huangjiuyuan/kubernetes,csrwng/kubernetes,ping035627/kubernetes,nikhita/kubernetes,joelsmith/kubernetes,jagosan/kubernetes,andrewsykim/kubernetes,joelsmith/kubernetes,xychu/kubernetes,mboersma/kubernetes,sethpollack/kubernetes,tomerf/kubernetes,ping035627/kubernetes,LalatenduMohanty/kubernetes,klaus1982/kubernetes,nak3/kubernetes,nckturner/kubernetes,erwinvaneyk/kubernetes,yujuhong/kubernetes,openshift/kubernetes,sethpollack/kubernetes,cmluciano/kubernetes,zhouhaibing089/kubernetes,k82/kubernetes,mYmNeo/kubernetes,mfojtik/kubernetes,rnaveiras/kubernetes,fabriziopandini/kubernetes,verult/kubernetes,huangjiuyuan/kubernetes,fejta/kubernetes,ingvagabund/kubernetes,humblec/kubernetes,kevin-wangzefeng/kubernetes,tomzhang/kubernetes,maciaszczykm/kubernetes,jfrazelle/kubernetes,pweil-/kubernetes,x13n/kubernetes,ravilr/kubernetes,maciaszczykm/kubernetes,aveshagarwal/kubernetes,mikedanese/kubernetes,idvoretskyi/kubernetes,tallclair/kubernetes,chestack/kubernetes,frodenas/kubernetes,cmluciano/kubernetes,jackfrancis/kubernetes,dims/kubernetes,deads2k/kubernetes,mengqiy/kubernetes,kevin-wangzefeng/kubernetes,k82cn/kubernetes,jdef/kubernetes,pwittrock/kubernetes,davidz627/kubernetes,dims/kubernetes,jsafrane/kubernetes,linux-on-ibm-z/kubernetes,zetaab/kubernetes,frodenas/kubernetes,fgimenez/kubernetes,kpgriffith/kubernetes,mengqiy/kubernetes,openshift/kubernetes,nak3/kubernetes,alejandroEsc/kubernetes,matthyx/kubernetes,tomzhang/kubernetes,iterion/kubernetes,lojies/kubernetes,dixudx/kubernetes,saad-ali/kubernetes,nckturner/kubernetes,dixudx/kubernetes,tomerf/kubernetes,jagosan/kubernetes,fanzhangio/kubernetes,mosoft521/kubernetes,mikedanese/kubernetes,x13n/kubernetes,Lion-Wei/kubernetes,MikeSpreitzer/kubernetes,kpgriffith/kubernetes,gnufied/kubernetes,andrewrynhard/kubernetes,linux-on-ibm-z/kubernetes,soltysh/kubernetes,nckturner/kubernetes,kitt1987/kubernetes,JacobTanenbaum/kubernetes,yarntime/kubernetes,olivierlemasle/kubernetes,mfojtik/kubernetes,ii/kubernetes,ii/kubernetes,hex108/kubernetes,rrati/kubernetes,zhouhaibing089/kubernetes,tallclair/kubernetes,li-ang/kubernetes,zetaab/kubernetes,tallclair/kubernetes,rafax/kubernetes,Clarifai/kubernetes,wanghaoran1988/kubernetes,luxas/kubernetes,mkumatag/kubernetes,xychu/kubernetes,roberthbailey/kubernetes,x13n/kubernetes,ping035627/kubernetes,tcnghia/kubernetes,Clarifai/kubernetes,iameli/kubernetes,joelsmith/kubernetes,k82cn/kubernetes,andrewsykim/kubernetes,maciaszczykm/kubernetes,u2takey/kubernetes,mkumatag/kubernetes,yujuhong/kubernetes,linux-on-ibm-z/kubernetes,krmayankk/kubernetes,dereknex/kubernetes,luxas/kubernetes,kevensen/kubernetes,du2016/kubernetes,cofyc/kubernetes,du2016/kubernetes,mikebrow/kubernetes,andrewrynhard/kubernetes,krmayankk/kubernetes,dlorenc/kubernetes,GulajavaMinistudio/kubernetes,jfrazelle/kubernetes,sdminonne/kubernetes,derekwaynecarr/kubernetes,klaus1982/kubernetes,mboersma/kubernetes,dims/kubernetes,enj/kubernetes,iterion/kubernetes,davidz627/kubernetes,pweil-/kubernetes,jackfrancis/kubernetes,hex108/kubernetes,warmchang/kubernetes,rrati/kubernetes,pmorie/kubernetes,pires/kubernetes,ingvagabund/kubernetes,zhangmingld/kubernetes,lojies/kubernetes,iameli/kubernetes,mYmNeo/kubernetes,cblecker/kubernetes,thockin/kubernetes,hex108/kubernetes,ravisantoshgudimetla/kubernetes,mYmNeo/kubernetes,thockin/kubernetes,openshift/kubernetes,GulajavaMinistudio/kubernetes,tomzhang/kubernetes,PiotrProkop/kubernetes,deads2k/kubernetes,aledbf/kubernetes,olivierlemasle/kubernetes,pmorie/kubernetes,yarntime/kubernetes,cofyc/kubernetes,verb/kubernetes,dereknex/kubernetes,tpepper/kubernetes,liggitt/kubernetes,pwittrock/kubernetes,iterion/kubernetes,spzala/kubernetes,x13n/kubernetes,klaus1982/kubernetes,xychu/kubernetes,tallclair/kubernetes,bparees/kubernetes,saad-ali/kubernetes,cadmuxe/kubernetes,pwittrock/kubernetes,GulajavaMinistudio/kubernetes,alejandroEsc/kubernetes,LalatenduMohanty/kubernetes,erwinvaneyk/kubernetes,thockin/kubernetes,ii/kubernetes,rnaveiras/kubernetes,aveshagarwal/kubernetes,matthyx/kubernetes,Clarifai/kubernetes,ixdy/kubernetes,shyamjvs/kubernetes,sanjeevm0/kubernetes,carlory/kubernetes,ii/kubernetes,jingxu97/kubernetes,dlorenc/kubernetes,xychu/kubernetes,PI-Victor/kubernetes,bizhao/kubernetes,nikhita/kubernetes,sdminonne/kubernetes,enj/kubernetes,erwinvaneyk/kubernetes,jackfrancis/kubernetes,fabriziopandini/kubernetes,cadmuxe/kubernetes,MHBauer/kubernetes,mosoft521/kubernetes,roberthbailey/kubernetes,aveshagarwal/kubernetes,MHBauer/kubernetes,lojies/kubernetes,bparees/kubernetes,tomzhang/kubernetes,wanghaoran1988/kubernetes,matthyx/kubernetes,klaus1982/kubernetes,dlorenc/kubernetes,LalatenduMohanty/kubernetes,krmayankk/kubernetes,xlgao-zju/kubernetes,cblecker/kubernetes,stevesloka/kubernetes,k82cn/kubernetes,dereknex/kubernetes,jsafrane/kubernetes,johscheuer/kubernetes,tcnghia/kubernetes,micahhausler/kubernetes,krmayankk/kubernetes,krmayankk/kubernetes,k82/kubernetes,MHBauer/kubernetes,sethpollack/kubernetes,kitt1987/kubernetes,huangjiuyuan/kubernetes,kubernetes/kubernetes,Acidburn0zzz/kubernetes,Acidburn0zzz/kubernetes,stevesloka/kubernetes,mboersma/kubernetes,ravisantoshgudimetla/kubernetes,nckturner/kubernetes,pweil-/kubernetes,verb/kubernetes,tcnghia/kubernetes,yujuhong/kubernetes,fgimenez/kubernetes,dixudx/kubernetes,sanjeevm0/kubernetes,verb/kubernetes,shyamjvs/kubernetes,u2takey/kubernetes,du2016/kubernetes,PI-Victor/kubernetes,jessfraz/kubernetes,lojies/kubernetes,x13n/kubernetes,fanzhangio/kubernetes,dlorenc/kubernetes,carlory/kubernetes,mosoft521/kubernetes,tallclair/kubernetes,mosoft521/kubernetes,roberthbailey/kubernetes,fabriziopandini/kubernetes,zhangmingld/kubernetes,carlory/kubernetes,sethpollack/kubernetes,sdminonne/kubernetes,iterion/kubernetes,micahhausler/kubernetes,JacobTanenbaum/kubernetes,thockin/kubernetes,jdef/kubernetes,zetaab/kubernetes,olivierlemasle/kubernetes,huangjiuyuan/kubernetes,alejandroEsc/kubernetes,sanjeevm0/kubernetes,kevensen/kubernetes,mikebrow/kubernetes,wongma7/kubernetes,LalatenduMohanty/kubernetes,nckturner/kubernetes,soltysh/kubernetes,rrati/kubernetes,k82cn/kubernetes,fejta/kubernetes,tpepper/kubernetes,zhangmingld/kubernetes,zhangmingld/kubernetes,iameli/kubernetes,fgimenez/kubernetes,csrwng/kubernetes,dereknex/kubernetes,fejta/kubernetes,Acidburn0zzz/kubernetes,kitt1987/kubernetes,yujuhong/kubernetes,humblec/kubernetes