• openstack 业务组件安装


    、在控制节点( controller )安装 Keystone
    1 、登录数据库创建 keystone 数据库

    MariaDB [(none)]> CREATE DATABASE keystone default character set utf8;
    
    • 1

    创建并授予 keystone 用户完全操作 keystone 权限

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'openstack';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'openstack';
    
    • 1
    • 2
    [root@controller etcd]# mysql -uroot -pmaster
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 18
    Server version: 10.3.20-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> update user set Host='%' where User='root' and Host='localhost' and user='root';
    ERROR 1046 (3D000): No database selected
    MariaDB [(none)]>  CREATE DATABASE keystone default character set utf8;
    Query OK, 1 row affected (0.000 sec)
    
    MariaDB [(none)]>  GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'openstack';
    Query OK, 0 rows affected (0.001 sec)
    
    MariaDB [(none)]>  GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'openstack';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    /*
    说明:
    openstack 的账户密码设置中,不支持部分特殊符号,如 “#” ; openstack 本身对密码的复杂度也没有要求,可以设置为不带特殊字符的密码;若在设置
    密码时,一定要包含特殊符号, openstack 仅支持如下如下特殊字符: & = $ - _ . + ! * ( )
    也可以对照官方文档做实验验证, https://docs.openstack.org/install-guide/environment-security.html
    */
    2 、安装 Keystone 软件包并修改配置文件

    # yum -y install openstack-keystone httpd mod_wsgi
    
    • 1

    /*
    说明:
    配置文件中能写成主机名的就改成主机名,增强配置文件通用性,便于快速部署。
    Error: Package: python2-qpid-proton-0.22.0-1.el7.x86_64 (centos-openstack-queens) (确保有效)
    报错“qpid-proton-c-0.37.0-1.el7.x86_64”
    包冲突导致的兼容错误单独选定需要的版本进行安装即可
    解决方案

    [root@controller ~]# yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64
    --> Processing Dependency: libqpid-proton.so.11()(64bit) for package: python2-qpid-proton-0.26.0-2.el7.x86_64
    --> Running transaction check
    ---> Package qpid-proton-c.x86_64 0:0.26.0-2.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ====================================================================================
     Package                Arch      Version           Repository                 Size
    ====================================================================================
    Installing:
     python2-qpid-proton    x86_64    0.26.0-2.el7      centos-openstack-train    217 k
    Installing for dependencies:
     qpid-proton-c          x86_64    0.26.0-2.el7      centos-openstack-train    185 k
    
    Transaction Summary
    ====================================================================================
    Install  1 Package (+1 Dependent package)
    
    Total download size: 402 k
    Installed size: 1.9 M
    Downloading packages:
    (1/2): python2-qpid-proton-0.26.0-2.el7.x86_64.rpm           | 217 kB  00:00:00     
    (2/2): qpid-proton-c-0.26.0-2.el7.x86_64.rpm                 | 185 kB  00:00:00     
    ------------------------------------------------------------------------------------
    Total                                                  4.5 MB/s | 402 kB  00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : qpid-proton-c-0.26.0-2.el7.x86_64                                1/2 
      Installing : python2-qpid-proton-0.26.0-2.el7.x86_64                          2/2 
      Verifying  : qpid-proton-c-0.26.0-2.el7.x86_64                                1/2 
      Verifying  : python2-qpid-proton-0.26.0-2.el7.x86_64                          2/2 
    
    Installed:
      python2-qpid-proton.x86_64 0:0.26.0-2.el7                                         
    
    Dependency Installed:
      qpid-proton-c.x86_64 0:0.26.0-2.el7                                               
    
    Complete!
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    安装 Keystone 软件包并修改配置文件

    [root@controller ~]#  yum -y install openstack-keystone httpd mod_wsgi
    Loaded plugins: fastestmirror, langpacks
    Repository base is listed more than once in the configuration
    Repository updates is listed more than once in the configuration
    Repository extras is listed more than once in the configuration
    Loading mirror speeds from cached hostfile
     * base: mirrors.ustc.edu.cn
     * extras: mirrors.cqu.edu.cn
     * updates: mirrors.ustc.edu.cn
    Package httpd-2.4.6-97.el7.centos.5.x86_64 already installed and latest version
    Resolving Dependencies
    --> Running transaction check
    ---> Package mod_wsgi.x86_64 0:3.4-18.el7 will be installed
    ---> Package openstack-keystone.noarch 1:16.0.2-1.el7 will be installed
    --> Processing Dependency: python2-keystone = 1:16.0.2-1.el7 for package: 1:openstack-keystone-16.0.2-1.el7.noarch
    --> Running transaction check
    ---> Package python2-keystone.noarch 1:16.0.2-1.el7 will be installed
    --> Processing Dependency: python2-sqlalchemy >= 1.1.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-scrypt >= 0.8.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-pysaml2 >= 4.5.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-pycadf >= 2.1.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-passlib >= 1.7.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-osprofiler >= 1.4.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-upgradecheck >= 0.1.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-policy >= 2.3.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-middleware >= 3.31.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-messaging >= 5.29.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-db >= 4.27.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-concurrency >= 3.26.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oslo-cache >= 1.26.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-oauthlib >= 0.6.2 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-keystonemiddleware >= 7.0.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-flask-restful >= 0.3.5 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-flask >= 1.0.2 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-bcrypt >= 3.1.3 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python-webob >= 1.7.1 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python-migrate >= 0.11.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python-ldappool >= 2.0.0 for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Processing Dependency: python2-jwt for package: 1:python2-keystone-16.0.2-1.el7.noarch
    --> Running transaction check
    ---> Package python-migrate.noarch 0:0.11.0-1.el7 will be installed
    --> Processing Dependency: python-sqlparse for package: python-migrate-0.11.0-1.el7.noarch
    ---> Package python2-bcrypt.x86_64 0:3.1.6-2.el7 will be installed
    ---> Package python2-flask.noarch 1:1.0.2-1.el7 will be installed
    --> Processing Dependency: python-werkzeug for package: 1:python2-flask-1.0.2-1.el7.noarch
    --> Processing Dependency: python-jinja2 for package: 1:python2-flask-1.0.2-1.el7.noarch
    --> Processing Dependency: python-itsdangerous for package: 1:python2-flask-1.0.2-1.el7.noarch
    --> Processing Dependency: python-click for package: 1:python2-flask-1.0.2-1.el7.noarch
    ---> Package python2-flask-restful.noarch 0:0.3.6-7.el7 will be installed
    --> Processing Dependency: python-aniso8601 for package: python2-flask-restful-0.3.6-7.el7.noarch
    ---> Package python2-jwt.noarch 0:1.6.1-1.el7 will be installed
    ---> Package python2-keystonemiddleware.noarch 0:7.0.1-2.el7 will be installed
    ---> Package python2-ldappool.noarch 0:2.4.0-2.el7 will be installed
    ---> Package python2-oauthlib.noarch 0:2.0.1-8.el7 will be installed
    ---> Package python2-oslo-cache.noarch 0:1.37.1-1.el7 will be installed
    --> Processing Dependency: python-oslo-cache-lang = 1.37.1-1.el7 for package: python2-oslo-cache-1.37.1-1.el7.noarch
    ---> Package python2-oslo-concurrency.noarch 0:3.30.1-1.el7 will be installed
    --> Processing Dependency: python-oslo-concurrency-lang = 3.30.1-1.el7 for package: python2-oslo-concurrency-3.30.1-1.el7.noarch
    --> Processing Dependency: python2-fasteners for package: python2-oslo-concurrency-3.30.1-1.el7.noarch
    ---> Package python2-oslo-db.noarch 0:5.0.2-2.el7 will be installed
    --> Processing Dependency: python-oslo-db-lang = 5.0.2-2.el7 for package: python2-oslo-db-5.0.2-2.el7.noarch
    --> Processing Dependency: python-alembic >= 0.9.6 for package: python2-oslo-db-5.0.2-2.el7.noarch
    ---> Package python2-oslo-messaging.noarch 0:10.2.4-1.el7 will be installed
    --> Processing Dependency: python2-oslo-service >= 1.24.0 for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python2-kombu >= 1:4.0.0 for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python2-futurist >= 1.2.0 for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python2-amqp >= 2.4.1 for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python2-eventlet for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python2-cachetools for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    --> Processing Dependency: python-pyngus for package: python2-oslo-messaging-10.2.4-1.el7.noarch
    ---> Package python2-oslo-middleware.noarch 0:3.38.1-2.el7 will be installed
    --> Processing Dependency: python-oslo-middleware-lang = 3.38.1-2.el7 for package: python2-oslo-middleware-3.38.1-2.el7.noarch
    --> Processing Dependency: python2-statsd for package: python2-oslo-middleware-3.38.1-2.el7.noarch
    ---> Package python2-oslo-policy.noarch 0:2.3.4-1.el7 will be installed
    --> Processing Dependency: python-oslo-policy-lang = 2.3.4-1.el7 for package: python2-oslo-policy-2.3.4-1.el7.noarch
    ---> Package python2-oslo-upgradecheck.noarch 0:0.3.2-1.el7 will be installed
    ---> Package python2-osprofiler.noarch 0:2.8.2-1.el7 will be installed
    ---> Package python2-passlib.noarch 0:1.7.1-1.el7 will be installed
    ---> Package python2-pycadf.noarch 0:2.10.0-2.el7 will be installed
    --> Processing Dependency: python-pycadf-common = 2.10.0-2.el7 for package: python2-pycadf-2.10.0-2.el7.noarch
    ---> Package python2-pysaml2.noarch 0:4.6.5-1.el7 will be installed
    --> Processing Dependency: python2-future for package: python2-pysaml2-4.6.5-1.el7.noarch
    --> Processing Dependency: python2-defusedxml for package: python2-pysaml2-4.6.5-1.el7.noarch
    ---> Package python2-scrypt.x86_64 0:0.8.0-2.el7 will be installed
    ---> Package python2-sqlalchemy.x86_64 0:1.2.17-2.el7 will be installed
    ---> Package python2-webob.noarch 0:1.8.5-1.el7 will be installed
    --> Running transaction check
    ---> Package python-aniso8601.noarch 0:0.82-3.el7 will be installed
    ---> Package python-oslo-cache-lang.noarch 0:1.37.1-1.el7 will be installed
    ---> Package python-oslo-concurrency-lang.noarch 0:3.30.1-1.el7 will be installed
    ---> Package python-oslo-db-lang.noarch 0:5.0.2-2.el7 will be installed
    ---> Package python-oslo-middleware-lang.noarch 0:3.38.1-2.el7 will be installed
    ---> Package python-oslo-policy-lang.noarch 0:2.3.4-1.el7 will be installed
    ---> Package python-pycadf-common.noarch 0:2.10.0-2.el7 will be installed
    ---> Package python-pyngus.noarch 0:2.0.3-3.el7 will be installed
    ---> Package python-sqlparse.noarch 0:0.1.18-5.el7 will be installed
    ---> Package python2-alembic.noarch 0:1.0.7-1.el7 will be installed
    --> Processing Dependency: python-editor for package: python2-alembic-1.0.7-1.el7.noarch
    ---> Package python2-amqp.noarch 0:2.4.1-1.el7 will be installed
    --> Processing Dependency: python2-vine >= 1.1.3 for package: python2-amqp-2.4.1-1.el7.noarch
    ---> Package python2-cachetools.noarch 0:3.1.0-1.el7 will be installed
    ---> Package python2-click.noarch 0:6.7-8.el7 will be installed
    ---> Package python2-defusedxml.noarch 0:0.5.0-2.el7 will be installed
    ---> Package python2-eventlet.noarch 0:0.25.1-1.el7 will be installed
    --> Processing Dependency: python2-greenlet for package: python2-eventlet-0.25.1-1.el7.noarch
    ---> Package python2-fasteners.noarch 0:0.16.3-1.el7 will be installed
    ---> Package python2-future.noarch 0:0.18.2-2.el7 will be installed
    ---> Package python2-futurist.noarch 0:1.9.0-2.el7 will be installed
    ---> Package python2-itsdangerous.noarch 0:0.24-14.el7 will be installed
    ---> Package python2-jinja2.noarch 0:2.10.1-1.el7 will be installed
    ---> Package python2-kombu.noarch 1:4.6.3-3.el7 will be installed
    ---> Package python2-oslo-service.noarch 0:1.40.2-2.el7 will be installed
    --> Processing Dependency: python-paste-deploy >= 1.5.0 for package: python2-oslo-service-1.40.2-2.el7.noarch
    --> Processing Dependency: python2-yappi for package: python2-oslo-service-1.40.2-2.el7.noarch
    --> Processing Dependency: python2-routes for package: python2-oslo-service-1.40.2-2.el7.noarch
    ---> Package python2-statsd.noarch 0:3.2.1-5.el7 will be installed
    ---> Package python2-werkzeug.noarch 0:0.14.1-3.el7 will be installed
    --> Running transaction check
    ---> Package python-editor.noarch 0:0.4-4.el7 will be installed
    ---> Package python-paste-deploy.noarch 0:1.5.2-6.el7 will be installed
    ---> Package python-routes.noarch 0:2.4.1-1.el7 will be installed
    ---> Package python2-greenlet.x86_64 0:0.4.12-1.el7 will be installed
    ---> Package python2-vine.noarch 0:1.2.0-2.el7 will be installed
    ---> Package python2-yappi.x86_64 0:1.0-1.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ====================================================================================
     Package                      Arch   Version           Repository              Size
    ====================================================================================
    Installing:
     mod_wsgi                     x86_64 3.4-18.el7        base                    77 k
     openstack-keystone           noarch 1:16.0.2-1.el7    centos-openstack-train  78 k
    Installing for dependencies:
     python-aniso8601             noarch 0.82-3.el7        centos-openstack-train  31 k
     python-editor                noarch 0.4-4.el7         centos-openstack-train  12 k
     python-migrate               noarch 0.11.0-1.el7      centos-openstack-train 228 k
     python-oslo-cache-lang       noarch 1.37.1-1.el7      centos-openstack-train  12 k
     python-oslo-concurrency-lang noarch 3.30.1-1.el7      centos-openstack-train 9.5 k
     python-oslo-db-lang          noarch 5.0.2-2.el7       centos-openstack-train 9.0 k
     python-oslo-middleware-lang  noarch 3.38.1-2.el7      centos-openstack-train 7.8 k
     python-oslo-policy-lang      noarch 2.3.4-1.el7       centos-openstack-train 7.9 k
     python-paste-deploy          noarch 1.5.2-6.el7       centos-openstack-train  46 k
     python-pycadf-common         noarch 2.10.0-2.el7      centos-openstack-train  10 k
     python-pyngus                noarch 2.0.3-3.el7       centos-openstack-train  41 k
     python-routes                noarch 2.4.1-1.el7       centos-openstack-train 191 k
     python-sqlparse              noarch 0.1.18-5.el7      centos-openstack-train  74 k
     python2-alembic              noarch 1.0.7-1.el7       centos-openstack-train 786 k
     python2-amqp                 noarch 2.4.1-1.el7       centos-openstack-train  90 k
     python2-bcrypt               x86_64 3.1.6-2.el7       epel                    39 k
     python2-cachetools           noarch 3.1.0-1.el7       centos-openstack-train  28 k
     python2-click                noarch 6.7-8.el7         epel                   126 k
     python2-defusedxml           noarch 0.5.0-2.el7       centos-openstack-train  45 k
     python2-eventlet             noarch 0.25.1-1.el7      centos-openstack-train 322 k
     python2-fasteners            noarch 0.16.3-1.el7      epel                    50 k
     python2-flask                noarch 1:1.0.2-1.el7     centos-openstack-train 152 k
     python2-flask-restful        noarch 0.3.6-7.el7       centos-openstack-train 117 k
     python2-future               noarch 0.18.2-2.el7      epel                   806 k
     python2-futurist             noarch 1.9.0-2.el7       centos-openstack-train  59 k
     python2-greenlet             x86_64 0.4.12-1.el7      centos-openstack-train  25 k
     python2-itsdangerous         noarch 0.24-14.el7       centos-openstack-train  25 k
     python2-jinja2               noarch 2.10.1-1.el7      centos-openstack-train 251 k
     python2-jwt                  noarch 1.6.1-1.el7       centos-openstack-train  37 k
     python2-keystone             noarch 1:16.0.2-1.el7    centos-openstack-train 1.1 M
     python2-keystonemiddleware   noarch 7.0.1-2.el7       centos-openstack-train  88 k
     python2-kombu                noarch 1:4.6.3-3.el7     centos-openstack-train 365 k
     python2-ldappool             noarch 2.4.0-2.el7       centos-openstack-train  25 k
     python2-oauthlib             noarch 2.0.1-8.el7       base                   146 k
     python2-oslo-cache           noarch 1.37.1-1.el7      centos-openstack-train  47 k
     python2-oslo-concurrency     noarch 3.30.1-1.el7      centos-openstack-train  36 k
     python2-oslo-db              noarch 5.0.2-2.el7       centos-openstack-train 145 k
     python2-oslo-messaging       noarch 10.2.4-1.el7      centos-openstack-train 221 k
     python2-oslo-middleware      noarch 3.38.1-2.el7      centos-openstack-train  49 k
     python2-oslo-policy          noarch 2.3.4-1.el7       centos-openstack-train  65 k
     python2-oslo-service         noarch 1.40.2-2.el7      centos-openstack-train  66 k
     python2-oslo-upgradecheck    noarch 0.3.2-1.el7       centos-openstack-train  18 k
     python2-osprofiler           noarch 2.8.2-1.el7       centos-openstack-train 125 k
     python2-passlib              noarch 1.7.1-1.el7       epel                   741 k
     python2-pycadf               noarch 2.10.0-2.el7      centos-openstack-train  46 k
     python2-pysaml2              noarch 4.6.5-1.el7       centos-openstack-train 542 k
     python2-scrypt               x86_64 0.8.0-2.el7       centos-openstack-train  26 k
     python2-sqlalchemy           x86_64 1.2.17-2.el7      centos-openstack-train 1.8 M
     python2-statsd               noarch 3.2.1-5.el7       centos-openstack-train  28 k
     python2-vine                 noarch 1.2.0-2.el7       centos-openstack-train  30 k
     python2-webob                noarch 1.8.5-1.el7       centos-openstack-train 246 k
     python2-werkzeug             noarch 0.14.1-3.el7      centos-openstack-train 466 k
     python2-yappi                x86_64 1.0-1.el7         centos-openstack-train  39 k
    
    Transaction Summary
    ====================================================================================
    Install  2 Packages (+53 Dependent packages)
    
    Total download size: 10 M
    Installed size: 49 M
    Downloading packages:
    (1/55): python-aniso8601-0.82-3.el7.noarch.rpm               |  31 kB  00:00:00     
    (2/55): openstack-keystone-16.0.2-1.el7.noarch.rpm           |  78 kB  00:00:00     
    (3/55): python-editor-0.4-4.el7.noarch.rpm                   |  12 kB  00:00:00     
    (4/55): python-oslo-cache-lang-1.37.1-1.el7.noarch.rpm       |  12 kB  00:00:00     
    (5/55): python-migrate-0.11.0-1.el7.noarch.rpm               | 228 kB  00:00:00     
    (6/55): python-oslo-concurrency-lang-3.30.1-1.el7.noarch.rpm | 9.5 kB  00:00:00     
    (7/55): python-oslo-middleware-lang-3.38.1-2.el7.noarch.rpm  | 7.8 kB  00:00:00     
    (8/55): python-oslo-db-lang-5.0.2-2.el7.noarch.rpm           | 9.0 kB  00:00:00     
    (9/55): python-oslo-policy-lang-2.3.4-1.el7.noarch.rpm       | 7.9 kB  00:00:00     
    (10/55): python-paste-deploy-1.5.2-6.el7.noarch.rpm          |  46 kB  00:00:00     
    (11/55): python-pycadf-common-2.10.0-2.el7.noarch.rpm        |  10 kB  00:00:00     
    (12/55): python-routes-2.4.1-1.el7.noarch.rpm                | 191 kB  00:00:00     
    (13/55): python-pyngus-2.0.3-3.el7.noarch.rpm                |  41 kB  00:00:00     
    (14/55): python-sqlparse-0.1.18-5.el7.noarch.rpm             |  74 kB  00:00:00     
    (15/55): python2-amqp-2.4.1-1.el7.noarch.rpm                 |  90 kB  00:00:00     
    (16/55): python2-alembic-1.0.7-1.el7.noarch.rpm              | 786 kB  00:00:00     
    (17/55): mod_wsgi-3.4-18.el7.x86_64.rpm                      |  77 kB  00:00:00     
    (18/55): python2-cachetools-3.1.0-1.el7.noarch.rpm           |  28 kB  00:00:00     
    (19/55): python2-bcrypt-3.1.6-2.el7.x86_64.rpm               |  39 kB  00:00:00     
    (20/55): python2-click-6.7-8.el7.noarch.rpm                  | 126 kB  00:00:00     
    (21/55): python2-defusedxml-0.5.0-2.el7.noarch.rpm           |  45 kB  00:00:00     
    (22/55): python2-eventlet-0.25.1-1.el7.noarch.rpm            | 322 kB  00:00:00     
    (23/55): python2-fasteners-0.16.3-1.el7.noarch.rpm           |  50 kB  00:00:00     
    (24/55): python2-flask-1.0.2-1.el7.noarch.rpm                | 152 kB  00:00:00     
    (25/55): python2-flask-restful-0.3.6-7.el7.noarch.rpm        | 117 kB  00:00:00     
    (26/55): python2-futurist-1.9.0-2.el7.noarch.rpm             |  59 kB  00:00:00     
    (27/55): python2-greenlet-0.4.12-1.el7.x86_64.rpm            |  25 kB  00:00:00     
    (28/55): python2-itsdangerous-0.24-14.el7.noarch.rpm         |  25 kB  00:00:00     
    (29/55): python2-jinja2-2.10.1-1.el7.noarch.rpm              | 251 kB  00:00:00     
    (30/55): python2-future-0.18.2-2.el7.noarch.rpm              | 806 kB  00:00:00     
    (31/55): python2-jwt-1.6.1-1.el7.noarch.rpm                  |  37 kB  00:00:00     
    (32/55): python2-keystonemiddleware-7.0.1-2.el7.noarch.rpm   |  88 kB  00:00:00     
    (33/55): python2-keystone-16.0.2-1.el7.noarch.rpm            | 1.1 MB  00:00:00     
    (34/55): python2-ldappool-2.4.0-2.el7.noarch.rpm             |  25 kB  00:00:00     
    (35/55): python2-kombu-4.6.3-3.el7.noarch.rpm                | 365 kB  00:00:00     
    (36/55): python2-oauthlib-2.0.1-8.el7.noarch.rpm             | 146 kB  00:00:00     
    (37/55): python2-oslo-concurrency-3.30.1-1.el7.noarch.rpm    |  36 kB  00:00:00     
    (38/55): python2-oslo-cache-1.37.1-1.el7.noarch.rpm          |  47 kB  00:00:00     
    (39/55): python2-oslo-db-5.0.2-2.el7.noarch.rpm              | 145 kB  00:00:00     
    (40/55): python2-oslo-middleware-3.38.1-2.el7.noarch.rpm     |  49 kB  00:00:00     
    (41/55): python2-oslo-messaging-10.2.4-1.el7.noarch.rpm      | 221 kB  00:00:00     
    (42/55): python2-oslo-policy-2.3.4-1.el7.noarch.rpm          |  65 kB  00:00:00     
    (43/55): python2-oslo-upgradecheck-0.3.2-1.el7.noarch.rpm    |  18 kB  00:00:00     
    (44/55): python2-oslo-service-1.40.2-2.el7.noarch.rpm        |  66 kB  00:00:00     
    (45/55): python2-osprofiler-2.8.2-1.el7.noarch.rpm           | 125 kB  00:00:00     
    (46/55): python2-pysaml2-4.6.5-1.el7.noarch.rpm              | 542 kB  00:00:00     
    (47/55): python2-pycadf-2.10.0-2.el7.noarch.rpm              |  46 kB  00:00:00     
    (48/55): python2-scrypt-0.8.0-2.el7.x86_64.rpm               |  26 kB  00:00:00     
    (49/55): python2-passlib-1.7.1-1.el7.noarch.rpm              | 741 kB  00:00:00     
    (50/55): python2-statsd-3.2.1-5.el7.noarch.rpm               |  28 kB  00:00:00     
    (51/55): python2-vine-1.2.0-2.el7.noarch.rpm                 |  30 kB  00:00:00     
    (52/55): python2-sqlalchemy-1.2.17-2.el7.x86_64.rpm          | 1.8 MB  00:00:00     
    (53/55): python2-webob-1.8.5-1.el7.noarch.rpm                | 246 kB  00:00:00     
    (54/55): python2-werkzeug-0.14.1-3.el7.noarch.rpm            | 466 kB  00:00:00     
    (55/55): python2-yappi-1.0-1.el7.x86_64.rpm                  |  39 kB  00:00:00     
    ------------------------------------------------------------------------------------
    Total                                                  3.0 MB/s |  10 MB  00:03     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : python2-webob-1.8.5-1.el7.noarch                                1/55 
      Installing : python2-sqlalchemy-1.2.17-2.el7.x86_64                          2/55 
      Installing : python2-greenlet-0.4.12-1.el7.x86_64                            3/55 
      Installing : python2-eventlet-0.25.1-1.el7.noarch                            4/55 
      Installing : python2-vine-1.2.0-2.el7.noarch                                 5/55 
      Installing : python2-amqp-2.4.1-1.el7.noarch                                 6/55 
      Installing : python2-jinja2-2.10.1-1.el7.noarch                              7/55 
      Installing : 1:python2-kombu-4.6.3-3.el7.noarch                              8/55 
      Installing : python-oslo-concurrency-lang-3.30.1-1.el7.noarch                9/55 
      Installing : python-oslo-db-lang-5.0.2-2.el7.noarch                         10/55 
      Installing : python2-oslo-upgradecheck-0.3.2-1.el7.noarch                   11/55 
      Installing : python2-jwt-1.6.1-1.el7.noarch                                 12/55 
      Installing : python2-werkzeug-0.14.1-3.el7.noarch                           13/55 
      Installing : python2-itsdangerous-0.24-14.el7.noarch                        14/55 
      Installing : python2-statsd-3.2.1-5.el7.noarch                              15/55 
      Installing : python2-ldappool-2.4.0-2.el7.noarch                            16/55 
      Installing : python-oslo-policy-lang-2.3.4-1.el7.noarch                     17/55 
      Installing : python2-oslo-policy-2.3.4-1.el7.noarch                         18/55 
      Installing : python-aniso8601-0.82-3.el7.noarch                             19/55 
      Installing : python-routes-2.4.1-1.el7.noarch                               20/55 
      Installing : python2-scrypt-0.8.0-2.el7.x86_64                              21/55 
      Installing : python2-cachetools-3.1.0-1.el7.noarch                          22/55 
      Installing : python2-click-6.7-8.el7.noarch                                 23/55 
      Installing : 1:python2-flask-1.0.2-1.el7.noarch                             24/55 
      Installing : python2-flask-restful-0.3.6-7.el7.noarch                       25/55 
      Installing : python2-passlib-1.7.1-1.el7.noarch                             26/55 
      Installing : python-oslo-cache-lang-1.37.1-1.el7.noarch                     27/55 
      Installing : python2-oslo-cache-1.37.1-1.el7.noarch                         28/55 
      Installing : python-editor-0.4-4.el7.noarch                                 29/55 
      Installing : python2-alembic-1.0.7-1.el7.noarch                             30/55 
      Installing : python-paste-deploy-1.5.2-6.el7.noarch                         31/55 
      Installing : python2-defusedxml-0.5.0-2.el7.noarch                          32/55 
      Installing : python2-yappi-1.0-1.el7.x86_64                                 33/55 
      Installing : python-pyngus-2.0.3-3.el7.noarch                               34/55 
      Installing : python2-future-0.18.2-2.el7.noarch                             35/55 
      Installing : python2-pysaml2-4.6.5-1.el7.noarch                             36/55 
      Installing : python-oslo-middleware-lang-3.38.1-2.el7.noarch                37/55 
      Installing : python2-oslo-middleware-3.38.1-2.el7.noarch                    38/55 
      Installing : python2-bcrypt-3.1.6-2.el7.x86_64                              39/55 
      Installing : python-sqlparse-0.1.18-5.el7.noarch                            40/55 
      Installing : python-migrate-0.11.0-1.el7.noarch                             41/55 
      Installing : python2-oslo-db-5.0.2-2.el7.noarch                             42/55 
      Installing : python2-oauthlib-2.0.1-8.el7.noarch                            43/55 
      Installing : python2-fasteners-0.16.3-1.el7.noarch                          44/55 
      Installing : python2-oslo-concurrency-3.30.1-1.el7.noarch                   45/55 
      Installing : python2-oslo-service-1.40.2-2.el7.noarch                       46/55 
      Installing : python-pycadf-common-2.10.0-2.el7.noarch                       47/55 
      Installing : python2-pycadf-2.10.0-2.el7.noarch                             48/55 
      Installing : python2-keystonemiddleware-7.0.1-2.el7.noarch                  49/55 
      Installing : python2-futurist-1.9.0-2.el7.noarch                            50/55 
      Installing : python2-oslo-messaging-10.2.4-1.el7.noarch                     51/55 
      Installing : python2-osprofiler-2.8.2-1.el7.noarch                          52/55 
      Installing : 1:python2-keystone-16.0.2-1.el7.noarch                         53/55 
      Installing : 1:openstack-keystone-16.0.2-1.el7.noarch                       54/55 
      Installing : mod_wsgi-3.4-18.el7.x86_64                                     55/55 
      Verifying  : python2-jinja2-2.10.1-1.el7.noarch                              1/55 
      Verifying  : python2-amqp-2.4.1-1.el7.noarch                                 2/55 
      Verifying  : python2-pycadf-2.10.0-2.el7.noarch                              3/55 
      Verifying  : python2-futurist-1.9.0-2.el7.noarch                             4/55 
      Verifying  : python-pycadf-common-2.10.0-2.el7.noarch                        5/55 
      Verifying  : python2-webob-1.8.5-1.el7.noarch                                6/55 
      Verifying  : python2-fasteners-0.16.3-1.el7.noarch                           7/55 
      Verifying  : python2-oauthlib-2.0.1-8.el7.noarch                             8/55 
      Verifying  : python-sqlparse-0.1.18-5.el7.noarch                             9/55 
      Verifying  : python2-bcrypt-3.1.6-2.el7.x86_64                              10/55 
      Verifying  : python2-vine-1.2.0-2.el7.noarch                                11/55 
      Verifying  : python2-keystonemiddleware-7.0.1-2.el7.noarch                  12/55 
      Verifying  : python2-oslo-middleware-3.38.1-2.el7.noarch                    13/55 
      Verifying  : python2-greenlet-0.4.12-1.el7.x86_64                           14/55 
      Verifying  : python2-osprofiler-2.8.2-1.el7.noarch                          15/55 
      Verifying  : python2-sqlalchemy-1.2.17-2.el7.x86_64                         16/55 
      Verifying  : python-oslo-middleware-lang-3.38.1-2.el7.noarch                17/55 
      Verifying  : python2-eventlet-0.25.1-1.el7.noarch                           18/55 
      Verifying  : 1:python2-keystone-16.0.2-1.el7.noarch                         19/55 
      Verifying  : python2-oslo-policy-2.3.4-1.el7.noarch                         20/55 
      Verifying  : python2-future-0.18.2-2.el7.noarch                             21/55 
      Verifying  : python-pyngus-2.0.3-3.el7.noarch                               22/55 
      Verifying  : python2-yappi-1.0-1.el7.x86_64                                 23/55 
      Verifying  : python2-defusedxml-0.5.0-2.el7.noarch                          24/55 
      Verifying  : mod_wsgi-3.4-18.el7.x86_64                                     25/55 
      Verifying  : python-paste-deploy-1.5.2-6.el7.noarch                         26/55 
      Verifying  : python2-alembic-1.0.7-1.el7.noarch                             27/55 
      Verifying  : python-editor-0.4-4.el7.noarch                                 28/55 
      Verifying  : python-oslo-cache-lang-1.37.1-1.el7.noarch                     29/55 
      Verifying  : 1:openstack-keystone-16.0.2-1.el7.noarch                       30/55 
      Verifying  : python2-passlib-1.7.1-1.el7.noarch                             31/55 
      Verifying  : python2-click-6.7-8.el7.noarch                                 32/55 
      Verifying  : python2-pysaml2-4.6.5-1.el7.noarch                             33/55 
      Verifying  : python2-oslo-cache-1.37.1-1.el7.noarch                         34/55 
      Verifying  : python2-cachetools-3.1.0-1.el7.noarch                          35/55 
      Verifying  : python2-scrypt-0.8.0-2.el7.x86_64                              36/55 
      Verifying  : 1:python2-flask-1.0.2-1.el7.noarch                             37/55 
      Verifying  : python-routes-2.4.1-1.el7.noarch                               38/55 
      Verifying  : python-aniso8601-0.82-3.el7.noarch                             39/55 
      Verifying  : python-migrate-0.11.0-1.el7.noarch                             40/55 
      Verifying  : python-oslo-policy-lang-2.3.4-1.el7.noarch                     41/55 
      Verifying  : 1:python2-kombu-4.6.3-3.el7.noarch                             42/55 
      Verifying  : python2-ldappool-2.4.0-2.el7.noarch                            43/55 
      Verifying  : python2-statsd-3.2.1-5.el7.noarch                              44/55 
      Verifying  : python2-oslo-concurrency-3.30.1-1.el7.noarch                   45/55 
      Verifying  : python2-itsdangerous-0.24-14.el7.noarch                        46/55 
      Verifying  : python2-flask-restful-0.3.6-7.el7.noarch                       47/55 
      Verifying  : python2-oslo-service-1.40.2-2.el7.noarch                       48/55 
      Verifying  : python2-werkzeug-0.14.1-3.el7.noarch                           49/55 
      Verifying  : python2-jwt-1.6.1-1.el7.noarch                                 50/55 
      Verifying  : python2-oslo-messaging-10.2.4-1.el7.noarch                     51/55 
      Verifying  : python2-oslo-upgradecheck-0.3.2-1.el7.noarch                   52/55 
      Verifying  : python2-oslo-db-5.0.2-2.el7.noarch                             53/55 
      Verifying  : python-oslo-db-lang-5.0.2-2.el7.noarch                         54/55 
      Verifying  : python-oslo-concurrency-lang-3.30.1-1.el7.noarch               55/55 
    
    Installed:
      mod_wsgi.x86_64 0:3.4-18.el7       openstack-keystone.noarch 1:16.0.2-1.el7      
    
    Dependency Installed:
      python-aniso8601.noarch 0:0.82-3.el7                                              
      python-editor.noarch 0:0.4-4.el7                                                  
      python-migrate.noarch 0:0.11.0-1.el7                                              
      python-oslo-cache-lang.noarch 0:1.37.1-1.el7                                      
      python-oslo-concurrency-lang.noarch 0:3.30.1-1.el7                                
      python-oslo-db-lang.noarch 0:5.0.2-2.el7                                          
      python-oslo-middleware-lang.noarch 0:3.38.1-2.el7                                 
      python-oslo-policy-lang.noarch 0:2.3.4-1.el7                                      
      python-paste-deploy.noarch 0:1.5.2-6.el7                                          
      python-pycadf-common.noarch 0:2.10.0-2.el7                                        
      python-pyngus.noarch 0:2.0.3-3.el7                                                
      python-routes.noarch 0:2.4.1-1.el7                                                
      python-sqlparse.noarch 0:0.1.18-5.el7                                             
      python2-alembic.noarch 0:1.0.7-1.el7                                              
      python2-amqp.noarch 0:2.4.1-1.el7                                                 
      python2-bcrypt.x86_64 0:3.1.6-2.el7                                               
      python2-cachetools.noarch 0:3.1.0-1.el7                                           
      python2-click.noarch 0:6.7-8.el7                                                  
      python2-defusedxml.noarch 0:0.5.0-2.el7                                           
      python2-eventlet.noarch 0:0.25.1-1.el7                                            
      python2-fasteners.noarch 0:0.16.3-1.el7                                           
      python2-flask.noarch 1:1.0.2-1.el7                                                
      python2-flask-restful.noarch 0:0.3.6-7.el7                                        
      python2-future.noarch 0:0.18.2-2.el7                                              
      python2-futurist.noarch 0:1.9.0-2.el7                                             
      python2-greenlet.x86_64 0:0.4.12-1.el7                                            
      python2-itsdangerous.noarch 0:0.24-14.el7                                         
      python2-jinja2.noarch 0:2.10.1-1.el7                                              
      python2-jwt.noarch 0:1.6.1-1.el7                                                  
      python2-keystone.noarch 1:16.0.2-1.el7                                            
      python2-keystonemiddleware.noarch 0:7.0.1-2.el7                                   
      python2-kombu.noarch 1:4.6.3-3.el7                                                
      python2-ldappool.noarch 0:2.4.0-2.el7                                             
      python2-oauthlib.noarch 0:2.0.1-8.el7                                             
      python2-oslo-cache.noarch 0:1.37.1-1.el7                                          
      python2-oslo-concurrency.noarch 0:3.30.1-1.el7                                    
      python2-oslo-db.noarch 0:5.0.2-2.el7                                              
      python2-oslo-messaging.noarch 0:10.2.4-1.el7                                      
      python2-oslo-middleware.noarch 0:3.38.1-2.el7                                     
      python2-oslo-policy.noarch 0:2.3.4-1.el7                                          
      python2-oslo-service.noarch 0:1.40.2-2.el7                                        
      python2-oslo-upgradecheck.noarch 0:0.3.2-1.el7                                    
      python2-osprofiler.noarch 0:2.8.2-1.el7                                           
      python2-passlib.noarch 0:1.7.1-1.el7                                              
      python2-pycadf.noarch 0:2.10.0-2.el7                                              
      python2-pysaml2.noarch 0:4.6.5-1.el7                                              
      python2-scrypt.x86_64 0:0.8.0-2.el7                                               
      python2-sqlalchemy.x86_64 0:1.2.17-2.el7                                          
      python2-statsd.noarch 0:3.2.1-5.el7                                               
      python2-vine.noarch 0:1.2.0-2.el7                                                 
      python2-webob.noarch 0:1.8.5-1.el7                                                
      python2-werkzeug.noarch 0:0.14.1-3.el7                                            
      python2-yappi.x86_64 0:1.0-1.el7                                                  
    
    Complete!
    [root@controller ~]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428

    配置 keystone.conf

    [root@controller keystone]#  cd /etc/keystone/ && mv keystone.conf keystone.conf.source && cat keystone.conf.source |grep -Ev "^#|^$" > keystone.conf && chown root:keystone keystone.conf
    mv: overwrite ‘keystone.conf.source’? yes
    [root@controller keystone]# ll
    total 24
    -rw-r----- 1 root     keystone 2303 Jun  7  2021 default_catalog.templates
    -rw-r--r-- 1 root     keystone  601 Nov 24 00:50 keystone.conf
    -rw-r--r-- 1 root     root      601 Nov 24 00:49 keystone.conf.source
    -rw-r----- 1 root     keystone 1046 Jun  7  2021 logging.conf
    -rw-r----- 1 root     keystone    3 Jun  8  2021 policy.json
    -rw-r----- 1 keystone keystone  665 Jun  7  2021 sso_callback_template.html
    [root@controller keystone]# vi /etc/keystone/keystone.conf
    [root@controller keystone]# cat /etc/keystone/keystone.conf
    [DEFAULT]
    [application_credential]
    [assignment]
    [auth]
    [cache]
    [catalog]
    [cors]
    [credential]
    [database]
    connection = mysql+pymysql://keystone:openstack@controller/keystone
    [domain_config]
    [endpoint_filter]
    [endpoint_policy]
    [eventlet_server]
    [federation]
    [fernet_receipts]
    [fernet_tokens]
    [healthcheck]
    [identity]
    [identity_mapping]
    [jwt_tokens]
    [ldap]
    [memcache]
    [oauth1]
    [oslo_messaging_amqp]
    [oslo_messaging_kafka]
    [oslo_messaging_notifications]
    [oslo_messaging_rabbit]
    [oslo_middleware]
    [oslo_policy]
    [policy]
    [profiler]
    [receipt]
    [resource]
    [revoke]
    [role]
    [saml]
    [security_compliance]
    [shadow_users]
    [token]
    expiration = 86400
    # 令牌提供者为 fernet ,即生成令牌方式
    provider = fernet
    [tokenless_auth]
    [totp]
    [trust]
    [unified_limit]
    [wsgi]
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    同步 Identity 服务的初始数据到 keystone 库

    [root@controller keystone]#  su -s /bin/sh -c "keystone-manage db_sync" keystone
    
    • 1

    初始化 Fernet 密钥存储库

    [root@controller keystone]#  keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    [root@controller keystone]#  keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    
    • 1
    • 2

    执行身份引导服务(会创建 endpoint )

    [root@controller keystone]#  keystone-manage bootstrap --bootstrap-password openstack2022 \
    > --bootstrap-admin-url http://controller:5000/v3/ \
    > --bootstrap-internal-url http://controller:5000/v3/ \
    > --bootstrap-public-url http://controller:5000/v3/ \
    > --bootstrap-region-id RegionOne
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    同步 Identity 服务的初始数据到 keystone 库。

    
    [root@controller keystone]#  su -s /bin/sh -c "keystone-manage db_sync" keystone
    
    
    • 1
    • 2
    • 3

    初始化 Fernet 密钥存储库

    
    [root@controller keystone]#  keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    [root@controller keystone]#  keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    [root@controller keystone]#  keystone-manage bootstrap --bootstrap-password openstack2022 \
    > --bootstrap-admin-url http://controller:5000/v3/ \
    > --bootstrap-internal-url http://controller:5000/v3/ \
    > --bootstrap-public-url http://controller:5000/v3/ \
    > --bootstrap-region-id RegionOne
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在控制节点( controller )配置 Apache 服务

    [root@controller keystone]# clear
    [root@controller keystone]# ^C
    [root@controller keystone]#  vi /etc/httpd/conf/httpd.conf
    # This is the main Apache HTTP server configuration file.  It contains the
    .......
    #
    # If your host doesn't have a registered DNS name, enter its IP address here.
    #
    #ServerName www.example.com:80
    ServerName controller:80
    #
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other
    # <Directory> blocks below.
    #
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    "/etc/httpd/conf/httpd.conf" 353L, 11777C written
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    创建软链接

    [root@controller keystone]#  ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
    [root@controller keystone]#  systemctl enable httpd.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@controller keystone]#  systemctl restart httpd.service
    [root@controller keystone]# lsof -i:5000
    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    httpd   14326   root    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14327 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14333 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14334 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14335 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14336 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    httpd   14337 apache    8u  IPv6 103531      0t0  TCP *:commplex-main (LISTEN)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    配置管理员帐户,并创建项目、域、用户、角色

    [root@controller keystone]# cat > /etc/keystone/admin-openrc.sh <<EOF
    > export OS_USERNAME=admin
    > export OS_PASSWORD=openstack2022
    > export OS_PROJECT_NAME=admin
    > export OS_USER_DOMAIN_NAME=Default
    > export OS_PROJECT_DOMAIN_NAME=Default
    > export OS_AUTH_URL=http://controller:5000/v3
    > export OS_IDENTITY_API_VERSION=3
    > export OS_IMAGE_API_VERSION=2
    > EOF
    [root@controller keystone]#  source admin-openrc.sh
    [root@controller keystone]#  openstack domain list
    +---------+---------+---------+--------------------+
    | ID      | Name    | Enabled | Description        |
    +---------+---------+---------+--------------------+
    | default | Default | True    | The default domain |
    +---------+---------+---------+--------------------+
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    创建新域 example ,(仅用于测试,可以不创建)。

    [root@controller keystone]#  source admin-openrc.sh
    [root@controller keystone]#  openstack domain list
    +---------+---------+---------+--------------------+
    | ID      | Name    | Enabled | Description        |
    +---------+---------+---------+--------------------+
    | default | Default | True    | The default domain |
    +---------+---------+---------+--------------------+
    [root@controller keystone]# ^C
    [root@controller keystone]#  openstack domain create --description "An Example Domain" example
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | An Example Domain                |
    | enabled     | True                             |
    | id          | 82de7a9cd4494c3eb7859cfb198c42cf |
    | name        | example                          |
    | options     | {}                               |
    | tags        | []                               |
    +-------------+----------------------------------+
    [root@controller keystone]#  openstack domain list
    +----------------------------------+---------+---------+--------------------+
    | ID                               | Name    | Enabled | Description        |
    +----------------------------------+---------+---------+--------------------+
    | 82de7a9cd4494c3eb7859cfb198c42cf | example | True    | An Example Domain  |
    | default                          | Default | True    | The default domain |
    +----------------------------------+---------+---------+--------------------+
    [root@controller keystone]#  openstack project create --domain default --description "Demo Project" myproject
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Demo Project                     |
    | domain_id   | default                          |
    | enabled     | True                             |
    | id          | 9594da677b474ee9af733ae9a5ea5688 |
    | is_domain   | False                            |
    | name        | myproject                        |
    | options     | {}                               |
    | parent_id   | default                          |
    | tags        | []                               |
    +-------------+----------------------------------+
    [root@controller keystone]#  openstack user create --domain default --password-prompt myuser
    User Password:
    Repeat User Password:
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 391df4420b9f478cad18581e71c342d6 |
    | name                | myuser                           |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    [root@controller keystone]#  openstack role create myrole
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | None                             |
    | domain_id   | None                             |
    | id          | e18143fc6cb84f34b43131e07d560fd9 |
    | name        | myrole                           |
    | options     | {}                               |
    +-------------+----------------------------------+
    [root@controller keystone]#  openstack role add --project myproject --user myuser myrole
    [root@controller keystone]#  openstack role list
    +----------------------------------+--------+
    | ID                               | Name   |
    +----------------------------------+--------+
    | 1909b08134ed44e2a92c06f7a840b9e5 | admin  |
    | 30617e316f89414c941f2d753a440452 | member |
    | e18143fc6cb84f34b43131e07d560fd9 | myrole |
    | ee694a1bf4c84e0f848cd7bd6324dfe4 | reader |
    +----------------------------------+--------+
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74

    创建 service 项目(租户), service 项目将作为 OpenStack 的系统项目,所有系统服务都要加入到 service 项目中。

    [root@controller keystone]#  openstack project create --domain default --description "Service Project" service
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Service Project                  |
    | domain_id   | default                          |
    | enabled     | True                             |
    | id          | 00af7b38a648455f8b933e9c9b64f92b |
    | is_domain   | False                            |
    | name        | service                          |
    | options     | {}                               |
    | parent_id   | default                          |
    | tags        | []                               |
    +-------------+----------------------------------+
    [root@controller keystone]#  openstack project list
    +----------------------------------+-----------+
    | ID                               | Name      |
    +----------------------------------+-----------+
    | 00af7b38a648455f8b933e9c9b64f92b | service   |
    | 9594da677b474ee9af733ae9a5ea5688 | myproject |
    | b069ab279ac147b6a16f9ff2107f7b1b | admin     |
    +----------------------------------+-----------+
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    创建 user 角色

    [root@controller keystone]#  openstack role create user
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | None                             |
    | domain_id   | None                             |
    | id          | d54a275b52f549d0a5dcb8958fea8492 |
    | name        | user                             |
    | options     | {}                               |
    +-------------+----------------------------------+
    [root@controller keystone]#  openstack role list
    +----------------------------------+--------+
    | ID                               | Name   |
    +----------------------------------+--------+
    | 1909b08134ed44e2a92c06f7a840b9e5 | admin  |
    | 30617e316f89414c941f2d753a440452 | member |
    | d54a275b52f549d0a5dcb8958fea8492 | user   |
    | e18143fc6cb84f34b43131e07d560fd9 | myrole |
    | ee694a1bf4c84e0f848cd7bd6324dfe4 | reader |
    +----------------------------------+--------+
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    验证 Keystone

    [root@controller keystone]#  source /etc/keystone/admin-openrc.sh
    [root@controller keystone]#  openstack token issue
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Field      | Value                                                                                                                                                                                   |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | expires    | 2022-11-24T18:30:18+0000                                                                                                                                                                |
    | id         | gAAAAABjfma6G9zZ3n3Qt3Z2rSdjj8kMD1Iwg73jW7ED1gpz9v-e_obEhBbIkL2FVpmtmCiG0radF_BZy_qMOz00mwDJUR6PJXcfu_c2zrn0tw-Cq3AFxATU-eWr9nsciLse4wnUDSGWYta2kq_vnRQXyT7_Xms7CC4QXnWDU0Mof7M4S7bVw74 |
    | project_id | b069ab279ac147b6a16f9ff2107f7b1b                                                                                                                                                        |
    | user_id    | ddcbc0b63d2c4fcd93bdfbf6c8bbd279                                                                                                                                                        |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    使用 admin 用户,请求身份验证令牌。

    [root@controller keystone]#  unset OS_AUTH_URL OS_PASSWORD
    [root@controller keystone]#  openstack --os-auth-url http://controller:5000/v3 \
    > --os-project-domain-name Default \
    > --os-user-domain-name Default \
    > --os-project-name admin \
    > --os-username admin token issue
    Password: 
    Password: 
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Field      | Value                                                                                                                                                                                   |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | expires    | 2022-11-24T18:33:11+0000                                                                                                                                                                |
    | id         | gAAAAABjfmdn8T76QxCbGXDXzn37VR6D4D8k_DXDpL4gVmviwykTlgG9IPUZnrUgcvLmNmgyoGTK83UuJJu9HdrPJC-vt1Nemts4jR9L-Y7WDy5hpDmSc5kza1-v7_CWP9_z7OpRe0-JiKceUry9H6-PQGrAcjLSo7089mcT2VZ_fVu_8ag7LpU |
    | project_id | b069ab279ac147b6a16f9ff2107f7b1b                                                                                                                                                        |
    | user_id    | ddcbc0b63d2c4fcd93bdfbf6c8bbd279                                                                                                                                                        |
    +------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在控制节点(controller)安装 Placemen配置数据库

    #登录数据库创建 placement 数据库
    [root@controller etcd]# mysql -uroot -pmaster
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 26
    Server version: 10.3.20-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>  CREATE DATABASE placement default character set utf8;
    Query OK, 1 row affected (0.000 sec)
    #创建并授予 placement 用户完全操作 placement 库权限
    MariaDB [(none)]>  GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'openstack';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]>  GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'openstack';
    Query OK, 0 rows affected (0.001 sec)
    
    MariaDB [(none)]>  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在控制节点( controller )安装 Placement

    [root@controller keystone]# lsof -i:2379
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    etcd    5848 etcd    6u  IPv4  56286      0t0  TCP controller:2379 (LISTEN)
    etcd    5848 etcd   10u  IPv4  57107      0t0  TCP controller:32012->controller:2379 (ESTABLISHED)
    etcd    5848 etcd   12u  IPv4  57552      0t0  TCP controller:2379->controller:32012 (ESTABLISHED)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建用户和 API 服务端点

    [root@controller keystone]#  source /etc/keystone/admin-openrc.sh
    [root@controller keystone]#  openstack user create --domain default --password-prompt placement
    User Password:
    Repeat User Password:
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 26b2d53488804228a0b57b233c5cc593 |
    | name                | placement                        |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    #将 placement 加入到 service 项目以及 admin 角色
    [root@controller keystone]#  openstack role add --project service --user placement admin
    #创建服务实体
    [root@controller keystone]#  openstack service create --name placement --description "Placement API" placement
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Placement API                    |
    | enabled     | True                             |
    | id          | 68f54270c7dc4d4a9b9cbdf6264b4ec1 |
    | name        | placement                        |
    | type        | placement                        |
    +-------------+----------------------------------+
    创建 Placement API 服务端点
    [root@controller keystone]#  openstack endpoint create --region RegionOne placement public http://controller:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 7ad9669702454249bbc8451214d7088d |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 68f54270c7dc4d4a9b9cbdf6264b4ec1 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://controller:8778           |
    +--------------+----------------------------------+
    [root@controller keystone]#  openstack endpoint create --region RegionOne placement internal http://controller:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | c1c689d076f04a268a8a70a34e055497 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 68f54270c7dc4d4a9b9cbdf6264b4ec1 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://controller:8778           |
    +--------------+----------------------------------+
    [root@controller keystone]#  openstack endpoint create --region RegionOne placement admin http://controller:8778
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 894ebf45d0f34d209b42cb6aedb59e16 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 68f54270c7dc4d4a9b9cbdf6264b4ec1 |
    | service_name | placement                        |
    | service_type | placement                        |
    | url          | http://controller:8778           |
    +--------------+----------------------------------+
    #查看
    [root@controller keystone]# openstack endpoint list
    +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
    | ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                        |
    +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
    | 1e6cc1d447794d23acb27b31ee623e03 | RegionOne | keystone     | identity     | True    | public    | http://controller:5000/v3/ |
    | 352a0664398a43ab925a0258323ea028 | RegionOne | keystone     | identity     | True    | internal  | http://controller:5000/v3/ |
    | 7ad9669702454249bbc8451214d7088d | RegionOne | placement    | placement    | True    | public    | http://controller:8778     |
    | 894ebf45d0f34d209b42cb6aedb59e16 | RegionOne | placement    | placement    | True    | admin     | http://controller:8778     |
    | c1c689d076f04a268a8a70a34e055497 | RegionOne | placement    | placement    | True    | internal  | http://controller:8778     |
    | cf8962f9a9b64086af9f31b6d730ed86 | RegionOne | keystone     | identity     | True    | admin     | http://controller:5000/v3/ |
    +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
    #安装配置 Placement
    [root@controller keystone]#  yum -y install openstack-placement-api
    Loaded plugins: fastestmirror, langpacks
    Repository base is listed more than once in the configuration
    Repository updates is listed more than once in the configuration
    Repository extras is listed more than once in the configuration
    Loading mirror speeds from cached hostfile
     * base: mirrors.ustc.edu.cn
     * extras: mirrors.cqu.edu.cn
     * updates: mirrors.ustc.edu.cn
    base                                                         | 3.6 kB  00:00:00     
    Not using downloaded base/repomd.xml because it is older than what we have:
      Current   : Tue Nov 22 17:31:15 2022
      Downloaded: Fri Oct 30 04:03:00 2020
    centos-nfs-ganesha28                                         | 2.9 kB  00:00:00     
    centos-openstack-train                                       | 2.9 kB  00:00:00     
    centos-qemu-ev                                               | 2.9 kB  00:00:00     
    ceph                                                         | 2.9 kB  00:00:00     
    ceph-noarch                                                  | 2.9 kB  00:00:00     
    docker-ce-stable                                             | 2.9 kB  00:00:00     
    epel                                                         | 2.9 kB  00:00:00     
    extras                                                       | 2.9 kB  00:00:00     
    Not using downloaded extras/repomd.xml because it is older than what we have:
      Current   : Wed Nov 23 15:27:27 2022
      Downloaded: Wed Oct  5 01:24:54 2022
    openresty                                                    | 2.9 kB  00:00:00     
    updates                                                      | 2.9 kB  00:00:00     
    Not using downloaded updates/repomd.xml because it is older than what we have:
      Current   : Wed Nov 23 15:26:42 2022
      Downloaded: Sat Nov 12 01:10:48 2022
    Resolving Dependencies
    --> Running transaction check
    ---> Package openstack-placement-api.noarch 0:2.0.1-1.el7 will be installed
    --> Processing Dependency: openstack-placement-common = 2.0.1-1.el7 for package: openstack-placement-api-2.0.1-1.el7.noarch
    --> Running transaction check
    ---> Package openstack-placement-common.noarch 0:2.0.1-1.el7 will be installed
    --> Processing Dependency: python2-placement = 2.0.1-1.el7 for package: openstack-placement-common-2.0.1-1.el7.noarch
    --> Running transaction check
    ---> Package python2-placement.noarch 0:2.0.1-1.el7 will be installed
    --> Processing Dependency: python2-os-traits >= 0.16.0 for package: python2-placement-2.0.1-1.el7.noarch
    --> Processing Dependency: python2-os-resource-classes >= 0.5.0 for package: python2-placement-2.0.1-1.el7.noarch
    --> Processing Dependency: python2-microversion-parse >= 0.2.1 for package: python2-placement-2.0.1-1.el7.noarch
    --> Running transaction check
    ---> Package python2-microversion-parse.noarch 0:0.2.1-1.el7 will be installed
    ---> Package python2-os-resource-classes.noarch 0:0.5.0-1.el7 will be installed
    ---> Package python2-os-traits.noarch 0:0.16.0-1.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ====================================================================================
     Package                      Arch    Version         Repository               Size
    ====================================================================================
    Installing:
     openstack-placement-api      noarch  2.0.1-1.el7     centos-openstack-train  8.5 k
    Installing for dependencies:
     openstack-placement-common   noarch  2.0.1-1.el7     centos-openstack-train   21 k
     python2-microversion-parse   noarch  0.2.1-1.el7     centos-openstack-train   27 k
     python2-os-resource-classes  noarch  0.5.0-1.el7     centos-openstack-train   13 k
     python2-os-traits            noarch  0.16.0-1.el7    centos-openstack-train   34 k
     python2-placement            noarch  2.0.1-1.el7     centos-openstack-train  245 k
    
    Transaction Summary
    ====================================================================================
    Install  1 Package (+5 Dependent packages)
    
    Total download size: 349 k
    Installed size: 1.2 M
    Downloading packages:
    (1/6): openstack-placement-api-2.0.1-1.el7.noarch.rpm        | 8.5 kB  00:00:00     
    (2/6): openstack-placement-common-2.0.1-1.el7.noarch.rpm     |  21 kB  00:00:00     
    (3/6): python2-microversion-parse-0.2.1-1.el7.noarch.rpm     |  27 kB  00:00:00     
    (4/6): python2-os-traits-0.16.0-1.el7.noarch.rpm             |  34 kB  00:00:00     
    (5/6): python2-placement-2.0.1-1.el7.noarch.rpm              | 245 kB  00:00:00     
    (6/6): python2-os-resource-classes-0.5.0-1.el7.noarch.rpm    |  13 kB  00:00:00     
    ------------------------------------------------------------------------------------
    Total                                                  602 kB/s | 349 kB  00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : python2-os-traits-0.16.0-1.el7.noarch                            1/6 
      Installing : python2-os-resource-classes-0.5.0-1.el7.noarch                   2/6 
      Installing : python2-microversion-parse-0.2.1-1.el7.noarch                    3/6 
      Installing : python2-placement-2.0.1-1.el7.noarch                             4/6 
      Installing : openstack-placement-common-2.0.1-1.el7.noarch                    5/6 
      Installing : openstack-placement-api-2.0.1-1.el7.noarch                       6/6 
      Verifying  : python2-microversion-parse-0.2.1-1.el7.noarch                    1/6 
      Verifying  : python2-placement-2.0.1-1.el7.noarch                             2/6 
      Verifying  : openstack-placement-api-2.0.1-1.el7.noarch                       3/6 
      Verifying  : python2-os-resource-classes-0.5.0-1.el7.noarch                   4/6 
      Verifying  : openstack-placement-common-2.0.1-1.el7.noarch                    5/6 
      Verifying  : python2-os-traits-0.16.0-1.el7.noarch                            6/6 
    
    Installed:
      openstack-placement-api.noarch 0:2.0.1-1.el7                                      
    
    Dependency Installed:
      openstack-placement-common.noarch 0:2.0.1-1.el7                                   
      python2-microversion-parse.noarch 0:0.2.1-1.el7                                   
      python2-os-resource-classes.noarch 0:0.5.0-1.el7                                  
      python2-os-traits.noarch 0:0.16.0-1.el7                                           
      python2-placement.noarch 0:2.0.1-1.el7                                            
    
    Complete!
    [root@controller keystone]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188

    修改配置文件 /etc/placement/placement.conf

    [root@controller keystone]#   cd /etc/placement/ && mv placement.conf placement.conf.source && cat placement.conf.source |grep -Ev "^#|^$" > placement.conf && chown root:placement placement.conf
    <VirtualHost *:8778>
      WSGIProcessGroup placement-api
      WSGIApplicationGroup %{GLOBAL}
      WSGIPassAuthorization On
      WSGIDaemonProcess placement-api processes=3 threads=1 user=placement group=placement
      WSGIScriptAlias / /usr/bin/placement-api
      <IfVersion >= 2.4>
        ErrorLogFormat "%M"
      </IfVersion>
      ErrorLog /var/log/placement/placement-api.log
    <Directory /usr/bin>
    <IfVersion >= 2.4>
    Require all granted
    </IfVersion>
    <IfVersion < 2.4>
    Order allow,deny
    Allow from all
    </IfVersion>
    </Directory>
      #SSLEngine On
      #SSLCertificateFile ...
      #SSLCertificateKeyFile ...
    </VirtualHost>
    "/etc/httpd/conf.d/00-placement-api.conf" 34L, 820C written
    #配置
    [root@controller placement]#  vi /etc/placement/placement.conf
    [root@controller placement]# cat  /etc/placement/placement.conf
    [DEFAULT]
    [api]
    auth_strategy = keystone
    [cors]
    [keystone_authtoken]
    auth_url = http://controller:5000/v3
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = placement
    password = openstack2022
    [oslo_policy]
    [placement]
    [placement_database]
    connection = mysql+pymysql://placement:openstack@controller/placement
    [profiler]
    #配置
    [root@controller placement]#  vi /etc/httpd/conf.d/00-placement-api.conf
    [root@controller placement]#  cat /etc/httpd/conf.d/00-placement-api.conf  
    Listen 8778
    
    <VirtualHost *:8778>
      WSGIProcessGroup placement-api
      WSGIApplicationGroup %{GLOBAL}
      WSGIPassAuthorization On
      WSGIDaemonProcess placement-api processes=3 threads=1 user=placement group=placement
      WSGIScriptAlias / /usr/bin/placement-api
      <IfVersion >= 2.4>
        ErrorLogFormat "%M"
      </IfVersion>
      ErrorLog /var/log/placement/placement-api.log
    <Directory /usr/bin>
    <IfVersion >= 2.4>
    Require all granted
    </IfVersion>
    <IfVersion < 2.4>
    Order allow,deny
    Allow from all
    </IfVersion>
    </Directory>
      #SSLEngine On
      #SSLCertificateFile ...
      #SSLCertificateKeyFile ...
    </VirtualHost>
    
    Alias /placement-api /usr/bin/placement-api
    <Location /placement-api>
      SetHandler wsgi-script
      Options +ExecCGI
      WSGIProcessGroup placement-api
      WSGIApplicationGroup %{GLOBAL}
      WSGIPassAuthorization On
    </Location>
    #同步 placement 数据库
    [root@controller placement]#  su -s /bin/sh -c "placement-manage db sync" placement
    /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1280, u"Name 'alembic_version_pkc' ignored for PRIMARY key.")
      result = self._query(query)
    #重启 httpd 服务并验证 Placement
    [root@controller placement]#  systemctl restart httpd
    [root@controller placement]#  placement-status upgrade check
    +----------------------------------+
    | Upgrade Check Results            |
    +----------------------------------+
    | Check: Missing Root Provider IDs |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    | Check: Incomplete Consumers      |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    [root@controller placement]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102

    机器 yum01上配置数据 源

    配置国内 pip 源

    cat > /etc/pip.conf <<EOF
    [global]
    index-url = https://pypi.douban.com/simple/
    [install]
    trusted-host = https://pypi.douban.com
    来 bilibili 关注: itcooking 33
    EOF
    安装 osc-placement 插件
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在 yum01 主机上通过 pip download osc-placement==2.2.0 下载离线包放入 /var/www/html/yumrepos/pip 目录下

    #yum install -y python-pip
    #pip download osc-placement==2.2.0 
    
    • 1
    • 2

    列出可用的资源类和特征。

    # openstack --os-placement-api-version 1.2 resource class list --sort-column name
    # openstack --os-placement-api-version 1.6 trait list --sort-column nam
    
    • 1
    • 2

    安装配置并验证 Glance( 控制节点
    一、在控制节点( controller )安装 Glance
    1 、登录数据库创建 glance 数据库

    MariaDB [(none)]> CREATE DATABASE glance default character set utf8;
    创建并授予 glance 用户完全操作 glance 库权限
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';
    
    • 1
    • 2
    • 3
    • 4

    2 、 创建用户和 API 服务端点

    # source /etc/keystone/admin-openrc.sh
    
    • 1

    创建 glance 用户,密码设置为: openstack2022

    # openstack user create --domain default --password openstack2022 glance
    
    • 1

    将 glance 加入到 service 项目以及 admin 角色

    # openstack role add --project service --user glance admin
    
    • 1

    创建 glance 服务实体
    openstack service create --name glance --description “OpenStack Image” image
    创建 Glance API 服务端点

    # openstack endpoint create --region RegionOne image public http://controller:9292
    # openstack endpoint create --region RegionOne image internal http://controller:9292
    # openstack endpoint create --region RegionOne image admin http://controller:9292
    
    • 1
    • 2
    • 3

    3 、安装配置 Glance

    # yum -y install openstack-glance
    
    • 1

    修改 /etc/glance/glance-api.conf

    # cd /etc/glance/ && mv glance-api.conf glance-api.conf.source && cat glance-api.conf.source |grep -Ev "^#|^$" > glance-api.conf && chown
    root:glance glance-api.conf
    # vi /etc/glance/glance-api.conf
    
    • 1
    • 2
    • 3

    在 [DEFAULT] 部分,增加 rabbitmq 配置

    [DEFAULT]
    show_image_direct_url = True
    transport_url = rabbit://openstack:openstack@controller[database] 部分中,配置数据库访问。
    [database]
    connection = mysql+pymysql://glance:openstack@controller/glance[keystone_authtoken][paste_deploy] 部分中,配置身份认证服务
    [keystone_authtoken]
    www_authenticate_uri = http://controller:5000
    auth_url = http://controller:5000
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = openstack2022
    [paste_deploy]
    flavor = keystone
    在该 [glance_store] 部分,配置镜像使用哪种存储来存储镜像,默认使用文件系统存储,路径为 /var/lib/glance/images/ 。也支持 swift 、 ceph 、 GlusterFS
    [glance_store]
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    修改 /etc/glance/glance-registry.conf

    # cd /etc/glance/ && mv glance-registry.conf glance-registry.conf.source && cat glance-registry.conf.source |grep -Ev "^#|^$" > glance-registry.conf && chown root:glance glance-registry.conf
    # vi /etc/glance/glance-registry.conf
    
    • 1
    • 2

    在该 [database] 部分中,配置数据库访问。

    [database]
    connection = mysql+pymysql://glance:openstack@controller/glance[keystone_authtoken][paste_deploy] 部分中,配置身份服务访问。
    [keystone_authtoken]
    www_authenticate_uri = http://controller:5000
    auth_url = http://controller:5000
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = openstack2022
    [paste_deploy]
    flavor = keystone
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    4 、同步 Glance 数据库

    su -s /bin/sh -c "glance-manage db_sync" glance
    
    • 1

    5 、启动 Glance 服务并设置成开机自启动

    # systemctl enable openstack-glance-api.service openstack-glance-registry.service && systemctl start openstack-glance-api.service openstack-glance-registry.service
    
    • 1

    6 、验证 Glance 服务

    # source /etc/keystone/admin-openrc.sh
    
    • 1

    下载测试镜像 cirros 上传到 Glance

    # wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    
    • 1

    使用本地 yum 源下载地址

    # wget http://yum01/yumrepos/cirros-0.4.0-x86_64-disk.img
    
    • 1

    说明: cirros 是一个裁剪过的镜像,用于 Openstack 故障检测和测试。

    [root@controller ~]#  cd /etc/glance/ && mv glance-api.conf glance-api.conf.source && cat glance-api.conf.source |grep -Ev "^#|^$" > glance-api.conf && chown
    chown: missing operand
    Try 'chown --help' for more information.
    [root@controller glance]# ls
    glance-api.conf         glance-image-import.conf  glance-swift.conf  rootwrap.conf
    glance-api.conf.source  glance-registry.conf      metadefs           rootwrap.d
    glance-cache.conf       glance-scrubber.conf      policy.json        schema-image.json
    [root@controller glance]# ll
    total 456
    -rw-r--r-- 1 root root      476 Nov 24 13:59 glance-api.conf
    -rw-r----- 1 root glance 192260 Aug 12  2020 glance-api.conf.source
    -rw-r----- 1 root glance  88147 Aug 12  2020 glance-cache.conf
    -rw-r--r-- 1 root glance   7779 Aug 12  2020 glance-image-import.conf
    -rw-r----- 1 root glance  66036 Aug 12  2020 glance-registry.conf
    -rw-r----- 1 root glance  79994 Aug 12  2020 glance-scrubber.conf
    -rw-r--r-- 1 root glance    632 Aug 13  2020 glance-swift.conf
    drwxr-xr-x 2 root root     4096 Nov 24 13:59 metadefs
    -rw-r----- 1 root glance   1388 Aug 12  2020 policy.json
    
    [root@controller glance]# chown root:glance glance-api.conf
    [root@controller glance]# ll
    total 456
    -rw-r--r-- 1 root glance    476 Nov 24 13:59 glance-api.conf
    -rw-r----- 1 root glance 192260 Aug 12  2020 glance-api.conf.source
    -rw-r----- 1 root glance  88147 Aug 12  2020 glance-cache.conf
    -rw-r--r-- 1 root glance   7779 Aug 12  2020 glance-image-import.conf
    -rw-r----- 1 root glance  66036 Aug 12  2020 glance-registry.conf
    -rw-r----- 1 root glance  79994 Aug 12  2020 glance-scrubber.conf
    -rw-r--r-- 1 root glance    632 Aug 13  2020 glance-swift.conf
    drwxr-xr-x 2 root root     4096 Nov 24 13:59 metadefs
    -rw-r----- 1 root glance   1388 Aug 12  2020 policy.json
    -rw-r----- 1 root glance    941 Aug 13  2020 rootwrap.conf
    drwxr-xr-x 2 root root       65 Nov 24 13:59 rootwrap.d
    -rw-r----- 1 root glance   2145 Aug 12  2020 schema-image.json
    [root@controller glance]#  vi /etc/glance/glance-api.conf
    [root@controller glance]# cat /etc/glance/glance-api.conf   
    [DEFAULT]
    show_image_direct_url = True
    transport_url = rabbit://openstack:openstack@controller
    
    [cinder]
    [cors]
    [database]
    connection = mysql+pymysql://glance:openstack@controller/glance
    
    [file]
    [glance.store.http.store]
    [glance.store.rbd.store]
    [glance.store.sheepdog.store]
    [glance.store.swift.store]
    [glance.store.vmware_datastore.store]
    [glance_store]
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/
    
    [image_format]
    [keystone_authtoken]
    www_authenticate_uri = http://controller:5000
    auth_url = http://controller:5000
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    [DEFAULT]
    [database]
    connection = mysql+pymysql://glance:openstack@controller/glance
    
    [keystone_authtoken]
    www_authenticate_uri = http://controller:5000
    auth_url = http://controller:5000
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = glance
    password = openstack2022
    
    [oslo_messaging_amqp]
    [oslo_messaging_kafka]
    [oslo_messaging_notifications]
    [oslo_messaging_rabbit]
    [oslo_policy]
    [paste_deploy]
    flavor = keystone
    
    [profiler]
    "glance-registry.conf" 24L, 528C written
    username = glance
    password = openstack2022
    
    [oslo_concurrency]
    [oslo_messaging_amqp]
    [oslo_messaging_kafka]
    [oslo_messaging_notifications]
    [oslo_messaging_rabbit]
    [oslo_middleware]
    [oslo_policy]
    [paste_deploy]
    flavor = keystone
    
    [profiler]
    [store_type_location_strategy]
    [task]
    [taskflow_executor]
    [root@controller glance]# 
    [root@controller glance]#  cd /etc/glance/ && mv glance-registry.conf glance-registry.conf.source && cat glance-registry.conf.source |grep -Ev "^#|^$" > glance-registry.conf && chown root:glance glance-registry.conf
    [root@controller glance]#  vi /etc/glance/glance-registry.conf
    [root@controller glance]# su -s /bin/sh -c "glance-manage db_sync" glance
    。。。。。。
    INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
    Database is synced successfully.
    [root@controller glance]#  systemctl enable openstack-glance-api.service openstack-glance-registry.service && systemctl start openstack-glance-api.service openstack-glance-registry.service
    Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
    [root@controller glance]#  source /etc/keystone/admin-openrc.sh
    [root@controller glance]#  wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    --2022-11-24 14:07:52--  http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving download.cirros-cloud.net (download.cirros-cloud.net)... 64.90.42.85, 2607:f298:6:a036::bd6:a72a
    Connecting to download.cirros-cloud.net (download.cirros-cloud.net)|64.90.42.85|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img [following]
    --2022-11-24 14:07:53--  https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving github.com (github.com)... 20.205.243.166
    Connecting to github.com (github.com)|20.205.243.166|:443... connected.
    Unable to establish SSL connection.
    [root@controller glance]# 
    
     查看Glance 服务
    [root@controller glance]# systemctl status openstack-glance-api.service openstack-glance-registry.service 
    ● openstack-glance-api.service - OpenStack Image Service (code-named Glance) API server
       Loaded: loaded (/usr/lib/systemd/system/openstack-glance-api.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2022-11-24 14:07:34 CST; 9min ago
     Main PID: 62515 (glance-api)
        Tasks: 5
       CGroup: /system.slice/openstack-glance-api.service
               ├─62515 /usr/bin/python2 /usr/bin/glance-api
               ├─62546 /usr/bin/python2 /usr/bin/glance-api
               ├─62547 /usr/bin/python2 /usr/bin/glance-api
               ├─62548 /usr/bin/python2 /usr/bin/glance-api
               └─62549 /usr/bin/python2 /usr/bin/glance-api
    
    Nov 24 14:07:34 controller systemd[1]: Started OpenStack Image Service (code-named Glance) API server.
    Nov 24 14:07:35 controller glance-api[62515]: /usr/lib/python2.7/site-packages/paste/deploy/loadwsg...ly.
    Nov 24 14:07:35 controller glance-api[62515]: return pkg_resources.EntryPoint.parse("x=" + s).load(False)
    
    ● openstack-glance-registry.service - OpenStack Image Service (code-named Glance) Registry server
       Loaded: loaded (/usr/lib/systemd/system/openstack-glance-registry.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2022-11-24 14:07:34 CST; 9min ago
     Main PID: 62520 (glance-registry)
        Tasks: 5
       CGroup: /system.slice/openstack-glance-registry.service
               ├─62520 /usr/bin/python2 /usr/bin/glance-registry
               ├─62541 /usr/bin/python2 /usr/bin/glance-registry
               ├─62542 /usr/bin/python2 /usr/bin/glance-registry
               ├─62543 /usr/bin/python2 /usr/bin/glance-registry
               └─62544 /usr/bin/python2 /usr/bin/glance-registry
    
    Nov 24 14:07:34 controller systemd[1]: Started OpenStack Image Service (code-named Glance) Registr...ver.
    Nov 24 14:07:35 controller glance-registry[62520]: /usr/lib/python2.7/site-packages/paste/deploy/lo...ly.
    Nov 24 14:07:35 controller glance-registry[62520]: return pkg_resources.EntryPoint.parse("x=" + s)....se)
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@controller glance]# tail -f /var/log/glance/*.log
    ==> /var/log/glance/api.log <==
    ).  Its value may be silently ignored in the future.
    2022-11-24 14:07:37.340 62515 INFO glance.common.wsgi [-] Starting 4 workers
    2022-11-24 14:07:37.358 62515 INFO glance.common.wsgi [-] Started child 62546
    2022-11-24 14:07:37.404 62515 INFO glance.common.wsgi [-] Started child 62547
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170

    yum01节点下载cirros-0.4.0-x86_64-disk.

    [root@yum01 yumrepos]# vi /etc/hosts
    [root@yum01 yumrepos]#  wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    --2022-11-24 13:34:18--  http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving download.cirros-cloud.net (download.cirros-cloud.net)... 64.90.42.85, 2607:f298:6:a036::bd6:a72a
    Connecting to download.cirros-cloud.net (download.cirros-cloud.net)|64.90.42.85|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img [following]
    --2022-11-24 13:34:18--  https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving github.com (github.com)... 20.205.243.166
    Connecting to github.com (github.com)|20.205.243.166|:443... connected.
    Unable to establish SSL connection.
    [root@yum01 yumrepos]# yum  update  wget
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * centos-ceph-nautilus: mirrors.cqu.edu.cn
     * centos-nfs-ganesha28: mirrors.ustc.edu.cn
     * centos-openstack-train: mirrors.ustc.edu.cn
     * centos-qemu-ev: mirrors.ustc.edu.cn
     * epel: mirrors.bfsu.edu.cn
    No packages marked for update
    [root@yum01 yumrepos]# systemctl status firewalld.service 
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: man:firewalld(1)
    [root@yum01 yumrepos]#  wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    --2022-11-24 13:35:37--  http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving download.cirros-cloud.net (download.cirros-cloud.net)... 64.90.42.85, 2607:f298:6:a036::bd6:a72a
    Connecting to download.cirros-cloud.net (download.cirros-cloud.net)|64.90.42.85|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img [following]
    --2022-11-24 13:35:37--  https://github.com/cirros-dev/cirros/releases/download/0.4.0/cirros-0.4.0-x86_64-disk.img
    Resolving github.com (github.com)... 20.205.243.166
    Connecting to github.com (github.com)|20.205.243.166|:443... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/219785102/b2074f00-411a-11ea-9620-afb551cf9af3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221124%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221124T033056Z&X-Amz-Expires=300&X-Amz-Signature=44a2b0140ee846675c2711eebfc17f978e1f681349e05064640ead7bc206acae&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=219785102&response-content-disposition=attachment%3B%20filename%3Dcirros-0.4.0-x86_64-disk.img&response-content-type=application%2Foctet-stream [following]
    --2022-11-24 13:35:38--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/219785102/b2074f00-411a-11ea-9620-afb551cf9af3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221124%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221124T033056Z&X-Amz-Expires=300&X-Amz-Signature=44a2b0140ee846675c2711eebfc17f978e1f681349e05064640ead7bc206acae&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=219785102&response-content-disposition=attachment%3B%20filename%3Dcirros-0.4.0-x86_64-disk.img&response-content-type=application%2Foctet-stream
    Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.109.133, 185.199.111.133, ...
    Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 12716032 (12M) [application/octet-stream]
    Saving to: ‘cirros-0.4.0-x86_64-disk.img’
    
    100%[===============================================================>] 12,716,032  1.54MB/s   in 11s    
    
    2022-11-24 13:36:31 (1.15 MB/s) - ‘cirros-0.4.0-x86_64-disk.img’ saved [12716032/12716032]
    
    [root@yum01 yumrepos]# ls
    base                  centos-openstack-train  ceph-noarch                   epel       pip
    centos-ceph-nautilus  centos-qemu-ev          cirros-0.4.0-x86_64-disk.img  extras     updates
    centos-nfs-ganesha28  ceph                    docker-ce-stable              openresty  zabbix
    [root@yum01 yumrepos]# pwd
    /var/www/html/yumrepos
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    控制节点验证 Glance 服务

    使用本地 yum 源下载地址, cirros 是一个裁剪过的镜像,用于 Openstack 故障检测和测试
    [root@controller ~]# wget http://yum01/yumrepos/cirros-0.4.0-x86_64-disk.img
    --2022-11-24 14:42:54--  http://yum01/yumrepos/cirros-0.4.0-x86_64-disk.img
    Resolving yum01 (yum01)... 192.168.182.250
    Connecting to yum01 (yum01)|192.168.182.250|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 12716032 (12M) [application/octet-stream]
    Saving to: ‘cirros-0.4.0-x86_64-disk.img’
    
    100%[===============================================================>] 12,716,032  --.-K/s   in 0.09s   
    
    2022-11-24 14:42:54 (132 MB/s) - ‘cirros-0.4.0-x86_64-disk.img’ saved [12716032/12716032]
    
    [root@controller ~]# ls
    anaconda-ks.cfg               Documents             Music                       Pictures   Videos
    cirros-0.4.0-x86_64-disk.img  Downloads             osc-placement-2.2.0.tar.gz  Public
    Desktop                       initial-setup-ks.cfg  perl5                       Templates
    #上传镜像到 glance 。
    [root@controller ~]#  openstack image create "cirros-0.4.0-x86_64" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Field            | Value                                                                                                                                                                                                                                                                       |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | checksum         | 443b7623e27ecf03dc9e01ee93f67afe                                                                                                                                                                                                                                            |
    | container_format | bare                                                                                                                                                                                                                                                                        |
    | created_at       | 2022-11-24T06:44:58Z                                                                                                                                                                                                                                                        |
    | disk_format      | qcow2                                                                                                                                                                                                                                                                       |
    | file             | /v2/images/85219bb3-2513-4792-9b5e-c51de301b4c3/file                                                                                                                                                                                                                        |
    | id               | 85219bb3-2513-4792-9b5e-c51de301b4c3                                                                                                                                                                                                                                        |
    | min_disk         | 0                                                                                                                                                                                                                                                                           |
    | min_ram          | 0                                                                                                                                                                                                                                                                           |
    | name             | cirros-0.4.0-x86_64                                                                                                                                                                                                                                                         |
    | owner            | b069ab279ac147b6a16f9ff2107f7b1b                                                                                                                                                                                                                                            |
    | properties       | direct_url='file:///var/lib/glance/images/85219bb3-2513-4792-9b5e-c51de301b4c3', os_hash_algo='sha512', os_hash_value='6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e2161b5b5186106570c17a9e58b64dd39390617cd5a350f78', os_hidden='False' |
    | protected        | False                                                                                                                                                                                                                                                                       |
    | schema           | /v2/schemas/image                                                                                                                                                                                                                                                           |
    | size             | 12716032                                                                                                                                                                                                                                                                    |
    | status           | active                                                                                                                                                                                                                                                                      |
    | tags             |                                                                                                                                                                                                                                                                             |
    | updated_at       | 2022-11-24T06:44:59Z                                                                                                                                                                                                                                                        |
    | virtual_size     | None                                                                                                                                                                                                                                                                        |
    | visibility       | public                                                                                                                                                                                                                                                                      |
    +------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    [root@controller ~]# ls /var/lib/glance/images/85219bb3-2513-4792-9b5e-c51de301b4c3
    /var/lib/glance/images/85219bb3-2513-4792-9b5e-c51de301b4c3
    [root@controller ~]# du -sh /var/lib/glance/images/85219bb3-2513-4792-9b5e-c51de301b4c3
    13M     /var/lib/glance/images/85219bb3-2513-4792-9b5e-c51de301b4c3
    [root@controller ~]# du -sh cirros-0.4.0-x86_64-disk.img 
    13M     cirros-0.4.0-x86_64-disk.img
    [root@controller ~]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    确认上传的镜像和属性。

    # openstack image list
    
    • 1

    # glance image-list
    # openstack image show ${image_id}
    
    • 1
    • 2

    # glance image-show ${image_id}
    
    • 1

    设置镜像为公有镜像

    # openstack image set cirros-0.4.0-x86_64 --public
    
    • 1

    删除镜像

    # openstack image delete ${image_name}
    
    • 1
  • 相关阅读:
    阿里8年测试经验,手工测试转变为自动化测试,送给正在迷茫的你
    数据结构 —— 双向链表(超详细图解 & 接口函数实现)
    牛客: BM5 合并k个已排序的链表
    AtCoder Beginner Contest 228(A-Ex)
    除氟树脂杜笙TulsimerCH-87的原理介绍
    极轨气象卫星数据中的蝴蝶结(BOW-TIE)处理
    安全信得过!天翼云数据安全管理平台通过评测
    python高级在线题目训练-第二套·主观题
    2022“杭电杯”中国大学生算法设计超级联赛(8)签到题5题
    前端骨架屏应用
  • 原文地址:https://blog.csdn.net/weixin_44048054/article/details/128006670