3363aeee2dcd6f9010f71209cd6324a0b8570022
[tests.git] / system / AA-bonding.md
1 # bonding
2
3 Say you have 
4
5 * one build `2015.04.13--f14` under test
6 * another build `2015.04.13--f18` that you would like to use to create f18 nodes inside         `2015.04.13--f14`
7
8 general idea is to use this command
9
10         root@testmaster ~/2015.04.13--f14 # run -g 2015.04.13--f18 ...
11         
12 or in an equivalent manner
13
14         export bonding=bond212015.04.13--f18
15         run -G
16         
17 # requirements
18
19 * the build to test (f14) must be running
20 * the build to bond with does not need to run but needs to be have run under `../2015.04.13--f18` so that its arg-* files reflect its flavour
21
22 # convenience
23
24 * rung can be used as a symlink to `TestMain.py`
25 * in this case it is like running `run -G`
26
27 * plus, `comp-testmaster` offers the convenience function
28                 
29                 bond ../$(t)*18
30                 
31 * or, even simpler
32
33                 bond18          
34
35 # initialisation
36
37         bond18
38         rung
39     
40 will define the f18 node flavour to the f14 build
41  
42 # creating bonding node
43
44         rung nodes
45
46 will create an additional node in tested myplc. 
47
48 **NOTE** for efficiency the IP and hostname of that node are stored in `arg-bonding-$bonding`
49
50 # starting node
51
52 as a matter of fact when doing `run -g $bonding` one can invoke most of the usual targets, including for starting the node
53
54         rung start-node wait-node
55         
56 # usual sequence
57
58         alias rung='run -g $bonding'
59         bonding=2015.04.13--f21
60         rung 
61         rung -n bonding-node
62         cat arg-bonding-$bonding
63         <<visual check>>
64         rung bonding-node
65
66
67 # upgrading nodes
68
69 targets like `nodefcdistro-f20` can be used to change a node's fcdistro
70
71 ----
72
73 usual sequence for testing a node upgrade; we start from a f20 myplc and upgrade the node to f21
74
75  would be - e.g. from f20 to f21
76
77
78     f20
79     bond ../$(t)*f21
80     rung
81     run nodeplain-off nodefcdistro-f21 nodestate-upgrade
82     run qemu-kill-mine qemu-start wait-node
83
84 -----
85 Or, the other way around, using a f21 myplc, and a f20 bonding node, that we upgrade
86
87     f21
88     bond ../$(t)*f20
89     rung
90     rung node qemu-start wait-node
91     rung nodefcdistro-f21 nodestate-upgrade
92     rung qemu-kill-mine qemu-start wait-node
93     
94