/[vz-tools]/trunk/vz-create.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/vz-create.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 44 by dpavlin, Sat Feb 9 00:28:10 2008 UTC revision 77 by dpavlin, Mon Apr 27 12:08:07 2009 UTC
# Line 8  use IO::Prompt; Line 8  use IO::Prompt;
8  use Regexp::Common qw/net/;  use Regexp::Common qw/net/;
9  use lib 'lib';  use lib 'lib';
10  use VZ;  use VZ;
11    use Getopt::Long;
12    
13  # default debian distribution  # default debian distribution
14  my $dist = 'etch';  my $dist = 'etch';
# Line 15  my $dist = 'etch'; Line 16  my $dist = 'etch';
16  my $debian_mirror_uri = 'http://www.debian.org/debian';  my $debian_mirror_uri = 'http://www.debian.org/debian';
17  my $arh = 'i386';  my $arh = 'i386';
18  # split physicial machine in how meny virtual ones?  # split physicial machine in how meny virtual ones?
19  my $ve_total = 4;  my $split = 4;
20  # swap size (Mb)  # swap size (Mb)
21  my $swap_size = 512;  my $swap_size = 512;
22  # diskspace  # diskspace
23  my $diskspace = '2G:4G';  my $diskspace = '2G:4G';
24    
25  $dist = 'testing';  GetOptions(
26  $arh = 'amd64';          'dist=s'        => \$dist,
27            'arh=s'         => \$arh,
28            'mirror=s'      => \$debian_mirror_uri,
29            'split=i'       => \$split,
30    );
31    
32  check_root;  check_root;
33    
# Line 68  $hostname ||= prompt('Enter hostname: ') Line 73  $hostname ||= prompt('Enter hostname: ')
73    
74  my @ip_split = split(/\./,$ip);  my @ip_split = split(/\./,$ip);
75    
76  my $ve_id = sprintf('%d%03d', $ip_split[2], $ip_split[3]);  # 192.168.42.1  -> 42 001
77    # 10.60.0.3     -> 60 003
78    # 10.60.1.42    ->  1 042
79    
80    my $ve_id = sprintf('%d%03d', $ip_split[2] || $ip_split[1], $ip_split[3]);
81    
82    if ( $ve_id < 101 ) {
83            $ve_id += 100;
84            warn "# VEID moved to $ve_id because 0 .. 100 are reserved\n";
85    }
86    
87  print "VEID: $ve_id hostname: $hostname ip: $ip\n";  print "VEID: $ve_id hostname: $hostname ip: $ip\n";
88    
# Line 94  warn ">> creating configuration file $co Line 108  warn ">> creating configuration file $co
108  if (-e $conf_path) {  if (-e $conf_path) {
109          warn "$conf_path allready exists, not touching it\n";          warn "$conf_path allready exists, not touching it\n";
110  } else {  } else {
111          vzsplit('-n', $ve_total, '-s', $swap_size * 1024, '>', $conf_path);          vzsplit('-n', $split, '-s', $swap_size * 1024, '>', $conf_path);
112    
113          die "configuration file not created" unless -e $conf_path;          die "configuration file not created" unless -e $conf_path;
114    
# Line 139  if ($login) { Line 153  if ($login) {
153          vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" );          vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" );
154  }  }
155    
156    #runscript( $ve_id, 'custom/50-hypertable.sh' );
157  print "OK: $ve_id created\n";  print "OK: $ve_id created\n";

Legend:
Removed from v.44  
changed lines
  Added in v.77

  ViewVC Help
Powered by ViewVC 1.1.26