Package ganeti :: Package confd
[hide private]
[frames] | no frames]

Source Code for Package ganeti.confd

 1  # 
 2  # 
 3   
 4  # Copyright (C) 2009 Google Inc. 
 5  # 
 6  # This program is free software; you can redistribute it and/or modify 
 7  # it under the terms of the GNU General Public License as published by 
 8  # the Free Software Foundation; either version 2 of the License, or 
 9  # (at your option) any later version. 
10  # 
11  # This program is distributed in the hope that it will be useful, but 
12  # WITHOUT ANY WARRANTY; without even the implied warranty of 
13  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14  # General Public License for more details. 
15  # 
16  # You should have received a copy of the GNU General Public License 
17  # along with this program; if not, write to the Free Software 
18  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
19  # 02110-1301, USA. 
20   
21   
22  """Ganeti confd client/server library 
23   
24  """ 
25   
26  from ganeti import constants 
27  from ganeti import errors 
28   
29   
30  _FOURCC_LEN = 4 
31   
32   
33 -def PackMagic(payload):
34 """Prepend the confd magic fourcc to a payload. 35 36 """ 37 return ''.join([constants.CONFD_MAGIC_FOURCC, payload])
38 39
40 -def UnpackMagic(payload):
41 """Unpack and check the confd magic fourcc from a payload. 42 43 """ 44 if len(payload) < _FOURCC_LEN: 45 raise errors.ConfdMagicError("UDP payload too short to contain the" 46 " fourcc code") 47 48 magic_number = payload[:_FOURCC_LEN] 49 if magic_number != constants.CONFD_MAGIC_FOURCC: 50 raise errors.ConfdMagicError("UDP payload contains an unkown fourcc") 51 52 return payload[_FOURCC_LEN:]
53