快子计划
devstack的Python项目详细描述
快子项目devstack目前完全支持CPython3.6、3、7。
快速安装
$ pip3 install devstack
或
$ pip3 install https://github.com/TachyonicProject/devstack/tarball/latest#egg=devstack
源代码安装
快子项目devstack基础设施和代码托管在GitHub。 使代码易于浏览、下载、分叉等。拉式请求总是受欢迎的!
像这样克隆项目:
$ git clone https://github.com/TachyonicProject/devstack.git
一旦你克隆了回购协议或者从github下载了tarball,你 可以这样安装超光速子:
$ cd devstack
$ pip3 install .
或者,如果要编辑代码,请首先分叉主repo,克隆分叉 到您的开发区域,然后运行以下命令使用 符号链接,以便在更改代码时 无需重新安装软件包,即可自动提供给应用程序。
请记住,安装过程中包含了所有模块的cythodized c代码 或者发展。在开发代码更改期间,您需要在之后运行setup.py 每次更改。
$ cd devstack
$ python3 setup.py develop
在开发过程中,每次更改后都不显式运行setup.py, 你可以用下面的。它清除已编译的.cpython.so模块以确保 代码是从python源代码加载的。
$ python3 setup.py clean
用法
devstack为主机上共享一个公共目录的微服务创建多个docker疯狂。
公共目录包含用于微服务和依赖项的快速子项目存储库。 另外还有一个名为www的目录,其中包含项目部署环境。
启动示例:
$ mkdir tachyonic $ devstack -s tachyonic
完成后,您可以使用以下命令查看Docker实例是否正在运行:
$ docker ps
为所有节点和服务提供至少2分钟的运行时间,特别是在初始启动期间。
您可以通过http://localhost:9000访问photonic ui
所有其他端点/服务都将暴露给主机。
Mysql | 3306 | |
UI/Photonic | 9000 | (RestAPI/JSON) |
Identity/Infinitystone | 9001 | (RestAPI/JSON) |
Radius/Tradius | 9002 | (RestAPI/JSON) |
要控制启动哪些模块,请指定具有所需生成和端口的json文件(通过-m开关)。 例如,创建一个名为modules.json:
{"builds":["infinitystone","tradius","netrino","topenstack","photonic"],"ports":{"photonic":{"80/tcp":9000},"infinitystone":{"80/tcp":9001},"tradius":{"80/tcp":9002,"1812/udp":1812,"1813/udp":1813,"1812/tcp":1812,"1813/tcp":1813},"netrino":{"80/tcp":9004},"topenstack":{"80/tcp":9005}}}
从:
$ devstack -s tachyonic -m modules.json
开发
默认情况下,我们不允许直接推送到存储库。
编辑代码时,请确保重命名origin并将自己的fork添加为origin。
示例:
$ git remote rename origin upstream $ git remote add origin git@github.com:cfrademan/tradius.git $ git push -u origin development
重新启动端点gunicorn wsgi应用程序:
$ devstack -r
当快子容器第一次启动时,它们的入口点脚本对包执行pip install。 安装软件包及其依赖项。因为这需要一点时间,所以 /installed文件在容器中,仅当/installed文件不存在时才执行此安装。如果你 如果需要强制重新安装,只需从正在运行的容器中删除该文件。 例如,对于光子:
$ docker exec photonic rm /installed
下次运行devstack -s path时,将重新安装包及其依赖项。