目标:
1研究核心组件nova,neutron,cinder,ironic原理 2安装openstack queen版本
零、环境
1)win10中安装VMware-workstation-full-15.0.2 2)VMware中通过CentOS-7-x86_64-DVD-1511.iso安装Centos虚机 该Centos虚机配置信息如下面截图所示:

3)在该Centos虚机中通过packstack安装openstack queen版本
一、安装openstack
1 设置语言环境
vi /etc/environment 添加如下内容
LANG=en_US.utf-8 LC_ALL=en_US.utf-8
2 设置网络相关信息
禁用firewalld、NetworkManager
sudo systemctl disable firewalld sudo systemctl stop firewalld sudo systemctl disable NetworkManager sudo systemctl stop NetworkManager sudo systemctl enable network sudo systemctl start network
sudo vi /etc/selinux/config 修改SELINUX=disabled sudo setenfore 0
3 安装openstack queens版本
yum install -y centos-release-openstack-queens yum install -y epel-release yum -y install openstack-packstack python-pip packstack --allinone
参考: https://www.cnblogs.com/chenpengzi/p/9993477.html https://blog.csdn.net/wh211212/article/details/80858083
4 安装成功信息
4.1 安装日志
[root@localhost yum.repos.d]# systemctl stop firewalld && systemctl disable firewalld [root@localhost yum.repos.d]# systemctl stop NetworkManager && systemctl disable NetworkManager [root@localhost yum.repos.d]# packstack --allinone Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20210219-193942-w19R6O/openstack-setup.log
Installing: Clean Up [ DONE ] Discovering ip protocol version [ DONE ] Setting up ssh keys [ DONE ] Preparing servers [ DONE ] Pre installing Puppet and discovering hosts' details [ DONE ] Preparing pre-install entries [ DONE ] Setting up CACERT [ DONE ] Preparing AMQP entries [ DONE ] Preparing MariaDB entries [ DONE ] Fixing Keystone LDAP config parameters to be undef if empty[ DONE ] Preparing Keystone entries [ DONE ] Preparing Glance entries [ DONE ] Checking if the Cinder server has a cinder-volumes vg[ DONE ] Preparing Cinder entries [ DONE ] Preparing Nova API entries [ DONE ] Creating ssh keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] Preparing Nova Compute entries [ DONE ] Preparing Nova Scheduler entries [ DONE ] Preparing Nova VNC Proxy entries [ DONE ] Preparing OpenStack Network-related Nova entries [ DONE ] Preparing Nova Common entries [ DONE ] Preparing Neutron LBaaS Agent entries [ DONE ] Preparing Neutron API entries [ DONE ] Preparing Neutron L3 entries [ DONE ] Preparing Neutron L2 Agent entries [ DONE ] Preparing Neutron DHCP Agent entries [ DONE ] Preparing Neutron Metering Agent entries [ DONE ] Checking if NetworkManager is enabled and running [ DONE ] Preparing OpenStack Client entries [ DONE ] Preparing Horizon entries [ DONE ] Preparing Swift builder entries [ DONE ] Preparing Swift proxy entries [ DONE ] Preparing Swift storage entries [ DONE ] Preparing Gnocchi entries [ DONE ] Preparing Redis entries [ DONE ] Preparing Ceilometer entries [ DONE ] Preparing Aodh entries [ DONE ] Preparing Puppet manifests [ DONE ] Copying Puppet modules and manifests [ DONE ] Applying 192.168.5.128_controller.pp Testing if puppet apply is finished: 192.168.5.128_controller.pp [ / ]
192.168.5.128_controller.pp: [ DONE ] Applying 192.168.5.128_network.pp 192.168.5.128_network.pp: [ DONE ] Applying 192.168.5.128_compute.pp Testing if puppet apply is finished: 192.168.5.128_compute.pp [ - ] Testing if puppet apply is finished: 192.168.5.128_compute.pp [ | ]
Testing if puppet apply is finished: 192.168.5.128_compute.pp [ | ] Testing if puppet apply is finished: 192.168.5.128_compute.pp [ \ ]
Testing if puppet apply is finished: 192.168.5.128_compute.pp [ | ] Testing if puppet apply is finished: 192.168.5.128_compute.pp [ \ ] 192.168.5.128_compute.pp: [ DONE ] Applying Puppet manifests [ DONE ] Finalizing [ DONE ]
**** Installation completed successfully ******
Additional information: * A new answerfile was created in: /root/packstack-answers-20210219-193943.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * File /root/keystonerc_admin has been created on OpenStack client host 192.168.5.128. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.5.128/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * The installation log file is available at: /var/tmp/packstack/20210219-193942-w19R6O/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20210219-193942-w19R6O/manifests [root@localhost yum.repos.d]#
4.2 登录成功后的界面

