Esempio n. 1
0
    def take_action(self, parsed_args):
        client = self.app.client_manager.nuageclient

        headers, attrs = utils.calculate_header_and_attrs(
            column_headers=[x[0] for x in _column_map],
            attrs=[x[1] for x in _column_map],
            parsed_args=parsed_args)

        obj = client.list_nuage_l2bridges()[L2BRIDGES_RESOURCE]
        return (headers, (utils.get_dict_properties(
            s, attrs, formatters=_formatters) for s in obj))
 def _test_calculate_header_and_attrs(self, parsed_args_columns,
                                      expected_headers, expected_attrs):
     column_headers = ('ID', 'Name', 'Fixed IP Addresses')
     columns = ('id', 'name', 'fixed_ips')
     parsed_args = mock.Mock()
     parsed_args.columns = parsed_args_columns
     ret_headers, ret_attrs = utils.calculate_header_and_attrs(
         column_headers, columns, parsed_args)
     self.assertEqual(expected_headers, ret_headers)
     self.assertEqual(expected_attrs, ret_attrs)
     if parsed_args_columns:
         self.assertEqual(expected_headers, parsed_args.columns)
     else:
         self.assertFalse(parsed_args.columns)
Esempio n. 3
0
 def _test_calculate_header_and_attrs(self, parsed_args_columns,
                                      expected_headers, expected_attrs):
     column_headers = ('ID', 'Name', 'Fixed IP Addresses')
     columns = ('id', 'name', 'fixed_ips')
     parsed_args = mock.Mock()
     parsed_args.columns = parsed_args_columns
     ret_headers, ret_attrs = utils.calculate_header_and_attrs(
         column_headers, columns, parsed_args)
     self.assertEqual(expected_headers, ret_headers)
     self.assertEqual(expected_attrs, ret_attrs)
     if parsed_args_columns:
         self.assertEqual(expected_headers, parsed_args.columns)
     else:
         self.assertFalse(parsed_args.columns)
Esempio n. 4
0
    def take_action(self, parsed_args):

        filters = {}
        if getattr(parsed_args, 'for_subnet', None):
            subnet_id = self.app.client_manager.network.find_subnet(
                parsed_args.for_subnet, ignore_missing=False).id
            filters['for_subnet'] = [subnet_id]
        elif getattr(parsed_args, 'for_port', None):
            port_id = self.app.client_manager.network\
                .find_port(parsed_args.for_port, ignore_missing=False).id
            filters['for_port'] = [port_id]

        headers, attrs = utils.calculate_header_and_attrs(
            column_headers=[x[0] for x in _column_map],
            attrs=[x[1] for x in _column_map],
            parsed_args=parsed_args)

        floatingips = (self.app.client_manager.nuageclient
                       .list_nuage_floatingips(**filters)['nuage_floatingips'])

        return (headers, (utils.get_dict_properties(
            s, attrs) for s in floatingips))
Esempio n. 5
0
    def take_action(self, parsed_args):
        network_client = self.app.client_manager.network
        identity_client = self.app.client_manager.identity

        columns = (
            'id',
            'name',
            'mac_address',
            'fixed_ips',
            'status',
        )
        column_headers = (
            'ID',
            'Name',
            'MAC Address',
            'Fixed IP Addresses',
            'Status',
        )

        filters = {}
        if parsed_args.long:
            columns += ('security_group_ids', 'device_owner', 'tags')
            column_headers += ('Security Groups', 'Device Owner', 'Tags')
        if parsed_args.device_owner is not None:
            filters['device_owner'] = parsed_args.device_owner
        if parsed_args.device_id is not None:
            filters['device_id'] = parsed_args.device_id
        if parsed_args.router:
            _router = network_client.find_router(parsed_args.router,
                                                 ignore_missing=False)
            filters['device_id'] = _router.id
        if parsed_args.server:
            compute_client = self.app.client_manager.compute
            server = utils.find_resource(compute_client.servers,
                                         parsed_args.server)
            filters['device_id'] = server.id
        if parsed_args.network:
            network = network_client.find_network(parsed_args.network,
                                                  ignore_missing=False)
            filters['network_id'] = network.id
        if parsed_args.mac_address:
            filters['mac_address'] = parsed_args.mac_address
        if parsed_args.project:
            project_id = identity_common.find_project(
                identity_client,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
            filters['tenant_id'] = project_id
            filters['project_id'] = project_id
        if parsed_args.fixed_ip:
            filters['fixed_ips'] = _prepare_filter_fixed_ips(
                self.app.client_manager, parsed_args)

        _tag.get_tag_filtering_args(parsed_args, filters)

        data = network_client.ports(**filters)

        headers, attrs = utils.calculate_header_and_attrs(
            column_headers, columns, parsed_args)
        return (headers, (utils.get_item_properties(
            s,
            attrs,
            formatters=_formatters,
        ) for s in data))
Esempio n. 6
0
    def take_action(self, parsed_args):
        network_client = self.app.client_manager.network
        identity_client = self.app.client_manager.identity

        columns = (
            'id',
            'name',
            'mac_address',
            'fixed_ips',
            'status',
        )
        column_headers = (
            'ID',
            'Name',
            'MAC Address',
            'Fixed IP Addresses',
            'Status',
        )

        filters = {}
        if parsed_args.long:
            columns += ('security_group_ids', 'device_owner', 'tags')
            column_headers += ('Security Groups', 'Device Owner', 'Tags')
        if parsed_args.device_owner is not None:
            filters['device_owner'] = parsed_args.device_owner
        if parsed_args.device_id is not None:
            filters['device_id'] = parsed_args.device_id
        if parsed_args.router:
            _router = network_client.find_router(parsed_args.router,
                                                 ignore_missing=False)
            filters['device_id'] = _router.id
        if parsed_args.server:
            compute_client = self.app.client_manager.compute
            server = utils.find_resource(compute_client.servers,
                                         parsed_args.server)
            filters['device_id'] = server.id
        if parsed_args.network:
            network = network_client.find_network(parsed_args.network,
                                                  ignore_missing=False)
            filters['network_id'] = network.id
        if parsed_args.mac_address:
            filters['mac_address'] = parsed_args.mac_address
        if parsed_args.project:
            project_id = identity_common.find_project(
                identity_client,
                parsed_args.project,
                parsed_args.project_domain,
            ).id
            filters['tenant_id'] = project_id
            filters['project_id'] = project_id
        if parsed_args.fixed_ip:
            filters['fixed_ips'] = _prepare_filter_fixed_ips(
                self.app.client_manager, parsed_args)

        _tag.get_tag_filtering_args(parsed_args, filters)

        data = network_client.ports(**filters)

        headers, attrs = utils.calculate_header_and_attrs(
            column_headers, columns, parsed_args)
        return (headers,
                (utils.get_item_properties(
                    s, attrs,
                    formatters=_formatters,
                ) for s in data))