随笔分类 - Ops人生
Deploy Openstack effciently
摘要:前言第一次写非技术分享的话题,而促使我提笔的动力源自去巴黎参加Openstack Kilo Design Summit大会之行,因为我从外国工程师的身上深深感受到了他们对于技术的执着。在本文中,我想探讨的是如何实现工程师的自我突破,因为初入茅庐的工程师更关心的是如何从一个菜鸟成长为某个领域的专家。那...
阅读全文
摘要:Openstack所有提供API接口的服务都是python web server,而其本身性能很弱,目前已经将它们配置到了apache上。但对于如何设置mod_wsgi的参数,我一直没有好好去阅读其文档。参考了mod_wsgi 的两种模式和Process and Thread两篇文章后,我来归纳一下:目前mod_wsgi有两种工作模式:第一种是嵌入模式,类似于mod_python,直接在apache进程中运行,这样的好处是不需要另外增加进程,但是坏处也很明显,所有内存都和apache共享,如果和mod_python一样造成内存漏洞的话,就会危害整个apache。而且如果apache是用work
阅读全文
摘要:今天在Jenkins上添加了两个新jobs,但是同事提交代码后的自动测试运行出现错误。查看原因是tox命令在安装包依赖的时候,找不到大于0.7.6以上的版本,但可是我们明明安装过0.7.10了呀。后来我们发现pip会从三个地址去找pip包,首先是github,超时之后再去googlecode上找。问题就出在这里,googlecode上最新版本只有0.7.4。那为什么会连接github.com超时?原来是这个域名对应的ip地址发生变化了。而我之前把github的域名写到了hosts文件里去,因为前段时间github被dns污染了。好吧,这该死的原因!
阅读全文
摘要:在配置puppetmaster时,如果使用storeconfig=ture ,在client去连接的时候就会报错。错误信息常常有:err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not autoload active_record: undefined method `belongs_to' for Puppet::Rails::FactValue:Class以及等等与active_record有关的400错误。这主要是由于Ubuntu当前提供的puppet 2.7.11与最新
阅读全文
摘要:之前听说过Foreman的存在,但是一直没有去试过,直到今天下午,打算把Puppet所有相关的组件都尝试搭建一次,看看具体功能有多强大。网上搜,你能搜到一大堆关于如何在CentOS下安装配置Foreman的文章,不少都是ctrl+c,ctrl+v的,格式乱的不堪入目。官方的文档很简洁,简洁到你都无从配置出正确的foreman出来。OK,本文的目的就是让你在Ubuntu上配置出威力强大的Foreman出来。系统信息:Ubuntu 12.041.添加源 新建/etc/apt/sources.list.d/foreman.list:# Stable packagesdeb http://deb...
阅读全文
摘要:在最近的一个月内,部署Openstack,遭遇了各种错误,以keystone和glance的居多,这些项目初次安装很简单,但是在环境复杂,多次卸载安装之后,同样的操作会产生让人抓狂的故障。总结一下:解决问题一定要静下心来,分析问题的来源。以今天为例:今天某实习生在部署keystone时,使用keystone user-list命令返回404 not found的错误,反复google,卸载,重建数据库,无果。我先查看了日志和配置文件,没有任何诡异之处。然后思考了一下,404也就是路径错误,然后查看shell下的环境变量,结果发现service_endpoint的值为:http://127.0.
阅读全文