5 遇到的问题以及解决的方法
1)
Testing if puppet apply is finished: 192.168.5.128_controller.pp [ / ]
192.168.5.128_controller.pp: [ ERROR ] Applying Puppet manifests [ ERROR ]
ERROR : Error appeared during Puppet run: 192.168.5.128_controller.pp Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-cinder' returned 1: Error downloading packages: You will find full trace in log /var/tmp/packstack/20210219-111444-YvVh1d/manifests/192.168.5.128_controller.pp.log Please check log file /var/tmp/packstack/20210219-111444-YvVh1d/openstack-setup.log for more information Additional information:
解决方法: 根据报错信息为 /usr/bin/yum -d 0 -e 0 -y install openstack-cinder 下载失败 实际上是因为安装的时候没有安装epel-release,导致openstack-cinder 安装失败 执行: yum -y install epel-release 然后继续执行: /usr/bin/yum -d 0 -e 0 -y install openstack-cinder 然后执行:
packstack --allinone
2)安装时卡在 Testing if puppet apply is finished: 192.168.5.128_controller.pp [ - ]
原因: 需要关闭之前说的防火墙 解决方法: 先停止 packstack --allinone的安装,然后执行如下命令: systemctl stop firewalld && systemctl disable firewalld systemctl stop NetworkManager && systemctl disable NetworkManager packstack --allinone
3) 登录openstack界面报错
登录Openstack界面网址报internal 错误 后查看horizon的错误日志: cd /var/log/httpd cat horizon_error.log 报错信息如下:
[Fri Feb 19 20:31:19.543260 2021] [:error] [pid 17251] [remote 192.168.5.128:136] mod_wsgi (pid=17251): Target WSGI script '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi' cannot be loaded as Python module. [Fri Feb 19 20:31:19.543331 2021] [:error] [pid 17251] [remote 192.168.5.128:136] mod_wsgi (pid=17251): Exception occurred processing WSGI script '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi'. [Fri Feb 19 20:31:19.543374 2021] [:error] [pid 17251] [remote 192.168.5.128:136] Traceback (most recent call last): [Fri Feb 19 20:31:19.543401 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi", line 23, in <module> [Fri Feb 19 20:31:19.543448 2021] [:error] [pid 17251] [remote 192.168.5.128:136] from django.core.wsgi import get_wsgi_application [Fri Feb 19 20:31:19.543457 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib/python2.7/site-packages/django/core/wsgi.py", line 2, in <module> [Fri Feb 19 20:31:19.543478 2021] [:error] [pid 17251] [remote 192.168.5.128:136] from django.core.handlers.wsgi import WSGIHandler [Fri Feb 19 20:31:19.543486 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 3, in <module> [Fri Feb 19 20:31:19.543502 2021] [:error] [pid 17251] [remote 192.168.5.128:136] import cgi [Fri Feb 19 20:31:19.543510 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib64/python2.7/cgi.py", line 50, in <module> [Fri Feb 19 20:31:19.543525 2021] [:error] [pid 17251] [remote 192.168.5.128:136] import mimetools [Fri Feb 19 20:31:19.543533 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib64/python2.7/mimetools.py", line 6, in <module> [Fri Feb 19 20:31:19.543547 2021] [:error] [pid 17251] [remote 192.168.5.128:136] import tempfile [Fri Feb 19 20:31:19.543554 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib64/python2.7/tempfile.py", line 35, in <module> [Fri Feb 19 20:31:19.543567 2021] [:error] [pid 17251] [remote 192.168.5.128:136] from random import Random as _Random [Fri Feb 19 20:31:19.543574 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib64/python2.7/random.py", line 49, in <module> [Fri Feb 19 20:31:19.543587 2021] [:error] [pid 17251] [remote 192.168.5.128:136] import hashlib as _hashlib [Fri Feb 19 20:31:19.543594 2021] [:error] [pid 17251] [remote 192.168.5.128:136] File "/usr/lib64/python2.7/hashlib.py", line 116, in <module> [Fri Feb 19 20:31:19.543607 2021] [:error] [pid 17251] [remote 192.168.5.128:136] import _hashlib [Fri Feb 19 20:31:19.543630 2021] [:error] [pid 17251] [remote 192.168.5.128:136]
根据如下参考的文章: https://statusblog.webfaction.com/2018/05/16/regarding-glibc_private-errors-in-your-python-application/ 大致的意思是httpd需要重启来解决,
解决方法: [root@localhost www]# systemctl stop httpd
[root@localhost www]# [root@localhost www]# [root@localhost www]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─openstack-dashboard.conf Active: inactive (dead) since Fri 2021-02-19 21:33:52 CST; 4s ago Docs: man:httpd(8) man:apachectl(8) Process: 71266 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Process: 71115 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=0/SUCCESS) Process: 70667 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force -v0 (code=exited, status=0/SUCCESS) Process: 70632 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear -v0 (code=exited, status=0/SUCCESS) Main PID: 71115 (code=exited, status=0/SUCCESS) Status: "Processing requests..."
Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.084145 2021] [so:warn] [pid 71115] AH01574: module dav_mod...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.084167 2021] [so:warn] [pid 71115] AH01574: module dav_fs_...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.091091 2021] [so:warn] [pid 71115] AH01574: module mpm_pre...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.114434 2021] [so:warn] [pid 71115] AH01574: module systemd...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.114651 2021] [so:warn] [pid 71115] AH01574: module cgi_mod...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.114712 2021] [so:warn] [pid 71115] AH01574: module wsgi_mo...ipping Feb 19 21:33:48 localhost.localdomain httpd[71115]: [Fri Feb 19 21:33:48.127262 2021] [alias:warn] [pid 71115] AH00671: The Alias d...Alias. Feb 19 21:33:48 localhost.localdomain systemd[1]: Started The Apache HTTP Server. Feb 19 21:33:51 localhost.localdomain systemd[1]: Stopping The Apache HTTP Server... Feb 19 21:33:52 localhost.localdomain systemd[1]: Stopped The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full. [root@localhost www]# systemctl start httpd [root@localhost www]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─openstack-dashboard.conf Active: active (running) since Fri 2021-02-19 21:35:25 CST; 16s ago Docs: man:httpd(8) man:apachectl(8) Process: 71266 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Process: 71522 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force -v0 (code=exited, status=0/SUCCESS) Process: 71436 ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear -v0 (code=exited, status=0/SUCCESS) Main PID: 71919 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─71919 /usr/sbin/httpd -DFOREGROUND ├─71921 aodh_wsgi -DFOREGROUND ├─71922 aodh_wsgi -DFOREGROUND ├─71923 aodh_wsgi -DFOREGROUND ├─71924 aodh_wsgi -DFOREGROUND ├─71925 gnocchi_wsgi -DFOREGROUND ├─71926 gnocchi_wsgi -DFOREGROUND ├─71927 gnocchi_wsgi -DFOREGROUND ├─71928 gnocchi_wsgi -DFOREGROUND ├─71929 keystone-admin -DFOREGROUND ├─71930 keystone-admin -DFOREGROUND ├─71931 keystone-admin -DFOREGROUND ├─71932 keystone-admin -DFOREGROUND ├─71933 keystone-main -DFOREGROUND ├─71934 keystone-main -DFOREGROUND ├─71935 keystone-main -DFOREGROUND ├─71936 keystone-main -DFOREGROUND ├─71937 placement_wsgi -DFOREGROUND ├─71938 placement_wsgi -DFOREGROUND ├─71939 placement_wsgi -DFOREGROUND ├─71940 placement_wsgi -DFOREGROUND ├─71941 horizon -DFOREGROUND ├─71945 horizon -DFOREGROUND ├─71946 horizon -DFOREGROUND ├─71947 /usr/sbin/httpd -DFOREGROUND ├─71948 /usr/sbin/httpd -DFOREGROUND ├─71951 /usr/sbin/httpd -DFOREGROUND ├─71952 /usr/sbin/httpd -DFOREGROUND ├─71953 /usr/sbin/httpd -DFOREGROUND ├─71954 /usr/sbin/httpd -DFOREGROUND ├─71955 /usr/sbin/httpd -DFOREGROUND └─71956 /usr/sbin/httpd -DFOREGROUND
Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.910343 2021] [so:warn] [pid 71919] AH01574: module version...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.910377 2021] [so:warn] [pid 71919] AH01574: module vhost_a...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.910516 2021] [so:warn] [pid 71919] AH01574: module dav_mod...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.910542 2021] [so:warn] [pid 71919] AH01574: module dav_fs_...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.912940 2021] [so:warn] [pid 71919] AH01574: module mpm_pre...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.925288 2021] [so:warn] [pid 71919] AH01574: module systemd...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.925521 2021] [so:warn] [pid 71919] AH01574: module cgi_mod...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.925592 2021] [so:warn] [pid 71919] AH01574: module wsgi_mo...ipping Feb 19 21:35:24 localhost.localdomain httpd[71919]: [Fri Feb 19 21:35:24.935524 2021] [alias:warn] [pid 71919] AH00671: The Alias d...Alias. Feb 19 21:35:25 localhost.localdomain systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
参考资料: https://www.cnblogs.com/chenpengzi/p/9993477.html https://blog.csdn.net/wh211212/article/details/80858083 https://statusblog.webfaction.com/2018/05/16/regarding-glibc_private-errors-in-your-python-application/
|