components/openstack/horizon/patches/12-launchpad-1265032.patch
author Drew Fisher <drew.fisher@oracle.com>
Wed, 20 Aug 2014 13:22:19 -0700
branchs11-update
changeset 3284 2d5dd38085ab
permissions -rw-r--r--
19277967 long delay before floating ip assignment displayed by "nova show" or horizon 19468547 problem in SERVICE/HORIZON
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3284
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     1
Upstream patch to fix launchpad bug 1265032.  This fix is available in
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     2
Icehouse 2014.1 but not yet available in Havana.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     3
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     4
From f3557786e2a9f026a16d2fd3b8fa9243bc4c70a9 Mon Sep 17 00:00:00 2001
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     5
From: Assaf Muller <[email protected]>
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     6
Date: Sun, 29 Dec 2013 16:44:46 +0200
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     7
Subject: Get instance networking information from Neutron
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     8
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     9
project/instances, admin/instances and the instance details page
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    10
all get networking information from Nova. However, with Neutron
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    11
enabled, floating IP associations are done direcly with Neutron,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    12
meaning that Nova's DB will fall out of sync and thus the GUI
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    13
won't reflect successful floating IP associations until Nova
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    14
polls Neutron again and updates its DB. The polling can take
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    15
up to several minutes to complete for consecutive floating IP
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    16
operations.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    17
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    18
The solution is to update instances' networking information from
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    19
Neutron immediately after the call to list Nova instances.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    20
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    21
Conflicts:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    22
	openstack_dashboard/dashboards/project/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    23
	openstack_dashboard/dashboards/project/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    24
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    25
Closes-Bug: #1265032
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    26
Change-Id: I0382fa9a4a9fff21e7b4d05cd3b76783f826735f
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    27
(cherry picked from commit 715d6b822838009530b7792cd7749164ae3fc663)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    28
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    29
diff --git a/openstack_dashboard/api/network.py b/openstack_dashboard/api/network.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    30
index 7ab233c..ea76d41 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    31
--- a/openstack_dashboard/api/network.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    32
+++ b/openstack_dashboard/api/network.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    33
@@ -132,3 +132,15 @@ def server_update_security_groups(request, instance_id,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    34
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    35
 def security_group_backend(request):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    36
     return NetworkClient(request).secgroups.backend
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    37
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    38
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    39
+def servers_update_addresses(request, servers):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    40
+    """Retrieve servers networking information from Neutron if enabled.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    41
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    42
+       Should be used when up to date networking information is required,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    43
+       and Nova's networking info caching mechanism is not fast enough.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    44
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    45
+    """
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    46
+    neutron_enabled = base.is_service_enabled(request, 'network')
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    47
+    if neutron_enabled:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    48
+        neutron.servers_update_addresses(request, servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    49
diff --git a/openstack_dashboard/api/neutron.py b/openstack_dashboard/api/neutron.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    50
index 4443c9b..c09a674 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    51
--- a/openstack_dashboard/api/neutron.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    52
+++ b/openstack_dashboard/api/neutron.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    53
@@ -21,12 +21,15 @@
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    54
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    55
 from __future__ import absolute_import
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    56
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    57
+import collections
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    58
 import logging
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    59
+import netaddr
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    60
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    61
 from django.conf import settings  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    62
 from django.utils.datastructures import SortedDict  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    63
 from django.utils.translation import ugettext_lazy as _  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    64
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    65
+from horizon import messages
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    66
 from horizon.utils.memoized import memoized  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    67
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    68
 from openstack_dashboard.api import base
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    69
@@ -321,12 +324,12 @@ class FloatingIpManager(network_base.FloatingIpManager):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    70
         return [FloatingIpPool(pool) for pool
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    71
                 in self.client.list_networks(**search_opts).get('networks')]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    72
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    73
-    def list(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    74
+    def list(self, **search_opts):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    75
         tenant_id = self.request.user.tenant_id
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    76
         # In Neutron, list_floatingips returns Floating IPs from all tenants
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    77
         # when the API is called with admin role, so we need to filter them
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    78
         # with tenant_id.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    79
-        fips = self.client.list_floatingips(tenant_id=tenant_id)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    80
+        fips = self.client.list_floatingips(tenant_id=tenant_id, **search_opts)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    81
         fips = fips.get('floatingips')
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    82
         # Get port list to add instance_id to floating IP list
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    83
         # instance_id is stored in device_id attribute
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    84
@@ -727,6 +730,88 @@ def provider_list(request):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    85
     return providers['service_providers']
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    86
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    87
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    88
+def servers_update_addresses(request, servers):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    89
+    """Retrieve servers networking information from Neutron if enabled.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    90
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    91
+       Should be used when up to date networking information is required,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    92
+       and Nova's networking info caching mechanism is not fast enough.
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    93
+    """
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    94
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    95
+    # Get all (filtered for relevant servers) information from Neutron
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    96
+    try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    97
+        ports = port_list(request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    98
+                          device_id=[instance.id for instance in servers])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    99
+        floating_ips = FloatingIpManager(request).list(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   100
+            port_id=[port.id for port in ports])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   101
+        networks = network_list(request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   102
+                                id=[port.network_id for port in ports])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   103
+    except Exception:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   104
+        error_message = _('Unable to connect to Neutron.')
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   105
+        LOG.error(error_message)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   106
+        messages.error(request, error_message)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   107
+        return
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   108
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   109
+    # Map instance to its ports
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   110
+    instances_ports = collections.defaultdict(list)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   111
+    for port in ports:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   112
+        instances_ports[port.device_id].append(port)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   113
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   114
+    # Map port to its floating ips
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   115
+    ports_floating_ips = collections.defaultdict(list)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   116
+    for fip in floating_ips:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   117
+        ports_floating_ips[fip.port_id].append(fip)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   118
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   119
+    # Map network id to its name
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   120
+    network_names = dict(((network.id, network.name) for network in networks))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   121
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   122
+    for server in servers:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   123
+        try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   124
+            addresses = _server_get_addresses(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   125
+                request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   126
+                server,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   127
+                instances_ports,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   128
+                ports_floating_ips,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   129
+                network_names)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   130
+        except Exception as e:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   131
+            LOG.error(e)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   132
+        else:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   133
+            server.addresses = addresses
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   134
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   135
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   136
+def _server_get_addresses(request, server, ports, floating_ips, network_names):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   137
+    def _format_address(mac, ip, type):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   138
+        try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   139
+            version = netaddr.IPAddress(ip).version
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   140
+        except Exception as e:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   141
+            error_message = _('Unable to parse IP address %s.') % ip
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   142
+            LOG.error(error_message)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   143
+            messages.error(request, error_message)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   144
+            raise e
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   145
+        return {u'OS-EXT-IPS-MAC:mac_addr': mac,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   146
+                u'version': version,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   147
+                u'addr': ip,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   148
+                u'OS-EXT-IPS:type': type}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   149
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   150
+    addresses = collections.defaultdict(list)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   151
+    instance_ports = ports.get(server.id, [])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   152
+    for port in instance_ports:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   153
+        network_name = network_names.get(port.network_id)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   154
+        if network_name is not None:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   155
+            for fixed_ip in port.fixed_ips:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   156
+                addresses[network_name].append(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   157
+                    _format_address(port.mac_address,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   158
+                                    fixed_ip['ip_address'],
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   159
+                                    u'fixed'))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   160
+            port_fips = floating_ips.get(port.id, [])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   161
+            for fip in port_fips:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   162
+                addresses[network_name].append(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   163
+                    _format_address(port.mac_address,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   164
+                                    fip.floating_ip_address,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   165
+                                    u'floating'))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   166
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   167
+    return dict(addresses)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   168
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   169
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   170
 @memoized
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   171
 def list_extensions(request):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   172
     extensions_list = neutronclient(request).list_extensions()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   173
diff --git a/openstack_dashboard/dashboards/admin/instances/tests.py b/openstack_dashboard/dashboards/admin/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   174
index 6beb8fa..9236b4e 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   175
--- a/openstack_dashboard/dashboards/admin/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   176
+++ b/openstack_dashboard/dashboards/admin/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   177
@@ -20,6 +20,7 @@ from django.core.urlresolvers import reverse  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   178
 from django import http
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   179
 from django.utils.datastructures import SortedDict  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   180
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   181
+from mox import IgnoreArg  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   182
 from mox import IsA  # noqa
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   183
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   184
 from openstack_dashboard import api
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   185
@@ -29,7 +30,8 @@ from openstack_dashboard.test import helpers as test
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   186
 class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   187
     @test.create_stubs({api.nova: ('flavor_list', 'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   188
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   189
-                        api.keystone: ('tenant_list',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   190
+                        api.keystone: ('tenant_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   191
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   192
     def test_index(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   193
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   194
         flavors = self.flavors.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   195
@@ -42,6 +44,7 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   196
         api.nova.server_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   197
                              all_tenants=True, search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   198
                                 .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   199
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   200
         api.nova.flavor_list(IsA(http.HttpRequest)).AndReturn(flavors)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   201
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   202
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   203
@@ -52,7 +55,8 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   204
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   205
     @test.create_stubs({api.nova: ('flavor_list', 'flavor_get',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   206
                                     'server_list', 'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   207
-                        api.keystone: ('tenant_list',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   208
+                        api.keystone: ('tenant_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   209
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   210
     def test_index_flavor_list_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   211
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   212
         tenants = self.tenants.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   213
@@ -63,6 +67,7 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   214
         api.nova.server_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   215
                              all_tenants=True, search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   216
                                 .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   217
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   218
         api.nova.extension_supported('AdminActions', IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   219
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   220
         api.nova.flavor_list(IsA(http.HttpRequest)). \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   221
@@ -82,7 +87,8 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   222
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   223
     @test.create_stubs({api.nova: ('flavor_list', 'flavor_get',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   224
                                     'server_list', 'extension_supported', ),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   225
-                        api.keystone: ('tenant_list',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   226
+                        api.keystone: ('tenant_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   227
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   228
     def test_index_flavor_get_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   229
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   230
         flavors = self.flavors.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   231
@@ -96,6 +102,7 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   232
         api.nova.server_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   233
                              all_tenants=True, search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   234
                                 .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   235
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   236
         api.nova.extension_supported('AdminActions', IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   237
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   238
         api.nova.flavor_list(IsA(http.HttpRequest)). \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   239
@@ -162,14 +169,17 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   240
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   241
     @test.create_stubs({api.nova: ('flavor_list', 'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   242
                                    'extension_supported', ),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   243
-                        api.keystone: ('tenant_list',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   244
+                        api.keystone: ('tenant_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   245
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   246
     def test_index_options_before_migrate(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   247
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   248
         api.keystone.tenant_list(IsA(http.HttpRequest)).\
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   249
             AndReturn([self.tenants.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   250
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   251
         api.nova.server_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   252
                              all_tenants=True, search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   253
-                                .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   254
+                                .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   255
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   256
         api.nova.extension_supported('AdminActions', IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   257
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   258
         api.nova.flavor_list(IsA(http.HttpRequest)).\
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   259
@@ -183,7 +193,8 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   260
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   261
     @test.create_stubs({api.nova: ('flavor_list', 'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   262
                                    'extension_supported', ),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   263
-                        api.keystone: ('tenant_list',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   264
+                        api.keystone: ('tenant_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   265
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   266
     def test_index_options_after_migrate(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   267
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   268
         server1 = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   269
@@ -197,7 +208,8 @@ class InstanceViewTest(test.BaseAdminViewTests):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   270
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   271
         api.nova.server_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   272
                              all_tenants=True, search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   273
-                                .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   274
+                                .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   275
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   276
         api.nova.flavor_list(IsA(http.HttpRequest)).\
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   277
                              AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   278
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   279
diff --git a/openstack_dashboard/dashboards/admin/instances/views.py b/openstack_dashboard/dashboards/admin/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   280
index 3397f25..4bc6bee 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   281
--- a/openstack_dashboard/dashboards/admin/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   282
+++ b/openstack_dashboard/dashboards/admin/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   283
@@ -74,6 +74,14 @@ class AdminIndexView(tables.DataTableView):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   284
             exceptions.handle(self.request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   285
                               _('Unable to retrieve instance list.'))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   286
         if instances:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   287
+            try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   288
+                api.network.servers_update_addresses(self.request, instances)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   289
+            except Exception:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   290
+                exceptions.handle(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   291
+                    self.request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   292
+                    message=_('Unable to retrieve IP addresses from Neutron.'),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   293
+                    ignore=True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   294
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   295
             # Gather our flavors to correlate against IDs
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   296
             try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   297
                 flavors = api.nova.flavor_list(self.request)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   298
diff --git a/openstack_dashboard/dashboards/project/instances/tests.py b/openstack_dashboard/dashboards/project/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   299
index 8d56455..b2b066f 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   300
--- a/openstack_dashboard/dashboards/project/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   301
+++ b/openstack_dashboard/dashboards/project/instances/tests.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   302
@@ -52,9 +52,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   303
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   304
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   305
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   306
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   307
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   308
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   309
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   310
     def test_index(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   311
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   312
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   313
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   314
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   315
@@ -64,7 +66,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   316
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   317
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   318
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   319
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   320
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   321
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   322
         api.nova.tenant_absolute_limits(IsA(http.HttpRequest), reserved=True) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   323
            .MultipleTimes().AndReturn(self.limits['absolute'])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   324
         api.network.floating_ip_simple_associate_supported(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   325
@@ -104,7 +107,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   326
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   327
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   328
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   329
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   330
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   331
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   332
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   333
     def test_index_flavor_list_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   334
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   335
@@ -116,6 +120,7 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   336
             .MultipleTimes().AndReturn(True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   337
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   338
             .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   339
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   340
         api.nova.flavor_list(IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   341
             .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   342
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   343
@@ -144,7 +149,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   344
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   345
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   346
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   347
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   348
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   349
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   350
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   351
     def test_index_flavor_get_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   352
         servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   353
@@ -160,6 +166,7 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   354
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   355
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   356
             .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   357
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   358
         api.nova.flavor_list(IsA(http.HttpRequest)).AndReturn(flavors)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   359
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   360
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   361
@@ -187,7 +194,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   362
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   363
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   364
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   365
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   366
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   367
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   368
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   369
     def test_index_with_instance_booted_from_volume(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   370
         volume_server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   371
@@ -206,6 +214,7 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   372
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   373
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   374
             .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   375
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   376
         api.nova.tenant_absolute_limits(IsA(http.HttpRequest), reserved=True) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   377
            .MultipleTimes().AndReturn(self.limits['absolute'])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   378
         api.network.floating_ip_simple_associate_supported(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   379
@@ -223,18 +232,20 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   380
     @test.create_stubs({api.nova: ('server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   381
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   382
                                    'server_delete',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   383
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   384
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   385
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   386
     def test_terminate_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   387
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   388
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   389
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   390
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   391
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   392
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   393
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   394
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   395
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   396
         api.nova.flavor_list(IgnoreArg()).AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   397
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   398
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   399
         api.nova.server_delete(IsA(http.HttpRequest), server.id)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   400
-
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   401
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   402
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   403
         formData = {'action': 'instances__terminate__%s' % server.id}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   404
@@ -245,13 +256,16 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   405
     @test.create_stubs({api.nova: ('server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   406
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   407
                                    'server_delete',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   408
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   409
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   410
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   411
     def test_terminate_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   412
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   413
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   414
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   415
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   416
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   417
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   418
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   419
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   420
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   421
         api.nova.flavor_list(IgnoreArg()).AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   422
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   423
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   424
@@ -269,9 +283,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   425
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   426
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   427
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   428
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   429
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   430
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   431
     def test_pause_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   432
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   433
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   434
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   435
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   436
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   437
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   438
@@ -282,7 +298,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   439
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   440
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   441
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   442
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   443
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   444
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   445
         api.nova.server_pause(IsA(http.HttpRequest), server.id)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   446
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   447
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   448
@@ -296,9 +313,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   449
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   450
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   451
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   452
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   453
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   454
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   455
     def test_pause_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   456
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   457
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   458
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   459
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   460
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   461
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   462
@@ -309,7 +328,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   463
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   464
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   465
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   466
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   467
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   468
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   469
         api.nova.server_pause(IsA(http.HttpRequest), server.id) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   470
                         .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   471
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   472
@@ -324,9 +344,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   473
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   474
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   475
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   476
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   477
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   478
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   479
     def test_unpause_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   480
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   481
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   482
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   483
         server.status = "PAUSED"
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   484
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   485
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   486
@@ -337,7 +359,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   487
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   488
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   489
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   490
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   491
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   492
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   493
         api.nova.server_unpause(IsA(http.HttpRequest), server.id)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   494
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   495
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   496
@@ -351,9 +374,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   497
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   498
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   499
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   500
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   501
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   502
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   503
     def test_unpause_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   504
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   505
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   506
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   507
         server.status = "PAUSED"
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   508
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   509
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   510
@@ -365,7 +390,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   511
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   512
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   513
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   514
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   515
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   516
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   517
         api.nova.server_unpause(IsA(http.HttpRequest), server.id) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   518
                           .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   519
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   520
@@ -379,16 +405,19 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   521
     @test.create_stubs({api.nova: ('server_reboot',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   522
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   523
                                    'flavor_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   524
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   525
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   526
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   527
     def test_reboot_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   528
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   529
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   530
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   531
         api.nova.flavor_list(IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   532
             .AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   533
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   534
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   535
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   536
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   537
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   538
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   539
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   540
         api.nova.server_reboot(IsA(http.HttpRequest), server.id,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   541
                                soft_reboot=False)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   542
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   543
@@ -402,9 +431,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   544
     @test.create_stubs({api.nova: ('server_reboot',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   545
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   546
                                    'flavor_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   547
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   548
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   549
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   550
     def test_reboot_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   551
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   552
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   553
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   554
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   555
         api.nova.flavor_list(IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   556
             .AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   557
@@ -412,7 +443,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   558
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   559
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   560
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   561
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   562
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   563
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   564
         api.nova.server_reboot(IsA(http.HttpRequest), server.id,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   565
                                soft_reboot=False) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   566
             .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   567
@@ -427,9 +459,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   568
     @test.create_stubs({api.nova: ('server_reboot',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   569
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   570
                                    'flavor_list',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   571
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   572
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   573
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   574
     def test_soft_reboot_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   575
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   576
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   577
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   578
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   579
         api.nova.flavor_list(IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   580
             .AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   581
@@ -437,7 +471,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   582
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   583
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   584
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   585
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   586
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   587
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   588
         api.nova.server_reboot(IsA(http.HttpRequest), server.id,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   589
                                soft_reboot=True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   590
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   591
@@ -452,9 +487,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   592
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   593
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   594
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   595
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   596
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   597
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   598
     def test_suspend_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   599
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   600
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   601
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   602
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   603
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   604
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   605
@@ -465,7 +502,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   606
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   607
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   608
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   609
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   610
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   611
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   612
         api.nova.server_suspend(IsA(http.HttpRequest), unicode(server.id))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   613
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   614
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   615
@@ -479,9 +517,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   616
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   617
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   618
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   619
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   620
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   621
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   622
     def test_suspend_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   623
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   624
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   625
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   626
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   627
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   628
                                      IsA(http.HttpRequest)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   629
@@ -492,7 +532,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   630
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   631
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   632
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   633
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   634
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   635
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   636
         api.nova.server_suspend(IsA(http.HttpRequest), unicode(server.id)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   637
             .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   638
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   639
@@ -507,9 +548,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   640
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   641
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   642
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   643
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   644
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   645
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   646
     def test_resume_instance(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   647
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   648
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   649
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   650
         server.status = "SUSPENDED"
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   651
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   652
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   653
@@ -521,7 +564,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   654
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   655
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   656
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   657
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   658
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   659
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   660
         api.nova.server_resume(IsA(http.HttpRequest), unicode(server.id))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   661
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   662
         self.mox.ReplayAll()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   663
@@ -535,9 +579,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   664
                                    'server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   665
                                    'flavor_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   666
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   667
-                        api.glance: ('image_list_detailed',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   668
+                        api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   669
+                        api.network: ('servers_update_addresses',)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   670
     def test_resume_instance_exception(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   671
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   672
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   673
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   674
         server.status = "SUSPENDED"
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   675
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   676
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   677
@@ -549,7 +595,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   678
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   679
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   680
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   681
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   682
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   683
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   684
         api.nova.server_resume(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   685
                                unicode(server.id)) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   686
             .AndRaise(self.exceptions.nova)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   687
@@ -564,12 +611,15 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   688
     @test.create_stubs({api.nova: ("server_get",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   689
                                    "instance_volumes_list",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   690
                                    "flavor_get"),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   691
-                        api.network: ("server_security_groups",)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   692
+                        api.network: ("server_security_groups",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   693
+                                      "servers_update_addresses")})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   694
     def test_instance_details_volumes(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   695
         server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   696
         volumes = [self.volumes.list()[1]]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   697
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   698
         api.nova.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   699
+        api.network.servers_update_addresses(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   700
+                                             IgnoreArg())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   701
         api.nova.instance_volumes_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   702
                                        server.id).AndReturn(volumes)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   703
         api.nova.flavor_get(IsA(http.HttpRequest), server.flavor['id']) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   704
@@ -588,12 +638,15 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   705
     @test.create_stubs({api.nova: ("server_get",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   706
                                    "instance_volumes_list",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   707
                                    "flavor_get"),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   708
-                        api.network: ("server_security_groups",)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   709
+                        api.network: ("server_security_groups",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   710
+                                      "servers_update_addresses")})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   711
     def test_instance_details_volume_sorting(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   712
         server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   713
         volumes = self.volumes.list()[1:3]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   714
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   715
         api.nova.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   716
+        api.network.servers_update_addresses(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   717
+                                             IgnoreArg())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   718
         api.nova.instance_volumes_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   719
                                        server.id).AndReturn(volumes)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   720
         api.nova.flavor_get(IsA(http.HttpRequest), server.flavor['id']) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   721
@@ -616,11 +669,14 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   722
     @test.create_stubs({api.nova: ("server_get",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   723
                                    "instance_volumes_list",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   724
                                    "flavor_get"),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   725
-                        api.network: ("server_security_groups",)})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   726
+                        api.network: ("server_security_groups",
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   727
+                                      "servers_update_addresses")})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   728
     def test_instance_details_metadata(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   729
         server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   730
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   731
         api.nova.server_get(IsA(http.HttpRequest), server.id).AndReturn(server)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   732
+        api.network.servers_update_addresses(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   733
+                                             IgnoreArg())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   734
         api.nova.instance_volumes_list(IsA(http.HttpRequest),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   735
                                        server.id).AndReturn([])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   736
         api.nova.flavor_get(IsA(http.HttpRequest), server.flavor['id']) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   737
@@ -1668,9 +1724,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   738
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   739
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   740
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   741
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   742
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   743
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   744
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   745
     def test_launch_button_disabled_when_quota_exceeded(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   746
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   747
         limits = self.limits['absolute']
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   748
         limits['totalInstancesUsed'] = limits['maxTotalInstances']
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   749
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   750
@@ -1683,7 +1741,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   751
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   752
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   753
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   754
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   755
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   756
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   757
         api.nova.tenant_absolute_limits(IsA(http.HttpRequest), reserved=True) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   758
             .MultipleTimes().AndReturn(limits)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   759
         api.network.floating_ip_simple_associate_supported(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   760
@@ -1709,9 +1768,11 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   761
                                    'extension_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   762
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   763
                         api.network:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   764
-                            ('floating_ip_simple_associate_supported',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   765
+                            ('floating_ip_simple_associate_supported',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   766
+                             'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   767
                         })
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   768
     def test_index_options_after_migrate(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   769
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   770
         server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   771
         server.status = "VERIFY_RESIZE"
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   772
         api.nova.extension_supported('AdminActions',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   773
@@ -1723,7 +1784,8 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   774
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   775
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   776
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   777
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   778
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   779
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   780
         api.nova.tenant_absolute_limits(IsA(http.HttpRequest), reserved=True) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   781
            .MultipleTimes().AndReturn(self.limits['absolute'])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   782
         api.network.floating_ip_simple_associate_supported(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   783
@@ -1802,17 +1864,20 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   784
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   785
     @test.create_stubs({api.network: ('floating_ip_target_get_by_instance',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   786
                                       'tenant_floating_ip_allocate',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   787
-                                      'floating_ip_associate'),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   788
+                                      'floating_ip_associate',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   789
+                                      'servers_update_addresses',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   790
                         api.glance: ('image_list_detailed',),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   791
                         api.nova: ('server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   792
                                    'flavor_list')})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   793
     def test_associate_floating_ip(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   794
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   795
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   796
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   797
         fip = self.q_floating_ips.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   798
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   799
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   800
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   801
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   802
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   803
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   804
         api.nova.flavor_list(IgnoreArg()).AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   805
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   806
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   807
@@ -1839,13 +1905,15 @@ class InstanceTests(test.TestCase):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   808
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   809
                         api.nova: ('server_list',
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   810
                                    'flavor_list')})
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   811
     def test_disassociate_floating_ip(self):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   812
-        server = self.servers.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   813
+        servers = self.servers.list()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   814
+        server = servers[0]
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   815
         fip = self.q_floating_ips.first()
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   816
         fip.port_id = server.id
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   817
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   818
         search_opts = {'marker': None, 'paginate': True}
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   819
         api.nova.server_list(IsA(http.HttpRequest), search_opts=search_opts) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   820
-            .AndReturn([self.servers.list(), False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   821
+            .AndReturn([servers, False])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   822
+        api.network.servers_update_addresses(IsA(http.HttpRequest), servers)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   823
         api.nova.flavor_list(IgnoreArg()).AndReturn(self.flavors.list())
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   824
         api.glance.image_list_detailed(IgnoreArg()) \
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   825
             .AndReturn((self.images.list(), False))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   826
diff --git a/openstack_dashboard/dashboards/project/instances/views.py b/openstack_dashboard/dashboards/project/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   827
index 4826d8a..cebc5c0 100644
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   828
--- a/openstack_dashboard/dashboards/project/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   829
+++ b/openstack_dashboard/dashboards/project/instances/views.py
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   830
@@ -66,9 +66,18 @@ class IndexView(tables.DataTableView):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   831
             instances = []
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   832
             exceptions.handle(self.request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   833
                               _('Unable to retrieve instances.'))
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   834
-        # Gather our flavors and images and correlate our instances to them
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   835
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   836
         if instances:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   837
             try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   838
+                api.network.servers_update_addresses(self.request, instances)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   839
+            except Exception:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   840
+                exceptions.handle(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   841
+                    self.request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   842
+                    message=_('Unable to retrieve IP addresses from Neutron.'),
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   843
+                    ignore=True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   844
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   845
+            # Gather our flavors and images and correlate our instances to them
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   846
+            try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   847
                 flavors = api.nova.flavor_list(self.request)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   848
             except Exception:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   849
                 flavors = []
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   850
@@ -233,6 +242,15 @@ class DetailView(tabs.TabView):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   851
                                     'instance "%s".') % instance_id,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   852
                                     redirect=redirect)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   853
             self._instance = instance
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   854
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   855
+            try:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   856
+                api.network.servers_update_addresses(self.request, [instance])
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   857
+            except Exception:
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   858
+                exceptions.handle(
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   859
+                    self.request,
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   860
+                    _('Unable to retrieve IP addresses from Neutron for '
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   861
+                      'instance "%s".') % instance_id, ignore=True)
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   862
+
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   863
         return self._instance
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   864
 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   865
     def get_tabs(self, request, *args, **kwargs):
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   866
-- 
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   867
cgit v0.10.1
2d5dd38085ab 19277967 long delay before floating ip assignment displayed by "nova show" or horizon
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   868