您的位置:首页 > 运维架构

openstack windows开发环境搭建(samba文件共享)

2014-07-29 18:40 651 查看
本文目的: 让linux下的openstack代码能在windows上面实时同步开发。

采用的技术方案为:samba文件共享

实验环境:centos6.5、windows7、openstack icehouse版

1、在linux下面搭建samba文件服务器:

1、

yum install -y samba samba-client

2、

useradd myshare

smbpasswd -a myshare

3、

mkdir /home/samba

4、

vi /etc/samba/smb.conf

在配置文件[globle]处:
[global]
unix extensions = no

在文件末尾添加:

[myshare ]

comment = mysharefiles

path = /home/samba

follow symlinks = yes

wide links = yes

public = yes

writable = yes

browseable = yes

valid users = myshare

假若mac电脑添加如下:

[myshare]
comment = openstackfiles
path = /home/samba
follow symlinks = yes
wide links = yes
public = yes
writable = yes
browseable = yes
guest ok = Yes

5、将刚才添加的samba用户和linux系统的用户建立对应关系。

vi /etc/samba/smbusers

myshare= myshare

6、

service smb restart

chkconfig smb on

7、

service iptables stop

关闭selinux

samba服务器搭建完成。

centos7:上面:

systemctl enable smb

systemctl restart smb

systemctl stop iptables


设置Apache

假若想在页面看到文件夹

我只需要把 /home/share 目录链接到apache目录下显示就可以
ln -s /home/myshare /var/www/html/


然后windows登陆:\\10.28.170.89

全部完成~!

2、在windows上面连接smb共享:





3、在samb共享文件夹/home/samba下面链接nova源代码以(以nova开发为例):

ln -s /usr/lib/python2.6/site-packages/nova nova


windows机器既可以看到:



在nova文件夹创建文件出现:



上述错误为没有linux对应代码的操作权限:

将nova对应的文件夹操作权限修改为777



3、在samb服务器,备份nova源代码,clone代码库代码:

将之前nova代码备份(将nova文件夹置空):

cd /usr/lib/python2.6/site-packages/
cp nova nova.bak
rm -rf nova/*
在windows的nova文件夹,右键打开git bash:

git clone git@wishi.gitlab.com:openstack/nova-2014-1-1-dev.git ../nova


可以看到windows的nova文件夹已经clone好代码库代码.

同样在linux的nova源代码文件夹下也有了对应的代码:



重启nova服务:



页面访问openstack:



4、使用pycharm导入nova工程:



5、以将nova的server控制器代码的route发布打印出来为例,讲解同步修改linux代码:

原始windows与linux代码(两处代码肯定会是一致):



vim /usr/lib/python2.6/site-packages/nova/api/openstack/compute/__init__.py


接下来在pycharm中修改代码,增加打印server的route:



发现linux对应文件夹中代码已经自动与windows代码同步:



tailf /var/log/nova/api.log

在linux下重启nova-api服务,刚刚添加的代码则生效。



与预期一致。

注:加入在linux修改源码,对应也会在windows的文件中自动映射修改内容。

接下来就可以利用git对版本进行控制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: