Exemple #1
0
    def test_preflight_check_failed(self):
        import VMBuilder
        from VMBuilder.plugins.ubuntu.distro import Ubuntu
        from VMBuilder.exception import VMBuilderUserError

        vm = VMBuilder.VM()
        vm.suite = 'foo'
        ubuntu = Ubuntu(vm)
        self.assertRaises(VMBuilderUserError, ubuntu.preflight_check)
Exemple #2
0
    def run(self):
        try:
            next = False
            conf = None
            for val in sys.argv:
                if (val == '-c') | (val == '--config'):
                    next = True
                elif next:
                    conf = val
                    break

            vm = VMBuilder.VM(conf)
            vm.register_setting('--version', action='callback', callback=self.versioninfo, callback_kwargs={ 'vm' : vm }, help='Show version information')
            vm.register_setting('--rootsize', metavar='SIZE', default=4096, help='Size (in MB) of the root filesystem [default: %default]')
            vm.register_setting('--optsize', metavar='SIZE', default=0, help='Size (in MB) of the /opt filesystem. If not set, no /opt filesystem will be added.')
            vm.register_setting('--swapsize', metavar='SIZE', default=1024, help='Size (in MB) of the swap partition [default: %default]')
            vm.register_setting('--raw', metavar='PATH', type='string', help="Specify a file (or block device) to as first disk image.")
            vm.register_setting('--part', metavar='PATH', type='string', help="Allows to specify a partition table in PATH each line of partfile should specify (root first): \n    mountpoint size \none per line, separated by space, where size is in megabytes. You can have up to 4 virtual disks, a new disk starts on a line containing only '---'. ie: \n    root 2000 \n    /boot 512 \n    swap 1000 \n    --- \n    /var 8000 \n    /var/log 2000")
            self.set_usage(vm)

            vm.optparser.disable_interspersed_args()
            (foo, args) = vm.optparser.parse_args()
            self.handle_args(vm, args)
            vm.optparser.enable_interspersed_args()

            for opt in vm.optparser.option_list + sum([grp.option_list for grp in vm.optparser.option_groups], []):
                if len(opt._long_opts) > 1 or (opt.action == 'store' and opt._long_opts[0][2:] != opt.dest):
                    opt.help += " Config option: %s" % opt.dest

            (settings, args) = vm.optparser.parse_args(values=optparse.Values())
            for (k,v) in settings.__dict__.iteritems():
                setattr(vm, k, v)

            self.set_disk_layout(vm)

            vm.create()
        except VMBuilder.VMBuilderUserError, e:
            print >> sys.stderr, e