Placement service – placement安装(wallaby-allinone)

Placement service – placement安装(wallaby-allinone)

1 必须

在安装和配置放置服务之前,您必须创建数据库、服务凭证和 API 端点。

创建数据库

  1. 要创建数据库,请完成以下步骤:

    • 使用数据库访问客户端以root用户身份连接数据库服务器:

      $ mysql -u root -p
      
    • 创建placement数据库:

      MariaDB [(none)]> CREATE DATABASE placement;
      
    • 授予对数据库的适当访问权限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'PLACEMENT_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'PLACEMENT_DBPASS';
      

      替换PLACEMENT_DBPASS为合适的密码。这里是123456

    • 退出数据库访问客户端。

      quit;
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJqQH6EO-1642475563318)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130192023854.png)]

配置用户和端点

  1. 来源admin凭据来访问仅管理员CLI命令:

    $ . admin-openrc.sh
    
  2. 使用您选择的创建一个安置服务用户PLACEMENT_PASS

    $ openstack user create --domain default --password-prompt placement
    
    User Password:123456
    Repeat User Password:123456
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | fa742015a6494a949f67629884fc7ec8 |
    | name                | placement                        |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IVMrmGmP-1642475563322)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130192147466.png)]

    密码123456

  3. 将 Placement 用户添加到具有 admin 角色的服务项目:

    $ openstack role add --project service --user placement admin
    

    此命令不提供任何输出。

  4. 在服务目录中创建 Placement API 条目:

    $ openstack service create --name placement --description "Placement API" placement
    
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | Placement API                    |
    | enabled     | True                             |
    | id          | 2d1a27022e6e4185b86adac4444c495f |
    | name        | placement                        |
    | type        | placement                        |
    +-------------+----------------------------------+
    

    创建 Placement API 服务端点:

    根据您的环境,端点的 URL 会因端口(可能是 8780 而不是 8778,或者根本没有端口)和主机名而异。您有责任确定正确的 URL。

    $ openstack endpoint create --region RegionOne placement public http://controller: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://controller: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://controller: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           |
    +--------------+----------------------------------+
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iOw7YmJ0-1642475563323)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202140937854.png)]

安装和配置组件

默认配置文件因发行版而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号 ( ) 表示您应该保留的潜在默认配置选项。

  1. 安装软件包:

    # yum install openstack-placement-api -y
    
  2. 编辑/etc/placement/placement.conf文件并完成以下操作:

    • 在该[placement_database]部分中,配置数据库访问:

      [placement_database]
      # ...
      connection = mysql+pymysql://placement:123456@controller/placement
      

      替换PLACEMENT_DBPASS为您为展示位置数据库选择的密码。此处为123456

    • [api][keystone_authtoken]部分,配置身份服务访问:

      [api]
      # ...
      auth_strategy = keystone
      
      [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 = PLACEMENT_PASS
      

替换PLACEMENT_PASS为您placement在身份服务中为用户选择的密码 。此处为123456

注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。
3. 填充placement数据库:

# su -s /bin/sh -c "placement-manage db sync" placement

忽略此输出中的任何弃用消息。

必须进行下面这一步,否则后面nova会出错

BUG1

Due to a packaging bug, you must enable access to the Placement API by adding the following configuration to

/etc/httpd/conf.d/00-nova-placement-api.conf:

<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allow,deny
      Allow from all
   </IfVersion>
</Directory>

完成安装

  • 重启httpd服务:

    systemctl restart httpd
    

验证安装

验证放置服务的操作。

admin在进行这些调用之前,您需要对身份服务进行身份验证 。有许多不同的方法可以做到这一点,这取决于您的系统是如何设置的。如果你没有admin-openrc文件,你会有类似的东西。

  1. 来源admin凭据来访问仅管理员CLI命令:

    $ . admin-openrc.sh
    
  2. 执行状态检查以确保一切正常:

    $ placement-status upgrade check
    +----------------------------------+
    | Upgrade Check Results            |
    +----------------------------------+
    | Check: Missing Root Provider IDs |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    | Check: Incomplete Consumers      |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    

    该命令的输出将因版本而异。有关详细信息,请参阅放置状态升级检查

  3. 针对放置 API 运行一些命令:

    • 安装osc-placement插件:

      此示例使用PyPIpip,但如果您使用分发包,则可以从其存储库安装该包。随着迁移到 python3,您将需要指定pip3或从您的发行版安装python3-osc-placement

      $ pip3 install osc-placement
      
    • 列出可用的资源类和特征:

      $ 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          |
      | ...                                   |
      

w版的显示了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rx8r8nPj-1642475563324)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202163050490.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBPKZWGW-1642475563325)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211202163110603.png)]

检测

在未来的版本中,oslo 策略将移除对 JSON 格式的策略文件的支持,为了顺利迁移到 YAML 格式的策略文件,您可以使用oslopolicy-convert-json-to-yaml工具将现有的 JSON 格式的文件转换为 YAML 文件。

placement-status upgrade check

对于w版本 如果直接检测会出错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F2xzwl4e-1642475563327)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130193539537.png)]

需要进如placement的目录

cd /etc/placement/
ls

将policy.json利用oslopolicy-convert-json-to-yaml工具转换成policy.yaml

oslopolicy-convert-json-to-yaml --namespace placement --policy-file policy.json --output-file policy.yaml
cp policy.json policy.json.bak
rm policy.json

再次检测 没有错误

placement-status upgrade check

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tHhbjybv-1642475563328)(C:\Users\10973\AppData\Roaming\Typora\typora-user-images\image-20211130193650451.png)]

placement安装完毕
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值