Refer to the official documentation. as some documents and steps are not listed in the official documentation, they have been completed. No problem after testing. Forget it. Youneedatleastthreemachines, virtualorphysical, withFedora18installed. table2.1.ubuntureandnodeinformationnodesc
Refer to the official documentation. as some documents and steps are not listed in the official documentation, they have been completed. No problem after testing. Forget it.
You need at leastthree machines, virtual or physical, withFedora 18 installed.
Table 2.1. Architecture and nodeinformation |
|
|
Nodes |
|
Controller |
Network |
Compute |
|
Hostname |
Cloud |
Network |
C01 |
|
Services |
MySQL, Qpid, Nova, Cinder, Glance, Keystone, Quantum |
Quantum-L3-agent, Quantum-DHCP-agent, Quantum Agent withOpen-vSwitch |
Nova-compute, KVM, nova-api, Quantum Agent with Open-vSwitch |
|
Minimum number of disks |
2 |
1 |
1 |
|
External |
10.0.0.10/24 |
10.0.0.9/24 |
- |
|
Internal network |
10.10.10.10/24 |
10.10.10.9/24 |
10.10.10.11/24 |
|
Total number of NIC |
2 |
2 |
1 |
|
Introduction
The Controllernode will provide:
Common services
Operating System
MySQL DatabaseService
Qpid MessagingService
Operating System
Install Fedora 18. The exact installation procedure is outsidethe scope of this document, but please note the followingations:
Once installation has finished, the server will reboot.
UseFedoraRepositories for Grizzly:
3. wgethttp: // repos.fedorapeople.org/repos/openstack/openstack-grizzly/fedora-openstack-grizzly.repo
Mv fedora-openstack-grizzly.repo/etc/yum. repos. d/
|
Note |
ForCentOS, Usehttp: // repos.fedorapeople.org/repos/openstack/openstack-grizzly/epel-openstack-grizzly.repo. |
Configure the network:
Sed-I's/GOTO = "netdevicename_end"/GOTO = "netdevicename_end"/g'/lib/udev/rules. d/71-biosdevname.rules
Service NetworkManager stop
Service network start
Chkconfig NetworkManager off
Chkconfig network on
Internal Network
DEVICE = eth0
TYPE = Ethernet
BOOTPROTO = static
IPADDR = 10.10.10.10
NETMASK = 255.255.255.0
DEFROUTE = yes
ONBOOT = yes
External Network
DEVICE = eth1
TYPE = Ethernet
BOOTPROTO = static
IPADDR = 10.0.0.10
NETMASK = 255.255.255.0
GATEWAY = 10.0.0.1
DNS = 8.8.8.8
DEFROUTE = yes
ONBOOT = yes
127.0.0.1 localhost
10.10.10.10 cloud
10.10.10.9 network
10.10.10.11 c01
|
Note |
While manually specifying host entries is acceptable for asimple or testing environment, it is highly recommended to useproper DNS entries, or at a minimum a configuration managementsystem such as Puppet, to maintain your IP to host mappings. |
Install NTP. NTP will ensure that the server has the correcttime. This is important because if an OpenStack server's time isnot correct, it will be removed from the rest of the cloud.
Yum install-y ntp
MySQL Database Service
The variousOpenStack components store persistent data in arelational database. MySQL isthe most popular choice.
Install the packages:
Yum installMysql Mysql-Server MySQL-python
By default, MySQL will only accept connections from localhost. This needs changed so that the compute nodes can access theOpenStack Networking service. Database requests for the OpenStackCompute service are proxied through the nova-conductor service.
Sed-I's/127.0.0.1/0.0.0.0/g'/etc/my. cnf
Restart the service:
Systemctl start mysqld. service
Service mysqld restart
Chkconfig mysqld on
The various databases that the OpenStack services require needcreated. Additionally, MySQL accounts to access those databasesneed created, too:
5. mysql-u root-p <
6. create database nova;
7. grant all privileges on nova. * TO 'Nova '@ 'localhost '\
8. identified by 'password ';
9. create database cinder;
10. grant all privileges on cinder. * TO 'cinder' @ 'localhost '\
11. identified by 'password ';
12. create database glance;
13. grant all privileges on glance. * TO 'glance '@ 'localhost '\
14. identified by 'password ';
15. create database keystone;
16. grant all privileges on keystone. * TO 'Keystone '@ 'localhost '\
17. identified by 'password ';
18. create database quantum;
19. grant all privileges on quantum. * TO 'Quantum '@ 'localhost '\
20. identified by 'password ';
21. grant all privileges on quantum. * TO 'Quantum '@ '10. 10.10.9 '\
22. identified by 'password ';
23. grant all privileges on quantum. * TO 'Quantum '@ '10. 10.10.11 '\
24. identified by 'password ';
25. flush privileges;
EOF
Qpid Messaging Service
The OpenStackcomponents also communicate through a queuingservice. for example, the CloudController places a request tolaunch an instance on the queue. the ComputeNode then picks thisrequest up and launches the instance. openStack can workwithseveral different queuing services.
Install the packages:
Yum install qpid-cpp-server
Enable authentication:
Echo auth = 1>/etc/qpidd. conf
Change yes in/etc/qpidd. conf to no.
Enable the messaging service:
Chkconfig qpidd on
# Saslpasswd2-f/var/lib/qpidd. sasldb-u QPID guest
> Password: guest
> Again (for verification): guest
... Wait for a moment while it updates...
... And then to validate that these usersactually exist now:
[Root @ OS-controller ~] # Sasldblistusers2-f/var/lib/qpidd. sasldb
Guest @ QPID: userPassword <--- password obscured by program
Steve @ QPID: userPassword <-- another I added "just to test"
There were no users listed in the SASLdbat all after my initialinstallation, so the QPID docs (security chapter) werequitehandy:
Start the messaging service:
Service qpidd start
OpenStack Identity Service
The OpenStackIdentity Service provides the cloud environmentwith an authentication andauthorization system. In this system, users are a part of one or more projects. In each of these projects, they hold a specific role.
Install the packages:
Yum install openstack-utils openstack-keystonepython-keystoneclient
Edit/Etc/keystone. conf:
3. [DEFAULT]
4. admin_token = password
5. debug = True
6. verbose = True
7.
8. [SQL]
Connection = mysql: // keystone: password @ localhost/keystone
Create the ssl keys:
10. keystone-manage pki_setup
Chown-R keystone: keystone/etc/keystone /*
Restart Keystone and create the tables in the database:
12. service openstack-keystone restart
Openstack-d