Getting curtin debug logs

Introduction

Sometimes when using MAAS a curtin error occurs either because MAAS is instructing curtin incorrectly or because curtin is working incorrectly. I will give the steps to get the best logs to detemine the issue.

Note that {profile} should be the profile name used when logging into the maas CLI (aka. maas) and the {system_id} is the system ID of the node that failed to install.

Enable verbose logging

First thing to do is enable verbose logging of curtin:

maas {profile} maas set-config name=curtin_verbose value=true

(Re-)Run the deployment

Run the deployment of the machine so curtin will be told to provide detailed logging and wait for the failure to occur. Once the failure has occurred lets gather the logs.

Gather the curtin config

First lets get the curtin config that MAAS sent to curtin.

maas {profile} machine get-curtin-config {system_id}

Gather the curtin-logs.tar

Now lets gather the curtin logs tarball that includes all the logs curtin requires to help with debugging.

maas {profile} node-results read system_id={system_id} name=/tmp/curtin-logs.tar | jq -r .[0].data | base64 -d > curtin-logs.tar

Attach to a bug and get to digging!

Attach the curtin config and the curtin-logs.tar to a bug with a detailed description of how to reproduce. Then get to solving the problem! :wink:

4 Likes

To get the Curtin logs you can use the new node-script-result endpoint to download it without having to use jq

maas {profile} node-script-result download {system_id} current-installation filters=/tmp/curtin-logs.tar > curtin-logs.tar

You can also get the standard logs with the new node-script-result endpoint

 maas {profile} node-script-result download bqbwtr current-installation filter='/tmp/install.log' > install.log