千家信息网

OpenStack stein安装(四)placement

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,  placement服务提供一个HTTP API,用于跟踪资源提供者清单和使用情况。placement作为数据模型上的web服务进行操作。安装包括创建必要的数据库以及安装和配置web服务。这是一个简
千家信息网最后更新 2025年02月08日OpenStack stein安装(四)placement

  placement服务提供一个HTTP API,用于跟踪资源提供者清单和使用情况。placement作为数据模型上的web服务进行操作。安装包括创建必要的数据库以及安装和配置web服务。这是一个简单的过程,但是要将placement与OpenStack云的其余部分集成起来,有相当多的步骤。
  其他一些OpenStack服务(尤其是nova)需要安装placement,因此应该在其他服务之前安装placement,而在Identity (keystone)之后安装placement。

安装准备

安装配置placement服务之前,建库等。

  1. 建立数据库

    1. 完成下列建库操作:    ○ 使用root用户登录:        $ mysql -u root -p root123     ○ 建立placement database:        MariaDB [(none)]> CREATE DATABASE placement;    ○ Grant proper access to the database:        MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%'  IDENTIFIED BY 'placement123';2. Configure User and Endpoints    1. Source the admin credentials to gain access to admin-only CLI commands:        $ . admin-openrc    2. Create a Placement service user using your chosen PLACEMENT_PASS:        $ openstack user create --domain default --password-prompt placement        User Password:placement123        Repeat User Password:placement123        +---------------------+----------------------------------+        | Field               | Value                            |        +---------------------+----------------------------------+        | domain_id           | default                          |        | enabled             | True                             |        | id                  | fa742015a6494a949f67629884fc7ec8 |        | name                | placement                        |        | options             | {}                               |        | password_expires_at | None                             |        +---------------------+----------------------------------+    3. Add the Placement user to the service project with the admin role:        $ openstack role add --project service --user placement admin     4. Create the Placement API entry in the service catalog:        $ openstack service create --name placement \          --description "Placement API" placement        +-------------+----------------------------------+        | Field       | Value                            |        +-------------+----------------------------------+        | description | Placement API                    |        | enabled     | True                             |        | id          | 2d1a27022e6e4185b86adac4444c495f |        | name        | placement                        |        | type        | placement                        |        +-------------+----------------------------------+    5. Create the Placement API service endpoints:        注意:域名为你规划好url, 必须能够解析.        $ openstack endpoint create --region RegionOne placement public http://stack.flex.net:8778        +--------------+----------------------------------+        | Field        | Value                            |        +--------------+----------------------------------+        | enabled      | True                             |        | id           | 2b1b2637908b4137a9c2e0470487cbc0 |        | interface    | public                           |        | region       | RegionOne                        |        | region_id    | RegionOne                        |        | service_id   | 2d1a27022e6e4185b86adac4444c495f |        | service_name | placement                        |        | service_type | placement                        |        | url          | http://controller:8778           |        +--------------+----------------------------------+        $ openstack endpoint create --region RegionOne placement internal http://stack.flex.net:8778        +--------------+----------------------------------+        | Field        | Value                            |        +--------------+----------------------------------+        | enabled      | True                             |        | id           | 02bcda9a150a4bd7993ff4879df971ab |        | interface    | internal                         |        | region       | RegionOne                        |        | region_id    | RegionOne                        |        | service_id   | 2d1a27022e6e4185b86adac4444c495f |        | service_name | placement                        |        | service_type | placement                        |        | url          | http://controller:8778           |        +--------------+----------------------------------+        $ openstack endpoint create --region RegionOne placement admin http://stack.flex.net:8778        +--------------+----------------------------------+        | Field        | Value                            |        +--------------+----------------------------------+        | enabled      | True                             |        | id           | 3d71177b9e0f406f98cbff198d74b182 |        | interface    | admin                            |        | region       | RegionOne                        |        | region_id    | RegionOne                        |        | service_id   | 2d1a27022e6e4185b86adac4444c495f |        | service_name | placement                        |        | service_type | placement                        |        | url          | http://controller:8778           |        +--------------+----------------------------------+
    安装配置组件
  2. Install the packages:
    # yum install openstack-placement-api
  3. Edit the /etc/placement/placement.conf file and complete the following actions:

    ○ In the [placement_database] section, configure database access:    [placement_database]    # ...    connection = mysql+pymysql://placement:placement123@dbs.flex.net/placement○ In the [api] and [keystone_authtoken] sections, configure Identity service access:    [api]    # ...    auth_strategy = keystone    [keystone_authtoken]    # ...    auth_url = http://stack.flex.net:5000/v3    memcached_servers = dbs.flex.net:11211    auth_type = password    project_domain_name = default    user_domain_name = default    project_name = service    username = placement    password = placement123    注意: 注释或移除在掉在[keystone_authtoken]区域中的其它的选项
  4. Populate the placement database:
    # su -s /bin/sh -c "placement-manage db sync" placement
    完成完装
    ○ Restart the httpd service:    # systemctl restart httpd
    校验安装

    你需要admin的权限验证

  5. 加载admin的访问凭据,执行管理员命令:
    $ . admin-openrc
  6. 执行状态检查命令:
    $ placement-status upgrade check+----------------------------------+| Upgrade Check Results            |+----------------------------------+| Check: Missing Root Provider IDs || Result: Success                  || Details: None                    |+----------------------------------+| Check: Incomplete Consumers      || Result: Success                  || Details: None                    |+----------------------------------+
  7. 运行对placement API的命令(这个步骤我没有成功,但不影响):

    ○ Install the osc-placement plugin:    $ pip install osc-placement○ List available resource classes and traits:    $ openstack --os-placement-api-version 1.2 resource class list --sort-column name    +----------------------------+    | name                       |    +----------------------------+    | DISK_GB                    |    | IPV4_ADDRESS               |    | ...                        |    $ openstack --os-placement-api-version 1.6 trait list --sort-column name    +---------------------------------------+    | name                                  |    +---------------------------------------+    | COMPUTE_DEVICE_TAGGING                |    | COMPUTE_NET_ATTACH_INTERFACE          |    | ...                                   |
0