I found a solution, which will solve this and a previous bug (no /run mounted).
I guess the problem is, the event "mouted / and mounted /run" will never be triggered at the same time. As a result cloud-init-local will not be stopped at all and cloud-init-nonet wait until cloud-init-local has been stopped, what will never happen.
Using the event "mounted MOUNTPOINT=/run TYPE=tmpfs" makes sure / and also /run was mounted when cloud-init-local start the cloud-init local process.
I found a solution, which will solve this and a previous bug (no /run mounted).
I guess the problem is, the event "mouted / and mounted /run" will never be triggered at the same time. As a result cloud-init-local will not be stopped at all and cloud-init-nonet wait until cloud-init-local has been stopped, what will never happen.
Using the event "mounted MOUNTPOINT=/run TYPE=tmpfs" makes sure / and also /run was mounted when cloud-init-local start the cloud-init local process.