hedge
hedge copied to clipboard
Fix crash when resource group or function app is missing
Fix crash when resource group or function app is missing.
Test for nils and throw exception with sane message.
Alternative plan
Log if not found and create new
Also in list at #48
I just found out that if you pass non-existing resource group to the deploy-azure function (or deploy-azure-from-directory), you get a confusing stack trace:
Sifting output files...
[pool-2-thread-1] INFO com.microsoft.aad.adal4j.AuthenticationAuthority - [Correlation ID: 6ce06ca8-b2f3-49b9-8437-0e3296502301] Instance discovery was successful
java.lang.Thread.run Thread.java: 748
java.util.concurrent.ThreadPoolExecutor$Worker.run ThreadPoolExecutor.java: 624
java.util.concurrent.ThreadPoolExecutor.runWorker ThreadPoolExecutor.java: 1149
java.util.concurrent.FutureTask.run FutureTask.java: 266
...
clojure.core/binding-conveyor-fn/fn core.clj: 1938
boot.core/boot/fn core.clj: 1031
boot.core/run-tasks core.clj: 1021
boot-hedge.core/eval1475/fn/fn/fn core.clj: 160
boot.task.built-in/fn/fn/fn/fn built_in.clj: 627
boot-hedge.core/eval1344/fn/fn/fn core.clj: 125
boot-hedge.core/publishing-profile core.clj: 106
...
com.microsoft.azure.management.appservice.implementation.FunctionAppsImpl.getByResourceGroup FunctionAppsImpl.java: 20
com.microsoft.azure.management.appservice.implementation.FunctionAppsImpl.getByResourceGroup FunctionAppsImpl.java: 50
com.microsoft.azure.management.appservice.implementation.WebAppsInner.getByResourceGroup WebAppsInner.java: 1552
rx.observables.BlockingObservable.single BlockingObservable.java: 341
rx.observables.BlockingObservable.blockForSingle BlockingObservable.java: 444
rx.Observable.subscribe Observable.java: 10205
rx.Observable.subscribe Observable.java: 10238
rx.internal.operators.OnSubscribeLift.call OnSubscribeLift.java: 30
rx.internal.operators.OnSubscribeLift.call OnSubscribeLift.java: 48
rx.internal.operators.OnSubscribeLift.call OnSubscribeLift.java: 30
rx.internal.operators.OnSubscribeLift.call OnSubscribeLift.java: 48
rx.internal.operators.OnSubscribeMap.call OnSubscribeMap.java: 33
rx.internal.operators.OnSubscribeMap.call OnSubscribeMap.java: 48
rx.Observable.unsafeSubscribe Observable.java: 10142
retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call RxJavaCallAdapterFactory.java: 138
retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call RxJavaCallAdapterFactory.java: 152
rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer OnSubscribeMap.java: 102
rx.Subscriber.setProducer Subscriber.java: 211
retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request RxJavaCallAdapterFactory.java: 173
rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext OnSubscribeMap.java: 69
com.microsoft.azure.management.appservice.implementation.WebAppsInner$19.call WebAppsInner.java: 1608
com.microsoft.azure.management.appservice.implementation.WebAppsInner$19.call WebAppsInner.java: 1612
com.microsoft.azure.management.appservice.implementation.WebAppsInner.access$200 WebAppsInner.java: 49
com.microsoft.azure.management.appservice.implementation.WebAppsInner.getByResourceGroupDelegate WebAppsInner.java: 1625
com.microsoft.azure.AzureResponseBuilder.build AzureResponseBuilder.java: 56
com.microsoft.rest.ServiceResponseBuilder.build ServiceResponseBuilder.java: 122
...
com.microsoft.azure.CloudException: Status code 400, {"error":{"code":"InvalidApiVersionParameter","message":"The api-version '2016-08-01' is invalid. The supported versions are '2018-01-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04'."}}
clojure.lang.ExceptionInfo: Status code 400, {"error":{"code":"InvalidApiVersionParameter","message":"The api-version '2016-08-01' is invalid. The supported versions are '2018-01-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04'."}}