~smoser/ubuntu/quantal/cloud-init/sru

« back to all changes in this revision

Viewing changes to cloudinit/CloudConfig/cc_resizefs.py

  • Committer: Scott Moser
  • Date: 2012-01-12 16:33:53 UTC
  • mto: This revision was merged to the branch mainline in revision 141.
  • Revision ID: smoser@ubuntu.com-20120112163353-nip749m6ytls8sva
Tags: upstream-0.6.3~bzr502
ImportĀ upstreamĀ versionĀ 0.6.3~bzr502

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
#
16
16
#    You should have received a copy of the GNU General Public License
17
17
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
18
 
18
19
import cloudinit.util as util
19
20
import subprocess
20
 
import traceback
21
21
import os
22
22
import stat
23
23
import tempfile
24
 
 
25
 
def handle(name,cfg,cloud,log,args):
 
24
from cloudinit.CloudConfig import per_always
 
25
 
 
26
frequency = per_always
 
27
 
 
28
def handle(_name,cfg,_cloud,log,args):
26
29
    if len(args) != 0:
27
30
        resize_root = False
28
 
        if str(value).lower() in [ 'true', '1', 'on', 'yes']:
 
31
        if str(args[0]).lower() in [ 'true', '1', 'on', 'yes']:
29
32
            resize_root = True
30
33
    else:
31
34
        resize_root = util.get_cfg_option_bool(cfg,"resize_rootfs",True)
38
41
    os.close(fd)
39
42
    
40
43
    try:
41
 
       st_dev=os.stat("/").st_dev
42
 
       dev=os.makedev(os.major(st_dev),os.minor(st_dev))
43
 
       os.mknod(devpth, 0400 | stat.S_IFBLK, dev)
 
44
        st_dev=os.stat("/").st_dev
 
45
        dev=os.makedev(os.major(st_dev),os.minor(st_dev))
 
46
        os.mknod(devpth, 0400 | stat.S_IFBLK, dev)
44
47
    except:
45
48
        if util.islxc():
46
49
            log.debug("inside lxc, ignoring mknod failure in resizefs")
50
53
 
51
54
    cmd = [ 'blkid', '-c', '/dev/null', '-sTYPE', '-ovalue', devpth ]
52
55
    try:
53
 
        (fstype,err) = util.subp(cmd)
 
56
        (fstype,_err) = util.subp(cmd)
54
57
    except subprocess.CalledProcessError as e:
55
58
        log.warn("Failed to get filesystem type of maj=%s, min=%s via: %s" %
56
59
            (os.major(st_dev), os.minor(st_dev), cmd))
71
74
        return
72
75
 
73
76
    try:
74
 
        (out,err) = util.subp(resize_cmd)
 
77
        util.subp(resize_cmd)
75
78
    except subprocess.CalledProcessError as e:
76
79
        log.warn("Failed to resize filesystem (%s)" % resize_cmd)
77
80
        log.warn("output=%s\nerror=%s\n", e.output[0], e.output[1])