Trees | Indices | Help |
|
---|
|
1 # 2 # 3 4 # Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Google Inc. 5 # All rights reserved. 6 # 7 # Redistribution and use in source and binary forms, with or without 8 # modification, are permitted provided that the following conditions are 9 # met: 10 # 11 # 1. Redistributions of source code must retain the above copyright notice, 12 # this list of conditions and the following disclaimer. 13 # 14 # 2. Redistributions in binary form must reproduce the above copyright 15 # notice, this list of conditions and the following disclaimer in the 16 # documentation and/or other materials provided with the distribution. 17 # 18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 19 # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 25 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 26 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 27 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30 31 """Module holding different constants.""" 32 33 # pylint: disable=W0401,W0614 34 # 35 # The modules 'ganeti._constants' and 'ganeti._vcsversion' are meant 36 # to be re-exported but pylint complains because the imported names 37 # are not actually used in this module. 38 39 import re 40 import socket 41 42 from ganeti._constants import * 43 from ganeti._vcsversion import * 44 from ganeti import compat 45 from ganeti import pathutils 46 47 ALLOCATABLE_KEY = "allocatable" 48 FAILED_KEY = "failed" 49 50 DAEMONS_LOGFILES = \ 51 dict((daemon, pathutils.GetLogFilename(DAEMONS_LOGBASE[daemon])) 52 for daemon in DAEMONS_LOGBASE) 53 54 DAEMONS_EXTRA_LOGFILES = \ 55 dict((daemon, dict((extra, 56 pathutils.GetLogFilename(DAEMONS_EXTRA_LOGBASE[daemon][extra])) 57 for extra in DAEMONS_EXTRA_LOGBASE[daemon])) 58 for daemon in DAEMONS_EXTRA_LOGBASE) 59 60 # When the Xen toolstack used is "xl", live migration requires the source host 61 # to connect to the target host via ssh (xl runs this command). We need to pass 62 # the command xl runs some extra info so that it can use Ganeti's key 63 # verification and not fail. Note that this string is incomplete: it must be 64 # filled with the cluster name before being used. 65 XL_SSH_CMD = ("ssh -l %s -oGlobalKnownHostsFile=%s" 66 " -oUserKnownHostsFile=/dev/null" 67 " -oCheckHostIp=no -oStrictHostKeyChecking=yes" 68 " -oHostKeyAlias=%%s") % (SSH_LOGIN_USER, 69 pathutils.SSH_KNOWN_HOSTS_FILE) 70 71 IE_MAGIC_RE = re.compile(r"^[-_.a-zA-Z0-9]{5,100}$") 72 73 # External script validation mask 74 EXT_PLUGIN_MASK = re.compile("^[a-zA-Z0-9_-]+$") 75 76 JOB_ID_TEMPLATE = r"\d+" 77 JOB_FILE_RE = re.compile(r"^job-(%s)$" % JOB_ID_TEMPLATE) 78 79 # HVC_DEFAULTS contains one value 'HV_VNC_PASSWORD_FILE' which is not 80 # a constant because it depends on an environment variable that is 81 # used for VClusters. Therefore, it cannot be automatically generated 82 # by Haskell at compilation time (given that this environment variable 83 # might be different at runtime). 84 HVC_DEFAULTS[HT_XEN_HVM][HV_VNC_PASSWORD_FILE] = pathutils.VNC_PASSWORD_FILE 85 86 # Do not re-export imported modules 87 del re, socket, pathutils, compat 88
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Jan 12 17:29:05 2016 | http://epydoc.sourceforge.net |