Revision 320d986d

b/Makefile.am
179 179

  
180 180
man_MANS = \
181 181
	man/ganeti.7 \
182
	man/ganeti-masterd.8 \
182 183
	man/ganeti-noded.8 \
183 184
	man/ganeti-os-interface.7 \
185
	man/ganeti-rapi.8 \
184 186
	man/ganeti-watcher.8 \
185 187
	man/gnt-backup.8 \
186 188
	man/gnt-cluster.8 \
b/man/ganeti-masterd.sgml
1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2

  
3
  <!-- Please adjust the date whenever revising the manpage. -->
4
  <!ENTITY dhdate      "<date>February 11, 2009</date>">
5
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
6
       allowed: see man(7), man(1). -->
7
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
8
  <!ENTITY dhucpackage "<refentrytitle>ganeti-masterd</refentrytitle>">
9
  <!ENTITY dhpackage   "ganeti-masterd">
10

  
11
  <!ENTITY debian      "<productname>Debian</productname>">
12
  <!ENTITY gnu         "<acronym>GNU</acronym>">
13
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
14
  <!ENTITY footer SYSTEM "footer.sgml">
15
]>
16

  
17
<refentry>
18
  <refentryinfo>
19
    <copyright>
20
      <year>2008</year>
21
      <year>2009</year>
22
      <holder>Google Inc.</holder>
23
    </copyright>
24
    &dhdate;
25
  </refentryinfo>
26
  <refmeta>
27
    &dhucpackage;
28

  
29
    &dhsection;
30
    <refmiscinfo>ganeti 2.0</refmiscinfo>
31
  </refmeta>
32
  <refnamediv>
33
    <refname>&dhpackage;</refname>
34

  
35
    <refpurpose>ganeti master daemon</refpurpose>
36
  </refnamediv>
37
  <refsynopsisdiv>
38
    <cmdsynopsis>
39
      <command>&dhpackage; </command>
40
      <arg>-f</arg>
41
      <arg>-d</arg>
42
      <arg>--no-voting</arg>
43

  
44
    </cmdsynopsis>
45
  </refsynopsisdiv>
46
  <refsect1>
47
    <title>DESCRIPTION</title>
48

  
49
    <para>
50
      The <command>&dhpackage;</command> is the daemon which is
51
      responsible for the overall cluster coordination. Without it, no
52
      change can be performed on the cluster.
53
    </para>
54

  
55
    <para>
56
      For testing purposes, you can give the <option>-f</option>
57
      option and the program won't detach from the running terminal.
58
    </para>
59

  
60
    <para>
61
      Debug-level message can be activated by giving the
62
      <option>-d</option> option.
63
    </para>
64
    <refsect2>
65
      <title>ROLE</title>
66
      <para>
67
        The role of the master daemon is to coordinate all the actions
68
        that change the state of the cluster. Things like accepting
69
        new jobs, coordinating the changes on nodes (via RPC calls to
70
        the respective node daemons), maintaining the configuration
71
        and so on are done via this daemon.
72
      </para>
73

  
74
      <para>
75
        The only action that can be done without the master daemon is
76
        the failover of the master role to another node in the
77
        cluster, via the <command>gnt-cluster masterfailover</command>
78
        command.
79
      </para>
80

  
81
      <para>
82
        If the master daemon is stopped, the instances are not
83
        affected, but they won't be restarted automatically in case of
84
        failure.
85
      </para>
86
    </refsect2>
87

  
88
    <refsect2>
89
      <title>STARTUP</title>
90
      <para>
91
        At startup, the master daemon will confirm with the node
92
        daemons that the node it is running is indeed the master node
93
        of the cluster. It will abort if it doesn't get half plus one
94
        positive answers (offline nodes are queried too, just in case
95
        our configuration is stale).
96
      </para>
97

  
98
      <para>
99
        For small clusters with a number of nodes down, and especially
100
        for two-node clusters where the other has gone done, this
101
        creates a problem. In this case the
102
        <option>--no-voting</option> option can be used to skip this
103
        process. The option requires interactive confirmation, as
104
        having two masters on the same cluster is a very dangerous
105
        situation and will most likely lead to data loss.
106
      </para>
107
    </refsect2>
108

  
109
    <refsect2>
110
      <title>JOB QUEUE</title>
111
      <para>
112
        The master daemon maintains a job queue (located under
113
        <filename
114
        class="directory">@LOCALSTATEDIR@/lib/ganeti/queue</filename>) in
115
        which all current jobs are stored, one job per file serialized
116
        in JSON format; in this directory a subdirectory called
117
        <filename class="directory">archive</filename> holds archived
118
        job files.
119
      </para>
120

  
121
      <para>
