一、初始化(Kilo RDO)版(最老版)

环境介绍

系统
CentOS 7.3
主机ip 10.211.55.5
主机名 midonet

1.配置yum源

###OpenStack源

yum install -y centos-release-openstack-newton.noarch
mv /etc/yum.repos.d/CentOS-OpenStack-newton.repo /etc/yum.repos.d/CentOS-OpenStack-kilo.repo
sed -i "s/openstack-newton/openstack-kilo/g" /etc/yum.repos.d/CentOS-OpenStack-kilo.repo
sed -i "s/mirror.centos.org/buildlogs.centos.org/g" /etc/yum.repos.d/CentOS-OpenStack-kilo.repo
 
 
##Midonet源
yum install yum-plugin-priorities -y
 
 
[root@midonet ~]# cat /etc/yum.repos.d/datastax.repo
[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 1
gpgkey = https://rpm.datastax.com/rpm/repo_key
[root@midonet ~]# cat /etc/yum.repos.d/midonet.repo
[midonet]
name=MidoNet
baseurl=http://repo.midonet.org/midonet/v2015.06/RHEL/7/stable/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura
[midonet-openstack-integration]
name=MidoNet OpenStack Integration
baseurl=http://repo.midonet.org/openstack-kilo/RHEL/7/stable/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura
[midonet-misc]
name=MidoNet 3rd Party Tools and Libraries
baseurl=http://repo.midonet.org/misc/RHEL/7/misc/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura
 

2.关闭防火墙和selinux

[root@midonet ~]# getenforce

Disabled
[root@midonet ~]# systemctl  status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
 
##如果getenforce不是Disabled
#修改selinux并重启
sed -ri "s/(SELINUX=)(.*)/\1=disabled/g" /etc/selinux/config
reboot
 

3.下载openstack

yum install python-openstackclient -y --nogpgcheck

 
yum install openstack-selinux -y  --nogpgcheck
 

4.下载mariadb 并初始化数据库

yum install -y mariadb mariadb-server MySQL-python --nogpgcheck

systemctl enable mariadb.service
systemctl start mariadb.service
 
##删除多余的库及用户
mysql -e "DELETE FROM mysql.user WHERE User='';"
mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
mysql -e "DROP DATABASE IF EXISTS test;"
mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'"
mysql -e "FLUSH PRIVILEGES;"
 

5.创建keystone和neutron库和用户

mysql -e "create database keystone;"

mysql -e "grant all on keystone.* to 'keystone'@'localhost' identified by 'keystone123456';"
mysql -e "grant all on keystone.* to 'keystone'@'%' identified by 'keystone123456';"
mysql -e "create database neutron;"
mysql -e "grant all on neutron.* to 'neutron'@'localhost' identified by 'neutron123456';"
mysql -e "grant all on neutron.* to 'neutron'@'%' identified by 'neutron123456';"
mysql -e "select user,host from mysql.user;"

6.安装RabbitMQ

yum install rabbitmq-server -y --nogpgcheck

systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.servic

二、依赖服务安装

1.keystone安装配置

# 生成admin-token

openssl rand -hex 10 > admin-token
# 下载keystone
yum install -y openstack-keystone python-keystoneclient --nogpgcheck
 
#修改/etc/keystone/keystone.conf配置文件
[root@midonet ~]# egrep -B 1 "^[a-z]" /etc/keystone/keystone.conf
[DEFAULT]
admin_token = 6faca30b15bec6ffb8f8
--
[database]
connection=mysql://keystone:keystone123456@midonet/keystone
--
[revoke]
driver = keystone.contrib.revoke.backends.sql.Revoke
--
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.sql.Token
 
 
#初始化
keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
##如果报错可能是urllib3版本高了
pip install urllib3==1.16
 
chown -R keystone:keystone /var/log/keystone
chown -R keystone:keystone /etc/keystone/ssl
chmod -R o-rwx /etc/keystone/ssl
 
# 同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
 
#启动keystone
systemctl enable openstack-keystone
systemctl start openstack-keystone
 
#配置变量
export OS_TOKEN=6faca30b15bec6ffb8f8
export OS_URL=http://midonet:35357/v3
export OS_IDENTITY_API_VERSION=3

 

##创建管理用户admin

openstack project create --domain default --description "Admin Project" admin
#创建admin用户

openstack user create --domain default  --password admin123456 admin
#创建管理规则

openstack role create admin
# 将admin规则给admin租户和admin用户添加

openstack role add --project admin --user admin admin
 
# 创建一个service租户
openstack project create --domain default --description "Service Project" service
# 创建服务实体和认证服务

openstack service create --name keystone --description "OpenStack Identity" identity
# 创建API endpoint

openstack endpoint create --region RegionOne  identity public http://midonet:5000/v3
openstack endpoint create --region RegionOne  identity internal http://midonet:5000/v3
openstack endpoint create --region RegionOne  identity admin http://midonet:35357/v3
# 创建midonet租户

openstack service create   --description "MidoNet API Service" midonet
#创建midonet用户

openstack user create --domain default --password midonet123456 midonet
#将midonet添加到admin

openstack role add --project service --user midonet  admin
 
 
 
## 配置常用的变量

cat << EOF >> /root/admin-openrc.sh
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin123456
export OS_AUTH_URL=http://midonet:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
EOF
 
##
unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
. /root/admin-openrc.sh

2.neutron安装

##下载 

 yum install openstack-neutron python-neutron-plugin-midonet -y --nogpgcheck
 
#配置neutron网络

##创建neutron用户
openstack user create --domain default  --password neutron123456 neutron
##添加到admin

openstack role add --project service --user neutron  admin
###
openstack service create --name neutron --description "OpenStack Networking" network
openstack endpoint create --region RegionOne network public http://midonet:9696

openstack endpoint create --region RegionOne network internal http://midonet:9696
openstack endpoint create --region RegionOne network admin http://midonet:9696
 
#修改# /etc/neutron/neutron.conf文件

[root@midonet ~]# egrep -B 1 "^[a-z]" /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = neutron.plugins.midonet.plugin.MidonetPluginV2
auth_strategy= keystone
--
[keystone_authtoken]
auth_uri = http://127.0.0.1:35357/v2.0/
identity_uri = http://127.0.0.1:5000
admin_tenant_name = service
admin_user = neutron
admin_password = neutron123456
[database]
connection = mysql://neutron:neutron123456@midonet/neutron
[service_providers]
service_provider = LOADBALANCER:Midonet:midonet.neutron.services.loadbalancer.driver.MidonetLoadbalancerDriver:default
ervice_plugins = lbaas
--
[oslo_concurrency]
lock_path = $state_path/lock
 
#新建midonet.ini文件
mkdir /etc/neutron/plugins/midonet
 
# /etc/neutron/plugins/midonet/midonet.ini
[DATABASE]
sql_connection = mysql://neutron:neutron123456@midonet/neutron
[MIDONET]
# MidoNet API URL
midonet_uri = http://midonet:8080/midonet-api
# MidoNet administrative user in Keystone
username = midonet
password = midonet123456
# MidoNet administrative user's tenant
project_id = service
 
##建立软连接
 ln -s /etc/neutron/plugins/midonet/midonet.ini /etc/neutron/plugin.ini
 
###
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/midonet/midonet.ini upgrade kilo" neutron
##启动neutron
systemctl enable neutron-server.service
systemctl start neutron-server.service
 

3.安装zookeeper

yum install java-1.7.0-openjdk -y --nogpgcheck

yum install zookeeper zkdump nmap-ncat  -y --nogpgcheck
 
##修改/etc/zookeeper/zoo.cfg文件
[root@midonet ~]# grep -C 2 "server"  /etc/zookeeper/zoo.cfg
# The number of milliseconds of each tick
server.1=midonet:2888:3888
tickTime=2000
# The number of ticks that the initial
 
##启动zookeeper
mkdir /var/lib/zookeeper/data
chown zookeeper:zookeeper /var/lib/zookeeper/data
echo 1 > /var/lib/zookeeper/data/myid
mkdir -p /usr/java/default/bin/
ln -s /usr/lib/jvm/jre-1.7.0-openjdk/bin/java /usr/java/default/bin/java
systemctl enable zookeeper.service
systemctl start zookeeper.service
 
##测试
[root@midonet ~]# echo ruok | nc 127.0.0.1 2181
imok
 
[root@midonet ~]# echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.5--1, built on 02/08/2013 12:25 GMT
Clients:
 /127.0.0.1:59460[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
 

4.安装cassandra

yum install dsc20 --nogpgcheck

 
#修改文件 /etc/cassandra/conf/cassandra.yaml
 
# The name of the cluster.
cluster_name: 'midonet'
 
# Addresses of hosts that are deemed contact points.
seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
          - seeds: "midonet"
 
# Address to bind to and tell other Cassandra nodes to connect to.
listen_address: 10.211.55.5
 
# The address to bind the Thrift RPC service.
rpc_address: midonet
 
 
##修改/etc/init.d/cassandra
case "$1" in
    start)
        # Cassandra startup
        echo -n "Starting Cassandra: "
        mkdir -p /var/run/cassandra
        chown cassandra:cassandra /var/run/cassandra
        su $CASSANDRA_OWNR -c "$CASSANDRA_PROG -p $pid_file" > $log_file 2>&1
        retval=$?
 
 
###启动cassandra
systemctl enable cassandra.service
systemctl start cassandra.service
 
 
##验证
nodetool -host 127.0.0.1 status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address      Load       Tokens  Owns (effective)  Host ID                               Rack
UN  10.211.55.5  113.82 KB  256     100.0%            748d0d83-84ea-4b1a-b7a0-3c4f8c3270cd  rack1
 

6.MidoNet API安装

yum install midonet-api -y

 
#修改/usr/share/midonet-api/WEB-INF/web.xml
<context-param>
    <param-name>rest_api-base_uri</param-name>
    <param-value>http://midonet:8080/midonet-api</param-value>
  </context-param>
 
  <context-param>
    <param-name>keystone-service_host</param-name>
    <param-value>midonet</param-value>
  </context-param>
 
 <context-param>
    <param-name>keystone-admin_token</param-name>
    <param-value>6faca30b15bec6ffb8f8</param-value>
  </context-param>
   
<context-param>
    <param-name>zookeeper-zookeeper_hosts</param-name>
    <!-- comma separated list of Zookeeper nodes(host:port) -->
    <param-value>midonet:2181</param-value>
  </context-param>
 
  <context-param>
    <param-name>midocluster-properties_file</param-name>
    <!-- default for ubuntu systems with tomcat7 -->
    <param-value>/var/lib/tomcat/webapps/host_uuid.properties</param-value>
  </context-param>
 
##安装tomcat
yum install tomcat -y --nogpgcheck
 
##修改/etc/tomcat/server.xml
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443"
           maxHttpHeaderSize="65536" />
 
##创建/etc/tomcat/Catalina/localhost/midonet-api.xml
<Context
    path="/midonet-api"
    docBase="/usr/share/midonet-api"
    antiResourceLocking="false"
    privileged="true"
/>
 
##启动tomcat
systemctl enable tomcat.service
systemctl start tomcat.service
 

7.MidoNet CLI

yum install python-midonetclient -y

 
##创建文件 ~/.midonetrc
[cli]
api_url = http://midonet:8080/midonet-api
username = admin
password = admin123456
project_id = admin

8.Midolman 

yum install midolman -y

 
##修改/etc/midolman/midolman.conf
[zookeeper]
zookeeper_hosts = midonet:2181
 
 
##
cat << EOF | mn-conf set -t default
zookeeper {
    zookeeper_hosts = "midonet:2181"
}
cassandra {
    servers = "midonet"
}
EOF
 
##
echo "cassandra.replication_factor : 1" | mn-conf set -t default
 
# 修改midolman.service 文件增加文件描述符数量
sed -i '/\[Service\]/a\LimitNOFILE=60000' /usr/lib/systemd/system/midolman.service
  
# 启动服务
 
systemctl start midolman 
 
##启动midonet-cli
 
[root@midonet ~]# midonet-cli
midonet>
 
 
###初始化网络
neutron net-create ext-net --router:external
 

MidoNet 安装(Kilo RDO)(最老版)的更多相关文章

  1. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  2. (36)老版和新版API调用

    ---------更新时间18:06 2016-09-18 星期日------- *前言   我用的是odoo8,但里面有相当多的api是以前版本,这时若我们自己开发的   插件采用新版本api,里面 ...

  3. 使用Qpython3制作老版天翼飞TP路由器拨号脚本

    #幻境拨号python版 #by 1414641776 account='xxxxxx@96301' password='xxxxx' # 路由器脚本 def sendToRoute(account, ...

  4. win7 安装SQL Server 2005 开发版 图文教程

    转自win7 安装SQL Server 2005 开发版 图文教程 ----------------------------写在安装前------------------------------ 一. ...

  5. [Linux 小技巧] Ubuntu 14.04 下编译、安装、配置最新开发版 GoldenDict

    1. 背景介绍 GoldenDict 是一款非常优秀的跨平台电子词典软件,支持 StarDict.Babylon 等多种词典.其 PC 版基于 Qt 编写,完全免费.开源且没有广告.GoldenDic ...

  6. CSS3弹性盒模型新版和老版写法差异

    1.在使用弹性盒模型的时候父元素必须要加display:box 或 display:inline-box: 新版弹性盒模型:flex:display : flex 老版弹性盒模型:box : disp ...

  7. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  8. TP-Shop安装步骤教程(Windows版)

    TP-Shop安装步骤教程(Windows版) PS:首次发文,请多指教! 一.安装要求 1.PHP5.4以上,MYsql5.5以上. 2.需要Phpcurl,gd库.php_mysqli,php_o ...

  9. phpStudy模式下安装ssl证书,详细版

    phpStudy模式下安装ssl证书,详细版 2017年12月16日 14:27:38 骑着蚂蚁追大象 阅读数:4232 标签: phpstudy安装ssl证书 更多 个人分类: php   版权声明 ...

随机推荐

  1. mysql数据类型介绍(含text,longtext,mediumtext说明)

    转自http://m.blog.csdn.net/sipsir/article/details/12343581 转载,文章原连接已经失效,百度快照找到的. MySQL支持大量的列类型,它可以被分为3 ...

  2. 使用zip.js压缩文件和解压文件

    zip.js官方网站为:https://stuk.github.io/jszip/ 在此说明,下面的例子基本上来自官方示例,大家可以做参考,官方示例地址为:https://stuk.github.io ...

  3. matlab fspecial

    Matlab 的fspecial函数用法 fspecial函数用于建立预定义的滤波算子,其语法格式为:h = fspecial(type)h = fspecial(type,para)其中type指定 ...

  4. Python基础(2)——列表、字典、数据运算

    1.列表 #创建列表 name_list = ['alex', 'seven', 'eric'] #或 name_list = list(['alex', 'seven', 'eric']) #访问列 ...

  5. python多版本共存问题(以2.7和3.5系列版本为例)

    1.0 下载Python2.7x和Python3.5x版本 2.0 安装Python 3.0 配置环境变量,分别添加至path路径 4.0 只修改Python27文件中的.exe文件(这样系统默认为P ...

  6. Luogu4768 NOI2018 归程 最短路、Kruskal重构树

    传送门 题意:给出一个$N$个点.$M$条边的图,每条边有长度和海拔,$Q$组询问,每一次询问从$v$开始,经过海拔超过$p$的边所能到达的所有点中到点$1$的最短路的最小值,强制在线.$N \leq ...

  7. RDLC报表显示图片

    有时设计RDLC报表时,我们会少不了在报表呈现图片. 今天花上些少时间来实现它们: 你可以在设计RDLC报表时,找到Report Data下的Image,按Mouse右键,出现Add Image... ...

  8. (转)Xpath语法格式整理

    原文 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时间,所以对XPath归纳及总结一下. 在这篇文章中你将 ...

  9. WPF 带清除按钮的文字框SearchTextBox

    原文:WPF 带清除按钮的文字框SearchTextBox 基于TextBox的带清除按钮的搜索框 样式部分: <!--带清除按钮文字框--> <Style TargetType=& ...

  10. Linux下修改/设置环境变量JAVA_HOME

    export设置只对当前的bash登录session有效.这是存在内存里面的.你可以写入文件一般的文件.之后source它.或者放到/etc/profile 等等的位置里,不同的地方效果不同. 1. ...