{"action":"closed","issue":{"url":"https://api.github.com/repos/zalando/zalenium/issues/603","repository_url":"https://api.github.com/repos/zalando/zalenium","labels_url":"https://api.github.com/repos/zalando/zalenium/issues/603/labels{/name}","comments_url":"https://api.github.com/repos/zalando/zalenium/issues/603/comments","events_url":"https://api.github.com/repos/zalando/zalenium/issues/603/events","html_url":"https://github.com/zalando/zalenium/issues/603","id":328436383,"node_id":"MDU6SXNzdWUzMjg0MzYzODM=","number":603,"title":"Readiness probe failed: HTTP probe failed with statuscode: 502","user":{"login":"bramvdklinkenberg","id":10193236,"node_id":"MDQ6VXNlcjEwMTkzMjM2","avatar_url":"https://avatars2.githubusercontent.com/u/10193236?v=4","gravatar_id":"","url":"https://api.github.com/users/bramvdklinkenberg","html_url":"https://github.com/bramvdklinkenberg","followers_url":"https://api.github.com/users/bramvdklinkenberg/followers","following_url":"https://api.github.com/users/bramvdklinkenberg/following{/other_user}","gists_url":"https://api.github.com/users/bramvdklinkenberg/gists{/gist_id}","starred_url":"https://api.github.com/users/bramvdklinkenberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bramvdklinkenberg/subscriptions","organizations_url":"https://api.github.com/users/bramvdklinkenberg/orgs","repos_url":"https://api.github.com/users/bramvdklinkenberg/repos","events_url":"https://api.github.com/users/bramvdklinkenberg/events{/privacy}","received_events_url":"https://api.github.com/users/bramvdklinkenberg/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-06-01T08:59:18Z","updated_at":"2018-06-11T12:15:18Z","closed_at":"2018-06-11T12:15:18Z","author_association":"NONE","body":"Hi,\r\n\r\nI am trying to deploy the zalenium helm chart in my newly deployed aks kuberbetes (1.9.6) cluster in Azure. But I don't get it to work. The pod is giving the log below:\r\n\r\n`[bram@xforce zalenium]$ kubectl logs -f zalenium-zalenium-hub-6bbd86ff78-m25t2\r\nKubernetes service account found.\r\nCopying files for Dashboard...\r\ncp: cannot create regular file '/home/seluser/videos/index.html': Permission denied\r\ncp: cannot create directory '/home/seluser/videos/css': Permission denied\r\ncp: cannot create directory '/home/seluser/videos/js': Permission denied\r\nStarting Nginx reverse proxy...\r\nStarting Selenium Hub...\r\n..........08:49:14.052 [main] INFO  o.o.grid.selenium.GridLauncherV3 - Selenium build info: version: '3.12.0', revision: 'unknown'\r\n08:49:14.120 [main] INFO  o.o.grid.selenium.GridLauncherV3 - Launching Selenium Grid hub on port 4445\r\n...08:49:15.125 [main] INFO  d.z.e.z.c.k.KubernetesContainerClient - Initialising Kubernetes support\r\n..08:49:15.650 [main] WARN  d.z.e.z.c.k.KubernetesContainerClient - Error initialising Kubernetes support.\r\nio.fabric8.kubernetes.client.KubernetesClientException: Operation: [get]  for kind: [Pod]  with name: [zalenium-zalenium-hub-6bbd86ff78-m25t2]  in namespace: [default]  failed.\r\n\tat io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:62)\r\n\tat io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:71)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.getMandatory(BaseOperation.java:206)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.get(BaseOperation.java:162)\r\n\tat de.zalando.ep.zalenium.container.kubernetes.KubernetesContainerClient.<init>(KubernetesContainerClient.java:87)\r\n\tat de.zalando.ep.zalenium.container.ContainerFactory.createKubernetesContainerClient(ContainerFactory.java:35)\r\n\tat de.zalando.ep.zalenium.container.ContainerFactory.getContainerClient(ContainerFactory.java:22)\r\n\tat de.zalando.ep.zalenium.proxy.DockeredSeleniumStarter.<clinit>(DockeredSeleniumStarter.java:59)\r\n\tat de.zalando.ep.zalenium.registry.ZaleniumRegistry.<init>(ZaleniumRegistry.java:74)\r\n\tat de.zalando.ep.zalenium.registry.ZaleniumRegistry.<init>(ZaleniumRegistry.java:62)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n\tat java.lang.Class.newInstance(Class.java:442)\r\n\tat org.openqa.grid.web.Hub.<init>(Hub.java:93)\r\n\tat org.openqa.grid.selenium.GridLauncherV3$2.launch(GridLauncherV3.java:291)\r\n\tat org.openqa.grid.selenium.GridLauncherV3.launch(GridLauncherV3.java:122)\r\n\tat org.openqa.grid.selenium.GridLauncherV3.main(GridLauncherV3.java:82)\r\nCaused by: javax.net.ssl.SSLPeerUnverifiedException: Hostname kubernetes.default.svc not verified:\r\n    certificate: sha256/OyzkRILuc6LAX4YnMAIGrRKLmVnDgLRvCasxGXDhSoc=\r\n    DN: CN=client, O=system:masters\r\n    subjectAltNames: [10.0.0.1]\r\n\tat okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:308)\r\n\tat okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:268)\r\n\tat okhttp3.internal.connection.RealConnection.connect(RealConnection.java:160)\r\n\tat okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256)\r\n\tat okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)\r\n\tat okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)\r\n\tat okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)\r\n\tat okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)\r\n\tat okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)\r\n\tat io.fabric8.kubernetes.client.utils.ImpersonatorInterceptor.intercept(ImpersonatorInterceptor.java:56)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)\r\n\tat io.fabric8.kubernetes.client.utils.HttpClientUtils$2.intercept(HttpClientUtils.java:107)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)\r\n\tat okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)\r\n\tat okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)\r\n\tat okhttp3.RealCall.execute(RealCall.java:77)\r\n\tat io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:379)\r\n\tat io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:344)\r\n\tat io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleGet(OperationSupport.java:313)\r\n\tat io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleGet(OperationSupport.java:296)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleGet(BaseOperation.java:770)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.getMandatory(BaseOperation.java:195)\r\n\t... 16 common frames omitted\r\n08:49:15.651 [main] INFO  d.z.e.z.c.k.KubernetesContainerClient - About to clean up any left over selenium pods created by Zalenium\r\nUsage: <main class> [options]\r\n  Options:\r\n    --debug, -debug\r\n      <Boolean> : enables LogLevel.FINE.\r\n      Default: false\r\n    --version, -version\r\n      Displays the version and exits.\r\n      Default: false\r\n    -browserTimeout\r\n      <Integer> in seconds : number of seconds a browser session is allowed to \r\n      hang while a WebDriver command is running (example: driver.get(url)). If \r\n      the timeout is reached while a WebDriver command is still processing, \r\n      the session will quit. Minimum value is 60. An unspecified, zero, or \r\n      negative value means wait indefinitely.\r\n    -matcher, -capabilityMatcher\r\n      <String> class name : a class implementing the CapabilityMatcher \r\n      interface. Specifies the logic the hub will follow to define whether a \r\n      request can be assigned to a node. For example, if you want to have the \r\n      matching process use regular expressions instead of exact match when \r\n      specifying browser version. ALL nodes of a grid ecosystem would then use \r\n      the same capabilityMatcher, as defined here.\r\n    -cleanUpCycle\r\n      <Integer> in ms : specifies how often the hub will poll running proxies \r\n      for timed-out (i.e. hung) threads. Must also specify \"timeout\" option\r\n    -custom\r\n      <String> : comma separated key=value pairs for custom grid extensions. \r\n      NOT RECOMMENDED -- may be deprecated in a future revision. Example: \r\n      -custom myParamA=Value1,myParamB=Value2\r\n    -host\r\n      <String> IP or hostname : usually determined automatically. Most \r\n      commonly useful in exotic network configurations (e.g. network with VPN)\r\n      Default: 0.0.0.0\r\n    -hubConfig\r\n      <String> filename: a JSON file (following grid2 format), which defines \r\n      the hub properties\r\n    -jettyThreads, -jettyMaxThreads\r\n      <Integer> : max number of threads for Jetty. An unspecified, zero, or \r\n      negative value means the Jetty default value (200) will be used.\r\n    -log\r\n      <String> filename : the filename to use for logging. If omitted, will \r\n      log to STDOUT\r\n    -maxSession\r\n      <Integer> max number of tests that can run at the same time on the node, \r\n      irrespective of the browser used\r\n    -newSessionWaitTimeout\r\n      <Integer> in ms : The time after which a new test waiting for a node to \r\n      become available will time out. When that happens, the test will throw \r\n      an exception before attempting to start a browser. An unspecified, zero, \r\n      or negative value means wait indefinitely.\r\n      Default: 600000\r\n    -port\r\n      <Integer> : the port number the server will use.\r\n      Default: 4445\r\n    -prioritizer\r\n      <String> class name : a class implementing the Prioritizer interface. \r\n      Specify a custom Prioritizer if you want to sort the order in which new \r\n      session requests are processed when there is a queue. Default to null ( \r\n      no priority = FIFO )\r\n    -registry\r\n      <String> class name : a class implementing the GridRegistry interface. \r\n      Specifies the registry the hub will use.\r\n      Default: de.zalando.ep.zalenium.registry.ZaleniumRegistry\r\n    -role\r\n      <String> options are [hub], [node], or [standalone].\r\n      Default: hub\r\n    -servlet, -servlets\r\n      <String> : list of extra servlets the grid (hub or node) will make \r\n      available. Specify multiple on the command line: -servlet \r\n      tld.company.ServletA -servlet tld.company.ServletB. The servlet must \r\n      exist in the path: /grid/admin/ServletA /grid/admin/ServletB\r\n    -timeout, -sessionTimeout\r\n      <Integer> in seconds : Specifies the timeout before the server \r\n      automatically kills a session that hasn't had any activity in the last X \r\n      seconds. The test slot will then be released for another test to use. \r\n      This is typically used to take care of client crashes. For grid hub/node \r\n      roles, cleanUpCycle must also be set.\r\n    -throwOnCapabilityNotPresent\r\n      <Boolean> true or false : If true, the hub will reject all test requests \r\n      if no compatible proxy is currently registered. If set to false, the \r\n      request will queue until a node supporting the capability is registered \r\n      with the grid.\r\n    -withoutServlet, -withoutServlets\r\n      <String> : list of default (hub or node) servlets to disable. Advanced \r\n      use cases only. Not all default servlets can be disabled. Specify \r\n      multiple on the command line: -withoutServlet tld.company.ServletA \r\n      -withoutServlet tld.company.ServletB\r\norg.openqa.grid.common.exception.GridConfigurationException: Error creating class with de.zalando.ep.zalenium.registry.ZaleniumRegistry : null\r\n\tat org.openqa.grid.web.Hub.<init>(Hub.java:97)\r\n\tat org.openqa.grid.selenium.GridLauncherV3$2.launch(GridLauncherV3.java:291)\r\n\tat org.openqa.grid.selenium.GridLauncherV3.launch(GridLauncherV3.java:122)\r\n\tat org.openqa.grid.selenium.GridLauncherV3.main(GridLauncherV3.java:82)\r\nCaused by: java.lang.ExceptionInInitializerError\r\n\tat de.zalando.ep.zalenium.registry.ZaleniumRegistry.<init>(ZaleniumRegistry.java:74)\r\n\tat de.zalando.ep.zalenium.registry.ZaleniumRegistry.<init>(ZaleniumRegistry.java:62)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n\tat java.lang.Class.newInstance(Class.java:442)\r\n\tat org.openqa.grid.web.Hub.<init>(Hub.java:93)\r\n\t... 3 more\r\nCaused by: java.lang.NullPointerException\r\n\tat java.util.TreeMap.putAll(TreeMap.java:313)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.withLabels(BaseOperation.java:411)\r\n\tat io.fabric8.kubernetes.client.dsl.base.BaseOperation.withLabels(BaseOperation.java:48)\r\n\tat de.zalando.ep.zalenium.container.kubernetes.KubernetesContainerClient.deleteSeleniumPods(KubernetesContainerClient.java:393)\r\n\tat de.zalando.ep.zalenium.container.kubernetes.KubernetesContainerClient.initialiseContainerEnvironment(KubernetesContainerClient.java:339)\r\n\tat de.zalando.ep.zalenium.container.ContainerFactory.createKubernetesContainerClient(ContainerFactory.java:38)\r\n\tat de.zalando.ep.zalenium.container.ContainerFactory.getContainerClient(ContainerFactory.java:22)\r\n\tat de.zalando.ep.zalenium.proxy.DockeredSeleniumStarter.<clinit>(DockeredSeleniumStarter.java:59)\r\n\t... 11 more\r\n...........................................................................................................................................................................................GridLauncher failed to start after 1 minute, failing...\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100   182  100   182    0     0  36103      0 --:--:-- --:--:-- --:--:-- 45500`\r\n\r\nA describe pod gives: \r\n` Warning  Unhealthy              4m (x12 over 6m)  kubelet, aks-agentpool-93668098-0  Readiness probe failed: HTTP probe failed with statuscode: 502\r\n`\r\n\r\nZalenium Image Version(s):  \r\ndosel/zalenium:3\r\n\r\nIf using Kubernetes, specify your environment, and if relevant your manifests:  \r\nI use the templates as is from https://github.com/zalando/zalenium/tree/master/docs/k8s/helm\r\n\r\n## Expected Behavior -\r\nThe zalenium pods to run\r\n## Actual Behavior - See above\r\n\r\n"}}
{"actor":{"display_login":"diemol"}}