openstack kilo 在ubuntu14.04的安裝部署

在每個節點安裝:

sudo apt-get update

apt-get install ntp -y

service ntp restart


安裝ubuntu更新源

apt-get install ubuntu-cloud-keyring

echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \

"trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list


echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu"   "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list



更新系統:

apt-get update && apt-get dist-upgrade -y



安裝數據庫:

apt-get install mariadb-server python-mysqldb -y


cat <<EOF >/etc/mysql/conf.d/mysqld_openstack.cnf

[mysqld]

bind-address = 192.168.1.144

default-storage-engine = innodb

innodb_file_per_table

collation-server = utf8_general_ci

init-connect = 'SET NAMES utf8'

character-set-server = utf8

EOF


啓動數據庫:

service mysql restart

mysql_secure_installation


安裝消息隊列服務並創建用戶:

apt-get install rabbitmq-server -y

rabbitmqctl add_user openstack openstack

rabbitmqctl set_permissions openstack ".*" ".*" ".*"


爲keystone服務創建數據庫帳號及遠程連接

mysql -uroot -popenstack -e "CREATE DATABASE keystone;"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';"




openssl rand -hex 10

禁用keystoneservice啓動後自動安裝:

echo "manual" > /etc/init/keystone.override

安裝keystone軟件包:

apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache -y

#在所有節點上安裝ubuntu openstack 配置工具

#例子

#CONFIG_FILE=/etc/nova/nova.conf

#crudini --set $CONFIG_FILE DEFAULT verbose true

#apt-get -y install crudini


ADMIN_TOKEN=$(openssl rand -hex 10)

echo $ADMIN_TOKEN

crudini --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN

crudini --set /etc/keystone/keystone.conf database connection mysql://keystone:keystone@controller/keystone

crudini --set /etc/keystone/keystone.conf memcache servers localhost:11211


crudini --set /etc/keystone/keystone.conf token provider keystone.token.providers.uuid.Provider

crudini --set /etc/keystone/keystone.conf token driver keystone.token.persistence.backends.memcache.Token

crudini --set /etc/keystone/keystone.conf DEFAULT verbose True

crudini --set /etc/keystone/keystone.conf revoke driver keystone.contrib.revoke.backends.sql.Revoke

su -s /bin/sh -c "keystone-manage db_sync" keystone


#vi /etc/apache2/sites-available/000-default.conf

#ServerName controller

sed -i 's/#ServerName www.example.com/ServerName controller/g' /etc/apache2/sites-available/000-default.conf


cat <<EOF >/etc/apache2/sites-available/wsgi-keystone.conf

Listen 5000

Listen 35357

<VirtualHost *:5000>

        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP}

        WSGIProcessGroup keystone-public

        WSGIScriptAlias / /var/www/cgi-bin/keystone/main

        WSGIApplicationGroup %{GLOBAL}

        WSGIPassAuthorization On

        <IfVersion >= 2.4>

        ErrorLogFormat "%{cu}t %M"

        </IfVersion>

        LogLevel info

        ErrorLog /var/log/apache2/keystone-error.log

        CustomLog /var/log/apache2/keystone-access.log combined

</VirtualHost>


<VirtualHost *:35357>

        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP}

        WSGIProcessGroup keystone-admin

        WSGIScriptAlias / /var/www/cgi-bin/keystone/admin

        WSGIApplicationGroup %{GLOBAL}

        WSGIPassAuthorization On

        <IfVersion >= 2.4>

        ErrorLogFormat "%{cu}t %M"

        </IfVersion>

        LogLevel info

        ErrorLog /var/log/apache2/keystone-error.log

        CustomLog /var/log/apache2/keystone-access.log combined

</VirtualHost>

EOF


ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled


mkdir -p /var/www/cgi-bin/keystone


curl http://git.openstack.org/cgit/openstack/keystone/plain/httpd/keystone.py?h=stable/kilo \

| tee /var/www/cgi-bin/keystone/main /var/www/cgi-bin/keystone/admin


chown -R keystone:keystone /var/www/cgi-bin/keystone

