openstack索引和搜索api客户端库

python-searchlightclient的Python项目详细描述


团队和存储库标记

https://governance.openstack.org/tc/badges/python-searchlightclient.svg

python searchlight客户端

OpenStack索引和搜索API客户端库

这是基于Searchlight API构建的Searchlight客户端库它 提供一个python api(searchlightclient模块)和一个命令行 工具(searchlight)。

该项目托管在Storyboard上,在那里可以提交bug。代码是 主持于OpenStack git repository。必须使用提交修补程序 Gerritgit回购 拉取请求。

python searchlightclient与其他 打开堆栈。

Install the client from PyPI

程序python-searchlightclient包发布在PyPI和 所以可以使用pip工具安装,它将管理所有 python依赖项:

$ pip install python-searchlightclient

注意

PyPI上的包在功能上可能落后于git repo

Setup the client from source

  • python searchlightclient的克隆存储库:

    $ git clone https://git.openstack.org/openstack/python-searchlightclient.git
    $ cd python-searchlightclient
    
  • 设置virtualenv

注意

这是一个可选步骤,但将允许searchlightclient的依赖项 安装在易于删除的包含环境中 如果选择重新启动或卸载SearchLightClient。

$ tox -evenv --notest

只要您想在虚拟环境中工作,就激活它。 本节中的所有其他命令都应在激活VENV的情况下运行:

$ source .tox/venv/bin/activate

注意

完成所有步骤后,停用virtualenv:$deactivate

  • 安装SearchLightClient及其依赖项:

    (venv) $ python setup.py develop
    

Command-line API

设置Keystone环境变量以对searchlight执行CLI命令

  • 要执行cli命令:

    $ export OS_USERNAME=<user>
    $ export OS_PASSWORD=<password>
    $ export OS_TENANT_NAME=<project>
    $ export OS_AUTH_URL='http://localhost:5000/v2.0/'
    

注意

使用devstack,您只需$source openrc<;user>;<;project>你可以 通过传递-os token<;token>;和-os url来使用本地安装 http://localhost:9393。您还可以设置Openstackclient配置文件 使用cli。

$ openstack
(openstack) search resource type list
+--------------------------+--------------------------+
| Name                     | Type                     |
+--------------------------+--------------------------+
| OS::Designate::RecordSet | OS::Designate::RecordSet |
| OS::Designate::Zone      | OS::Designate::Zone      |
| OS::Glance::Image        | OS::Glance::Image        |
| OS::Glance::Metadef      | OS::Glance::Metadef      |
| OS::Nova::Server         | OS::Nova::Server         |
+--------------------------+--------------------------+

下面是子命令的完整列表,使用-h可以查看选项:

SubcommandDescription
search facet listList Searchlight Facet
search resource type listList Searchlight Resource Type (Plugin)
search querySearch Searchlight resource

Python API

使用keystone作为身份验证系统:

>>> from keystoneclient.auth.identity import generic
>>> from keystoneclient import session
>>> from searchlightclient import client
>>> auth = generic.Password(auth_url=OS_AUTH_URL, username=OS_USERNAME, password=OS_PASSWORD, tenant_name=OS_TENANT_NAME)
>>> keystone_session = session.Session(auth=auth)
>>> sc = client.Client('1', session=keystone_session)
>>> sc.resource_types.list()
[...]

Testing

可以运行多个测试目标来验证代码

  • TOX-E PEP8-风格指南实施
  • tox-e py27-使用python 2.7进行传统单元测试
  • tox-e py35-使用python 3.5进行传统单元测试
  • tox-e py36-使用python 3.6进行传统单元测试
  • tox-e py37-使用python 3.7进行传统单元测试

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在设置AtomicBoolean之前检查另一个条件?   通过java将文件从windows计算机复制到另一台windows计算机   java如何在使用Cobertura时忽略与记录器相关的If条件?   java无法在Eclipse中导出Android应用程序   带GSON的java parse JSON返回null   java Extract/filter Splunk查询和条件逻辑   java ProgressBar带有一个倒计时器Android   java我应该为每个DAO编写通用方法的集成测试吗?   java从命令行访问执行JAR的文本文件   任务应用程序的java Gradle生成失败:processReleaseResources   预测函数的java DeepLearning4j NN不收敛   java如果发现特殊字符,如何删除字符串中的字符?   在Java中,从精确位置将字符串拆分为两个   将Java ByteArrayOutputStream压缩到不同的容器中   带有同心指示方块的java太空船模拟器制导计算机   java如何使用Jericho解析两条注释?   PersistenceUnit中的java多个类   连接到java中的elasticsearch?   当嵌入HTML页面时,删除java小程序中的外部白色边框   用于webstart的java CXF ClassCastException(SEIStub/ClientProxy)