更新:
2018.01,基于最新的 osc-lib 和 python-openstackclient
目标:将mistral CLI client与官方openstack client集成,bp 链接在这里,review 在这里。
还是需要 python-openstackclient
首先,openstack client是用cliff实现,所以建议先熟读cliff的官方文档,知道cliff的实现机制,这样才能对openstack client的机制有了解,这是熟悉openstack client的基础。如果你不是为了实现 openstack 命令,可以跳过此文直接参考 cliff 给出的一个示例照猫画虎即可。
cliff
继续阅读 »
最不喜欢在Tornado中使用任何同步阻塞型的东西,不想让ioloop阻塞在某个IO调用上,因为单线程的东西任何阻塞都是代价很高的,除非你的数据库被优化的性能很好,速度很快。除了之前的线程池之外,直接使用异步库也是不错的选择,Motor就是Tornado里可以用的很好的异步库,它兼容Tornado的gen.coroutine式的异步调用形式,主要使用了greenlet来巧妙的封装PyMongo的同步API, 把底层的socketIO进行了异步化的处理,化同步为异步。
从使用的例子来分析Motor是如何把PyMongo的API异步化的:
client = motor.MotorClient(...)
db = client['te
继续阅读 »
当你开始使用OpenStack,基本上都是从一个已搭建好的环境入手,别人(operator)会告诉你horizon登录的租户名、用户名和密码。
但毕竟horizon不会封装OpenStack的所有特性,当你已经玩腻了页面上那些功能时,你想尝试更多更丰富的功能,那么恭喜你,你已经向中级玩家迈进了一步。中级玩家对OpenStack的使用基本上有四种方式:
OpenStack client
cURL
Rest API
OpenStack SDK
我个人比较倾向于使用client和API,因为cURL的用法其实跟发送RestAPI相似,但cURL不太方便操作(因为我们普遍都喜欢在可视化页面点击按钮);而SDK则更多是基于OpenS
继续阅读 »
flutter 是个很好的实践方案
读者可能已经知道 flutter 了,它是一个跨平台渲染框架。与之对应的还有很多 react-native 类似的方案。但是在内部实现上,Flutter 和其他地方案上还是有很大的差别的。
继续阅读 »
1. 连接数过高
Redis连接数过高,且没有修改进程能打开的最大文件数,当达到最大文件数限制时,Redis在accept新连接的时候会立即报错"Max open files",无法成功获取该连接,此时,listen socket是持续可读的状态,事件循环直接把CPU跑满。这种现象还可能与没有配置Redis配置文件中的timeout参数有关,不设timeout参数,Redis不会主动关闭僵尸连接,导致连接数越来越高,容易达到限制。
解决方法:1)config set timeout xx修改keeplive时间;2)client kill ip:port杀死一部分僵尸连接;3)修改系统参数,增加单进程能打开的最大文件数。
这一点M
继续阅读 »
简介
Eclipse Marketplace Client(MPC),是Eclipse新插件,它允许Eclipse用户在Marketplace上搜寻和安装基于Eclipse的产品。MPC的目的旨在为Eclipse社区提供AppStore式的体验。MPC将做为Eclipse的内置插件,在eclipse.org下载界面中列出的所有的Eclipse安装包都会包含此插件。
继续阅读 »
更新历史:
2018.01.20,初稿完成
2018.02.14,更新 ansible 脚本
前两天折腾 Qinling 的 devstack,因为 Qinling 默认会对 k8s 有依赖,所以要在 devstack 的安装过程中安装 k8s。最初的脚本是从 openstack-helm 项目偷过来的,当时版本还是1.7,而 Qinling 升级了 kubernetes python client 之后发现不兼容1.7,于是开始折腾 k8s 的安装。期间我几乎尝试了世面上能找到的开源的安装 k8s 的工具,但发现跟 devstack 配合时都或多或少有一些限制(或者说麻烦),最后又不得不回到 openstack-helm 的 k
继续阅读 »
参考文章
iOS学习笔记——HTTPS原理篇
HTTPS工作原理和TCP握手机制
图解SSL/TLS协议
How to Use SSL/TLS with Node.js
在上一篇博文《Node核心模块之crypto》中,提到了加密(摘要,加密解密,签名等)的四种常见类型:
Hash(哈希)
HMAC(基于哈希的消息认证码)
加密,解密
签名,验证
HTTPS的整个过程和以上几种方法密切相关。
CA证书
CA 即 Certificate Authority (数字证书认证机构),CA证书的签发以及验证包含以下三方:
CA
Server
Client
过程包括:
Server生成一对公钥和私钥
Server将公钥以及域名等信
继续阅读 »
参考文档
1.Spring注解详解
2.Moving the Steam client installation
3.Steam fatal error steam needs to be online to update, but was set to offline movies
继续阅读 »
SS Client
bash
$ [sudo] pip3 install shadowsocks
/etc/ss.json:
javascript
{
"server": "",
"server_port": "", // must be Number
"password": "",
"local_address":"127.0.0.1",
"local_port":1081,
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
bash
$ [sudo] sslocal -c /etc/ss
继续阅读 »