linode.errors.ApiError: 400: Linode busy

Hello everyone, I don't know if my issue is something that I don't understand or a bug. I am trying to implement a python script with python-linode-api and ApiV4 to provisioning linodes, but I am having issues following next steeps:

1) create linode

2) add private

3) add root disk (with stackscript)

4) add swap disk

My issue comes sometimes on steeps 2 or 3, very often I get the following error: "linode.errors.ApiError: 400: Linode busy.", If I add few seconds of delay between every steep usually it works, but I would like to know the following:

  • How can I determine if the linode is busy or not? (linode.status seams to be something apart from this "state")

  • Why it is a 400 status code? As far I concern, 400 code is from something error generated on client side.

Thank you so much.

1 Reply

Linode Staff

The "Linode Busy" message occurs when a Linode is in the middle of a process that is preventing you from completing your request. The 400 status code reflects a "Bad Request" since your request is not able to be completed when sent. You'd see this when you try to add a disk while your Linode is deleting another disk, for example, which lines up with what you've described. Adding a delay to each step will be your best option for preventing these types of conflicts, since - as you've noted - the Linode can be busy for several seconds after its status changes. One option to add a delay is by creating a loop that obtains the current date/time and breaks when it reaches the date/time of its initial round plus the desired number of seconds.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct