Request to pause SRU to reconsider impact of changes to exit code for cloud-init status --wait.
In the cases where there are recoverable warnings/errors, users checking status by exit code will start failing without changes on their end to accommodate the new behavior. We suspect this will be an issue for deployments where some of the warnings/errors are considered "normal".
Consider a customer using the Ubuntu minimal images (on Azure) which is currently missing "eject" and an error is being emitted. I believe if cloud-init 23.4 rolls out as-is, the status checks will start failing 100% of the time.
```
cpatterson@temp-vm-cpatterson-eastus-t20240105174837:~$ cloud-init status --wait
Request to pause SRU to reconsider impact of changes to exit code for cloud-init status --wait.
In the cases where there are recoverable warnings/errors, users checking status by exit code will start failing without changes on their end to accommodate the new behavior. We suspect this will be an issue for deployments where some of the warnings/errors are considered "normal".
Consider a customer using the Ubuntu minimal images (on Azure) which is currently missing "eject" and an error is being emitted. I believe if cloud-init 23.4 rolls out as-is, the status checks will start failing 100% of the time.
``` temp-vm- cpatterson- eastus- t20240105174837 :~$ cloud-init status --wait
cpatterson@
status: done temp-vm- cpatterson- eastus- t20240105174837 :~$ echo $? temp-vm- cpatterson- eastus- t20240105174837 :~$ cloud-init --version 22.04.1 temp-vm- cpatterson- eastus- t20240105174837 :~$ cloud-init status --wait --format json version" : "1", status_ code": "enabled- by-generator" , status" : "degraded done", e_errors" : {}, e_errors" : { e_errors" : {}, e_errors" : {}, errors" : { boot_status_ code": "enabled- by-generator" , extended_ status" : "degraded done",
"recoverable_ errors" : {},
"recoverable_ errors" : { last_update" : "Fri, 05 Jan 2024 22:49:35 +0000", modules- config" : {
"recoverable_ errors" : {}, modules- final": {
"recoverable_ errors" : {}, recoverable_ errors" : {
cpatterson@
2
cpatterson@
/usr/bin/cloud-init 23.4-0ubuntu1~
cpatterson@
{
"_schema_
"boot_
"datasource": "azure",
"detail": "DataSourceAzure [seed=/dev/sr0]",
"errors": [],
"extended_
"init": {
"errors": [],
"finished": 1704494973.501599,
"recoverabl
"start": 1704494969.534187
},
"init-local": {
"errors": [],
"finished": 1704494968.0249393,
"recoverabl
"ERROR": [
"Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
]
},
"start": 1704494956.9926035
},
"last_update": "Fri, 05 Jan 2024 22:49:35 +0000",
"modules-config": {
"errors": [],
"finished": 1704494975.1977916,
"recoverabl
"start": 1704494974.6474068
},
"modules-final": {
"errors": [],
"finished": 1704494975.8049285,
"recoverabl
"start": 1704494975.5019412
},
"recoverable_
"ERROR": [
"Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
]
},
"schemas": {
"1": {
"
"datasource": "azure",
"detail": "DataSourceAzure [seed=/dev/sr0]",
"errors": [],
"
"init": {
"errors": [],
"finished": 1704494973.501599,
"start": 1704494969.534187
},
"init-local": {
"errors": [],
"finished": 1704494968.0249393,
"ERROR": [
"Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
]
},
"start": 1704494956.9926035
},
"
"
"errors": [],
"finished": 1704494975.1977916,
"start": 1704494974.6474068
},
"
"errors": [],
"finished": 1704494975.8049285,
"start": 1704494975.5019412
},
"
"ERROR": [
"Failed ejecting the provisioning iso: Unexpected error while running command.\nCommand: ['eject', '/dev/sr0']\nExit code: -\nReason: [Errno 2] No such file or directory: b'eject'\nStdout: -\nStderr: -"
]
},
"stage": null,
"status": "done"
}
},
"stage": null,
"status": "done"
}
```