Statistics
| Branch: | Tag: | Revision:

root / daemons / ganeti-confd @ 4b63dc7a

History | View | Annotate | Download (9.1 kB)

# Date Author Comment
3ee53f1f 10/07/2010 11:31 am Iustin Pop

Convert ganeti daemons to the three-stage startup

This makes almost all of the daemons show error messages, and not return
until they finished listening on the appropriate sockets.

Masterd is the only one "special", as it doesn't do enough
initialization in the server creation, only later....

b42ea9ed 10/07/2010 11:31 am Iustin Pop

Change utils.GenericMain protocol

Currently, GenericMain does a two-staged workflow:

- Check, before forking
- then Exec, after forking

This means we don't have any possibility to treat preparation work
(before the daemon is ready for work) different from the actual work....

fd346851 09/07/2010 02:26 pm René Nussbaumer

Remove utils.EnsureDir as this is done by ensure-dirs.in now

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

8b312c1d 08/18/2010 11:26 am Manuel Franceschini

Introduce new IPAddress classes

This patch unifies the netutils functions dealing with IP addresses to
three classes:
- IPAddress: Common IP address functionality
- IPv4Address: IPv4 specific functionality
- IPv6address: IPv6-specific functionality

Furthermore it adds methods to check whether an address is a loopback...

d8bcfe21 07/12/2010 03:58 pm Manuel Franceschini

Confd IPv6 support

This patch series basically adds a new parameter 'family' to the constructors
of daemon.AsyncUDPSocket and confd.client.ConfdUDPClient. This enables the
users of these two classes to support IPv6.

In ganeti-confd.ConfdAsyncUDPClient a method to check the address families of...

e9c8deab 05/25/2010 01:16 pm Guido Trotter

ErrorLoggingAsyncNotifier

This mixes AsyncNotifier with GanetiBaseAsyncoreDispatcher to provide an
AsyncNotifier which will log errors, rather than bail out.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

c666f1f4 05/21/2010 01:45 pm Guido Trotter

Make ConfdInotifyEventHandler a library function

Cut&Paste, plus the following changes:
- The class is renamed to SingleFileEventHandler
- The monitored filename must be passed in and doesn't default to the
ganeti cluster config file
- A small docstring is added to the class...

e22af31d 05/21/2010 01:45 pm Guido Trotter

Remove errors.ConfdFatalError

This exception is caught, but never thrown. It became useless when we
moved confd from on/off to enabled/disabled, but always running on all
nodes. Removing its definition and the code catching it can do no harm.

Signed-off-by: Guido Trotter <>...

675bf1b7 03/23/2010 11:31 am Guido Trotter

ganeti-confd: Call pyinotify flags correctly

The "apparently pylint was right" commit.

Although the pyinotify constants work on old distributions, they fail on
new ones, with new python. Fixing this by calling them in a way that
works everywhere.

Signed-off-by: Guido Trotter <>...

3a488770 03/23/2010 10:35 am Iustin Pop

Some epydoc fixes

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

6b7d5878 03/15/2010 06:40 pm Michael Hanselmann

Rightname confd's HMAC key

Currently, the ganeti-confd's HMAC key is called “cluster HMAC key” or
simply “HMAC key” everywhere. With the implementation of inter-cluster
instance moves, another HMAC key will be introduced for signing critical
data. They can not be the same, so this patch clarifies the purpose of the...

4eea1739 02/22/2010 06:05 pm Guido Trotter

Disable warning for not calling ProcessEvent init

This class doesn't need its constructor to be called.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

30e4e741 01/04/2010 11:20 am Iustin Pop

Fix unused imports or add silences where needed

In some cases pylint doesn't parse the import correctly, so we add
silences; but there are also many cases of unused imports, which we
simply remove.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

c9ca81c9 01/04/2010 11:17 am Iustin Pop

confd: add a TODO and a pylint disable

Two variables are used in a strange way in ExecConfd. Until that is
clarified, add a TODO and a silence for the unused variable warning.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

2d54e29c 01/04/2010 11:17 am Iustin Pop

Further pylint disables, mostly for Unused args

Many of our functions have to follow a given API, and thus we have to
keep a given signature, but pylint doesn't understand this. Therefore,
we silence this warning.

The patch does a few other cleanups.

Signed-off-by: Iustin Pop <>...

f93427cd 01/04/2010 11:16 am Iustin Pop

daemons: handle arguments correctly and uniformly

Of all daemons, only rapi did abort when given argument. None of our
daemons use any arguments, but they accepted them blindly. This is a
very bad experience for the user.

This patch adds checking and exiting in all daemons, in a uniform way....

7260cfbe 01/04/2010 11:15 am Iustin Pop

Add targeted pylint disables

This patch should have only:

- pylint disables
- docstring changes
- whitespace changes

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

e2e10467 01/04/2010 11:15 am Iustin Pop

Rename an ConfdInotifyEventHandler init argument

'file' is a builtin keyword/type. Like many others, it should not be
used as a variable/argument name.

No code is actually passing in this argument so renaming it is simple.

Signed-off-by: Iustin Pop <>...

07b8a2b5 01/04/2010 10:42 am Iustin Pop

Fix use of the logging functions

The logging functions expand the arguments themselves, thus it's safer
to let them do it rather than manual string formatting.

Also re-wraps one comment.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

ad54f3d2 12/10/2009 03:53 pm Guido Trotter

Change pyinotify import for broader compatibility

On some distributions pyinotify is installed in a different way, and the
actual module just contains an internal pyinotify entry, which is the
actual library. On others the main pyinotify module contains the library...

