diff --git a/src/vmm_mad/remotes/lib/lxd/container.rb b/src/vmm_mad/remotes/lib/lxd/container.rb index c8e9a0dab6..6d25fd998c 100644 --- a/src/vmm_mad/remotes/lib/lxd/container.rb +++ b/src/vmm_mad/remotes/lib/lxd/container.rb @@ -129,6 +129,8 @@ class Container # Create a container without a base image def create(wait: true, timeout: '') @lxc['source'] = { 'type' => 'none' } + @lxc['config']['user.one_status'] = '0' + wait?(@client.post(CONTAINERS, @lxc), wait, timeout) @lxc = @client.get("#{CONTAINERS}/#{name}")['metadata'] @@ -204,7 +206,13 @@ class Container #--------------------------------------------------------------------------- def start(options = {}) OpenNebula.log '--- Starting container ---' - change_state(__method__, options) + + operation = change_state(__method__, options) + + @lxc['config'].delete('user.one_status') + update + + operation end def stop(options = { :timeout => 120 }) diff --git a/src/vmm_mad/remotes/lxd/poll b/src/vmm_mad/remotes/lxd/poll index e51202a439..28191b405f 100755 --- a/src/vmm_mad/remotes/lxd/poll +++ b/src/vmm_mad/remotes/lxd/poll @@ -121,6 +121,8 @@ module LXD state = 'p' when 'stopped' state = 'd' + + state = '-' if container.config['user.one_status'] == '0' when 'failure' state = 'e' else