Troubleshooting

Overview

This page contains a list of common errors you may encounter using Walhall and how to resolve them.

I can’t see my GitHub repositories

Here are some reasons why your module repositories may not appear in Walhall when you click the Refresh the list button:

GitHub organization setup

If you can’t see any of your repositories in Walhall, then the administrator responsible for connecting your organization to Walhall may have registered for Walhall without providing the proper third-party access to your organization. See the GitHub organizations page for more information.

Please contact your organization administrator or send a Help request in the Walhall UI.

Repository requirements

Does your repository meet the following requirements?

  1. Dockerfile: Each module repository must include a Dockerfile.
  2. Drone file: Each module repository must have a Drone file (.drone.yml) in its root. Here is a basic Drone file you can add to your repository:
    # .drone.yml - Sample file for connecting your module to Walhall's CI/CD pipeline. 
    # Save this in the repository root. You don't have to change anything.
    # All environment variables are created in Walhall as secrets.
    
    pipeline:
    # Walhall requires git tags to exactly match the image tags. 
    # This step preserves the tags.
      preserve-git-tags:
        image: bash
        commands:
          # If the commit reference is a tag, then Drone will write the tag to the .tags file
          - bash -c "[[ \"${DRONE_COMMIT_REF}\" == \"refs/tags/\"* ]] && echo \"${DRONE_COMMIT_REF#refs/tags/}\" > .tags"
        when:
          event: [tag]
    
      # This step builds the image and pushes it to the registry when a tag is pushed.
      # Drone is configured to use the Walhall registry by default.
      build-docker-image-tag:
        image: plugins/docker
        registry:
          from_secret: DOCKER_REGISTRY
        repo:
          from_secret: DOCKER_REPO
        username:
          from_secret: DOCKER_USERNAME
        password:
          from_secret: DOCKER_PASSWORD
        insecure: true
        file: Dockerfile
        when:
          event: [tag]
          status: [success]
  3. Git tag: Your repository must have a tagged commit that includes the Drone file and the Dockerfile.

I can’t add my repository to my Walhall app

Repository requirements

Does your repository meet the requirements? See the section above for more details.

GitHub API connection error

Even if you got all of the configurations for your module right, Walhall may still fail to connect to the GitHub API.

  • If this happens, then refresh the page and try again.
  • Check https://githubstatus.com to see if GitHub is available.
  • If the error persists, then please send a Help request in the Walhall interface.

Deployment failed

Here are some common reasons why your environment could fail to deploy on Walhall:

Kubernetes connection error

The “Kubernetes connection error” may occur if Walhall fails to connect to the Kubernetes API, or if the connection succeeds but Kubernetes fails to execute the deployment request.

  • Try clicking the deployment button again.
  • If the error persists, then please send a Help request in the Walhall interface.

Build error

If no image exists for a module, then Walhall must build it first. Check to see if an image was successfully built for your module by going to your app, clicking on the module, and going to its Build log tab.

Broken pod

When Kubernetes begins to create pods for your modules, the pod could break due to an improper configuration in the module’s Dockerfile or its Walhall configurations.

Check to see if your module’s Dockerfile runs properly. You can see this in Walhall by going to your app, clicking on the module, and going to its Container log tab.

Failure to connect to external resource

If your app depends on a resource not deployed on Walhall, such as an external database or API, and Walhall cannot connect to it, then the deployment will fail.

  • We recommend enabling logging in your app. You can view these logs in Walhall by going to your app, clicking on the module, and then going to its Container log tab.

I can’t access my module

If you exposed your module with a public IP but get an error every time you try to access that URL, then check the module’s Details page to see if the ports you exposed match the ones exposed in the module’s Dockerfile.