diff --git a/src/vmm_mad/remotes/lib/lxd/container.rb b/src/vmm_mad/remotes/lib/lxd/container.rb index 18b6a132cc..2d3db23168 100644 --- a/src/vmm_mad/remotes/lib/lxd/container.rb +++ b/src/vmm_mad/remotes/lib/lxd/container.rb @@ -165,14 +165,14 @@ class Container cmd = "#{LXC_COMMAND} exec #{@one.vm_name} -- #{command}" rc, o, e = Command.execute(cmd, true) - # TODO this should be removed when Snap bug is fixed - # Snap patch - rc, o, e = Command.execute("sudo #{cmd}", true) if e.include?('cannot create user data directory:') - + # TODO: this should be removed when Snap bug is fixed + err = 'cannot create user data directory:' + rc, o, e = Command.execute("sudo #{cmd}", true) if e.include?(err) + return [rc, o, e] unless rc != 0 - + OpenNebula.log_error("#{__method__}: Failed to run command #{cmd}: #{e}") - + [rc, o, e] end diff --git a/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb b/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb index 4d66bb37b1..04be9633a4 100644 --- a/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb +++ b/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb @@ -163,12 +163,13 @@ class Mapper Command.execute("#{COMMANDS[:xfs_growfs]} -d #{directory}", false) when /ext/ - rc, _o, e = Command.execute("#{COMMANDS[:e2fsck]} -f -y #{device}", false) + _rc, o, e = Command.execute("#{COMMANDS[:e2fsck]} -f -y #{device}", false) - if rc.zero? - Command.execute("#{COMMANDS[:resize2fs]} #{device}", false) + if o.empty? + err = "#{__method__}: failed to resize #{device}\n#{e}" + OpenNebula.log_error err else - OpenNebula.log_error "#{__method__}: failed to resize #{device}\n#{e}" + Command.execute("#{COMMANDS[:resize2fs]} #{device}", false) end rc = mount_dev(device, directory)