1. 写openstack swift的middleware 首先要确定swift用的是哪个middleware文件。 比如healthcheck这个中间件,在机器上有很多同名文件如下,

这两行可能是源代码
/etc/swift/swift-src/swift/common/middleware/healthcheck.py
/etc/swift/swift-src/build/lib.linux-x86_64-2.7/swift/common/middleware/healthcheck.py 这行不知道干嘛的
/usr/share/pyshared/swift/common/middleware/healthcheck.py
这行链接到上一行
/usr/lib/python2./dist-packages/swift/common/middleware/healthcheck.py
/usr/lib/python2./dist-packages/swift/common/middleware/healthcheck.pyc 这行是真正用的。并且在修改这个文件后不需要compile成pyc直接重启 swift即可
/usr/local/lib/python2./dist-packages/swift/common/middleware/healthcheck.py
/usr/local/lib/python2./dist-packages/swift/common/middleware/healthcheck.pyc

2. 确定了middleware文件的位置为/usr/local后,在这个目录下尝试创建一个文件,然后配置。

首先,创建一个中间件文件。我是把一个现成的中间件文件copy过来。当然要改里面的类名之类的信息。

其次在/etc/swift/proxy-server.conf里做如下配置。myck是我的中间件文件

pipeline = catch_errors healthcheck myck cache authtoken keystoneauth proxy-server

除了上面一行还有下面一行

[filter:myck]
paste.filter_factory = swift.common.middleware.myck:filter_factory

OK 重启swift即可看到新的中间件生效

swift-init all restart

root@A071103070098:~# curl -D- -H 'X-Storage-User: admin:admin' -H 'X-Storage-Pass: root1234' http://10.194.148.102:8080/myck
HTTP/1.0 OK
Content-Type: text/plain
X-Trans-Id: tx5421cc00cae8401682b42-00540a6ceb
Date: Sat, Sep :: GMT
Content-Length:
Age:
X-Cache: MISS from NS-M46903639710
X-Cache-Lookup: MISS from NS-M46903639710:
Connection: close OK this is from /usr/local. Do not need to recompile this file,just restart swift

python_swift_project_middleware的更多相关文章

随机推荐

  1. maven idea

    写在前面的话:此篇文章教程是在IntelliJ IDEA中搭建的maven项目.(建议eclipse党快点转IDEA吧,IDEA大法好.逃… 1.maven的安装 前往Apache Maven官网点击 ...

  2. 生成Nuget 源代码包来重用你的Asp.net MVC代码

    ASP.NET 开发人员有时会陷入一种困境:想要重用以前写过的东西,如一些具有完整功能的Web页面+后台逻辑, 往往不那么直接了当,因此很不爽.经常采用的方式是:找到以前写过的项目,从中挑出来一些有用 ...

  3. gym101343 2017 JUST Programming Contest 2.0

    A.On The Way to Lucky Plaza  (数论)题意:m个店 每个店可以买一个小球的概率为p       求恰好在第m个店买到k个小球的概率 题解:求在前m-1个店买k-1个球再*p ...

  4. 基于APE物理引擎的管线容积率计算方法

    容积率一般应用在房地产开发中,是指用地范围内地上总建筑面积与项目总用地面积的比值,这个参数是衡量建设用地使用强度的一项非常重要的指标.在其他行业,容积率的计算也非常重要,如产品利用率.管道使用率等等. ...

  5. linux 系统 UDP 丢包问题分析思路

    转自:http://cizixs.com/2018/01/13/linux-udp-packet-drop-debug?hmsr=toutiao.io&utm_medium=toutiao.i ...

  6. 这份Koa的简易Router手敲指南请收下

    上一期链接--也就是本文的基础,参考KOA,5步手写一款粗糙的web框架 本文参考仓库:点我 Router其实就是路径匹配,通过匹配路径,返回给用户相应的网站内容. 以下方例子为例,主要通过提取req ...

  7. 搜索--P1101 单词方阵

    题目描述 给一n×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 8 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词 ...

  8. 面试总结——Java高级工程师(一)

    一.无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二.三大框架方面问题 1.Spring 事务的隔离性,并说说每个隔离性的区别 解答:spri ...

  9. MyBatis 的基本要素—核心对象

    MyBatis 三个基本要素   ➢ 核心接口和类 ➢ MyBatis 核心配置文件(mybatis-config.xml) ➢ SQL 映射文件(mapper.xml) MyBatis 核心接口和类 ...

  10. CentOS 6磁盘管理

    1.添加4块8G硬盘, 注:要先添加SCSI控制器,再添加SCSI硬盘 2.查看添加的硬盘 3.fdisk分区交互式命令 d delete a partition——————//删除一个分区 n ad ...