Skip to content

Troubleshooting LXC CI/CD

Start from what you see: nothing in Muppy › Qs › Messages, or a message whose journal says why it stopped.

Nothing reaches Muppy

When no Gitlab Webhook… or Github Webhook… message appears after a push, Muppy refused the call. It still answers HTTP 200: open the provider's delivery log (GitLab: Settings › Webhooks › Edit › Recent events; GitHub: Settings › Webhooks › Recent Deliveries) and read the response body.

Response Cause Fix
HTTP 400, Request inferred type is compatible with ['http'] but '/mpy/api/v1/incoming_webhooks' is type='json' GitHub sends form-encoded data. Set Content type to application/json.
Missing webhook authentication token No token in the call. GitLab: fill Secret token. GitHub: use the Hook URL of an Incoming Webhook whose Pass Token in header is unchecked.
Invalid webhook token Unknown, expired or compromised token. A token received over plain http is expired at once. Use https. On the API Auth Token, click Regenerate Credentials, then update the provider.
Missing webhook 'code' ! / Webhook not found ! The URL's code is not the Name of an active Incoming Webhook using this token. Copy the Hook URL again. Check Is Active.

Test Webhook cURL, on the Incoming Webhook, sends a test call. Its message proves the URL and the token work, then stops: the test carries no repository.

The webhook message stops

Open the message. Its journal holds one line per decision. The lines you will meet:

Journal line Cause Fix
Found no App. Def. for Git Project '…' No Application Definition has this Git Project ID. Set it on the Application Definition.
Found several App. Def … Several Application Definitions share the Git Project ID, and more than one matches the branch. Set Ref. selection Regex on each.
Skipping LXC CI/CD as it is not 'active' in App Def. Activate LXC CI/CD is unchecked. Check it.
k8s CICD failed with error: … The K8s CD of the same Application Definition failed, and the LXC CI/CD did not run. Fix the K8s error, or uncheck Activate K8s CD.
Unable to figure out muppy user for username='…' The git login matches no Muppy user. Set Remote User name on the user. See Setting Up.
Branch '…' processing is excluded by Branch exclusion Regex… The branch matches Branch exclusion Regex. Expected, or adjust the regex.
Automatic Deployment is not active for …. Aborting Activate Auto deploy is off for this kind of server. On Staging and Production, it always is: deploy them by hand. See Deploying Staging and Production.
Commit on … branch but trigger 'Comment tag' not found in commits_message. Aborting No commit message of the push carries the Deploy Trigger comment tag. Add the tag to a commit message, or set re-Deployment Trigger to Every push.
No Target '…' Servers found … and 'Provision Server on commit' not set You have no Test Server for this branch, and Muppy does not create one. Check Provision Server on commit (Test), or create the server.

The server is not created

When the webhook message decided to create a server, the creation runs in a message of its own: Create '<qualifier>' DevServer '<name>' for refspec='<branch>' and user='<owner>'.

Journal line Fix
No 'Host Allocator (Test)' defined in App Definition and no 'Application default LXC Allocator'… Set Host Allocator (Test), or Application default LXC Allocator in Settings ▸ Muppy ▸ Applications.
Server already exists for this Project, Qualifier… A server for this branch and owner already exists, maybe with another qualifier. Deploy it instead.

The deployment fails

The deployment runs in its own message, Deploy branch '…' on server:'…', and leaves a record on the App Server, page Upgrades. Open the record's database upgrade to read the upgrade log. What a failure leaves behind, and how to recover, is in When a deployment fails.

The branch was deleted, the Test Server is still there

A deletion destroys Test Servers only when Deprovision on branch Delete and Activate Auto deploy (Test) are checked, and the trigger is Every push. Otherwise, deprovision the server from its form.