I. Keystone Installation notes
When I first came into contact with openstack, I was not very satisfied after trying to deploy a single machine. I started to deploy the system in a distributed manner, mainly based on the Installation tutorial on the openstack official website, I have installed the latest I version.
The following are my environment, five hosts, kk1, kk2, kk3, kk4, and kk5. next, I will take notes on some of the services I have installed, which is also a problem during the installation process, the problem we encountered is similar,
So I am too lazy to record it. The most troublesome part is the network. I chose the simplest method, the Nova-network method, which is not recorded here.
Kk1: Nova, Keystone
Kk2: glance
Kk3: cinder-Service
Kk4:
Kk5: cinder-storage
1. Install keystone now. This is an authentication service. To operate on Nova, glance must first pass keystone authentication.
2. For the concept of Keystone, please refer to the documentation on the official website.
Http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-concepts.html
3. For detailed installation steps of Keystone, see
Http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-install.html
4. admin_token
This admin_token should be worth noting. It is equivalent to an authentication password. You can configure it as needed in the test environment, for example, admin_token = admin.
5. Define User, tenants, Roles
Http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-users.html
This configuration has been described in detail in this document. It is worth noting that if the following problem occurs:
Environment variables are not configured.
If you do not configure environment variables, you can also use the following command:
Nova -- OS-tenant-Name Admin -- OS-username admin -- OS-Password 111 -- OS-auth-URL http: // 127.0.0.1: 35357/V2.0 image-list
6. Summary
In short, the Keystone configuration is quite troublesome. I spent a long time solving this problem tonight and may encounter various errors, but in general the problem lies in the environment variables,
To explain the role of environment variables: After you configure the environment variables, you can replace the previous long command. The Keystone service will automatically read the parameters of the environment variables.
If you encounter various problems when executing the Nova LIST Command, Please carefully check the configuration files such as Nova. conf and keystone. conf to check whether the user name, password, tenant, and roles are
The configuration is correct. If it still doesn't work, uninstall Nova and keystone and reinstall them. Remember to drop the MySQL database while uninstalling it to ensure that there is no residue.
Good luck!
Ii. Nova Installation notes
1. Make sure that Keystone has been installed before Nova is installed. Otherwise, you will not be able to use it after Nova is installed.
2. The specific installation steps of Nova are not described in detail. I just follow the Install guide for Ubuntu of openstack.
Http://docs.openstack.org/icehouse/install-guide/install/apt/content/nova-controller.html
3. The installation procedure is simple. The key is configuration.
4. Configure/etc/NOVA. conf
5. Some key points are mentioned. The configuration file will let you configure
[database]
connection = mysql:
//nova
:[email protected]
/nova
The
Nova_dbpass: replace controller with your Nova password, and controller with the IP address of MySQL.
6. Make sure that the user tenant Role user-role-add service endpoint is created correctly.
7. Restart Nova after these configurations are successfully configured.
8. Finally, test whether the installation of Nova is successful. Input: Nova image-list.
There are two methods for the Nova image-List request:
1. Nova -- OS-tenant-Name Admin -- OS-username admin -- OS-Password 111 -- OS-auth-URL http: // 127.0.0.1: 35357/V2.0 image-list
2. Configure Environment Variables
Export OS _auth_url = "http: // localhost: 5000/V2.0 /"
Export OS _password = 111
Export OS _username = Admin
Export OS _tenant_name = Admin
Enter the Nova image-List directly.
3. view the current environment variable
Export | grep OS _
//////////////////////////////////////// ///////////// The environment variables of the kk1 server are deployed with Nova and keystone
[Email protected]:/etc/NOVA # export | grep OS _
Declare-x OS _auth_url = "http: // 127.0.0.1: 35357/V2.0"
Declare-x OS _password = "111"
Declare-x OS _service_endpoint = "http: // 127.0.0.1: 35357/V2.0"
Declare-x OS _service_token = "admin"
Declare-x OS _tenant_name = "admin"
Declare-x OS _username = "admin"
//////////////////////////////////////// ///// // The environment variable of the kk2 server is deployed with glance
[Email protected]:/tmp/images # export | grep OS _
Declare-x OS _auth_url = "http: // 192.168.1.103: 5000/V2.0 /"
Declare-x OS _password = "111"
Declare-x OS _service_endpoint = "http: // 192.168.1.103: 35357/V2.0"
Declare-x OS _service_token = "admin"
Declare-x OS _tenant_name = "admin"
Declare-x OS _username = "admin"
4. View debugging information
Keystone -- debug user-list
5. Nova bug information
(1) [email protected]: ~ # Nova -- service-type image-list
Error: local variable 'OS _ compute_api_version' referenced before assignment
This error indicates that the variable has not been declared.
Solution:
In the dist-packages/novaclient/Sheel. py file
Add the variable OS _compute_api_version = default_ OS _compute_api_version to the main method.
Three cinder Installation notes
//////////////////////////////////////// Cinder is deployed on the kk3 server.
1. The basic steps are the same as the previous steps. The steps provided by the official website are completely correct.
2. Set Environment Variables
[Email protected]:/# export | grep OS _
Declare-x OS _auth_url = "http: // 192.168.1.103: 35357/V2.0"
Declare-x OS _password = "111"
Declare-x OS _service_endpoint = "http: // 192.168.1.103: 35357/V2.0"
Declare-x OS _service_token = "admin"
Declare-x OS _username = "admin"
3. Create Service
[Email protected]:/# keystone service-create -- name = Cinder -- type = Volume -- Description = "openstack Block Storage"
Warning: bypassing authentication using a token & endpoint (authentication credentials are being ignored ).
+ ------------- + ---------------------------------- +
| Property | value |
+ ------------- + ---------------------------------- +
| Description | openstack Block Storage |
| Enabled | true |
| ID | 0e6be79473894ec495ea3f67c9463005 |
| Name | cinder |
| Type | volume |
+ ------------- + ---------------------------------- +
Create endpoint
[Email protected]:/# keystone endpoint-create -- service-id = $ (keystone service-list | awk '/volume/{print $2}') -- publicurl = http: /// 192.168.1.105: 8776/V1
Warning: bypassing authentication using a token & endpoint (authentication credentials are being ignored ).
+ ------------ + ---------------------------------------------- +
| Property | value |
+ ------------ + ---------------------------------------------- +
| ID | 83c48ce596c44f218f89559847d9a4a2 |
| Publicurl | http: // 192.168.1.105: 8776/V1/% (tenant_id) S |
| Region | regionone |
| Service_id | 0e6be79473894ec495ea3f67c9463005 |
+ ------------ + ---------------------------------------------- +
4. Create LVM physical and logical volumes
However, I am stuck here, and it seems that I cannot create it. I don't understand the principle. When creating a system, partitions are default. The problem should be found here.