Hi there,
I don’t see issues from the logs of prepare-device script, except journal logs:
Apr 09 15:00:48 ubuntu systemd[1]: snap.pc-gadget.hook.prepare-device.xxx.scope: Succeeded.
– Subject: Unit succeeded
– Defined-By: systemd
– Support: http://www.ubuntu.com/support
–
– The unit snap.pc-gadget.hook.prepare-device.xxx.scope has successfully entered the ‘dead’ state.
It shows the gadget prepare-device unit entered the ‘dead’ state. And the output of snap known serial
is empty.
No DENIED message in logs but seeing some STATUS logs from AppArmor:
Apr 09 11:00:21 ubuntu kernel: audit: type=1400 audit(1617966021.159:15): apparmor=“STATUS” operation=“profile_load” profile=“unconfined” name=“snap.pc-gadget.hook.prepare-device” pid=1916 comm=“apparmor_parser”
Thanks,
Hao
You can get more information this by taking a look at the changes snap changes
and snap tasks
for all such changes.
All this means is that the prepare-device hook ran, the fact that this unit is “dead” is expected, it’s a transient unit that is created just for that hook at that specific time. If the hook were to run again, it would have a different unit created. All logging and output from this hook is sent to snapd, not to systemd, so you need to use snap changes
and snap tasks
to debug the prepare-device hook.
Yeah, got an error …
Status Spawn Ready Summary
Undone today at 15:00 UTC today at 15:00 UTC Run prepare-device hook
Done today at 15:00 UTC today at 15:00 UTC Generate device key
Error today at 15:00 UTC today at 15:00 UTC Request device serial
......................................................................
Request device serial
2021-04-09T15:00:50Z ERROR cannot deliver device serial request: unexpected status 400
It is a client issue. One of prepare-device commands failed then. I used the same API KEY for core18.
Right you may need to debug the interaction with the serial vault here, but make sure to be careful to not post the API key here
1 Like
I used the below settings for core18:
snapctl set registration.proposed-serial="xxxx"
snapctl set device-service.url="https://serial-vault-partners.canonical.com/v1/"
snapctl set device-service.headers='{"api-key": "xxx"}'
Are there some updates for core20?
Thanks,
Hao
No there are not any changes to this process for UC20, but you may be using a different model number and need to make sure the serial vault is configured to deliver serial assertions for the new model assertion you are using with UC20.
1 Like
Thanks @ijohnson. It works!