安装与配置
使用root用户登陆MySQL数据库
# mysql
新建placement数据库
MariaDB [(none)]> CREATE DATABASE placement;
对placement数据库授予权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'PLACEMENT_PASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'PLACEMENT_PASS';
用之前对应生成的十六进制数代替“PLACEMENT_PASS”字段
退出数据库,然后运行admin用户的OpenRC脚本文件
$ . admin-openrc
创建placement用户
$ openstack user create --domain default --password-prompt placement
输出结果
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 23c5b9379fbe4cd0baacb0ad4d08ceba |
| name | placement |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
授予placement用户在service项目中使用admin角色
$ openstack role add --project service --user placement admin
创建placement服务实体
$ openstack service create --name placement --description "Placement API" placement
输出结果
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Placement API |
| enabled | True |
| id | d7fbd067427a4ec68c6b8f4d6bae80a0 |
| name | placement |
| type | placement |
+-------------+----------------------------------+
创建Placement服务的API端点
$ openstack endpoint create --region RegionOne placement public http://controller:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 68f0e12cb0aa464f8227d60216c2fc35 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d7fbd067427a4ec68c6b8f4d6bae80a0 |
| 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 | 757399d744e5462ea6be8676fc034f52 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d7fbd067427a4ec68c6b8f4d6bae80a0 |
| 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 | 8f64a33f4c9d49fa933fdb4cfb48b029 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d7fbd067427a4ec68c6b8f4d6bae80a0 |
| service_name | placement |
| service_type | placement |
| url | http://controller:8778 |
+--------------+----------------------------------+
安装placement软件包
# apt-get install placement-api
输入如下指令编辑placement配置文件
# vim /etc/placement/placement.conf
在打开的文件中修改如下键值
[placement_database]
# ...
connection = mysql+pymysql://placement:PLACEMENT_PASS@controller/placement
[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”字段
省略号(…)表示保留原有默认配置选项
[keystone_authtoken]部分要注释或删除其他选项
完成后同步placement数据库
# su -s /bin/sh -c "placement-manage db sync" placement
完成后重启apache服务
# service apache2 restart
验证操作
执行状态检查以确保一切正常
$ sudo placement-status upgrade check
输出结果
+----------------------------------+
| Upgrade Check Results |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success |
| Details: None |
+----------------------------------+
| Check: Incomplete Consumers |
| Result: Success |
| Details: None |
+----------------------------------+
安装osc-placement插件
$ pip3 install osc-placement
列出可用的资源类别和特性
$ openstack --os-placement-api-version 1.2 resource class list --sort-column name
+----------------------------+
| name |
+----------------------------+
| DISK_GB |
| IPV4_ADDRESS |
| MEMORY_MB |
| NET_BW_EGR_KILOBIT_PER_SEC |
| NET_BW_IGR_KILOBIT_PER_SEC |
| NUMA_CORE |
| NUMA_MEMORY_MB |
| NUMA_SOCKET |
| NUMA_THREAD |
| PCI_DEVICE |
| PCPU |
| SRIOV_NET_VF |
| VCPU |
| VGPU |
| VGPU_DISPLAY_HEAD |
+----------------------------+
$ openstack --os-placement-api-version 1.6 trait list --sort-column name
+---------------------------------------+
| name |
+---------------------------------------+
| COMPUTE_DEVICE_TAGGING |
| COMPUTE_NET_ATTACH_INTERFACE |
| COMPUTE_NET_ATTACH_INTERFACE_WITH_TAG |
| COMPUTE_SECURITY_TPM_1_2 |
| COMPUTE_SECURITY_TPM_2_0 |
| COMPUTE_TRUSTED_CERTS |
| COMPUTE_VOLUME_ATTACH |
| COMPUTE_VOLUME_ATTACH_WITH_TAG |
| COMPUTE_VOLUME_EXTEND |
| COMPUTE_VOLUME_MULTI_ATTACH |
| HW_CPU_AARCH64_AES |
| HW_CPU_AARCH64_ASIMD |
| HW_CPU_AARCH64_ASIMDDP |
| HW_CPU_AARCH64_ASIMDHP |
| HW_CPU_AARCH64_ASIMDRDM |
| HW_CPU_AARCH64_ATOMICS |
| HW_CPU_AARCH64_CPUID |
| HW_CPU_AARCH64_CRC32 |
| HW_CPU_AARCH64_DCPOP |
| HW_CPU_AARCH64_EVTSTRM |
| HW_CPU_AARCH64_FCMA |
| HW_CPU_AARCH64_FP |
| HW_CPU_AARCH64_FPHP |
| HW_CPU_AARCH64_JSCVT |
| HW_CPU_AARCH64_LRCPC |
| HW_CPU_AARCH64_PMULL |
| HW_CPU_AARCH64_SHA1 |
| HW_CPU_AARCH64_SHA2 |
| HW_CPU_AARCH64_SHA3 |
| HW_CPU_AARCH64_SHA512 |
| HW_CPU_AARCH64_SM3 |
| HW_CPU_AARCH64_SM4 |
| HW_CPU_AARCH64_SVE |
| HW_CPU_AMD_SEV |
| HW_CPU_HYPERTHREADING |
| HW_CPU_X86_3DNOW |
| HW_CPU_X86_ABM |
| HW_CPU_X86_AESNI |
| HW_CPU_X86_ASF |
| HW_CPU_X86_AVX |
| HW_CPU_X86_AVX2 |
| HW_CPU_X86_AVX512BW |
| HW_CPU_X86_AVX512CD |
| HW_CPU_X86_AVX512DQ |
| HW_CPU_X86_AVX512ER |
| HW_CPU_X86_AVX512F |
| HW_CPU_X86_AVX512PF |
| HW_CPU_X86_AVX512VL |
| HW_CPU_X86_BMI |
| HW_CPU_X86_BMI2 |
| HW_CPU_X86_CLMUL |
| HW_CPU_X86_F16C |
| HW_CPU_X86_FMA3 |
| HW_CPU_X86_FMA4 |
| HW_CPU_X86_MMX |
| HW_CPU_X86_MPX |
| HW_CPU_X86_SGX |
| HW_CPU_X86_SHA |
| HW_CPU_X86_SSE |
| HW_CPU_X86_SSE2 |
| HW_CPU_X86_SSE3 |
| HW_CPU_X86_SSE41 |
| HW_CPU_X86_SSE42 |
| HW_CPU_X86_SSE4A |
| HW_CPU_X86_SSSE3 |
| HW_CPU_X86_SVM |
| HW_CPU_X86_TBM |
| HW_CPU_X86_TSX |
| HW_CPU_X86_VMX |
| HW_CPU_X86_XOP |
| HW_GPU_API_DIRECT2D |
| HW_GPU_API_DIRECT3D_V10_0 |
| HW_GPU_API_DIRECT3D_V10_1 |
| HW_GPU_API_DIRECT3D_V11_0 |
| HW_GPU_API_DIRECT3D_V11_1 |
| HW_GPU_API_DIRECT3D_V11_2 |
| HW_GPU_API_DIRECT3D_V11_3 |
| HW_GPU_API_DIRECT3D_V12_0 |
| HW_GPU_API_DIRECT3D_V6_0 |
| HW_GPU_API_DIRECT3D_V7_0 |
| HW_GPU_API_DIRECT3D_V8_0 |
| HW_GPU_API_DIRECT3D_V8_1 |
| HW_GPU_API_DIRECT3D_V9_0 |
| HW_GPU_API_DIRECT3D_V9_0B |
| HW_GPU_API_DIRECT3D_V9_0C |
| HW_GPU_API_DIRECT3D_V9_0L |
| HW_GPU_API_DIRECTX_V10 |
| HW_GPU_API_DIRECTX_V11 |
| HW_GPU_API_DIRECTX_V12 |
| HW_GPU_API_DXVA |
| HW_GPU_API_OPENCL_V1_0 |
| HW_GPU_API_OPENCL_V1_1 |
| HW_GPU_API_OPENCL_V1_2 |
| HW_GPU_API_OPENCL_V2_0 |
| HW_GPU_API_OPENCL_V2_1 |
| HW_GPU_API_OPENCL_V2_2 |
| HW_GPU_API_OPENGL_V1_1 |
| HW_GPU_API_OPENGL_V1_2 |
| HW_GPU_API_OPENGL_V1_3 |
| HW_GPU_API_OPENGL_V1_4 |
| HW_GPU_API_OPENGL_V1_5 |
| HW_GPU_API_OPENGL_V2_0 |
| HW_GPU_API_OPENGL_V2_1 |
| HW_GPU_API_OPENGL_V3_0 |
| HW_GPU_API_OPENGL_V3_1 |
| HW_GPU_API_OPENGL_V3_2 |
| HW_GPU_API_OPENGL_V3_3 |
| HW_GPU_API_OPENGL_V4_0 |
| HW_GPU_API_OPENGL_V4_1 |
| HW_GPU_API_OPENGL_V4_2 |
| HW_GPU_API_OPENGL_V4_3 |
| HW_GPU_API_OPENGL_V4_4 |
| HW_GPU_API_OPENGL_V4_5 |
| HW_GPU_API_VULKAN |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V1_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V1_1 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V1_2 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V1_3 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V2_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V2_1 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V3_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V3_2 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V3_5 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V3_7 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V5_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V5_2 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V5_3 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V6_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V6_1 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V6_2 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V7_0 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V7_1 |
| HW_GPU_CUDA_COMPUTE_CAPABILITY_V7_2 |
| HW_GPU_CUDA_SDK_V10_0 |
| HW_GPU_CUDA_SDK_V6_5 |
| HW_GPU_CUDA_SDK_V7_5 |
| HW_GPU_CUDA_SDK_V8_0 |
| HW_GPU_CUDA_SDK_V9_0 |
| HW_GPU_CUDA_SDK_V9_1 |
| HW_GPU_CUDA_SDK_V9_2 |
| HW_GPU_MAX_DISPLAY_HEADS_1 |
| HW_GPU_MAX_DISPLAY_HEADS_2 |
| HW_GPU_MAX_DISPLAY_HEADS_4 |
| HW_GPU_MAX_DISPLAY_HEADS_6 |
| HW_GPU_MAX_DISPLAY_HEADS_8 |
| HW_GPU_RESOLUTION_W1024H600 |
| HW_GPU_RESOLUTION_W1024H768 |
| HW_GPU_RESOLUTION_W1152H864 |
| HW_GPU_RESOLUTION_W1280H1024 |
| HW_GPU_RESOLUTION_W1280H720 |
| HW_GPU_RESOLUTION_W1280H768 |
| HW_GPU_RESOLUTION_W1280H800 |
| HW_GPU_RESOLUTION_W1360H768 |
| HW_GPU_RESOLUTION_W1366H768 |
| HW_GPU_RESOLUTION_W1440H900 |
| HW_GPU_RESOLUTION_W1600H1200 |
| HW_GPU_RESOLUTION_W1600H900 |
| HW_GPU_RESOLUTION_W1680H1050 |
| HW_GPU_RESOLUTION_W1920H1080 |
| HW_GPU_RESOLUTION_W1920H1200 |
| HW_GPU_RESOLUTION_W2560H1440 |
| HW_GPU_RESOLUTION_W2560H1600 |
| HW_GPU_RESOLUTION_W320H240 |
| HW_GPU_RESOLUTION_W3840H2160 |
| HW_GPU_RESOLUTION_W640H480 |
| HW_GPU_RESOLUTION_W7680H4320 |
| HW_GPU_RESOLUTION_W800H600 |
| HW_NIC_ACCEL_DEFLATE |
| HW_NIC_ACCEL_DIFFIEH |
| HW_NIC_ACCEL_ECC |
| HW_NIC_ACCEL_IPSEC |
| HW_NIC_ACCEL_LZS |
| HW_NIC_ACCEL_RSA |
| HW_NIC_ACCEL_SSL |
| HW_NIC_ACCEL_TLS |
| HW_NIC_DCB_ETS |
| HW_NIC_DCB_PFC |
| HW_NIC_DCB_QCN |
| HW_NIC_MULTIQUEUE |
| HW_NIC_OFFLOAD_FDF |
| HW_NIC_OFFLOAD_GENEVE |
| HW_NIC_OFFLOAD_GRE |
| HW_NIC_OFFLOAD_GRO |
| HW_NIC_OFFLOAD_GSO |
| HW_NIC_OFFLOAD_L2CRC |
| HW_NIC_OFFLOAD_LRO |
| HW_NIC_OFFLOAD_LSO |
| HW_NIC_OFFLOAD_QINQ |
| HW_NIC_OFFLOAD_RDMA |
| HW_NIC_OFFLOAD_RX |
| HW_NIC_OFFLOAD_RXHASH |
| HW_NIC_OFFLOAD_RXVLAN |
| HW_NIC_OFFLOAD_SCS |
| HW_NIC_OFFLOAD_SG |
| HW_NIC_OFFLOAD_SWITCHDEV |
| HW_NIC_OFFLOAD_TCS |
| HW_NIC_OFFLOAD_TSO |
| HW_NIC_OFFLOAD_TX |
| HW_NIC_OFFLOAD_TXUDP |
| HW_NIC_OFFLOAD_TXVLAN |
| HW_NIC_OFFLOAD_UCS |
| HW_NIC_OFFLOAD_UFO |
| HW_NIC_OFFLOAD_VXLAN |
| HW_NIC_PROGRAMMABLE_PIPELINE |
| HW_NIC_SRIOV |
| HW_NIC_SRIOV_MULTIQUEUE |
| HW_NIC_SRIOV_QOS_RX |
| HW_NIC_SRIOV_QOS_TX |
| HW_NIC_SRIOV_TRUSTED |
| HW_NIC_VMDQ |
| MISC_SHARES_VIA_AGGREGATE |
| STORAGE_DISK_HDD |
| STORAGE_DISK_SSD |
+---------------------------------------+