122
        The moving of jobs from the current to the queue directory is
123
        done via a request to the master; this can be accomplished
124
        from the command line with the <command>gnt-job
125
        archive</command> or <command>gnt-job autoarchive</command>
126
        commands. In case of problems with the master, a job file can
127
        simply be moved away or deleted (but this might leave the
128
        cluster inconsistent).
129
      </para>
130

  
131
    </refsect2>
132

  
133
    <refsect2>
134
      <title>COMMUNICATION PROTOCOL</title>
135
      <para>
136
        The master accepts commands over a Unix socket, using JSON
137
        serialized messages separated by a specific byte sequence. For
138
        more details, see the design documentation supplied with
139
        Ganeti.
140
      </para>
141
    </refsect2>
142

  
143
  </refsect1>
144

  
145
  &footer;
146

  
147
</refentry>
148

  
149
<!-- Keep this comment at the end of the file
150
Local variables:
151
mode: sgml
152
sgml-omittag:t
153
sgml-shorttag:t
154
sgml-minimize-attributes:nil
155
sgml-always-quote-attributes:t
156
sgml-indent-step:2
157
sgml-indent-data:t
158
sgml-parent-document:nil
159
sgml-default-dtd-file:nil
160
sgml-exposed-tags:nil
161
sgml-local-catalogs:nil
162
sgml-local-ecat-files:nil
163
End:
164
-->
b/man/ganeti-noded.sgml
1 1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2 2

  
3 3
  <!-- Please adjust the date whenever revising the manpage. -->
4
  <!ENTITY dhdate      "<date>June 16, 2007</date>">
4
  <!ENTITY dhdate      "<date>February 11, 2009</date>">
5 5
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
6 6
       allowed: see man(7), man(1). -->
7 7
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
......
19 19
    <copyright>
20 20
      <year>2006</year>
21 21
      <year>2007</year>
22
      <year>2008</year>
23
      <year>2009</year>
22 24
      <holder>Google Inc.</holder>
23 25
    </copyright>
24 26
    &dhdate;
......
27 29
    &dhucpackage;
28 30

  
29 31
    &dhsection;
30
    <refmiscinfo>ganeti 1.2</refmiscinfo>
32
    <refmiscinfo>ganeti 2.0</refmiscinfo>
31 33
  </refmeta>
32 34
  <refnamediv>
33 35
    <refname>&dhpackage;</refname>
34 36

  
35
    <refpurpose>ganeti daemon</refpurpose>
37
    <refpurpose>ganeti node daemon</refpurpose>
36 38
  </refnamediv>
37 39
  <refsynopsisdiv>
38 40
    <cmdsynopsis>
39 41
      <command>&dhpackage; </command>
40 42
      <arg>-f</arg>
43
      <arg>-d</arg>
41 44

  
42 45
    </cmdsynopsis>
43 46
  </refsynopsisdiv>
......
46 49

  
47 50
    <para>
48 51
      The <command>&dhpackage;</command> is the daemon which is
49
      responsible for the cluster functions in the ganeti system.
52
      responsible for the node functions in the ganeti system.
50 53
    </para>
51 54

  
52 55
    <para>
53 56
      For testing purposes, you can give the <option>-f</option>
54 57
      option and the program won't detach from the running terminal.
55 58
    </para>
59

  
60
    <para>
61
      Debug-level message can be activated by giving the
62
      <option>-d</option> option.
63
    </para>
56 64
    <refsect2>
57 65
      <title>ROLE</title>
58 66
      <para>
......
63 71
      </para>
64 72

  
65 73
      <para>
74
        Also, in some cases the startup/shutdown of the master daemon
75
        are done via the node daemon, and the cluster IP address is
76
        also added/removed to the master node via it.
77
      </para>
78

  
79
      <para>
66 80
        If the node daemon is stopped, the instances are not affected,
67 81
        but the master won't be able to talk to that node.
68 82
      </para>
......
71 85
    <refsect2>
72 86
      <title>COMMUNICATION PROTOCOL</title>
73 87
      <para>
74
        Currently the master-node protocol is done using the Twisted
75
        perspective broker libraries.
88
        Currently the master-node RPC is done using a simple json-RPC
89
        over HTTP(S).
76 90
      </para>
77 91
    </refsect2>
78 92

  
b/man/ganeti-rapi.sgml
1
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2

  
3
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4
  <!-- Please adjust the date whenever revising the manpage. -->
5
  <!ENTITY dhdate      "<date>February 11, 2009</date>">
6
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7
       allowed: see man(7), man(1). -->
8
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
9
  <!ENTITY dhucpackage "<refentrytitle>ganeti-rapi</refentrytitle>">
10
  <!ENTITY dhpackage   "ganeti-rapi">
