Index: docs/manual/Makefile ================================================================== --- docs/manual/Makefile +++ docs/manual/Makefile @@ -1,7 +1,11 @@ megatest_manual.html : megatest_manual.txt getting_started.txt writing_tests.txt reference.txt ../plan.txt asciidoc megatest_manual.txt dos2unix megatest_manual.html + +server.pdf : server.dot + dot -Tpdf server.dot > server.pdf + clean: rm -f megatest_manual.html Index: docs/manual/megatest_manual.html ================================================================== --- docs/manual/megatest_manual.html +++ docs/manual/megatest_manual.html @@ -787,20 +787,64 @@

Note 2: Starting over. Old plan is commented out.

Current Items

-

ww05

+

ww05 - migrate to inmem-db

+

Keep as much the same as possible. Add internal reference to almost +eliminate contention on db(s).

  1. +

    +Add internal reference db +

    +
  2. +
  3. +

    +Verify that actions are accessing correct db +

    +
      +
    1. +

      +-runtests - inmem +

      +
    2. +
    3. +

      +-list-runs - local (but not megatest.db) +

      +
    4. +
    5. +

      +dashboard - local (but not megatest.db) +

      +
    6. +
    +
  4. +
  5. +

    +Mirror db to /var/tmp… +

    +
  6. +
  7. +

    +Dashboard read db from per-run db. +

    +
  8. +
  9. +

    +Dashboard read db from /var/tmp +

    +
  10. +
  11. Runs register in tasks table in monitor.db

  12. -Server polls tasks table for next action +Server polls tasks table for next action (in addition?)

  13. Change run loop to execute in server, triggered by call to polling of tasks table @@ -1083,10 +1127,18 @@

    $MT_MEGATEST -env2file .ezsteps/${stepname}
+
+

Megatest Internals

+
+
+server.png +
+
+

Appendix A: Example Appendix

@@ -1166,10 +1218,10 @@

Index: docs/manual/megatest_manual.txt ================================================================== --- docs/manual/megatest_manual.txt +++ docs/manual/megatest_manual.txt @@ -48,10 +48,19 @@ include::../plan.txt[] include::getting_started.txt[] include::writing_tests.txt[] include::howto.txt[] include::reference.txt[] + +Megatest Internals +~~~~~~~~~~~~~~~~~~ + +["graphviz", "server.png"] +---------------------------------------------------------------------- +include::server.dot[] +---------------------------------------------------------------------- + [appendix] Example Appendix ================ One or more optional appendixes go here at section level zero. ADDED docs/manual/server.dot Index: docs/manual/server.dot ================================================================== --- /dev/null +++ docs/manual/server.dot @@ -0,0 +1,47 @@ +digraph G { + subgraph cluster_0 { + node [style=filled]; + + start_client -> find_server; + find_server -> connect [label=found]; + + find_server -> start_server[label=not_found]; + start_server -> delay; + + connect -> read_write; + read_write -> timeout -> "server_dead?"; + read_write -> wrong_server -> delay; + read_write -> read_write; + + "server_dead?" -> remove_record [label="yes (too many tries)"]; + remove_record -> find_server; + "server_dead?" -> delay [label=no]; + + delay -> find_server; + + label = "client"; + color=green; + } + + subgraph cluster_1 { + node [style=filled]; + + start_server -> "server_running?"; + "server_running?" -> set_available [label="no"]; + "server_running?" -> delay_10s [label="yes"]; + delay_10s -> "still_running?"; + "still_running?" -> exit [label=yes]; + "still_running?" -> ping_server; + ping_server -> "server_running?" [label=alive]; + ping_server -> remove_server_record [label=dead]; + remove_server_record -> set_available; + handle_requests -> read_write; + + set_available -> avail_delay [label="delay 3s"]; + avail_delay -> handle_requests; + + label = "server"; + color=brown; + } + read_write -> handle_requests; +} ADDED docs/manual/server.png Index: docs/manual/server.png ================================================================== --- /dev/null +++ docs/manual/server.png cannot compute difference between binary files