示例#1
0
    def do_snapshot_list(self):
        snapshots = collections.OrderedDict()

        # noinspection PyPep8Naming
        Snap = collections.namedtuple('Snap', ['info', 'nodes'])

        for node in self.env.get_nodes():
            for snap in node.get_snapshots():
                if snap.name in snapshots:
                    snapshots[snap.name].nodes.append(node.name)
                else:
                    snapshots[snap.name] = Snap(snap, [
                        node.name,
                    ])

        snapshots = sorted(snapshots.values(), key=lambda x: x.info.created)

        headers = ('SNAPSHOT', 'CREATED', 'NODES-NAMES')
        columns = []
        for info, nodes in snapshots:
            nodes.sort()
            columns.append((
                info.name,
                helpers.utc_to_local(
                    info.created).strftime('%Y-%m-%d %H:%M:%S'),
                ', '.join(nodes),
            ))

        self.print_table(columns=columns, headers=headers)
示例#2
0
    def do_snapshot_list(self):
        snapshots = collections.OrderedDict()

        Snap = collections.namedtuple('Snap', ['info', 'nodes'])

        for node in self.env.get_nodes():
            for snap in node.get_snapshots():
                if snap.name in snapshots:
                    snapshots[snap.name].nodes.append(node.name)
                else:
                    snapshots[snap.name] = Snap(snap, [node.name, ])

        snapshots = sorted(snapshots.values(), key=lambda x: x.info.created)

        headers = ('SNAPSHOT', 'CREATED', 'NODES-NAMES')
        columns = []
        for info, nodes in snapshots:
            nodes.sort()
            columns.append((
                info.name,
                utc_to_local(info.created).strftime('%Y-%m-%d %H:%M:%S'),
                ', '.join(nodes),
            ))

        self.print_table(columns=columns, headers=headers)
示例#3
0
    def print_envs_table(self, env_names_list):
        columns = []
        for env_name in sorted(env_names_list):
            env = self.client.get_env(env_name)
            column = collections.OrderedDict()
            column['NAME'] = env.name
            if self.params.list_ips:
                if env.has_admin():
                    column['ADMIN IP'] = env.get_admin_ip()
                else:
                    column['ADMIN IP'] = ''
            if self.params.timestamps:
                column['CREATED'] = helpers.utc_to_local(
                    env.created).strftime('%Y-%m-%d_%H:%M:%S')
            columns.append(column)

        self.print_table(headers='keys', columns=columns)
示例#4
0
    def print_envs_table(self, env_names_list):
        columns = []
        for env_name in sorted(env_names_list):
            env = self.client.get_env(env_name)
            column = collections.OrderedDict()
            column['NAME'] = env.name
            if self.params.list_ips:
                if env.has_admin():
                    column['ADMIN IP'] = env.get_admin_ip()
                else:
                    column['ADMIN IP'] = ''
            if self.params.timestamps:
                column['CREATED'] = helpers.utc_to_local(env.created).strftime(
                    '%Y-%m-%d_%H:%M:%S')
            columns.append(column)

        self.print_table(headers='keys', columns=columns)
示例#5
0
    def do_list(self):
        env_list = Environment.list_all().values('name', 'created')
        columns = []
        for env in env_list:
            column = collections.OrderedDict({'NAME': env['name']})
            if self.params.list_ips:
                cur_env = Environment.get(name=env['name'])
                admin_ip = ''
                if 'admin' in [node.name for node in cur_env.get_nodes()]:
                    admin_ip = (cur_env.get_node(name='admin').
                                get_ip_address_by_network_name('admin'))
                column['ADMIN IP'] = admin_ip
            if self.params.timestamps:
                column['CREATED'] = utc_to_local(env['created']).strftime(
                    '%Y-%m-%d_%H:%M:%S')
            columns.append(column)

        self.print_table(headers="keys", columns=columns)