Function Verification Test Design of xCAT High Availability - xcat2/xcat-core GitHub Wiki
Introduction
A new facility of implement xCAT high availability is introduced.
The Existing Problem of xCAT high availability solution
- Complicated configuration procedure
- Documented poorly
Test Strategy
Function Verification Test
Scenario One
Build two xCAT management nodes to high availability from scratch
.____.
__++---- `)
( )) _
( ) `)
:( Backbone network ))
(( )))
`. ))
'--+ .:'----+ +----------+
|`------.____.:' | | compute |
+-+ | +----|node `baz'|
| +----+ | |
| | +----------+
+-----------+ +-----------+
| xCAT | | xCAT |
|management | |management |
|node `foo' | |node `bar' |
+-----------+ +-----------+
| |
| .-------. |
| ( ) |
| |`-------'| |
+--| Shared |--+
: storage :
`-------'
Make xCAT management node foo active and xCAT management node bar idle. Then, make foo failure and fallback to bar.
- Test if the public IP address is switched to another active server.
- Test if DNS service is switched to another active server.
- Test if HTTP service is switched to another active server.
- Test if TFTP service is switched to another active server.
- Test if DHCP service is switched to another active server.
- Test if all DHCP leases are switched to another active server.
- Do an xCAT compute node operating system deployment
- Recover the failed xCAT management node foo, and configure it as the idle xCAT management node
Scenario Two
Switch an existing xCAT management node to high availability
There is an xCAT management node foo in the existing environment. Set up another xCAT management node bar to match it, and make them a working xCAT high availability setup.