use --rcfile to work with newer lxc

This commit is contained in:
Wolfgang Bumiller 2016-08-18 11:48:52 +02:00
parent e61d6533c3
commit d43d058dec
1 changed files with 11 additions and 6 deletions

View File

@ -306,12 +306,13 @@ sub ve_init {
my $veid = $self->{veid}; my $veid = $self->{veid};
my $conffile = $self->{veconffile};
$self->logmsg ("initialize VE $veid\n"); $self->logmsg ("initialize VE $veid\n");
my $vestat = $self->ve_status(); my $vestat = $self->ve_status();
if ($vestat->{running}) { if ($vestat->{running}) {
$self->run_command ("lxc-stop -n $veid --kill"); $self->run_command ("lxc-stop -n $veid --rcfile $conffile --kill");
} }
rmtree $self->{rootfs}; rmtree $self->{rootfs};
@ -322,12 +323,13 @@ sub ve_command {
my ($self, $cmd, $input) = @_; my ($self, $cmd, $input) = @_;
my $veid = $self->{veid}; my $veid = $self->{veid};
my $conffile = $self->{veconffile};
if (ref ($cmd) eq 'ARRAY') { if (ref ($cmd) eq 'ARRAY') {
unshift @$cmd, 'lxc-attach', '-n', $veid, '--clear-env', '--'; unshift @$cmd, 'lxc-attach', '-n', $veid, '--rcfile', $conffile,'--clear-env', '--';
$self->run_command ($cmd, $input); $self->run_command ($cmd, $input);
} else { } else {
$self->run_command ("lxc-attach -n $veid --clear-env -- $cmd", $input); $self->run_command ("lxc-attach -n $veid --rcfile $conffile --clear-env -- $cmd", $input);
} }
} }
@ -335,9 +337,10 @@ sub ve_exec {
my ($self, @cmd) = @_; my ($self, @cmd) = @_;
my $veid = $self->{veid}; my $veid = $self->{veid};
my $conffile = $self->{veconffile};
my $reader; my $reader;
my $pid = open2($reader, "<&STDIN", 'lxc-attach', '-n', $veid, '--', @cmd) my $pid = open2($reader, "<&STDIN", 'lxc-attach', '-n', $veid, '--rcfile', $conffile, '--', @cmd)
or die "unable to exec command"; or die "unable to exec command";
while (defined (my $line = <$reader>)) { while (defined (my $line = <$reader>)) {
@ -426,7 +429,8 @@ sub start_container {
sub stop_container { sub stop_container {
my ($self) = @_; my ($self) = @_;
my $veid = $self->{veid}; my $veid = $self->{veid};
$self->run_command ("lxc-stop -n $veid --kill"); my $conffile = $self->{veconffile};
$self->run_command ("lxc-stop -n $veid --rcfile $conffile --kill");
} }
sub pacman_command { sub pacman_command {
@ -644,6 +648,7 @@ sub finalize {
sub enter { sub enter {
my ($self) = @_; my ($self) = @_;
my $veid = $self->{veid}; my $veid = $self->{veid};
my $conffile = $self->{veconffile};
my $vestat = $self->ve_status(); my $vestat = $self->ve_status();
if (!$vestat->{exist}) { if (!$vestat->{exist}) {
@ -655,7 +660,7 @@ sub enter {
$self->start_container(); $self->start_container();
} }
system ("lxc-attach -n $veid --clear-env"); system ("lxc-attach -n $veid --rcfile $conffile --clear-env");
} }
sub clean { sub clean {