abhilekhsingh / gc3pie

Automatically exported from code.google.com/p/gc3pie
0 stars 0 forks source link

`gsession abort` fails with "Instance not found" error #430

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Trying to cancel a session running on a VM on Hobbes, I get this
error:

    gc3.gc3utils: CRITICAL: InstanceNotFound: No instance with id i-00000f5c has been found.
    Traceback (most recent call last):
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/cmdline.py", line 437, in run
        return cli.app.CommandLineApp.run(self)
      File "/home/rmurri/.virtualenvs/gc3pie-dev/local/lib/python2.7/site-packages/pyCLI-2.0.3-py2.7.egg/cli/app.py", line 245, in run
        return self.post_run(returned)
      File "/home/rmurri/.virtualenvs/gc3pie-dev/local/lib/python2.7/site-packages/pyCLI-2.0.3-py2.7.egg/cli/app.py", line 241, in run
        returned = self.main(*args)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3utils/commands.py", line 955, in main
        return self.params.func()
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3utils/commands.py", line 984, in abort_session
        task.kill()
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/workflow.py", line 710, in kill
        self.task.kill(**extra_args)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/__init__.py", line 290, in kill
        self._controller.kill(self, **extra_args)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/core.py", line 625, in kill
        self.__kill_application(app, **extra_args)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/core.py", line 635, in __kill_application
        lrms.cancel_job(app)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/backends/ec2.py", line 780, in cancel_job
        resource = self._get_subresource(self._get_vm(app.ec2_instance_id))
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/backends/ec2.py", line 544, in _get_vm
        vm = self._vmpool.get_vm(vm_id)
      File "/home/rmurri/gc3/gc3pie.googlecode.com/gc3pie/gc3libs/backends/ec2.py", line 238, in get_vm
        "No instance with id %s has been found." % vm_id)
    InstanceNotFound: No instance with id i-00000f5c has been found.

However, the instance is seen by `gcloud list` and in the OpenStack dashboard:

    $ gcloud list

    ====================================
    VMs running on EC2 resource `hobbes`
    ====================================

    +----------+------------+---------+--------------+-------------+--------------+--------------+---------+
    | resource |     id     |  state  |  public ip   | Nr. of jobs | Nr. of cores |   image id   | keypair |
    +----------+------------+---------+--------------+-------------+--------------+--------------+---------+
    |  hobbes  | i-00000f5d | running | 130.60.24.87 |      1      |      1       | ami-000000ef |  rmurri |
    +----------+------------+---------+--------------+-------------+--------------+--------------+---------+

Original issue reported on code.google.com by riccardo.murri@gmail.com on 21 Mar 2014 at 4:44

GoogleCodeExporter commented 9 years ago

Original comment by riccardo.murri@gmail.com on 21 Mar 2014 at 4:44

GoogleCodeExporter commented 9 years ago
Huh, the VM ids do *not* match.  Why is `gsession abort` picking up the wrong 
VM id?

Original comment by riccardo.murri@gmail.com on 21 Mar 2014 at 4:48

GoogleCodeExporter commented 9 years ago
Workaround in SVN r3855: make `gsession abort` ignore errors from `task.kill()`.

Original comment by riccardo.murri@gmail.com on 21 Mar 2014 at 4:52