一、创建nova数据库并授权

    1. CREATE DATABASE nova_api
    2. CREATE DATABASE nova
    3. CREATE DATABASE nova_cell0
    4. GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
    5. GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
    6. GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'OpenStackController' IDENTIFIED BY '123456';
    7. GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
    8. GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
    9. GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'OpenStackController' IDENTIFIED BY '123456';
    10. GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
    11. GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456';
    12. GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'OpenStackController' IDENTIFIED BY '123456';

    image.png

    1. mysql -u root -p123465
    2. CREATE DATABASE nova_apiCREATE DATABASE nova
    3. CREATE DATABASE nova_cello
    4. GRANT ALL PRIVILEGES ON nova_api.*TO 'nova'@'localhost' IDENTIFIED BY 'nova';
    5. GRANT ALL PRIVILEGES ON nova_api.*TO 'nova'@'%'IDENTIFIED BY 'nova';
    6. GRANT ALL PRIVILEGES ON nova.*TO 'nova'@'localhost' IDENTIFIED BY 'nova';
    7. GRANT ALL PRIVILEGES ON nova.*TO 'nova'@'%'IDENTIFIED BY 'nova';
    8. GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
    9. GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@"%' IDENTIFIED BY 'nova';

    二、创建Nova服务凭证 先设置环境变量
    vim /etc/profile
    image.png

    1. # 自定义环境变量
    2. export OS_USERNAME=admin
    3. export OS_PASSWORD=123456
    4. export OS_PROJECT_NAME=admin
    5. export OS_USER_DOMAIN_NAME=Default
    6. export OS_PROJECT_DOMAIN_NAME=Default
    7. export OS_AUTH_URL=http://192.168.253.130:5000/v3
    8. export OS_IDENTITY_API_VERSION=3

    查看服务:
    image.png

    创建用户 设置管理员

    1. 设置nava管理员
    2. openstack user create --domain default --password-prompt nova
    3. openstack role add --project service --user nova admin

    image.png
    image.png
    三、创建Nova API 并创建compute服务

    1. openstack service create compute
    2. openstack service create --name nova --description "OpenStack Computer" computer

    结果:
    image.png
    注册端点:(先执行下面的第一条语句,报错,先报错内容要不要执行上面的语句)

    openstack endpoint create —region RegionOne compute public http://192.168.253.130:8774/v2.1

    openstack endpoint create —region RegionOne compute admin http://192.168.253.130:8774/v2.1

    openstack endpoint create —region RegionOne compute internal http://192.168.253.130:8774/v2.1
    image.png

    四、创建防止服务凭证 ……………………………………………………

    1. 在服务目录中创建Placement API入口
    2. openstack user create --domain default --password-prompt placement
    3. :输入两次 123456
    4. openstack role add --project service --user placement admin
    5. API入口】
    6. openstack service create --name placement --description "Placement API" placement

    image.png
    image.png
    五、创建放置服务节点

    1. openstack endpoint create --region RegionOne placement public http://192.168.253.130:8778
    2. openstack endpoint create --region RegionOne placement internal http://192.168.253.130:8778
    3. openstack endpoint create --region RegionOne placement admin http://192.168.253.130:8778

    image.png
    image.png
    六、安装Nova
    缺少 -y 然后一个一个安装

    1. yum install -y openstack-nova-api
    2. yum install -y openstack-nova-conductor
    3. yum install -y openstack-nova-console
    4. yum install -y openstack-nova-novncproxy
    5. yum install -y openstack-nova-scheduler
    6. yum install -y openstack-nova-placement-api (报错)

    七、编辑/etc/nova/nova.conf配置文件

    1. [DEFAULT]
    2. enabled_apis=osapi_compute,metadata
    3. transport_url=rabbit://openstack:123456@192.168.253.130 (待确定)
    4. my_ip=192.168.253.130
    5. use_neutron=true
    6. firewall_driver=nova.virt.firewall.NoopFirewallDriver
    7. [api_database]
    8. connection=mysql+pymysql://nova:nova@192.168.253.130/nova_api(待确定)
    9. [database]
    10. connection=mysql+pymysql://nova:nova@192.168.253.130/nova_api (待确定)
    11. [api]
    12. auth_strategy=keystone
    13. [keystone_authtoken]
    14. auth_url=http://192.168.253.130:5000/v3
    15. memcached_servers=192.168.253.130:11211
    16. auth_type=password
    17. project_domain_name=default
    18. user_domain_name=default
    19. project_name=service
    20. username=nova
    21. password=123456
    22. [vnc]
    23. enabled=true
    24. server_listen=$my_ip
    25. server_proxyclient_address=$my_ip
    26. [glance]
    27. api_servers=http://192.168.253.130:9292
    28. [oslo_concurrency]
    29. lock_path=/var/lib/nova/tmp
    30. [placement]
    31. os_region_name=RegionOne
    32. project_domain_name=Default
    33. project_name=service
    34. auth_type=password
    35. user_domain_name=Default
    36. username=placement
    37. password=123456
    38. auth_url=http://192.168.253.130:5000/v3

    有误:nova密码不正确
    image.png

    八、初始化数据库

    1. nova-manage api_db sync
    2. nova-manage cell_v2 create_cell --name=cell1 --verbosecfd2bbfd-0ff4-4e51-9601-ec1a0752bd71
    3. nova-manage db sync

    image.png

    验证是否安装成功
    nova-manage cell_v2 list_cells
    结果:

    image.png
    设置开机启动:
    systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
    systemctl start openstack-nova-api
    systemctl status openstack-nova-api

    systemctl start openstack-nova-scheduler
    systemctl status openstack-nova-scheduler

    systemctl start openstack-nova-conductor
    systemctl status openstack-nova-conductor

    systemctl start openstack-nova-novncproxy
    systemctl status openstack-nova-novncproxy