Question : Controllers standby test
- Dominant language
- Scala
- Stars
- 6.8k
- Forks
- 1.2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
https://github.com/apache/openwhisk/blob/ba871e59f7b77f02689a13e4e24e438645d67a47/tests/src/test/scala/ha/ShootComponentsTests.scala#L142-L145
'use controller1 if controller0 goes down' test in ShootComponentsTests.scala does following procedures.
1. restart controller0 container
2. /ping controller0 until it’s down
3. /ping controller1 to check it’s still up
4. ( Invoke Action(POST) + Get Action(GET) ) * 96 to nginx
Isn't there a case when nginx will forward the first POST request to controller0 that is not ready to take requests? ( in state container up, but the backend in the container not)
Such behaivor will result in connection reset by peer which is not in Swagger Spec, failing the test.
Contributor guide
Research direction
Read tests/src/test/scala/ha/ShootComponentsTests.scala at lines 142-145 and trace the standby test's restart, /ping, and nginx request sequence. Check whether the first POST can reach controller0 while its backend is unavailable, and compare any observed failure with the Swagger behavior. Done means the concern has a confirmed result and the test or issue records the resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, nginx, scala
- Domain
- cloud, infrastructure, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100