Пример #1
0
    def take_action(self, parsed_args):
        rows = const.POOL_ROWS
        data = None
        if uuidutils.is_uuid_like(parsed_args.pool):
            try:
                data = self.app.client_manager.load_balancer.pool_show(
                    pool_id=parsed_args.pool)
            except exceptions.NotFound:
                pass
        if data is None:
            attrs = v2_utils.get_pool_attrs(self.app.client_manager,
                                            parsed_args)
            pool_id = attrs.pop('pool_id')

            data = self.app.client_manager.load_balancer.pool_show(
                pool_id=pool_id, )
        formatters = {
            'loadbalancers': v2_utils.format_list,
            'members': v2_utils.format_list,
            'listeners': v2_utils.format_list,
            'session_persistence': v2_utils.format_hash
        }

        return (rows,
                (utils.get_dict_properties(data,
                                           rows,
                                           formatters=formatters,
                                           mixed_case_fields=['enable-tls'])))
Пример #2
0
    def take_action(self, parsed_args):
        rows = const.POOL_ROWS
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)

        body = {"pool": attrs}
        data = self.app.client_manager.load_balancer.pool_create(json=body)

        if parsed_args.wait:
            v2_utils.wait_for_active(
                status_f=(
                    self.app.client_manager.load_balancer.load_balancer_show),
                res_id=data['pool']['loadbalancers'][0]['id'])
            data = {
                'pool': (self.app.client_manager.load_balancer.pool_show(
                    data['pool']['id']))
            }

        formatters = {
            'loadbalancers': v2_utils.format_list,
            'members': v2_utils.format_list,
            'listeners': v2_utils.format_list,
            'session_persistence': v2_utils.format_hash
        }

        return (rows,
                (utils.get_dict_properties(data['pool'],
                                           rows,
                                           formatters=formatters,
                                           mixed_case_fields=['enable-tls'])))
Пример #3
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
        pool_id = attrs.pop('pool_id')

        body = {'pool': attrs}

        self.app.client_manager.load_balancer.pool_set(pool_id, json=body)
Пример #4
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
        pool_id = attrs.pop('pool_id')
        self.app.client_manager.load_balancer.pool_delete(pool_id=pool_id)

        if parsed_args.wait:
            v2_utils.wait_for_delete(
                status_f=self.app.client_manager.load_balancer.pool_show,
                res_id=pool_id)
Пример #5
0
    def take_action(self, parsed_args):
        columns = const.POOL_COLUMNS
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
        data = self.app.client_manager.load_balancer.pool_list(**attrs)
        formatters = {'loadbalancers': v2_utils.format_list,
                      'members': v2_utils.format_list,
                      'listeners': v2_utils.format_list}

        return (columns,
                (utils.get_dict_properties(
                    s, columns, formatters=formatters) for s in data['pools']))
Пример #6
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
        pool_id = attrs.pop('pool_id')

        body = {'pool': attrs}

        self.app.client_manager.load_balancer.pool_set(pool_id, json=body)

        if parsed_args.wait:
            v2_utils.wait_for_active(
                status_f=self.app.client_manager.load_balancer.pool_show,
                res_id=pool_id)
Пример #7
0
    def take_action(self, parsed_args):
        rows = const.POOL_ROWS
        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)

        body = {"pool": attrs}
        data = self.app.client_manager.load_balancer.pool_create(json=body)
        formatters = {
            'loadbalancers': v2_utils.format_list,
            'members': v2_utils.format_list,
            'listeners': v2_utils.format_list,
            'session_persistence': v2_utils.format_hash
        }

        return (rows, (utils.get_dict_properties(data['pool'],
                                                 rows,
                                                 formatters=formatters)))
Пример #8
0
    def take_action(self, parsed_args):
        rows = const.POOL_ROWS

        attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
        pool_id = attrs.pop('pool_id')

        data = self.app.client_manager.load_balancer.pool_show(
            pool_id=pool_id,
        )
        formatters = {'loadbalancers': v2_utils.format_list,
                      'members': v2_utils.format_list,
                      'listeners': v2_utils.format_list,
                      'session_persistence': v2_utils.format_hash}

        return (rows, (utils.get_dict_properties(
            data, rows, formatters=formatters,
            mixed_case_fields=['enable-tls'])))
Пример #9
0
 def take_action(self, parsed_args):
     attrs = v2_utils.get_pool_attrs(self.app.client_manager, parsed_args)
     pool_id = attrs.pop('pool_id')
     self.app.client_manager.load_balancer.pool_delete(pool_id=pool_id)