chmod 755 /var/www/cgi-bin/keystone/*


service apache2 restart

rm -f /var/lib/keystone/keystone.db



#export OS_TOKEN=2a9cccb0105a68aa7baa

export OS_TOKEN=$ADMIN_TOKEN

export OS_URL=http://controller:35357/v2.0


openstack service create --name keystone --description "OpenStack Identity" identity


openstack endpoint create \

--publicurl http://controller:5000/v2.0 \

--internalurl http://controller:5000/v2.0 \

--adminurl http://controller:35357/v2.0 \

--region RegionOne \

identity


openstack project create --description "Admin Project" admin


openstack user create --password admin admin


openstack role create admin


openstack role add --project admin --user admin admin


openstack project create --description "Service Project" service


openstack project create --description "Demo Project" demo


openstack user create --password demo demo

openstack role create user

openstack role add --project demo --user demo user


unset OS_TOKEN OS_URL


#openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password token issue

#openstack --os-auth-url http://controller:35357 --os-project-domain-id default --os-user-domain-id default --os-project-name admin --os-username admin --os-auth-type password token issue

#openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password project list

#openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password user list

#openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password role list

#openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-auth-type password token issue

#openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-auth-type password user list


openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-password admin token issue

openstack --os-auth-url http://controller:35357 --os-project-domain-id default --os-user-domain-id default --os-project-name admin --os-username admin --os-password admin token issue

openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-password admin project list

openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-password admin user list

openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-password admin role list

openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-password demo token issue

openstack --os-auth-url http://controller:5000 --os-project-domain-id default --os-user-domain-id default --os-project-name demo --os-username demo --os-password demo user list




cat <<EOF >/root/admin-openrc.sh

export OS_PROJECT_DOMAIN_ID=default

export OS_USER_DOMAIN_ID=default

export OS_PROJECT_NAME=admin

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=admin

export OS_AUTH_URL=http://controller:35357/v3

EOF



cat <<EOF >/root/demo-openrc.sh

export OS_PROJECT_DOMAIN_ID=default

export OS_USER_DOMAIN_ID=default

export OS_PROJECT_NAME=demo

export OS_TENANT_NAME=demo

export OS_USERNAME=demo

export OS_PASSWORD=demo

export OS_AUTH_URL=http://controller:5000/v3

EOF




##################################################################################

###################在控制節點controller 安裝glance服務############################

##################################################################################

境加glance image服務:

mysql -uroot -popenstack -e "CREATE DATABASE glance;"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';"


source /root/admin-openrc.sh


openstack user create --password glance glance


openstack role add --project service --user glance admin


openstack service create --name glance \

--description "OpenStack Image service" image


openstack endpoint create \

--publicurl http://controller:9292 \

--internalurl http://controller:9292 \

--adminurl http://controller:9292 \

--region RegionOne \

image



apt-get install glance python-glanceclient -y


crudini --set /etc/glance/glance-api.conf database connection mysql://glance:glance@controller/glance


crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_plugin password

crudini --set /etc/glance/glance-api.conf keystone_authtoken project_domain_id default

crudini --set /etc/glance/glance-api.conf keystone_authtoken user_domain_id default

crudini --set /etc/glance/glance-api.conf keystone_authtoken project_name service

crudini --set /etc/glance/glance-api.conf keystone_authtoken username glance

crudini --set /etc/glance/glance-api.conf keystone_authtoken password glance


crudini --set /etc/glance/glance-api.conf paste_deploy flavor keystone


crudini --set /etc/glance/glance-api.conf glance_store default_store file

crudini --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/


crudini --set /etc/glance/glance-api.conf DEFAULT notification_driver noop

crudini --set /etc/glance/glance-api.conf DEFAULT verbose True

################################################


crudini --set /etc/glance/glance-registry.conf database connection mysql://glance:glance@controller/glance


crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/glance/glance-registry.conf keystone_authtoken auth_plugin password

crudini --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_id default

crudini --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_id default

crudini --set /etc/glance/glance-registry.conf keystone_authtoken project_name service

crudini --set /etc/glance/glance-registry.conf keystone_authtoken username glance

crudini --set /etc/glance/glance-registry.conf keystone_authtoken password glance


crudini --set /etc/glance/glance-registry.conf paste_deploy flavor keystone



crudini --set /etc/glance/glance-registry.conf DEFAULT notification_driver noop

crudini --set /etc/glance/glance-registry.conf DEFAULT verbose True


su -s /bin/sh -c "glance-manage db_sync" glance


service glance-registry restart

service glance-api restart


rm -f /var/lib/glance/glance.sqlite

echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demoopenrc.sh

source admin-openrc.sh

mkdir /tmp/images

wget -P /tmp/images http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img


glance image-create --name "cirros-0.3.4-x86_64" --file /tmp/images/cirros-0.3.4-x86_64-disk.img \

--disk-format qcow2 --container-format bare --visibility public --progress


glance image-list


增加計算服務

mysql -uroot -popenstack -e "CREATE DATABASE nova;"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';"


source admin-openrc.sh

openstack user create --password nova nova


openstack role add --project service --user nova admin


openstack service create --name nova \

--description "OpenStack Compute" compute


openstack endpoint create \

--publicurl http://controller:8774/v2/%\(tenant_id\)s \

--internalurl http://controller:8774/v2/%\(tenant_id\)s \

--adminurl http://controller:8774/v2/%\(tenant_id\)s \

--region RegionOne \

compute



apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient -y



crudini --set /etc/nova/nova.conf database connection mysql://nova:nova@controller/nova



crudini --set /etc/nova/nova.conf DEFAULT rpc_backend rabbit

crudini --set /etc/nova/nova.conf DEFAULT auth_strategy keystone




crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_host controller

crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_userid openstack

crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_password openstack



crudini --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/nova/nova.conf keystone_authtoken auth_plugin password

crudini --set /etc/nova/nova.conf keystone_authtoken project_domain_id default

crudini --set /etc/nova/nova.conf keystone_authtoken user_domain_id default

crudini --set /etc/nova/nova.conf keystone_authtoken project_name service

crudini --set /etc/nova/nova.conf keystone_authtoken username nova

crudini --set /etc/nova/nova.conf keystone_authtoken password nova



crudini --set /etc/nova/nova.conf DEFAULT my_ip 192.168.1.144

crudini --set /etc/nova/nova.conf DEFAULT vncserver_listen 192.168.1.144

crudini --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.1.144




crudini --set /etc/nova/nova.conf glance host controller



crudini --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp



crudini --set /etc/nova/nova.conf DEFAULT verbose True


su -s /bin/sh -c "nova-manage db sync" nova


service nova-api restart

service nova-cert restart

service nova-consoleauth restart

service nova-scheduler restart

service nova-conductor restart

service nova-novncproxy restart


rm -f /var/lib/nova/nova.sqlite


##################################################################################

###################在控制節點controller 安裝glance服務############################

###################控制節點完成###################################################

##################################################################################



##################################################################################

###################在計算節點compute 安裝服務 nova 服務############################

##################################################################################

apt-get install nova-compute sysfsutils -y



crudini --set /etc/nova/nova.conf DEFAULT rpc_backend rabbit

crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_host controller

crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_userid openstack

crudini --set /etc/nova/nova.conf oslo_messaging_rabbit rabbit_password openstack



crudini --set /etc/nova/nova.conf DEFAULT auth_strategy keystone



crudini --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/nova/nova.conf keystone_authtoken auth_plugin password

crudini --set /etc/nova/nova.conf keystone_authtoken project_domain_id default

crudini --set /etc/nova/nova.conf keystone_authtoken user_domain_id default

crudini --set /etc/nova/nova.conf keystone_authtoken project_name service

crudini --set /etc/nova/nova.conf keystone_authtoken username nova

crudini --set /etc/nova/nova.conf keystone_authtoken password nova


crudini --set /etc/nova/nova.conf DEFAULT my_ip 192.168.1.145

crudini --set /etc/nova/nova.conf DEFAULT vnc_enabled True

crudini --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0

crudini --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.1.145

crudini --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://192.168.1.144:6080/vnc_auto.html


crudini --set /etc/nova/nova.conf glance host controller


crudini --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp


crudini --set /etc/nova/nova.conf DEFAULT verbose True


egrep -c '(vmx|svm)' /proc/cpuinfo


#如果是物理機就選擇kvm,虛擬機選擇qemu

#crudini --set /etc/nova/nova-compute.conf libvirt virt_type qemu

crudini --set /etc/nova/nova-compute.conf libvirt virt_type kvm


service nova-compute restart

rm -f /var/lib/nova/nova.sqlite


##################################################################################

###################在計算節點compute 安裝服務 nova 服務############################

###################完成###########################################################

##################################################################################


##################################################################################

###################在控制節點controller安裝服務 neutron 服務############################

##################################################################################


mysql -uroot -popenstack -e "CREATE DATABASE neutron;"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron';"

mysql -uroot -popenstack -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';"



source admin-openrc.sh

openstack user create --password neutron neutron

openstack role add --project service --user neutron admin


openstack service create --name neutron \

--description "OpenStack Networking" network


openstack endpoint create \

--publicurl http://controller:9696 \

--adminurl http://controller:9696 \

--internalurl http://controller:9696 \

--region RegionOne \

network



apt-get install neutron-server neutron-plugin-ml2 python-neutronclient -y


crudini --set /etc/neutron/neutron.conf database connection mysql://neutron:neutron@controller/neutron



#crudini --set /etc/neutron/neutron.conf DEFAULT 

crudini --set /etc/neutron/neutron.conf DEFAULT rpc_backend rabbit

crudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone

crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router

crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True

crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True

crudini --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True

crudini --set /etc/neutron/neutron.conf DEFAULT nova_url http://controller:8774/v2

crudini --set /etc/neutron/neutron.conf DEFAULT verbose True


#crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit 

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_host controller

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_userid openstack

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_password openstack


#crudini --set /etc/neutron/neutron.conf keystone_authtoken 

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_plugin password

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken user_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_name service

crudini --set /etc/neutron/neutron.conf keystone_authtoken username neutron

crudini --set /etc/neutron/neutron.conf keystone_authtoken password neutron


#crudini --set /etc/neutron/neutron.conf nova 

crudini --set /etc/neutron/neutron.conf nova auth_url http://controller:35357

crudini --set /etc/neutron/neutron.conf nova auth_plugin password

crudini --set /etc/neutron/neutron.conf nova project_domain_id default

crudini --set /etc/neutron/neutron.conf nova user_domain_id default

crudini --set /etc/neutron/neutron.conf nova region_name RegionOne

crudini --set /etc/neutron/neutron.conf nova project_name service

crudini --set /etc/neutron/neutron.conf nova username nova

crudini --set /etc/neutron/neutron.conf nova password nova





#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,gre,vxlan

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch


#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre 

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000


#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup 

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver


#crudini --set /etc/nova/nova.conf DEFAULT 

crudini --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API

crudini --set /etc/nova/nova.conf DEFAULT security_group_api neutron

crudini --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver

crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver



#crudini --set /etc/nova/nova.conf neutron 

crudini --set /etc/nova/nova.conf neutron url http://controller:9696

crudini --set /etc/nova/nova.conf neutron auth_strategy keystone

crudini --set /etc/nova/nova.conf neutron admin_auth_url http://controller:35357/v2.0

crudini --set /etc/nova/nova.conf neutron admin_tenant_name service

crudini --set /etc/nova/nova.conf neutron admin_username neutron

crudini --set /etc/nova/nova.conf neutron admin_password neutron


su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \

--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron


service nova-api restart


service neutron-server restart


rm -f /var/lib/neutron/neutron.sqlite


source admin-openrc.sh

neutron ext-list

##################################################################################

###################在控制節點controller安裝服務 neutron 服務######################

###################完成###########################################################

##################################################################################




######################################################################################

#########################在網絡節點 neutron安裝配置 neutron###########################

######################################################################################


echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf

echo "net.ipv4.conf.all.rp_filter=0" >>/etc/sysctl.conf

echo "net.ipv4.conf.default.rp_filter=0" >>/etc/sysctl.conf


sysctl -p


apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent \

neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent -y



crudini --set /etc/neutron/neutron.conf DEFAULT rpc_backend rabbit

crudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone

crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router

crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True

crudini --set /etc/neutron/neutron.conf DEFAULT verbose True



#crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit 

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_host controller

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_userid openstack

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_password openstack


#crudini --set /etc/neutron/neutron.conf keystone_authtoken 

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_plugin password

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken user_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_name service

crudini --set /etc/neutron/neutron.conf keystone_authtoken username neutron

crudini --set /etc/neutron/neutron.conf keystone_authtoken password neutron




#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,gre,vxlan

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch




crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks external

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000


crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver



#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.1.146

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs bridge_mappings external:br-ex


#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini agent

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini agent tunnel_types gre



#配置三層網絡代理

#crudini --set /etc/neutron/l3_agent.ini DEFAULT

crudini --set /etc/neutron/l3_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver

crudini --set /etc/neutron/l3_agent.ini DEFAULT external_network_bridge  

crudini --set /etc/neutron/l3_agent.ini DEFAULT router_delete_namespaces True

crudini --set /etc/neutron/l3_agent.ini DEFAULT verbose True


#配置DHCP代理

#crudini --set /etc/neutron/dhcp_agent.ini DEFAULT

crudini --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver

crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq

crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_delete_namespaces True

crudini --set /etc/neutron/dhcp_agent.ini DEFAULT verbose True

crudini --set /etc/neutron/dhcp_agent.ini DEFAULT dnsmasq_config_file /etc/neutron/dnsmasq-neutron.conf


cat <<EOF >/etc/neutron/dnsmasq-neutron.conf

dhcp-option-force=26,1454

EOF


 pkill dnsmasq


#配置metadata代理

#crudini --set /etc/neutron/metadata_agent.ini DEFAULT

crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_uri http://controller:5000

crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller:35357

crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_region RegionOne

crudini --set /etc/neutron/metadata_agent.ini DEFAULT auth_plugin password

crudini --set /etc/neutron/metadata_agent.ini DEFAULT project_domain_id default

crudini --set /etc/neutron/metadata_agent.ini DEFAULT user_domain_id default

crudini --set /etc/neutron/metadata_agent.ini DEFAULT project_name service

crudini --set /etc/neutron/metadata_agent.ini DEFAULT username neutron

crudini --set /etc/neutron/metadata_agent.ini DEFAULT password neutron


crudini --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller


crudini --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret 1234567890

crudini --set /etc/neutron/metadata_agent.ini DEFAULT verbose True



######################################################################################

#########################在控制節點controller配置  nova####################################

######################################################################################


#crudini --set /etc/nova/nova.conf neutron

crudini --set /etc/nova/nova.conf neutron service_metadata_proxy True

crudini --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret 1234567890


service nova-api restart



######################################################################################

#########################在控制節點controller配置  nova####################################

#########################完成#########################################################

######################################################################################



service openvswitch-switch restart


vi /etc/network/interfaces

auto eth0

iface eth0 inet manual

up ifconfig $IFACE 0.0.0.0 up

up ip link set $IFACE promisc on

down ip link set $IFACE promisc off

down ifconfig $IFACE down


auto br-ex

iface br-ex inet static

address 192.168.1.146

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 192.168.10.103



ovs-vsctl add-br br-ex


ovs-vsctl add-port br-ex eth0


ethtool -K eth0 gro off


service neutron-plugin-openvswitch-agent restart

service neutron-l3-agent restart

service neutron-dhcp-agent restart

service neutron-metadata-agent restart



#在控制節點測試:

source admin-openrc.sh

neutron agent-list

#如果無顯示重啓網絡節點,讓虛擬交換機生效

echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu"   "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list


######################################################################################

#########################在網絡節點 neutron安裝配置 neutron###########################

#########################完成#########################################################

######################################################################################




######################################################################################

#########################在計算節點compute1 安裝配置 neutron###########################

######################################################################################


#vi /etc/sysctl.conf

echo "net.ipv4.conf.all.rp_filter=0" >>/etc/sysctl.conf

echo "net.ipv4.conf.default.rp_filter=0" >>/etc/sysctl.conf

echo "net.bridge.bridge-nf-call-iptables=1" >>/etc/sysctl.conf

echo "net.bridge.bridge-nf-call-ip6tables=1" >>/etc/sysctl.conf


sysctl -p


apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent -y


#crudini --set /etc/neutron/neutron.conf DEFAULT

crudini --set /etc/neutron/neutron.conf DEFAULT rpc_backend rabbit

crudini --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone



#crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_host controller

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_userid openstack

crudini --set /etc/neutron/neutron.conf oslo_messaging_rabbit rabbit_password openstack



#crudini --set /etc/neutron/neutron.conf keystone_authtoken

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://controller:35357

crudini --set /etc/neutron/neutron.conf keystone_authtoken auth_plugin password

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken user_domain_id default

crudini --set /etc/neutron/neutron.conf keystone_authtoken project_name service

crudini --set /etc/neutron/neutron.conf keystone_authtoken username neutron

crudini --set /etc/neutron/neutron.conf keystone_authtoken password neutron



#crudini --set /etc/neutron/neutron.conf DEFAULT

crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2

crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins router

crudini --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips True

crudini --set /etc/neutron/neutron.conf DEFAULT verbose True



#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,vlan,gre,vxlan

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch


#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000



#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset True

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver


#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.1.145



#crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini agent

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini agent tunnel_types gre


service openvswitch-switch restart



#crudini --set /etc/nova/nova.conf DEFAULT 

crudini --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API

crudini --set /etc/nova/nova.conf DEFAULT security_group_api neutron

crudini --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver

crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver


#crudini --set /etc/nova/nova.conf neutron

crudini --set /etc/nova/nova.conf neutron url http://controller:9696

crudini --set /etc/nova/nova.conf neutron auth_strategy keystone

crudini --set /etc/nova/nova.conf neutron admin_auth_url http://controller:35357/v2.0

crudini --set /etc/nova/nova.conf neutron admin_tenant_name service

crudini --set /etc/nova/nova.conf neutron admin_username neutron

crudini --set /etc/nova/nova.conf neutron admin_password neutron


service nova-compute restart


service neutron-plugin-openvswitch-agent restart




######################################################################################

#########################在計算節點compute1 安裝配置 neutron###########################

#########################完成#########################################################

######################################################################################



######################################################################################

#########################在控制節點controller安裝配置 dashboard###########################

######################################################################################

apt-get install openstack-dashboard -y


sed -i 's/OPENSTACK_HOST = "127.0.0.1"/OPENSTACK_HOST = "controller"/g' /etc/openstack-dashboard/local_settings.py


sed -i 's/OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"/OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"/g' /etc/openstack-dashboard/local_settings.py


下面手動改吧,

#ALLOWED_HOSTS = ['horizon.example.com', ]

#sed -i 's/horizon.example.com/\*/g' /etc/openstack-dashboard/local_settings.py


service apache2 reload


######################################################################################

#########################在控制節點controller安裝配置 dashboard##########################

#########################完成#########################################################

######################################################################################





#########################################################################################

########################gre 改爲 vxlan   ################################################

#########################################################################################

controller

egrep -v "^#|^$" /etc/neutron/plugins/ml2/ml2_conf.ini

[root@controller neutron]# egrep -v "^#|^$" /etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]

type_drivers = vxlan

tenant_network_types = vxlan

mechanism_drivers =openvswitch

[ml2_type_flat]

[ml2_type_vlan]

[ml2_type_gre]

[ml2_type_vxlan]

vni_ranges =10:100

vxlan_group =224.0.0.1

[securitygroup]

enable_security_group = True

[root@controller neutron]# 


egrep -v "^#|^$" /etc/nova/nova.conf














發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章