User story #7490
closedMake the agent resend the inventory if sending failed
Description
On first runs, the webdav is not correctly configured on the rudder server root, so the promises will configure the webdav password, and restart apache, and the root server will send its inventory to the webdav, that may be not yet configured, or restarting.
So there is a slight possibility that it fails, and keep an incomplete inventory of the server (with file staying in /var/rudder/inventory), and there is also a possibility that the initial promises never had a chance to quick in to send the inventory to the default apache endpoint
To be on the safe side, the root server should always send its inventory to the endpoint
This won't be done in the initial promises (as the web interface may not be configured when we are in intial promises), but really in normal operation (so when promises have been generated)
Updated by Nicolas CHARLES almost 9 years ago
- Status changed from New to In progress
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 3.2.0~beta1 to 3.2.0~rc1
Updated by Benoît PECCATTE almost 9 years ago
- Target version changed from 3.2.0~rc1 to 3.2.0~rc2
Updated by Benoît PECCATTE almost 9 years ago
- Target version changed from 3.2.0~rc2 to 3.2.0
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 3.2.0 to 3.2.1
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.2.1 to 3.2.2
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.2.2 to 3.2.3
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.2.3 to 3.2.4
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.2.4 to 3.2.5
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.2.5 to 3.2.6
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.2.6 to 3.2.7
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.2.7 to 3.2.8
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.2.8 to 3.2.9
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.2.9 to 3.2.10
Updated by Nicolas CHARLES about 8 years ago
- Status changed from In progress to New
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.2.10 to 3.2.11
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.2.11 to 339
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 339 to 4.0.4
Updated by Jonathan CLARKE over 7 years ago
- Severity set to Minor - inconvenience | misleading | easy workaround
- User visibility set to Getting started - demo | first install | level 1 Techniques
Sending directly to the endpoint from promises is not a good idea, because if the endpoint is overloaded it will simply return an error (as designed) but promises don't have any retry mechanism to handle this (which is why this bug is a problem in the first place).
We could and probably should add a retry mechanism to send failed inventories in promises.
Also I don't think we should bypass the webdav to send inventories. Everything is much easier when there are no exceptions, and all inventories are processed in the same way. We have plans to use apache hooks to add actions when inventories are received for example.
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.0.4 to 4.0.5
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.0.5 to 4.0.6
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.0.6 to 4.0.7
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.0.7 to 357
Updated by Alexis Mousset over 7 years ago
- Target version changed from 357 to 4.1.6
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 4.1.6 to 4.1.7
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.7 to 4.1.8
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 4.1.8 to 4.1.9
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 4.1.9 to 4.1.10
Updated by Benoît PECCATTE almost 7 years ago
I don't see the inconvenience, if the inventory is not sent, the server still works, and the inventory will be sent again the day after.
Updated by Nicolas CHARLES almost 7 years ago
Benoît PECCATTE wrote:
I don't see the inconvenience, if the inventory is not sent, the server still works, and the inventory will be sent again the day after.
It shows in the interface "No machine inventory", which is not great for a first contact with Rudder
Updated by Benoît PECCATTE almost 7 years ago
Wouldn't it be the right to implement inventory resend in case of error ?
Updated by Nicolas CHARLES almost 7 years ago
Yes, but here the case can be vicious: inventory is send, received, and then the webapp can be restarted before it's fully parsed.
Updated by Benoît PECCATTE almost 7 years ago
Does the webapp return an OK code before processing inventories ?
Updated by Benoît PECCATTE almost 7 years ago
In fact we would send to webdav, so this case would be handled by send-clean
Updated by Benoît PECCATTE almost 7 years ago
- Status changed from New to In progress
- Assignee set to Benoît PECCATTE
Updated by Benoît PECCATTE almost 7 years ago
- Tracker changed from Bug to User story
- Subject changed from root server sends inventory to itself via the webdav rather than the endpoint, which can fail because of race condition to Make the agent resend the inventory if sending failed
Updated by Benoît PECCATTE almost 7 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from Benoît PECCATTE to Nicolas CHARLES
- Pull Request set to https://github.com/Normation/rudder-techniques/pull/1250
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 4.1.10 to 4.1.11
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.11 to 4.1.12
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.12 to 4.1.13
Updated by Rudder Quality Assistant over 6 years ago
- Status changed from Pending technical review to Discussion
- Assignee changed from Nicolas CHARLES to Benoît PECCATTE
Updated by Benoît PECCATTE over 6 years ago
- Status changed from Discussion to Pending technical review
- Assignee changed from Benoît PECCATTE to Nicolas CHARLES
Updated by Rudder Quality Assistant over 6 years ago
- Status changed from Pending technical review to Discussion
- Assignee changed from Nicolas CHARLES to Benoît PECCATTE
Updated by Benoît PECCATTE over 6 years ago
- Status changed from Discussion to Pending release
Applied in changeset rudder-techniques|3b07321885fbc3664ec7aa22d48a8d5830decd3f.
Updated by Vincent MEMBRÉ over 6 years ago
- Status changed from Pending release to Released