18
from novaclient.v1_1 import aggregates
18
19
from novaclient.v1_1 import availability_zones
19
20
from novaclient.v1_1 import certs
21
from novaclient.v1_1 import flavor_access
20
22
from novaclient.v1_1 import flavors
21
23
from novaclient.v1_1 import floating_ips
22
24
from novaclient.v1_1 import hypervisors
25
27
from novaclient.v1_1 import security_group_rules as rules
26
28
from novaclient.v1_1 import security_groups as sec_groups
27
29
from novaclient.v1_1 import servers
30
from novaclient.v1_1 import services
28
31
from novaclient.v1_1 import usage
29
32
from novaclient.v1_1 import volume_snapshots as vol_snaps
30
33
from novaclient.v1_1 import volume_types
31
34
from novaclient.v1_1 import volumes
33
from openstack_dashboard.api.base import Quota
34
from openstack_dashboard.api.base import QuotaSet as QuotaSetWrapper
35
from openstack_dashboard.api.nova import FloatingIp as NetFloatingIp
36
from openstack_dashboard.usage.quotas import QuotaUsage
36
from openstack_dashboard.api import base
37
from openstack_dashboard.api import nova
38
from openstack_dashboard.usage import quotas as usage_quotas
38
from openstack_dashboard.test.test_data.utils import TestDataContainer
40
from openstack_dashboard.test.test_data import utils
149
TEST.servers = TestDataContainer()
150
TEST.flavors = TestDataContainer()
151
TEST.keypairs = TestDataContainer()
152
TEST.security_groups = TestDataContainer()
153
TEST.security_groups_uuid = TestDataContainer()
154
TEST.security_group_rules = TestDataContainer()
155
TEST.security_group_rules_uuid = TestDataContainer()
156
TEST.volumes = TestDataContainer()
157
TEST.quotas = TestDataContainer()
158
TEST.quota_usages = TestDataContainer()
159
TEST.floating_ips = TestDataContainer()
160
TEST.floating_ips_uuid = TestDataContainer()
161
TEST.usages = TestDataContainer()
162
TEST.certs = TestDataContainer()
163
TEST.volume_snapshots = TestDataContainer()
164
TEST.volume_types = TestDataContainer()
165
TEST.availability_zones = TestDataContainer()
166
TEST.hypervisors = TestDataContainer()
151
TEST.servers = utils.TestDataContainer()
152
TEST.flavors = utils.TestDataContainer()
153
TEST.flavor_access = utils.TestDataContainer()
154
TEST.keypairs = utils.TestDataContainer()
155
TEST.security_groups = utils.TestDataContainer()
156
TEST.security_groups_uuid = utils.TestDataContainer()
157
TEST.security_group_rules = utils.TestDataContainer()
158
TEST.security_group_rules_uuid = utils.TestDataContainer()
159
TEST.volumes = utils.TestDataContainer()
160
TEST.quotas = utils.TestDataContainer()
161
TEST.quota_usages = utils.TestDataContainer()
162
TEST.floating_ips = utils.TestDataContainer()
163
TEST.floating_ips_uuid = utils.TestDataContainer()
164
TEST.usages = utils.TestDataContainer()
165
TEST.certs = utils.TestDataContainer()
166
TEST.volume_snapshots = utils.TestDataContainer()
167
TEST.volume_types = utils.TestDataContainer()
168
TEST.availability_zones = utils.TestDataContainer()
169
TEST.hypervisors = utils.TestDataContainer()
170
TEST.services = utils.TestDataContainer()
171
TEST.aggregates = utils.TestDataContainer()
168
173
# Data return by novaclient.
169
174
# It is used if API layer does data conversion.
170
TEST.api_floating_ips = TestDataContainer()
171
TEST.api_floating_ips_uuid = TestDataContainer()
175
TEST.api_floating_ips = utils.TestDataContainer()
176
TEST.api_floating_ips_uuid = utils.TestDataContainer()
174
179
volume = volumes.Volume(volumes.VolumeManager(None),
236
242
'extra_specs': {'Trusted': True, 'foo': 'bar'},
237
'OS-FLV-EXT-DATA:ephemeral': 2048})
238
TEST.flavors.add(flavor_1, flavor_2)
243
'os-flavor-access:is_public': True,
244
'OS-FLV-EXT-DATA:ephemeral': 2048})
245
flavor_3 = flavors.Flavor(flavors.FlavorManager(None),
246
{'id': "dddddddd-dddd-dddd-dddd-dddddddddddd",
253
'os-flavor-access:is_public': False,
254
'OS-FLV-EXT-DATA:ephemeral': 2048})
255
TEST.flavors.add(flavor_1, flavor_2, flavor_3)
257
flavor_access_manager = flavor_access.FlavorAccessManager(None)
258
flavor_access_1 = flavor_access.FlavorAccess(flavor_access_manager,
260
"flavor_id": "dddddddd-dddd-dddd-dddd-dddddddddddd"})
261
flavor_access_2 = flavor_access.FlavorAccess(flavor_access_manager,
263
"flavor_id": "dddddddd-dddd-dddd-dddd-dddddddddddd"})
264
TEST.flavor_access.add(flavor_access_1, flavor_access_2)
241
267
keypair = keypairs.Keypair(keypairs.KeypairManager(None),
333
359
security_groups='10',
334
360
security_group_rules='20')
335
361
quota = quotas.QuotaSet(quotas.QuotaSetManager(None), quota_data)
336
TEST.quotas.nova = QuotaSetWrapper(quota)
337
TEST.quotas.add(QuotaSetWrapper(quota))
362
TEST.quotas.nova = base.QuotaSet(quota)
363
TEST.quotas.add(base.QuotaSet(quota))
340
366
quota_usage_data = {'gigabytes': {'used': 0,
344
370
'ram': {'used': 0,
346
372
'cores': {'used': 0,
348
quota_usage = QuotaUsage()
374
'floating_ips': {'used': 0,
376
'volumes': {'used': 0,
378
quota_usage = usage_quotas.QuotaUsage()
349
379
for k, v in quota_usage_data.items():
350
quota_usage.add_quota(Quota(k, v['quota']))
380
quota_usage.add_quota(base.Quota(k, v['quota']))
351
381
quota_usage.tally(k, v['used'])
353
383
TEST.quota_usages.add(quota_usage)
425
455
TEST.api_floating_ips.add(generate_fip(fip_1), generate_fip(fip_2))
427
TEST.floating_ips.add(NetFloatingIp(generate_fip(fip_1)),
428
NetFloatingIp(generate_fip(fip_2)))
457
TEST.floating_ips.add(nova.FloatingIp(generate_fip(fip_1)),
458
nova.FloatingIp(generate_fip(fip_2)))
430
460
# Floating IP with UUID id (for Floating IP with Neutron Proxy)
431
461
fip_3 = {'id': str(uuid.uuid4()),
441
471
TEST.api_floating_ips_uuid.add(generate_fip(fip_3), generate_fip(fip_4))
443
TEST.floating_ips_uuid.add(NetFloatingIp(generate_fip(fip_3)),
444
NetFloatingIp(generate_fip(fip_4)))
473
TEST.floating_ips_uuid.add(nova.FloatingIp(generate_fip(fip_3)),
474
nova.FloatingIp(generate_fip(fip_4)))
447
477
usage_vals = {"tenant_id": TEST.tenant.id,
482
512
TEST.availability_zones.add(
483
513
availability_zones.AvailabilityZone(
484
514
availability_zones.AvailabilityZoneManager(None),
485
{'zoneName': 'nova', 'zoneState': {'available': True}}
517
'zoneState': {'available': True},
514
555
TEST.hypervisors.add(hypervisor_1)
557
TEST.hypervisors.stats = {
558
"hypervisor_statistics": {
563
"current_workload": 0,
566
"free_disk_gb": 12548,
567
"disk_available_least": 12556,
569
"free_ram_mb": 428014,
570
"memory_mb_used": 55296
575
service_1 = services.Service(services.ServiceManager(None),
578
"binary": "nova-conductor",
581
"updated_at": "2013-07-08T05:21:00.000000",
582
"host": "devstack001",
583
"disabled_reason": None
587
service_2 = services.Service(services.ServiceManager(None),
590
"binary": "nova-compute",
593
"updated_at": "2013-07-08T05:20:51.000000",
594
"host": "devstack001",
595
"disabled_reason": None
598
TEST.services.add(service_1)
599
TEST.services.add(service_2)
602
aggregate_1 = aggregates.Aggregate(aggregates.AggregateManager(None),
605
"availability_zone": None,
607
"created_at": "2013-07-04T13:34:38.000000",
609
"hosts": ["foo", "bar"],
619
aggregate_2 = aggregates.Aggregate(aggregates.AggregateManager(None),
622
"availability_zone": "testing",
624
"created_at": "2013-07-04T13:34:38.000000",
626
"hosts": ["foo", "bar"],
636
TEST.aggregates.add(aggregate_1)
637
TEST.aggregates.add(aggregate_2)