继续前面的part1,将后续的compute以及network部分的安装过程记录完毕!
首先说说compute部分nova的安装。
n1。准备工作。创建数据库,配置权限!(密码依旧是openstack,还是在controller节点机器node0上操作)
1 mysql -u root -p 2 CREATE DATABASE nova; 3 GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS'; 4 GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
n2. 配置环境
1 source admin-openrc.sh
n3. 创建nova用户并添加role。
1 openstack user create --domain default --password-prompt nova 2 openstack role add --project service --user nova admin
n4.创建服务并建立endpoint。
1 openstack service create --name nova --description "OpenStack Compute" compute 2 openstack endpoint create --region RegionOne compute public http://node0:8774/v2/%\(tenant_id\)s 3 openstack endpoint create --region RegionOne compute internal http://node0:8774/v2/%\(tenant_id\)s 4 openstack endpoint create --region RegionOne compute admin http://node0:8774/v2/%\(tenant_id\)s
n5.安装组建。
1 yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
n6.配置/etc/nova/nova.conf
1 [DEFAULT] 2 rpc_backend = rabbit 3 auth_strategy = keystone 4 my_ip = 192.168.1.100 5 network_api_class = nova.network.neutronv2.api.API 6 security_group_api = neutron 7 linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver 8 firewall_driver = nova.virt.firewall.NoopFirewallDriver 9 enabled_apis=osapi_compute,metadata 10 verbose = True 11 12 [oslo_messaging_rabbit] 13 rabbit_host = node0 14 rabbit_userid = openstack 15 rabbit_password = openstack 16 17 [database] 18 connection = mysql://nova:openstack@node0/nova 19 20 [keystone_authtoken] 21 auth_uri = http://node0:5000 22 auth_url = http://node0:35357 23 auth_plugin = password 24 project_domain_id = default 25 user_domain_id = default 26 project_name = service 27 username = nova 28 password = openstack 29 30 [vnc] 31 vncserver_listen = $my_ip 32 vncserver_proxyclient_address = $my_ip 33 34 [glance] 35 host = node0 36 37 [oslo_concurrency] 38 lock_path = /var/lib/nova/tmp
n7. 同步数据库
1 su -s /bin/sh -c "nova-manage db sync" nova
n8. 启动服务
1 systemctl enable openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service 2 3 systemctl start openstack-nova-api.service openstack-nova-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
在这一步遇到了错误,主要是systemctl start openstack-nova-api.service的错误,没有权限!错误信息如下:
1 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 CRITICAL nova [-] OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/keys' 2 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova Traceback (most recent call last): 3 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/bin/nova-api", line 10, in <module> 4 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova sys.exit(main()) 5 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/cmd/api.py", line 55, in main 6 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova server = service.WSGIService(api, use_ssl=should_use_ssl) 7 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/service.py", line 328, in __init__ 8 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova self.app = self.loader.load_app(name) 9 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/wsgi.py", line 543, in load_app 10 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return deploy.loadapp("config:%s" % self.config_path, name=name) 11 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp 12 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return loadobj(APP, uri, name=name, **kw) 13 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj 14 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return context.create() 15 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create 16 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return self.object_type.invoke(self) 17 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke 18 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova **context.local_conf) 19 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 56, in fix_call 20 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova val = callable(*args, **kw) 21 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/urlmap.py", line 160, in urlmap_factory 22 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova app = loader.get_app(app_name, global_conf=global_conf) 23 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app 24 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova name=name, global_conf=global_conf).create() 25 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create 26 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return self.object_type.invoke(self) 27 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke 28 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova **context.local_conf) 29 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 56, in fix_call 30 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova val = callable(*args, **kw) 31 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 78, in pipeline_factory_v21 32 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return _load_pipeline(loader, local_conf[CONF.auth_strategy].split()) 33 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/auth.py", line 58, in _load_pipeline 34 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova app = loader.get_app(pipeline[-1]) 35 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app 36 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova name=name, global_conf=global_conf).create() 37 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create 38 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return self.object_type.invoke(self) 39 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke 40 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return fix_call(context.object, context.global_conf, **context.local_conf) 41 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/paste/deploy/util.py", line 56, in fix_call 42 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova val = callable(*args, **kw) 43 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/__init__.py", line 311, in factory 44 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova return cls() 45 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/__init__.py", line 156, in __init__ 46 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova super(APIRouterV21, self).__init__(init_only) 47 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/__init__.py", line 382, in __init__ 48 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova self._register_resources_check_inherits(mapper) 49 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/__init__.py", line 406, in _register_resources_check_inherits 50 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova for resource in ext.obj.get_resources(): 51 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/cloudpipe.py", line 190, in get_resources 52 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova CloudpipeController())] 53 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/cloudpipe.py", line 50, in __init__ 54 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova self.setup() 55 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/cloudpipe.py", line 57, in setup 56 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova fileutils.ensure_tree(CONF.keys_path) 57 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib/python2.7/site-packages/oslo_utils/fileutils.py", line 42, in ensure_tree 58 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova os.makedirs(path, mode) 59 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova File "/usr/lib64/python2.7/os.py", line 157, in makedirs 60 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova mkdir(name, mode) 61 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/keys' 62 Feb 4 10:41:46 localhost nova-api: 2016-02-04 10:41:46.765 11041 ERROR nova 63 Feb 4 10:41:46 localhost systemd: openstack-nova-api.service: main process exited, code=exited, status=1/FAILURE 64 Feb 4 10:41:46 localhost systemd: Failed to start OpenStack Nova API Server. 65 Feb 4 10:41:46 localhost systemd: Unit openstack-nova-api.service entered failed state. 66 Feb 4 10:41:46 localhost systemd: openstack-nova-api.service failed. 67 Feb 4 10:41:47 localhost systemd: openstack-nova-api.service holdoff time over, scheduling restart. 68 Feb 4 10:41:47 localhost systemd: Starting OpenStack Nova API Server...