Signed-off-by: Ren Wen <15991987063(a)163.com>
---
doc/multi-device-test.md | 108 +++++++++++++++++++++++++++++++++++++++
1 file changed, 108 insertions(+)
create mode 100644 doc/multi-device-test.md
diff --git a/doc/multi-device-test.md b/doc/multi-device-test.md
new file mode 100644
index 0000000..226287f
--- /dev/null
+++ b/doc/multi-device-test.md
@@ -0,0 +1,108 @@
+# Multi-device Test #
+
+���������������������������������������������, ���������������������������������.
+
+## When using multi-device ##
+
+ * ���������������������������������������������������
+ * ������������������������������������������������
+
+## How to run a multi-device test ##
+
+���������������job.yaml���, ������������**cluster**������, ������������������������������������
+���������������������, ���������������������������������: *lab-z9/cluster/*.
+���������������������������������������������job������������������������������job, ���������������������
+������������������.
+
+������������������������������������������������������?
+���job.yaml������������������������:
+
+``` yaml
+if role <role01>
+ <test_script01>
+ <test_script02>
+
+if role <role02>
+ <test_script03>
+ <test_script04>
+...
+```
+
+���������������������������, ������������������������������������. ���������������������������������������
+job���, ������������������������������������������������������������.
+
+���������: ������������������������������������������*role01*, ���������������������������
+*test_script01*, *test_script02*, ���������������.
+
+### how to find test script ###
+
+���lkp���**daemon**, **tests**���������������������������.
+���������**daemon**������������*test_script01*, ���������������������`start_daemon`������
+���������. ���������**tests**������������*test_script01*, ���������`run_test`������������
+������. ���������������������������������, ������������������.
+
+### about `start_daemon` and `run_test` ###
+
+������������������������2���������������**$LKP_SRC/lib/job.sh**.
+���������������������������, ���������������������������������������������.
+
+#### the processes of `start_damon` ####
+
+ 1. ���������**daemon**���������������������������. ������������������, ������������������������������:
+ `started`, ������������������������������������: `start`; ������������, ���������:
+ `failed`, ������������������: `abort`, ������������������. ������������������redis���
+ key: `HGETALL sched/cluster_state`.
+ 2. ������������������������������: `write_state`, ������������������������������������:
+ * `node_roles`: ���������������
+ * `ip`: ������������`hostname -I`���������������������
+ * `direct_macs`: ���������������������������������**macs**������
+ * `direct_ips`: ���������������������������������������**ip0**���������������������ip, ���
+ ���������������**macs**������������������
+ ������������������������������������������������������������������, ������������redis���key:
+ **sched/cluster_state**.
+ 3. ���**direct_ips**���������������������������������**direct_macs**������������������.
+ 4. ������������������������������: `wait_ready`, ������������������������: `ready`; ������
+ ������, ������������������������������������������������������������������. ���������������������
+ ���������������, ���������`ready`; ������������������������������`abort`, ���������
+ `abort`, ������������������; ������������, ���������������, ���������2���������������.
+ 5. ������������������������������: `roles_ip`, ������������������������������������������������.
+ ���������������������: `ip=ip01`���, ������: `export ip=ip01`.
+ 6. ������������������������������: `wait_finish`, ������������������������: `finish`; ���
+ ���������, ������������������������������������������������������������������`finish`. ������
+ ������`finish`, ���������`finish`; ������������������������������`abort`, ���������
+ `abort`, ������������������; ������������, ���������������, ���������2���������������.
+ 7. ������������.
+
+#### the processes of `run_test` ####
+
+������1,2,3,4���������2,3,4,5.
+
+ 1. ������������������������������: `write_state`, ������������������������������������:
+ * `node_roles`: ���������������
+ * `ip`: ������������`hostname -I`���������������������
+ * `direct_macs`: ���������������������������������**macs**������
+ * `direct_ips`: ���������������������������������������**ip0**���������������������ip, ���
+ ���������������**macs**������������������
+ ������������������������������������������������������������������, ������������redis���key:
+ **sched/cluster_state**.
+ 2. ���**direct_ips**���������������������������������**direct_macs**������������������.
+ 3. ������������������������������: `wait_ready`, ������������������������: `ready`; ������
+ ������, ������������������������������������������������������������������. ���������������������
+ ���������������, ���������`ready`; ������������������������������`abort`, ���������
+ `abort`, ������������������; ������������, ���������������, ���������2���������������.
+ 4. ������������������������������: `roles_ip`, ������������������������������������������������.
+ ���������������������: `ip=ip01`���, ������: `export ip=ip01`
+ 5. ���������**tests**���������������������������. ������������, ������������������������������:
+ `finished`, ������������������: `finish`; ������������, ���������: `failed`, ���
+ ���������������: `abort`, ������������������.
+ 6. ������������.
+
+#### other ####
+
+`start_daemon`���`run_test`������������������`abort`������: ������100������������������
+���������, ������������������������������`ready`���`finish`, ������������������������������������
+`retry`, ������������������, ���������������.
+
+���������������������������������������������, ���������(���������)���������������������������, ���������
+���������`ready`(`finish`)���`abort`. ������������������������100���������������������, ���
+���������������`abort`������������.
--
2.23.0