在ubuntu13.04进行cinder开发

使用nfsdirver进行开发


0.将开发包移入cinder-2013.1.zip 解压到开发目录/home/deve-cinder/workspace

1.将oslo移入cinder目录,glanceclient移入cinder开发目录cinder-2013.1

2.配置mysql
a)mysql-server  python-mysqldb
b)允许远程访问  sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
c)建立数据库cinder 以及赋予cinder用户权限
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'IDENTIFIED BY 'asd';

3.软件包(python相关)
a)eventlet  eventlet-0.13.0.tar.gz pip
关联包 greenlet-0.4.1.zip
安装过程出错:error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
安装sudo apt-get install python-dev即可

b)iso8601 iso8601-0.1.4.tar.gz  pip
c)webob WebOb-1.2.3.tar.gz  pip
d)paramiko paramiko-1.10.1.tar.gz pip
e)Paste  Paste-1.7.5.1.tar.gz  pip
f)paste-deploy  PasteDeploy-1.5.0.tar.gz  pip
g)routes Routes-1.13.tar.gz  pip
h)sqlalchemy SQLAlchemy-0.7.8.tar.gz (https://pypi.python.org/pypi/SQLAlchemy/0.7.8 (python setup.py install))
采用pip安装 版本0.8.2大于resource.txt要求的<=0.7.9,因此下载包安装
i)stevedore  stevedore-0.10.tar.gz  pip
j)kombu  kombu-2.5.12.tar.gz pip
k)setuptools-git  setuptools-git-1.0.tar.gz  pip
l)sqlalchemy_migrate 0.7.2  pip
m)lockfile lockfile-0.9.1.tar.gz pip

4.软件(apt-get)
a)rabbitmq-server
b) python-amqplib
c)nfs-common(nfsdriver使用,cinder-api/volume都使用)

5.同步数据库  ./cinder-manage db sync
创建数据库表

6.nfsdirver相关配置  http://blog.csdn.net/bellwhl/article/details/8772887

6.出现问题记录
a)启动api报错
Traceback (most recent call last):
  File "cinder-api", line 26, in <module>
    import eventlet
  File "/home/cloud/workspace/cinder-2013.1/cinder/flags.py", line 41, in parse_args
    version=version.version_string(),
  File "/home/cloud/workspace/cinder-2013.1/cinder/openstack/common/version.py", line 71, in version_string
    for part in self.release_string().split('.'):
  File "/home/cloud/workspace/cinder-2013.1/cinder/openstack/common/version.py", line 63, in release_string
    self.release = self._get_version_from_pkg_resources()
  File "/home/cloud/workspace/cinder-2013.1/cinder/openstack/common/version.py", line 56, in _get_version_from_pkg_resources
    return setup.get_version(self.package)
  File "/home/cloud/workspace/cinder-2013.1/cinder/openstack/common/setup.py", line 358, in get_version
    raise Exception("Versioning for this project requires either an sdist"
Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository.
cloud@ubuntu22:~/workspace/cinder-2013.1/bin$ python cinder-api --config-file=/etc/cinder/cinder.conf --log-file=/var/log/cinder/cinder.log
> /home/cloud/workspace/cinder-2013.1/bin/cinder-api(26)<module>()
解决方法
将sys.path的设置移到import eventlet前

b)启动scheduler出错 DistributionNotFound: oslo.config>=1.1.0
去掉包关联检查
cinder-2013.1/tools/pip-requires文件记录了代码中需要检查的包的版本
由于自己开发,无须python-keystoneclient,python-glanceclient,python-swiftclient,oslo.config(直接移到开发包中)

setup.py定义了require的相关包,然后安装cinder后会产生cinder.egg-info文件夹,包含以下文件
dependency_links.txt
entry_points.txt
PKG-INFO
requires.txt(所需相关包)
SOURCES.txt
top_level.txt

cinder-scheduler启动时,通过extension,生成filter_manager,此过程便会对requires.txt进行相关包版本检查
修改requires.txt,移除python-keystoneclient,python-glanceclient,python-swiftclient,oslo.config(直接移到开发包中

c)启动cinder-volume报错
错误
Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf vgs --noheadings -o name
Exit code: 1
Stdout: ''
Stderr: 'sudo: cinder-rootwrap: command not found\n'

将/bin/cinder-rootwrap文件拷贝到/usr/bin下,并添加代码的路径sys.path.append("/home/deve-cinder/workspace/cinder-2013.1/")到该文件。

d)启动cinder-volume后,隔断时间报错
2013-07-19 15:15:45  WARNING [cinder.volume.drivers.nfs] Exception during mounting Unexpected error while running command.
Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf mount -t nfs 10.12.22.246:/home/deve-cinder/cinderpath /home/deve-cinder/nfspath/32122efc39a49c07c1fea05ba7bbd23e
Exit code: 32
Stdout: ''
Stderr: 'mount.nfs: Connection timed out\n'

nfsserver端没有将10.12.22.246:/home/deve-cinder/cinderpath 目录export出来
解决方法:
安装nfs-kernel-server 将目录export出来
/home/deve-cinder/cinderpath *(rw,sync,no_root_squash,no_subtree_check)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值