11

  
12
  <!ENTITY debian      "<productname>Debian</productname>">
13
  <!ENTITY gnu         "<acronym>GNU</acronym>">
14
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
15
  <!ENTITY footer SYSTEM "footer.sgml">
16
]>
17

  
18
<refentry>
19
  <refentryinfo>
20
    <copyright>
21
      <year>2008</year>
22
      <year>2009</year>
23
      <holder>Google Inc.</holder>
24
    </copyright>
25
    &dhdate;
26
  </refentryinfo>
27
  <refmeta>
28
    &dhucpackage;
29

  
30
    &dhsection;
31
    <refmiscinfo>ganeti 2.0</refmiscinfo>
32
  </refmeta>
33
  <refnamediv>
34
    <refname>&dhpackage;</refname>
35

  
36
    <refpurpose>ganeti remote API daemon</refpurpose>
37
  </refnamediv>
38
  <refsynopsisdiv>
39
    <cmdsynopsis>
40
      <command>&dhpackage; </command>
41
      <arg>-d</arg>
42
      <arg>-f</arg>
43
      <arg>-p <replaceable>PORT</replaceable></arg>
44
      <arg>--no-ssl</arg>
45
      <arg>-K <replaceable>SSL_KEY_FILE</replaceable></arg>
46
      <arg>-C <replaceable>SSL_CERT_FILE</replaceable></arg>
47

  
48
    </cmdsynopsis>
49
  </refsynopsisdiv>
50
  <refsect1>
51
    <title>DESCRIPTION</title>
52

  
53
    <para>
54
      <command>&dhpackage;</command> is the daemon providing a remote
55
      API for Ganeti clusters.
56
    </para>
57

  
58
    <para>
59
      It is automatically started on the master node, and by default
60
      it uses SSL encryption. This can be disabled by passing the
61
      <option>--no-ssl</option> option, or alternatively the
62
      certificate used can be changed via the <option>-C</option>
63
      option and the key via the <option>-K</option> option.
64
    </para>
65

  
66
    <para>
67
      The daemon will listen by default on the port 5080, but this can
68
      be changed via the <option>-p</option> option.
69
    </para>
70

  
71
    <para>
72
      See the <emphasis>Ganeti remote API</emphasis> documentation for
73
      further information.
74
    </para>
75

  
76
    <para>
77
      Requests are logged to
78
      <filename>@LOCALSTATEDIR@/log/ganeti/rapi-daemon.log</filename>,
79
      in the same format as for the node and master daemon.
80
    </para>
81

  
82
  </refsect1>
83

  
84
  &footer;
85

  
86
</refentry>
87

  
88
<!-- Keep this comment at the end of the file
89
Local variables:
90
mode: sgml
91
sgml-omittag:t
92
sgml-shorttag:t
93
sgml-minimize-attributes:nil
94
sgml-always-quote-attributes:t
95
sgml-indent-step:2
96
sgml-indent-data:t
97
sgml-parent-document:nil
98
sgml-default-dtd-file:nil
99
sgml-exposed-tags:nil
100
sgml-local-catalogs:nil
101
sgml-local-ecat-files:nil
102
End:
103
-->
b/man/ganeti-watcher.sgml
2 2

  
3 3
  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4 4
  <!-- Please adjust the date whenever revising the manpage. -->
5
  <!ENTITY dhdate      "<date>June 20, 2007</date>">
5
  <!ENTITY dhdate      "<date>February 11, 2009</date>">
6 6
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
7 7
       allowed: see man(7), man(1). -->
8 8
  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
......
19 19
  <refentryinfo>
20 20
    <copyright>
21 21
      <year>2007</year>
22
      <year>2008</year>
23
      <year>2009</year>
22 24
      <holder>Google Inc.</holder>
23 25
    </copyright>
24 26
    &dhdate;
......
27 29
    &dhucpackage;
28 30

  
29 31
    &dhsection;
30
    <refmiscinfo>ganeti 1.2</refmiscinfo>
32
    <refmiscinfo>ganeti 2.0</refmiscinfo>
31 33
  </refmeta>
32 34
  <refnamediv>
33 35
    <refname>&dhpackage;</refname>
......
61 63
      secondaries on nodes that have been rebooted.
62 64
    </para>
63 65

  
64
    <para>In order to prevent piling up commands, all the
65
    <emphasis>gnt-*</emphasis> commands executed by ganeti-watcher are
66
    run with a timeout of 15 seconds.
66
    <para>
67
      The watcher does synchronous queries but will submit jobs for
68
      executing the changes. Due to locking, it could be that the jobs
69
      execute much later than the watcher executes them.
67 70
    </para>
68 71

  
69 72
    <para>

Also available in: Unified diff