本文共 39412 字,大约阅读时间需要 131 分钟。
第一篇:
上一篇: 下一篇:[tony@controller ~]$ sudo systemctl stop firewalld[tony@controller ~]$ sudo systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[tony@controller ~]$ cat adminrcexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=$passwordexport OS_AUTH_URL=http://controller:5000/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2[tony@controller ~]$ source adminrc
[tony@controller ~]$ openstack service create --name nova --description "OpenStack Compute" compute+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | OpenStack Compute || enabled | True || id | 5c2b7c41e83f4e8ca7118c0097248cf5 || name | nova || type | compute |+-------------+----------------------------------+
[tony@controller ~]$ openstack user create --domain default --password-prompt nova
User Password: <Enter password>
Repeat User Password: <Repeat password> ±--------------------±---------------------------------+ | Field | Value | ±--------------------±---------------------------------+ | domain_id | default | | enabled | True | | id | 4ecb248c39df4f368a2a4c07805ab784 | | name | nova | | options | {} | | password_expires_at | None | ±--------------------±---------------------------------+
[tony@controller ~]$ openstack role add --project service --user nova admin
[tony@controller ~]$ openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 2e937f5e7a2942418fc759ddcf7bb042 || interface | public || region | RegionOne || region_id | RegionOne || service_id | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova || service_type | compute || url | http://controller:8774/v2.1 |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 69d1fd19e43e47cc978d758ef7aaf7a2 || interface | internal || region | RegionOne || region_id | RegionOne || service_id | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova || service_type | compute || url | http://controller:8774/v2.1 |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 631f58379ade4eb4ae42c743ee2b57e8 || interface | admin || region | RegionOne || region_id | RegionOne || service_id | 5c2b7c41e83f4e8ca7118c0097248cf5 || service_name | nova || service_type | compute || url | http://controller:8774/v2.1 |+--------------+----------------------------------+
[tony@controller ~]$ openstack service create --name placement --description "Placement API" placement+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | Placement API || enabled | True || id | 1b43d96cb1e7407f994189fbe77f6724 || name | placement || type | placement |+-------------+----------------------------------+
[tony@controller ~]$ openstack user create --domain default --password-prompt placementUser Password:Repeat User Password: +---------------------+----------------------------------+| Field | Value |+---------------------+----------------------------------+| domain_id | default || enabled | True || id | 828b032a6cfb467ab98a5986b1168ab3 || name | placement || options | { } || password_expires_at | None |+---------------------+----------------------------------+[tony@controller ~]$ openstack role add --project service --user placement admin
[tony@controller ~]$ openstack endpoint create --region RegionOne placement public http://controller:8778+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 36ef3c5e2b6f45a79651717e07e308ce || interface | public || region | RegionOne || region_id | RegionOne || service_id | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement || service_type | placement || url | http://controller:8778 |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne placement internal http://controller:8778+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | ffa9735e7353483dba0360e23d3078e4 || interface | internal || region | RegionOne || region_id | RegionOne || service_id | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement || service_type | placement || url | http://controller:8778 |+--------------+----------------------------------+[tony@controller ~]$ openstack endpoint create --region RegionOne placement admin http://controller:8778+--------------+----------------------------------+| Field | Value |+--------------+----------------------------------+| enabled | True || id | 13b5952a556e485aa1ebc93badf77485 || interface | admin || region | RegionOne || region_id | RegionOne || service_id | 1b43d96cb1e7407f994189fbe77f6724 || service_name | placement || service_type | placement || url | http://controller:8778 |+--------------+----------------------------------+
[tony@controller ~]$[tony@controller ~]$ openstack catalog list+-----------+-----------+-----------------------------------------+| Name | Type | Endpoints |+-----------+-----------+-----------------------------------------+| placement | placement | RegionOne || | | admin: http://controller:8778 || | | RegionOne || | | public: http://controller:8778 || | | RegionOne || | | internal: http://controller:8778 || | | || keystone | identity | RegionOne || | | admin: http://controller:5000/v3/ || | | RegionOne || | | internal: http://controller:5000/v3/ || | | RegionOne || | | public: http://controller:5000/v3/ || | | || nova | compute | RegionOne || | | public: http://controller:8774/v2.1 || | | RegionOne || | | admin: http://controller:8774/v2.1 || | | RegionOne || | | internal: http://controller:8774/v2.1 || | | || glance | image | RegionOne || | | public: http://controller:9292 || | | RegionOne || | | internal: http://controller:9292 || | | RegionOne || | | admin: http://controller:9292 || | | |+-----------+-----------+-----------------------------------------+
[tony@controller ~]$ sudo yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
# 事实上,原始配置文件所有的配置选项都是注释掉的。[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E '^$|^#'[DEFAULT]...[zvm]
[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E '^$|^#'
[DEFAULT]
my_ip = 172.18.22.231 enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:$password@controller use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver [api] auth_strategy = keystone [api_database] connection = mysql+pymysql://nova:$password@controller/nova_api [barbican] [cache] [cells] [cinder] [compute] [conductor] [console] [consoleauth] [cors] [database] connection = mysql+pymysql://nova:$password@controller/nova [devices] [ephemeral_storage_encryption] [filter_scheduler] [glance] api_servers = [guestfs] [healthcheck] [hyperv] [ironic] [key_manager] [keystone] [keystone_authtoken] auth_url = memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = $password [libvirt] [matchmaker_redis] [metrics] [mks] [neutron] [notifications] [osapi_v21] [oslo_concurrency] lock_path = /var/lib/nova/tmp [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [pci] [placement] region_name = RegionOne project_domain_name = Default project_name = service user_domain_name = Default auth_type = password auth_url = username = placement password = $password [placement_database] [powervm] [profiler] [quota] [rdp] [remote_debug] [scheduler] [serial_console] [service_user] [spice] [upgrade_levels] [vault] [vendordata_dynamic_auth] [vmware] [vnc] enabled = true server_listen = $my_ip server_proxyclient_address = $my_ip [workarounds] [wsgi] [xenserver] [xvp] [zvm]
[tony@controller ~]$ mysql -u root -pEnter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 55 Server version: 10.1.20-MariaDB MariaDB Server Copyright © 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. MariaDB [(none)]> create database nova_api; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> create database nova; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> create database nova_cell0; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> create database placement; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova_api.* to ‘nova’@‘localhost’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova_api.* to ‘nova’@’%’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova.* to ‘nova’@‘localhost’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova.* to ‘nova’@’%’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova_cell0.* to ‘nova’@‘localhost’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on nova_cell0.* to ‘nova’@’%’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on placement.* to ‘placement’@‘localhost’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> grant all privileges on placement.* to ‘placement’@’%’ identified by ‘$password’; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage api_db sync" nova
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova
WARNING: cell0 mapping not found - not syncing cell0.
/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate indexblock_device_mapping_instance_uuid_virtual_name_device_name_idx
. This is deprecated and will be disallowed in a future release.’) result = self._query(query) /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate indexuniq_instances0uuid
. This is deprecated and will be disallowed in a future release.’) result = self._query(query)
注:第一次执行本步骤,可以忽略下面的注释
后续步骤中 $sudo nova-status upgrade check 命令报错,又重新初始化了一次数据库,就没有第一个红色的Warning了。nova-status命令也正常执行了。具体原因待查。# 命令出错[tony@tony-controller ~]$ sudo nova-status upgrade checkError:Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 795, in main ret = fn(*fn_args, **fn_kwargs) File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 725, in check result = func(self) File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 206, in _check_placement versions = self._placement_get("/") File "/usr/lib/python2.7/site-packages/nova/cmd/status.py", line 196, in _placement_get return client.get(path, raise_exc=True).json() File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 328, in get return self.request(url, 'GET', **kwargs) File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 213, in request return self.session.request(url, method, **kwargs) File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 869, in request raise exceptions.from_response(resp, method, url)InternalServerError: Internal Server Error (HTTP 500)# 重新初始化数据库[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage api_db sync" nova[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova# 程序正常执行[tony@tony-controller ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results |+--------------------------------+| Check: Cells v2 || Result: Success || Details: None |+--------------------------------+| Check: Placement API || Result: Success || Details: None |+--------------------------------+| Check: Resource Providers || Result: Success || Details: None |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success || Details: None |+--------------------------------+| Check: API Service Version || Result: Success || Details: None |+--------------------------------+| Check: Request Spec Migration || Result: Success || Details: None |+--------------------------------+| Check: Console Auths || Result: Success || Details: None |+--------------------------------+
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
注:在注册cell0数据库之后,重新初始化一下Nova数据库,也就没有第一个Warning了。
[tony@tony-controller ~]$ sudo su -s /bin/sh -c "nova-manage db sync" nova/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `block_device_mapping_instance_uuid_virtual_name_device_name_idx`. This is deprecated and will be disallowed in a future release.') result = self._query(query)/usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `uniq_instances0uuid`. This is deprecated and will be disallowed in a future release.') result = self._query(query)
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" novac1a3197c-cbd1-4554-881b-f405ea4b1c74
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+
| Name | UUID | Transport URL | Database Connection | Disabled | ±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:@controller/nova_cell0 | False | | cell1 | c1a3197c-cbd1-4554-881b-f405ea4b1c74 | rabbit://openstack:@controller | mysql+pymysql://nova:****@controller/nova | False | ±------±-------------------------------------±-----------------------------------±------------------------------------------------±---------+
[tony@controller ~]$ sudo cat /etc/httpd/conf.d/00-nova-placement-api.conf
Listen 8778
<VirtualHost *:8778> WSGIProcessGroup nova-placement-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On WSGIDaemonProcess nova-placement-api processes=3 threads=1 user=nova group=nova WSGIScriptAlias / /usr/bin/nova-placement-api <IfVersion >= 2.4> ErrorLogFormat “%M” </IfVersion> ErrorLog /var/log/nova/nova-placement-api.log #SSLEngine On #SSLCertificateFile … #SSLCertificateKeyFile … <Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow, deny Allow from all </IfVersion> </Directory> </VirtualHost> Alias /nova-placement-api /usr/bin/nova-placement-api <Location /nova-placement-api> SetHandler wsgi-script Options +ExecCGI WSGIProcessGroup nova-placement-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On </Location>
[tony@controller ~]$ sudo systemctl restart httpd[tony@controller ~]$ sudo systemctl status httpd● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:01:19 EDT; 8s ago Docs: man:httpd(8) man:apachectl(8) Process: 95486 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 95497 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─95497 /usr/sbin/httpd -DFOREGROUND ├─95498 /usr/sbin/httpd -DFOREGROUND ├─95499 /usr/sbin/httpd -DFOREGROUND ├─95500 /usr/sbin/httpd -DFOREGROUND ├─95501 (wsgi:keystone- -DFOREGROUND ├─95502 (wsgi:keystone- -DFOREGROUND ├─95503 (wsgi:keystone- -DFOREGROUND ├─95504 (wsgi:keystone- -DFOREGROUND ├─95505 (wsgi:keystone- -DFOREGROUND ├─95506 /usr/sbin/httpd -DFOREGROUND ├─95507 /usr/sbin/httpd -DFOREGROUND ├─95508 /usr/sbin/httpd -DFOREGROUND ├─95509 /usr/sbin/httpd -DFOREGROUND └─95510 /usr/sbin/httpd -DFOREGROUNDApr 08 03:01:19 controller systemd[1]: Starting The Apache HTTP Server...Apr 08 03:01:19 controller systemd[1]: Started The Apache HTTP Server.
# 启用服务[tony@controller ~]$ sudo systemctl enable openstack-nova-api.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-api.service to /usr/lib/systemd/system/openstack-nova-api.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-consoleauthCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service to /usr/lib/systemd/system/openstack-nova-consoleauth.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-scheduler.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service to /usr/lib/systemd/system/openstack-nova-scheduler.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-conductor.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service to /usr/lib/systemd/system/openstack-nova-conductor.service.[tony@controller ~]$ sudo systemctl enable openstack-nova-novncproxy.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service to /usr/lib/systemd/system/openstack-nova-novncproxy.service.# 启动服务[tony@controller ~]$ sudo systemctl start openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service# 检查服务状态[tony@controller ~]$ sudo systemctl status openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
● openstack-nova-api.service - OpenStack Nova API Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-api.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:07:24 EDT; 7s ago Main PID: 96191 (nova-api) CGroup: /system.slice/openstack-nova-api.service ├─96191 /usr/bin/python2 /usr/bin/nova-api ├─96271 /usr/bin/python2 /usr/bin/nova-api ├─96272 /usr/bin/python2 /usr/bin/nova-api ├─96273 /usr/bin/python2 /usr/bin/nova-api ├─96274 /usr/bin/python2 /usr/bin/nova-api ├─96279 /usr/bin/python2 /usr/bin/nova-api ├─96281 /usr/bin/python2 /usr/bin/nova-api ├─96282 /usr/bin/python2 /usr/bin/nova-api └─96283 /usr/bin/python2 /usr/bin/nova-apiApr 08 03:07:15 controller systemd[1]: Starting OpenStack Nova API Server...Apr 08 03:07:24 controller systemd[1]: Started OpenStack Nova API Server.● openstack-nova-consoleauth.service - OpenStack Nova VNC console auth Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-consoleauth.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:07:19 EDT; 11s ago Main PID: 96192 (nova-consoleaut) CGroup: /system.slice/openstack-nova-consoleauth.service └─96192 /usr/bin/python2 /usr/bin/nova-consoleauthApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova VNC console auth Server...Apr 08 03:07:19 controller systemd[1]: Started OpenStack Nova VNC console auth Server.● openstack-nova-scheduler.service - OpenStack Nova Scheduler Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-scheduler.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:07:21 EDT; 9s ago Main PID: 96193 (nova-scheduler) CGroup: /system.slice/openstack-nova-scheduler.service ├─96193 /usr/bin/python2 /usr/bin/nova-scheduler ├─96258 /usr/bin/python2 /usr/bin/nova-scheduler ├─96259 /usr/bin/python2 /usr/bin/nova-scheduler ├─96260 /usr/bin/python2 /usr/bin/nova-scheduler └─96262 /usr/bin/python2 /usr/bin/nova-schedulerApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova Scheduler Server...Apr 08 03:07:21 controller systemd[1]: Started OpenStack Nova Scheduler Server.● openstack-nova-conductor.service - OpenStack Nova Conductor Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-conductor.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:07:20 EDT; 10s ago Main PID: 96194 (nova-conductor) CGroup: /system.slice/openstack-nova-conductor.service ├─96194 /usr/bin/python2 /usr/bin/nova-conductor ├─96248 /usr/bin/python2 /usr/bin/nova-conductor ├─96250 /usr/bin/python2 /usr/bin/nova-conductor ├─96251 /usr/bin/python2 /usr/bin/nova-conductor └─96252 /usr/bin/python2 /usr/bin/nova-conductorApr 08 03:07:16 controller systemd[1]: Starting OpenStack Nova Conductor Server...Apr 08 03:07:20 controller systemd[1]: Started OpenStack Nova Conductor Server.● openstack-nova-novncproxy.service - OpenStack Nova NoVNC Proxy Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-novncproxy.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:07:16 EDT; 15s ago Main PID: 96195 (nova-novncproxy) CGroup: /system.slice/openstack-nova-novncproxy.service └─96195 /usr/bin/python2 /usr/bin/nova-novncproxy --web /usr/share/novnc/Apr 08 03:07:16 controller systemd[1]: Started OpenStack Nova NoVNC Proxy Server.
[tony@controller ~]$ openstack compute service list+----+------------------+------------+----------+---------+-------+----------------------------+| ID | Binary | Host | Zone | Status | State | Updated At |+----+------------------+------------+----------+---------+-------+----------------------------+| 1 | nova-consoleauth | controller | internal | enabled | up | 2019-04-08T07:10:35.000000 || 2 | nova-conductor | controller | internal | enabled | up | 2019-04-08T07:10:26.000000 || 3 | nova-scheduler | controller | internal | enabled | up | 2019-04-08T07:10:27.000000 |+----+------------------+------------+----------+---------+-------+----------------------------+
[tony@controller ~]$ sudo yum -y install openstack-nova-compute
[tony@controller ~]$ diff /tmp/nova.origin.conf /tmp/nova.new.conf6a7,8> compute_driver = libvirt.LibvirtDriver> instances_path = /var/lib/nova/instances24a27,31> [vnc]> enabled = true> server_listen = 0.0.0.0> server_proxyclient_address = $my_ip> novncproxy_base_url = http://controller:6080/vnc_auto.html42a50> virt_type = qemu68a77> connection = mysql+pymysql://placement:$password@controller/placement
[tony@controller ~]$ sudo cat /etc/nova/nova.conf | grep -v -E '^$|^#'
[DEFAULT]
my_ip = 172.18.22.231 enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:$password@controller use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver compute_driver = libvirt.LibvirtDriver instances_path = /var/lib/nova/instances [api] auth_strategy = keystone [api_database] connection = mysql+pymysql://nova:$password@controller/nova_api [barbican] … [database] connection = mysql+pymysql://nova:$password@controller/nova [devices] … [vnc] enabled = true server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = [glance] api_servers = [guestfs] … [keystone_authtoken] auth_url = memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = $password [libvirt] virt_type = qemu [matchmaker_redis] … [oslo_concurrency] lock_path = /var/lib/nova/tmp [oslo_messaging_amqp] … [pci] [placement] region_name = RegionOne project_domain_name = Default project_name = service user_domain_name = Default auth_type = password auth_url = username = placement password = $password [placement_database] connection = mysql+pymysql://placement:$password@controller/placement [powervm] … [workarounds]
[tony@controller ~]$ sudo systemctl enable libvirtd.service openstack-nova-compute.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-compute.service to /usr/lib/systemd/system/openstack-nova-compute.service.[tony@controller ~]$ sudo systemctl start libvirtd.service openstack-nova-compute.service[tony@controller ~]$ sudo systemctl status libvirtd.service openstack-nova-compute.service● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-04-08 03:41:40 EDT; 9s ago Docs: man:libvirtd(8) https://libvirt.org Main PID: 102617 (libvirtd) Tasks: 17 (limit: 32768) CGroup: /system.slice/libvirtd.service └─102617 /usr/sbin/libvirtdApr 08 03:41:40 controller systemd[1]: Starting Virtualization daemon...Apr 08 03:41:40 controller systemd[1]: Started Virtualization daemon.● openstack-nova-compute.service - OpenStack Nova Compute Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-compute.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 03:41:43 EDT; 6s ago Main PID: 102635 (nova-compute) Tasks: 22 CGroup: /system.slice/openstack-nova-compute.service └─102635 /usr/bin/python2 /usr/bin/nova-computeApr 08 03:41:40 controller systemd[1]: Starting OpenStack Nova Compute Server...Apr 08 03:41:43 controller systemd[1]: Started OpenStack Nova Compute Server.
[tony@controller ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" novaFound 2 cell mappings.Skipping cell0 since it does not contain hosts.Getting computes from cell 'cell1': c1a3197c-cbd1-4554-881b-f405ea4b1c74Checking host mapping for compute host 'controller': 090c321b-7c7d-496f-bbcb-1f5360034cc8Creating host mapping for compute host 'controller': 090c321b-7c7d-496f-bbcb-1f5360034cc8Found 1 unmapped computes in cell: c1a3197c-cbd1-4554-881b-f405ea4b1c74
[tony@controller ~]$ openstack compute service list
±—±-----------------±-----------±---------±--------±------±---------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At | ±—±-----------------±-----------±---------±--------±------±---------------------------+ | 1 | nova-consoleauth | controller | internal | enabled | up | 2019-04-08T07:46:36.000000 | | 2 | nova-conductor | controller | internal | enabled | up | 2019-04-08T07:46:36.000000 | | 3 | nova-scheduler | controller | internal | enabled | up | 2019-04-08T07:46:37.000000 | | 7 | nova-compute | controller | nova | enabled | up | 2019-04-08T07:46:42.000000 | ±—±-----------------±-----------±---------±--------±------±---------------------------+
[tony@controller ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results |+--------------------------------+| Check: Cells v2 || Result: Success || Details: None |+--------------------------------+| Check: Placement API || Result: Success || Details: None |+--------------------------------+| Check: Resource Providers || Result: Success || Details: None |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success || Details: None |+--------------------------------+| Check: API Service Version || Result: Success || Details: None |+--------------------------------+| Check: Request Spec Migration || Result: Success || Details: None |+--------------------------------+| Check: Console Auths || Result: Success || Details: None |+--------------------------------+
[tony@compute ~]$ sudo systemctl stop firewalld[tony@compute ~]$ sudo systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
# 安装软件包[tony@compute ~]$ sudo yum install -y openstack-nova-compute# 设置配置文件[tony@compute ~]$ sudo cp /etc/nova/nova.conf /etc/nova/nova.conf.origin[tony@compute ~]$ sudo vim /etc/nova/nova.conf[DEFAULT]my_ip = 172.18.22.232enabled_apis = osapi_compute,metadatatransport_url = rabbit://openstack:$password@controlleruse_neutron = truefirewall_driver = nova.virt.firewall.NoopFirewallDrivercompute_driver = libvirt.LibvirtDriverinstances_path = /var/lib/nova/instances[api]auth_strategy = keystone[api_database]connection = mysql+pymysql://nova:$password@controller/nova_api[barbican][cache][cells][cinder][compute][conductor][console][consoleauth][cors][database]connection = mysql+pymysql://nova:$password@controller/nova[devices][ephemeral_storage_encryption][filter_scheduler][glance]api_servers = http://controller:9292[guestfs][healthcheck][hyperv][ironic][key_manager][keystone][keystone_authtoken]auth_url = http://controller:5000/v3memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = $password[libvirt]virt_type = qemu[matchmaker_redis][metrics][mks][neutron][notifications][osapi_v21][oslo_concurrency][oslo_messaging_amqp][oslo_messaging_kafka][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][pci][placement]region_name = RegionOneproject_domain_name = Defaultproject_name = serviceuser_domain_name = Defaultauth_type = passwordauth_url = http://controller:5000/v3username = placementpassword = $password[placement_database]connection = mysql+pymysql://placement:$password@controller/placement[powervm][profiler][quota][rdp][remote_debug][scheduler][serial_console][service_user][spice][upgrade_levels][vault][vendordata_dynamic_auth][vmware][vnc]enabled = trueserver_listen = 0.0.0.0server_proxyclient_address = $my_ipnovncproxy_base_url = http://controller:6080/vnc_auto.html[workarounds][wsgi][xenserver][xvp][zvm]# 启用并启动服务[tony@compute ~]$ sudo systemctl enable libvirtd.service openstack-nova-compute.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-compute.service to /usr/lib/systemd/system/openstack-nova-compute.service.[tony@compute ~]$ sudo systemctl start libvirtd.service openstack-nova-compute.service[tony@compute ~]$ sudo systemctl status libvirtd.service openstack-nova-compute.service● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-04-08 04:31:49 EDT; 9s ago Docs: man:libvirtd(8) https://libvirt.org Main PID: 33687 (libvirtd) Tasks: 17 (limit: 32768) CGroup: /system.slice/libvirtd.service └─33687 /usr/sbin/libvirtdApr 08 04:31:49 compute systemd[1]: Starting Virtualization daemon...Apr 08 04:31:49 compute systemd[1]: Started Virtualization daemon.● openstack-nova-compute.service - OpenStack Nova Compute Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-compute.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2019-04-08 04:31:52 EDT; 6s ago Main PID: 33705 (nova-compute) Tasks: 22 CGroup: /system.slice/openstack-nova-compute.service └─33705 /usr/bin/python2 /usr/bin/nova-computeApr 08 04:31:49 compute systemd[1]: Starting OpenStack Nova Compute Server...Apr 08 04:31:52 compute systemd[1]: Started OpenStack Nova Compute Server.# 注册[tony@compute ~]$ sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" novaFound 2 cell mappings.Skipping cell0 since it does not contain hosts.Getting computes from cell 'cell1': c1a3197c-cbd1-4554-881b-f405ea4b1c74Checking host mapping for compute host 'compute': 005dfe34-54f3-4982-b2f8-43b81ae673fdCreating host mapping for compute host 'compute': 005dfe34-54f3-4982-b2f8-43b81ae673fdFound 1 unmapped computes in cell: c1a3197c-cbd1-4554-881b-f405ea4b1c74# 忘记设置admin鉴权信息了[tony@compute ~]$ openstack compute service listMissing value auth-url required for auth plugin password[tony@compute ~]$ vim adminrcexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=$passwordexport OS_AUTH_URL=http://controller:5000/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2[tony@compute ~]$ source adminrc[tony@compute ~]$ openstack compute service list+----+------------------+------------+----------+---------+-------+----------------------------+| ID | Binary | Host | Zone | Status | State | Updated At |+----+------------------+------------+----------+---------+-------+----------------------------+| 1 | nova-consoleauth | controller | internal | enabled | up | 2019-04-08T08:33:17.000000 || 2 | nova-conductor | controller | internal | enabled | up | 2019-04-08T08:33:21.000000 || 3 | nova-scheduler | controller | internal | enabled | up | 2019-04-08T08:33:12.000000 || 7 | nova-compute | controller | nova | enabled | up | 2019-04-08T08:33:21.000000 || 8 | nova-compute | compute | nova | enabled | up | 2019-04-08T08:33:18.000000 |+----+------------------+------------+----------+---------+-------+----------------------------+[tony@compute ~]$ sudo nova-status upgrade check+--------------------------------+| Upgrade Check Results |+--------------------------------+| Check: Cells v2 || Result: Success || Details: None |+--------------------------------+| Check: Placement API || Result: Success || Details: None |+--------------------------------+| Check: Resource Providers || Result: Success || Details: None |+--------------------------------+| Check: Ironic Flavor Migration || Result: Success || Details: None |+--------------------------------+| Check: API Service Version || Result: Success || Details: None |+--------------------------------+| Check: Request Spec Migration || Result: Success || Details: None |+--------------------------------+| Check: Console Auths || Result: Success || Details: None |+--------------------------------+
自此,controller与compute1机器上的nova模块安装成功。
第一篇:
上一篇: 下一篇:转载地址:http://rvpof.baihongyu.com/