1fea2f0d 09/28/2009 12:36 pm Guido Trotter

ganeti-confd: cleanup imports

Many functionalities of confd have been moved to other classes/modules,
and the main confd daemon doesn't reference these modules directly
anymore.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

0b678558 09/28/2009 12:36 pm Guido Trotter

ganeti-confd: don't depend on the os log dir

ganeti-confd doesn't need to log anything related to os installations.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

e1081705 09/16/2009 03:55 pm Guido Trotter

ganeti-confd: remove partial imports

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

4f16b4a0 09/16/2009 03:55 pm Guido Trotter

ConfdAsyncUDPServer: handle signals at read time

Currently if a signal is delivered during an attempted read, an
exception is logged in the logfile. There is no need for this, so we
handle this case explicitely.

Signed-off-by: Guido Trotter <>...

465b8ee3 09/16/2009 03:55 pm Guido Trotter

ConfdAsyncUDPServer: defer handling writes

Currently if we fail writing to the socket (perhaps because a signal was
delivered) we lose the data we were sending. Although this is not too
bad (it's udp, and data may get lost anyway) we try to avoid this by...

5f3269fc 09/16/2009 03:55 pm Guido Trotter

Abstract AsyncUDPSocket to daemon

This allows this extended asyncore+udp module to be used also in other
daemons, and in the confd client library

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

fe759e4c 09/16/2009 03:55 pm Guido Trotter

ConfdAsyncUDPServer: fix a docstring

It refers to an older input variable

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

a3758ab2 09/16/2009 03:55 pm Guido Trotter

Add a magic fourcc code to confd packets

This will make it easier to change the protocol later on

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

86488201 09/16/2009 03:55 pm Guido Trotter

ganeti-confd: explicitely log failed big sends

Make sure that if we try to send packages which are too big (which
shouldn't happen) this gets properly logged in the config file.

Signed-off-by: Guido Trotter <>
Reviewed-by: Luca Bigliardi <>

9748ab35 09/16/2009 03:55 pm Guido Trotter

Move fourcc packing/unpacking to main confd module

This way it can be used by the client as well

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

4d4a651d 09/11/2009 05:33 pm Michael Hanselmann

Wrap lines over 80 characters

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

a544f755 08/31/2009 06:43 pm Guido Trotter

confd: avoid spamming the logfile

When confd is disabled we don't want to be noticed every timer interval.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

05f1ebf3 08/28/2009 05:44 pm Guido Trotter

Move SimpleConfigReader creation to ConfdProcessor

This will be useful to make ConfdProcessor aware of a config failure,
without quitting confd.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

e369f21d 08/28/2009 05:44 pm Guido Trotter

ConfdProcessor: add disabled state

This is a state the processor will get in, if it fails to load the
config.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

c6259dbc 08/28/2009 05:44 pm Guido Trotter

confd: start in polling mode

This allows us not to enable the inotify handler immediately, and thus
to make it easier for us should the config file not exist at all.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

22d3e184 08/28/2009 05:44 pm Guido Trotter

Confd: don't fail if the config doesn't load

Rather than quitting we'll just continue to poll the config at a slow
rate, hoping that sooner or later we'll get it back. This allows also
working on non-MC nodes, and smoothly transitioning from MC to non-MC,...

176d3122 08/28/2009 05:44 pm Guido Trotter

confd: s/confd_event_handler/inotify_handler/

In a case we don't encounter frequently (file modified but not
overwritten) the notify handler we use is called with a wrong name.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

e2be81cf 08/28/2009 02:17 pm Guido Trotter

Implement timers in confd

Timers are used both for checking for inotify failures, and for polling,
should inotify notices become too frequent.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

ef4ca33b 08/28/2009 02:08 pm Guido Trotter

ConfdInotifyEventHandler.enable: use InotifyError

Rather than raising ConfdFatalError directly
ConfdInotifyEventHandler.enable raises InotifyError should it not be
able to configure inotify, allowing the caller to decide what to do.

Signed-off-by: Guido Trotter <>...

4afe249b 08/28/2009 02:07 pm Guido Trotter

ConfdInotifyEventHandler, move to a callback

ConfdInotifyEventHandler used to reload the config whenever a
notification arrived. Moving to a callback system, so that
ConfdConfigurationReloader can be responsible for that functionality.

Additionally the inotify class no longer reenables itself automatically,...

562bee4d 08/28/2009 02:07 pm Guido Trotter

Move creation of inotify handler to a new class

This class will be responsible for managing inotify notifications,
timers, and rate-limiting reloads. For now none of these features is
implemented. :)

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

46c9b31d 08/28/2009 02:06 pm Guido Trotter

ConfdInotifyEventHandler: add enable/disable

Make possible to enable and disable the inotify event handler. The
inotify handler will remain enabled, unless explicitely told to disable
itself.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

6c948699 08/25/2009 07:00 pm Michael Hanselmann

Style fixes for ganeti-*

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

f91c7223 08/20/2009 05:08 pm Guido Trotter

Convert ganeti-confd to Mainloop

Now that mainloop is asyncore-enabled we can easily do that.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

4d5db19c 08/12/2009 12:54 pm Guido Trotter

Remove unused imports from confd files

confd.server and daemons/ganeti-confd import a few modules they don't
actually use. Clean them up.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

b84cb9a0 08/10/2009 04:46 pm Guido Trotter

Initial confd implementation

ganeti-confd is a simple asynchronous daemon, which listens on a UDP
port, passes each packet to a processor, and sends back to the client
the result.

It also listens on an inotify socket, in order to reload its
configuration when the ganeti config file changes....