from __future__ import unicode_literals
+from __future__ import absolute_import
import os
from collections import OrderedDict
import datetime
"volumes": [],
"subnets": []}
for server in self.get_servers():
- if server.id not in self.heat_resources.keys():
+ if server.id not in list(self.heat_resources.keys()):
result["servers"].append(server)
for net in self.get_networks():
- if net['id'] not in self.heat_resources.keys():
+ if net['id'] not in list(self.heat_resources.keys()):
result['networks'].append(net)
for subnet in self.get_subnets():
- if subnet['id'] not in self.heat_resources.keys():
+ if subnet['id'] not in list(self.heat_resources.keys()):
result['subnets'].append(subnet)
for router in self.get_routers():
- if router['id'] not in self.heat_resources.keys():
+ if router['id'] not in list(self.heat_resources.keys()):
result["routers"].append(router)
for volume in self.get_volumes():
- if volume.id not in self.heat_resources.keys():
+ if volume.id not in list(self.heat_resources.keys()):
result['volumes'].append(volume)
return result
+from __future__ import absolute_import
import datetime
import signal
import time
raise ValueError(
'Value should end with '
'one of "{}", got "{}"'.format(
- " ".join(multipliers.keys()), lifetime
+ " ".join(list(multipliers.keys())), lifetime
))
num = int(lifetime[:-1])
mul = lifetime[-1]
from __future__ import unicode_literals
+from __future__ import absolute_import
import logging.config
import os
import warnings
from __future__ import unicode_literals
+from __future__ import absolute_import
import neutronclient.common.exceptions
from cinderclient.exceptions import NotFound
-from cinderclient.v2.client import Client as CinderClient
+from cinderclient.v3.client import Client as CinderClient
from heatclient.v1.client import Client as HeatClient
from keystoneauth1.identity import V3Password
from keystoneauth1.session import Session as KeystoneSession
endpoint_override=self._get_url_for_svc(
service_type='compute')),
"cinder": CinderClient(
- version='2',
+ version='3',
session=self.keystone_session,
endpoint_override=self._get_url_for_svc(
- service_type='volumev2')),
+ service_type='volumev3')),
"heat":
HeatClient(
session=self.keystone_session,
-python-openstackclient==4.0.0
-openstacksdk<0.44.0
-python-heatclient==1.18.0
-python-neutronclient==7.1.0
\ No newline at end of file
+python-dateutil
+python-openstackclient
+openstacksdk
+python-heatclient
+python-neutronclient
+python-cinderclient
\ No newline at end of file
+from __future__ import absolute_import
+from __future__ import print_function
import argparse
from dateutil import parser as date_parser
import os
for key in keys_ordered:
for item in result[key]:
uuids.append(item['uuid'])
- print " ".join(uuids)
+ print(" ".join(uuids))
else:
for key in keys_ordered:
if not result[key]:
continue
- print key
+ print(key)
table = PrettyTable()
- table.field_names = result[key][0].keys()
+ table.field_names = list(result[key][0].keys())
table.align = 'l'
# table.vertical_char = "#"
# table.horizontal_char = "#"
# table.left_padding_width = 0
for value in result[key]:
- table.add_row(value.values())
- print table
+ table.add_row(list(value.values()))
+ print(table)
def do_search_keypair(name='', fingerprint='', lifetime=''):
table.align = 'l'
for value in sorted(keypairs, reverse=True, key=lambda x: date_parser.parse(x.created_at)):
table.add_row([value.name, value.created_at, value.fingerprint])
- print table
+ print(table)
def do_calculate(name=''):
table.field_names = ['stack_name', 'vcpus', 'ram_gb', 'volumes_gb']
table.align = 'l'
- if name is '':
+ if name == '':
logger.info("Stack resources calculation initiated without stack name, this will take long time.")
logger.info("Please standby")
stacks = cleaner.get_stacks()
data = cleaner.calculate_resources(stack)
ram_gb = data['ram'] / 1024
table.add_row([data['name'], data['vcpus'], ram_gb, data['volumes']])
- print table
+ print(table)
parser = argparse.ArgumentParser()