Fix a bunch of == None cases
This commit is contained in:
commit
612a9ba80d
@ -29,6 +29,21 @@ distros = ['ubuntu', 'debian']
|
||||
PROXY_TPL = "Acquire::HTTP::Proxy \"%s\";\n"
|
||||
PROXY_FN = "/etc/apt/apt.conf.d/95cloud-init-proxy"
|
||||
|
||||
# A temporary shell program to get a given gpg key
|
||||
# from a given keyserver
|
||||
EXPORT_GPG_KEYID = """
|
||||
k=${1} ks=${2};
|
||||
exec 2>/dev/null
|
||||
[ -n "$k" ] || exit 1;
|
||||
armour=$(gpg --list-keys --armour "${k}")
|
||||
if [ -z "${armour}" ]; then
|
||||
gpg --keyserver ${ks} --recv $k >/dev/null &&
|
||||
armour=$(gpg --export --armour "${k}") &&
|
||||
gpg --batch --yes --delete-keys "${k}"
|
||||
fi
|
||||
[ -n "${armour}" ] && echo "${armour}"
|
||||
"""
|
||||
|
||||
|
||||
def handle(_name, cfg, cloud, log, _args):
|
||||
update = util.get_cfg_option_bool(cfg, 'apt_update', False)
|
||||
@ -106,9 +121,19 @@ def handle(_name, cfg, cloud, log, _args):
|
||||
raise errors[-1]
|
||||
|
||||
|
||||
# get gpg keyid from keyserver
|
||||
def getkeybyid(keyid, keyserver):
|
||||
with util.ExtendedTemporaryFile(suffix='.sh') as fh:
|
||||
fh.write(EXPORT_GPG_KEYID)
|
||||
fh.flush()
|
||||
cmd = ['/bin/sh', fh.name, keyid, keyserver]
|
||||
(stdout, _stderr) = util.subp(cmd)
|
||||
return stdout.strip()
|
||||
|
||||
|
||||
def mirror2lists_fileprefix(mirror):
|
||||
string = mirror
|
||||
# take of http:// or ftp://
|
||||
# take off http:// or ftp://
|
||||
if string.endswith("/"):
|
||||
string = string[0:-1]
|
||||
pos = string.find("://")
|
||||
@ -119,8 +144,8 @@ def mirror2lists_fileprefix(mirror):
|
||||
|
||||
|
||||
def rename_apt_lists(omirror, new_mirror, lists_d="/var/lib/apt/lists"):
|
||||
oprefix = "%s/%s" % (lists_d, mirror2lists_fileprefix(omirror))
|
||||
nprefix = "%s/%s" % (lists_d, mirror2lists_fileprefix(new_mirror))
|
||||
oprefix = os.path.join(lists_d, mirror2lists_fileprefix(omirror))
|
||||
nprefix = os.path.join(lists_d, mirror2lists_fileprefix(new_mirror))
|
||||
if oprefix == nprefix:
|
||||
return
|
||||
olen = len(oprefix)
|
||||
@ -181,7 +206,7 @@ def add_sources(cloud, srclist, template_params=None):
|
||||
if 'keyserver' in ent:
|
||||
ks = ent['keyserver']
|
||||
try:
|
||||
ent['key'] = util.getkeybyid(ent['keyid'], ks)
|
||||
ent['key'] = getkeybyid(ent['keyid'], ks)
|
||||
except:
|
||||
errorlist.append([source, "failed to get key from %s" % ks])
|
||||
continue
|
||||
|
@ -19,7 +19,6 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
from cloudinit import util
|
||||
from cloudinit.settings import PER_ALWAYS
|
||||
@ -34,7 +33,7 @@ def handle(name, cfg, cloud, log, _args):
|
||||
" no 'bootcmd' key in configuration"), name)
|
||||
return
|
||||
|
||||
with tempfile.NamedTemporaryFile(suffix=".sh") as tmpf:
|
||||
with util.ExtendedTemporaryFile(suffix=".sh") as tmpf:
|
||||
try:
|
||||
content = util.shellify(cfg["bootcmd"])
|
||||
tmpf.write(content)
|
||||
|
@ -96,7 +96,7 @@ def handle(name, cfg, cloud, log, _args):
|
||||
install_chef_from_gems(cloud.distro, ruby_version, chef_version)
|
||||
# and finally, run chef-client
|
||||
log.debug('Running chef-client')
|
||||
util.subp(['/usr/bin/chef-client',
|
||||
util.subp(['/usr/bin/chef-client',
|
||||
'-d', '-i', '1800', '-s', '20'], capture=False)
|
||||
elif install_type == 'packages':
|
||||
# this will install and run the chef-client from packages
|
||||
|
@ -37,14 +37,14 @@ def handle(_name, cfg, _cloud, log, _args):
|
||||
|
||||
if ((os.path.exists("/dev/sda1") and not os.path.exists("/dev/sda")) or
|
||||
(os.path.exists("/dev/xvda1") and not os.path.exists("/dev/xvda"))):
|
||||
if idevs == None:
|
||||
if idevs is None:
|
||||
idevs = ""
|
||||
if idevs_empty == None:
|
||||
if idevs_empty is None:
|
||||
idevs_empty = "true"
|
||||
else:
|
||||
if idevs_empty == None:
|
||||
if idevs_empty is None:
|
||||
idevs_empty = "false"
|
||||
if idevs == None:
|
||||
if idevs is None:
|
||||
idevs = "/dev/sda"
|
||||
for dev in ("/dev/sda", "/dev/vda", "/dev/sda1", "/dev/vda1"):
|
||||
if os.path.exists(dev):
|
||||
|
@ -79,8 +79,8 @@ def handle(name, cfg, cloud, log, args):
|
||||
|
||||
# TODO: allow what is to be resized to be configurable??
|
||||
resize_what = cloud.paths.join(False, "/")
|
||||
with util.SilentTemporaryFile(prefix="cloudinit.resizefs.",
|
||||
dir=resize_root_d, delete=True) as tfh:
|
||||
with util.ExtendedTemporaryFile(prefix="cloudinit.resizefs.",
|
||||
dir=resize_root_d, delete=True) as tfh:
|
||||
devpth = tfh.name
|
||||
|
||||
# Delete the file so that mknod will work
|
||||
|
@ -186,7 +186,7 @@ def transport_iso9660(require_iso=True):
|
||||
fstype = info['fstype']
|
||||
if fstype != "iso9660" and require_iso:
|
||||
continue
|
||||
if cdmatch.match(dev[5:]) == None: # take off '/dev/'
|
||||
if cdmatch.match(dev[5:]) is None: # take off '/dev/'
|
||||
continue
|
||||
mp = info['mountpoint']
|
||||
(fname, contents) = get_ovf_env(mp)
|
||||
|
@ -171,10 +171,13 @@ class Init(object):
|
||||
return None
|
||||
|
||||
def _write_to_cache(self):
|
||||
if not self.datasource:
|
||||
return False
|
||||
pickled_fn = self.paths.get_ipath_cur("obj_pkl")
|
||||
try:
|
||||
contents = pickle.dumps(self.datasource)
|
||||
util.write_file(pickled_fn, contents, mode=0400)
|
||||
return True
|
||||
except Exception:
|
||||
util.logexc(LOG, "Failed pickling datasource to %s", pickled_fn)
|
||||
return False
|
||||
@ -285,7 +288,8 @@ class Init(object):
|
||||
self.distro, helpers.Runners(self.paths))
|
||||
|
||||
def update(self):
|
||||
self._write_to_cache()
|
||||
if not self._write_to_cache():
|
||||
return
|
||||
self._store_userdata()
|
||||
|
||||
def _store_userdata(self):
|
||||
|
@ -157,7 +157,7 @@ class MountFailedError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def SilentTemporaryFile(**kwargs):
|
||||
def ExtendedTemporaryFile(**kwargs):
|
||||
fh = tempfile.NamedTemporaryFile(**kwargs)
|
||||
# Replace its unlink with a quiet version
|
||||
# that does not raise errors when the
|
||||
@ -517,26 +517,6 @@ def del_dir(path):
|
||||
shutil.rmtree(path)
|
||||
|
||||
|
||||
# get gpg keyid from keyserver
|
||||
def getkeybyid(keyid, keyserver):
|
||||
# TODO fix this...
|
||||
shcmd = """
|
||||
k=${1} ks=${2};
|
||||
exec 2>/dev/null
|
||||
[ -n "$k" ] || exit 1;
|
||||
armour=$(gpg --list-keys --armour "${k}")
|
||||
if [ -z "${armour}" ]; then
|
||||
gpg --keyserver ${ks} --recv $k >/dev/null &&
|
||||
armour=$(gpg --export --armour "${k}") &&
|
||||
gpg --batch --yes --delete-keys "${k}"
|
||||
fi
|
||||
[ -n "${armour}" ] && echo "${armour}"
|
||||
"""
|
||||
args = ['sh', '-c', shcmd, "export-gpg-keyid", keyid, keyserver]
|
||||
(stdout, _stderr) = subp(args)
|
||||
return stdout
|
||||
|
||||
|
||||
def runparts(dirp, skip_no_exist=True):
|
||||
if skip_no_exist and not os.path.isdir(dirp):
|
||||
return
|
||||
@ -928,7 +908,7 @@ def pipe_in_out(in_fh, out_fh, chunk_size=1024, chunk_cb=None):
|
||||
|
||||
|
||||
def chownbyid(fname, uid=None, gid=None):
|
||||
if uid == None and gid == None:
|
||||
if uid is None and gid is None:
|
||||
return
|
||||
LOG.debug("Changing the ownership of %s to %s:%s", fname, uid, gid)
|
||||
os.chown(fname, uid, gid)
|
||||
|
Loading…
x
Reference in New Issue
Block a user