From 165eb1d752026c8a6f70ff0527d1fb3a30b237b6 Mon Sep 17 00:00:00 2001
From: Őry Máté <ory.mate@cloud.bme.hu>
Date: Mon, 28 Jul 2014 10:30:45 +0200
Subject: [PATCH] vm: send absolute url token to agent

---
 circle/dashboard/views.py    | 5 +++++
 circle/vm/models/instance.py | 5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/circle/dashboard/views.py b/circle/dashboard/views.py
index a2fc15b..f54bcb0 100644
--- a/circle/dashboard/views.py
+++ b/circle/dashboard/views.py
@@ -20,6 +20,7 @@ from __future__ import unicode_literals, absolute_import
 from collections import OrderedDict
 from itertools import chain
 from os import getenv
+from urlparse import urljoin
 import json
 import logging
 import re
@@ -3120,3 +3121,7 @@ class UserKeyCreate(LoginRequiredMixin, SuccessMessageMixin, CreateView):
         kwargs = super(UserKeyCreate, self).get_form_kwargs()
         kwargs['user'] = self.request.user
         return kwargs
+
+
+def absolute_url(url):
+    return urljoin(settings.DJANGO_URL, url)
diff --git a/circle/vm/models/instance.py b/circle/vm/models/instance.py
index 3b98b1c..4736de3 100644
--- a/circle/vm/models/instance.py
+++ b/circle/vm/models/instance.py
@@ -673,7 +673,7 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
                                readable_name=ugettext_noop(
                                    "notify owner about expiration"),
                                on_commit=on_commit):
-            from dashboard.views import VmRenewView
+            from dashboard.views import VmRenewView, absolute_url
             level = self.get_level_object("owner")
             for u, ulevel in self.get_users_with_level(level__pk=level.pk):
                 try:
@@ -688,7 +688,8 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
                 else:
                     success.append(u)
             if self.status == "RUNNING":
-                token = VmRenewView.get_token_url(self, self.owner)
+                token = absolute_url(
+                    VmRenewView.get_token_url(self, self.owner))
                 queue = self.get_remote_queue_name("agent")
                 agent_tasks.send_expiration.apply_async(
                     queue=queue, args=(self.vm_name, token))
--
libgit2 0.26.0