(一)VNC
1 下载如下包 git clone
https://github.com/Juniper/contrail-test
https://github.com/Juniper/contrail-provisioning
https://github.com/Juniper/contrail-fabric-utils
https://github.com/Juniper/contrail-controller
https://github.com/Juniper/contrail-server-manager
https://github.com/Juniper/contrail-packaging
https://github.com/Juniper/contrail-web-controller
https://github.com/Juniper/contrail-sandesh
https://github.com/Juniper/contrail-web-core
https://github.com/Juniper/contrail-generateDS
https://github.com/Juniper/contrail-puppet
https://github.com/Juniper/contrail-web-server-manager
https://github.com/Juniper/contrail-neutron-plugin
https://github.com/Juniper/contrail-packages
https://github.com/Juniper/contrail-build
https://github.com/Juniper/contrail-heat/releases
https://github.com/Juniper/contrail-third-party
https://github.com/Juniper/contrail-nova-vif-driver
https://github.com/Juniper/contrail-distro-third-party
https://github.com/Juniper/contrail-webui-third-party
https://github.com/Juniper/contrail-web-storage
2 升级git (自己做的git rpm)
3 升级repo
4 升级scons (官网下载的)
5
yum install -y scons git python-lxml wget gcc patch make unzip flex bison gcc-c++ openssl-devel autoconf automake vim python-devel python-setuptools protobuf protobuf-devel protobuf-compiler net-snmp-python libtool kernel-devel libpcap-devel boost
7 升级autoconf
8 安装libipfix
yum install -y libpcap-devel
编译libipfix
./configure --prefix=/usr
make
sudo make install
9 安装python工具
easy_install pip
pip install lxml setuptools sphinx
10
yum install boost
11
安装protobuf, protobuf-devel
12
将third_party/package.xml中文件google地址改为192.168.40.234,将下载的第三方依赖包放在那里。
13
analytics依赖于kafka
编译librdkafka
14
编译
scons
15
打包
rpmbuild -bb contrail.spec
(二)工具
16
下载fabric-utils库
mv ../../../../contrail-fabric-utils/ ../../../../third_party/fabric-utils
在/home/z/cpl/ctrl/tools/packaging/common/rpm
make fabric-utils
编译
17
在/home/z/cpl/ctrl/tools/packaging/common/rpm
make contrail-nodemgr
编译contrail-nodemgr
18
在/home/z/cpl/ctrl/tools/packaging/common/rpm
make
编译contrail-setup
make contrail-vrouter-init
make contrail-database
make contrail-openstack-all
make contrail-vrouter-common
make neutron-plugin-contrail
19
未编译contrail-test,因编译也是打成tar包
未编译
${CONTRAIL_HEAT} ${CEILOMETER_PLUGIN}
这两个暂时不需要,只有高于Havana的版本才有
未编译CONTRAIL_NOVA_NETWORKAPI,这个只有Juno版本用
(三)WEB
20 编译contrail-web-core
下载第三方web软件到web-third-party
修改rpm中的Makefile,不必fetch package了
修改web-core的Makefile,也不必去fetch了。
手工fetch所有需要的文件
在rpm下make contrail-web-core
21 编译contrail-web-controller
在rpm下make contrail-web-controller
(四)server manager
22 这部分是服务器集群管理部分的代码,在contrail的install packages发布版本里目前还没有包括。
但已经打了对应的标签。这部分暂时没编译。
23
汇总的本地打包编译结果
make all
(五)补丁后的工具(24--27可以忽略,使用contrail-third-party-packages来编译)
24
/home/z/cpl/ctrl/tools/packaging/third_party
[root@ck third_party]# rpmbuild -bb python-geventhttpclient.spec
25
[root@ck bottle-0.11.6]# pwd
/home/z/another/ctrl/third_party/bottle-0.11.6
python setup.py bdist_rpm
26
[root@ck ifmap-python-client]# pwd
/home/z/cpl/ctrl/third_party/ifmap-python-client
[root@ck ifmap-python-client]# python setup.py bdist_rpm
27
[root@ck bitarray-0.8.1]# pwd
/home/z/cpl/ctrl/distro/third_party/bitarray-0.8.1
[root@ck bitarray-0.8.1]# python setup.py bdist_rpm
28
/home/z/cpl/ctrl/distro/third_party/xmltodict-0.7.0
python setup.py bdist_rpm --release="0.7.0-1contrail"
27
大部分列入的补丁工具在2.20后已经不再是补丁文件了。
早期的补丁工具很多,如下
https://github.com/Juniper/contrail-packaging/tree/a47aac336774af5e725b89a41c1cd70906e85de2/third_party
目前只有一小部分还在用。已经移动到另一个库contrail-third-party-packages中。
28
第三方软件编译参考
https://github.com/Juniper/contrail-third-party-packages/wiki/Third-party-packages-in-centos
29
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install mock
make all