VIM 管理¶
本文档描述了在 Tacker 中使用 CLI 管理 VIM 的方法。
注意
本文档的内容已确认在使用 Tacker 2024.1 Caracal 和 Kubernetes 1.26 时有效。
先决条件¶
应安装以下软件包
tacker
python-tackerclient
VIM 管理 CLI 参考¶
1. 注册 VIM¶
使用 OpenStack 作为 VIM
创建 OpenStack VIM 的 VIM 配置文件
您可以使用一个设置脚本来生成 VIM 配置文件,或者按照 注册 VIM 的配置文件 中描述的方式从头开始编辑它。该脚本会从您的环境变量中查找配置参数,例如用户名或密码。以下是一个生成 OpenStack VIM 配置文件的示例,文件名为
vim_config.yaml。 在本文档中,TACKER_ROOT 是您服务器上 tacker 仓库的根目录。 PROJECT_NAME 和 OS_USER 应分别替换为将在 VIM 注册中使用的项目名称和用户名。$ bash TACKER_ROOT/tools/gen_vim_config.sh -p PROJECT_NAME --os-user OS_USER Config for OpenStack VIM 'vim_config.yaml' generated.
注意
如果由于 VIM 使用自签名证书等原因,需要禁用 VIM 证书验证,请使用 --os-disable-cert-verify 选项。
您也可以使用示例配置文件 vim_config.yaml 代替使用该脚本。
auth_url: 'http://192.168.56.10/identity' username: "nfv_user" password: "devstack" project_name: "nfv" domain_name: "default" project_domain_name: "default" user_domain_name: "default" cert_verify: "False"
注册默认 OpenStack VIM
应根据需要替换 DESCRIPTION 和 VIM_NAME。
$ openstack vim register --config-file vim_config.yaml --is-default \ --description DESCRIPTION VIM_NAME
结果
+----------------+-------------------------------------------------+ | Field | Value | +----------------+-------------------------------------------------+ | auth_cred | { | | | "username": "nfv_user", | | | "user_domain_name": "default", | | | "cert_verify": "False", | | | "project_id": null, | | | "project_name": "nfv", | | | "project_domain_name": "default", | | | "auth_url": "http://10.0.2.15/identity/v3", | | | "key_type": "barbican_key", | | | "secret_uuid": "***", | | | "password": "***" | | | } | | auth_url | http://10.0.2.15/identity/v3 | | created_at | 2024-06-10 01:17:50.762223 | | description | vim for nfv_user in nfv | | extra | | | id | a7298627-93f1-400f-9ef3-5d8749e20245 | | is_default | True | | name | openstack-nfv-vim | | placement_attr | { | | | "regions": [ | | | "RegionOne" | | | ] | | | } | | project_id | 2e189ea6c1df4e4ba6d89de254b3a534 | | status | ACTIVE | | type | openstack | | updated_at | None | | vim_project | { | | | "name": "nfv", | | | "project_domain_name": "default" | | | } | +----------------+-------------------------------------------------+
使用 Kubernetes 作为 VIM
创建 Kubernetes VIM 的 VIM 配置文件
与 OpenStack VIM 类似,您可以通过传递
-t k8s选项来使用设置脚本生成 Kubernetes VIM 的 VIM 配置文件。以下是一个生成 OpenStack VIM 配置文件的示例,文件名为vim_config.yaml。 在本文档中,TACKER_ROOT 是您服务器上 tacker 仓库的根目录。 PROJECT_NAME 应替换为将在 VIM 注册中使用的项目名称。$ bash tacker/tools/gen_vim_config.sh -p PROJECT_NAME -t k8s --k8s-use-cert Config for Kubernetes VIM 'vim_config.yaml' generated.
另一方面,您也可以按照以下步骤从头开始为 Kubernetes 创建 VIM 配置文件。首先,收集 VIM 配置文件中所需的信息。
获取 Kubernetes 集群的 IP 地址
$ kubectl cluster-info Kubernetes control plane is running at https://10.0.2.15:6443 To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
创建 Kubernetes API 的密钥令牌
$ vi default-token-k8s.yaml $ cat default-token-k8s.yaml apiVersion: v1 kind: Secret metadata: name: default-token-k8svim annotations: kubernetes.io/service-account.name: "default" type: kubernetes.io/service-account-token $ kubectl create -f default-token-k8s.yaml secret/default-token-k8svim created
授予 Kubernetes service-account 集群管理员角色
$ kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole cluster-admin --serviceaccount=default:default
检索密钥 bearer token
$ kubectl get secret -o jsonpath="{.items[0].metadata.name}" default-token-k8svim $ kubectl get secret default-token-k8svim -o jsonpath="{.data.token}" | base64 --decode eyJhbGciOiJSUzI1NiIsImtpZCI6Ind1dmZuVV9NcGtILWhjaDJwWHNTVlZ2WTItd1NTQlRJbzlEVU1jOTBYX28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRlZmF1bHQtdG9rZW4tazhzdmltIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIxNmViMTYxZS1mNTNlLTRmNWEtYjI5OS00MjczNDk5NGZlY2QiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkZWZhdWx0In0.XVQu-vssEgT2PnRTXMr3AoTI6RAjCU1tra3pXxafaNpZHvkRU8_BvWGaqt7qDKZkqyWRWm3K1G2T55U-h0KNNtPG6k1_kl8RG26c275cnFPryZT4t5fZELIqcbRW4tPw21YBIfNtZqC8zOolprmkcGRrIoDeLJYeRtv698CmpryaGBL1mux0FgUNyLoZ4e62XCFTTW86Ull9T5L92ZR08yHtrosnx3SGRnyt32o8NTteApDympYkmuR-QZrsmfknKgI3yFOGCW4TCVdCXwknMWpJvxE93_nCbGoenrPN2R9cMWySqE02YcWYSP6vTBkMKpctgLalWQHKXTo2DspKVg
检索 SSL CA 证书
$ kubectl get secret default-token-k8svim -o jsonpath="{.data.ca\.crt}" | base64 --decode -----BEGIN CERTIFICATE----- MIIDBTCCAe2gAwIBAgIIYAFM312rGhwwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE AxMKa3ViZXJuZXRlczAeFw0yNDA2MDQwMjUxMDZaFw0zNDA2MDIwMjU2MDZaMBUx EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQDf131+RFTzpxdk2jGkJLSJFS+oPxo9nPdRgiKVbSRyhrIQ0uoEDHVNYtSz 8qR0mIZSvGIEgSFVW36AIysYPilxPHw53K9wzxKN1hEkw0ffnbPpF/4MLr+CMtcR UsFxKIqyRQAedOE3JS5v27R7uA+GdIDID6nN8UVNQYv1AicnvTFSOSfCIMBql6MV dgUAVlho9hpqBBVz2R0TrfwEQGtJXTwVKiXNXwWctCY7W8MBBw9EV/94v30dmNAE Dv+dauVB944XDl+g2Bp9n2l0JnNz9fA4BWJaLzVaBLsor49oyRY5BpDe456Zmvqx McO42cbJewsrlOAMP5QZeDZD6hGFAgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQ9j2P78qCijHYekohBjR/mGxwmBzAV BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQB82mwOwNDy 9UoNbNevalHglI3q/oqahwgQ+aURmNA78XZfxae+AMD6pR0EXGryKp1TXEFD0t6p f8BHPgD1V/HjURlGNMpEOyR+VR1g0Im605rkLoEJauFF7fe7C27fRy9NdFjiZ9ck bWxRgCfwro9R1CZyWumgi8D6RS+1LIh+WnFGWZZ2/3XZloDnad9v0cfq4ZNt8nYO doyiL3UVlnQpDHwuY6cKMwQNQZfRcZKZw80isCFe97ePeJ6m7qNezMVXFYOaSPXX ifDW2JlN544ERvnqWHqJ+ycylY49rrjOfXBtZo0B+fekScFweFmzk4VaOY/ePYEN tu82PpmIYiL1 -----END CERTIFICATE-----
然后,使用收集到的信息创建 VIM 配置文件。
创建 Kubernetes VIM 的 VIM 配置文件
$ vi vim_config_k8s.yaml $ cat vim_config_k8s.yaml auth_url: "https://10.0.2.15:6443" bearer_token: "eyJhbGciOiJSUzI1NiIsImtpZCI6Ind1dmZuVV9NcGtILWhjaDJwWHNTVlZ2WTItd1NTQlRJbzlEVU1jOTBYX28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRlZmF1bHQtdG9rZW4tazhzdmltIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIxNmViMTYxZS1mNTNlLTRmNWEtYjI5OS00MjczNDk5NGZlY2QiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpkZWZhdWx0In0.XVQu-vssEgT2PnRTXMr3AoTI6RAjCU1tra3pXxafaNpZHvkRU8_BvWGaqt7qDKZkqyWRWm3K1G2T55U-h0KNNtPG6k1_kl8RG26c275cnFPryZT4t5fZELIqcbRW4tPw21YBIfNtZqC8zOolprmkcGRrIoDeLJYeRtv698CmpryaGBL1mux0FgUNyLoZ4e62XCFTTW86Ull9T5L92ZR08yHtrosnx3SGRnyt32o8NTteApDympYkmuR-QZrsmfknKgI3yFOGCW4TCVdCXwknMWpJvxE93_nCbGoenrPN2R9cMWySqE02YcWYSP6vTBkMKpctgLalWQHKXTo2DspKVg" ssl_ca_cert: "-----BEGIN CERTIFICATE----- MIIDBTCCAe2gAwIBAgIIYAFM312rGhwwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE AxMKa3ViZXJuZXRlczAeFw0yNDA2MDQwMjUxMDZaFw0zNDA2MDIwMjU2MDZaMBUx EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQDf131+RFTzpxdk2jGkJLSJFS+oPxo9nPdRgiKVbSRyhrIQ0uoEDHVNYtSz 8qR0mIZSvGIEgSFVW36AIysYPilxPHw53K9wzxKN1hEkw0ffnbPpF/4MLr+CMtcR UsFxKIqyRQAedOE3JS5v27R7uA+GdIDID6nN8UVNQYv1AicnvTFSOSfCIMBql6MV dgUAVlho9hpqBBVz2R0TrfwEQGtJXTwVKiXNXwWctCY7W8MBBw9EV/94v30dmNAE Dv+dauVB944XDl+g2Bp9n2l0JnNz9fA4BWJaLzVaBLsor49oyRY5BpDe456Zmvqx McO42cbJewsrlOAMP5QZeDZD6hGFAgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQ9j2P78qCijHYekohBjR/mGxwmBzAV BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQB82mwOwNDy 9UoNbNevalHglI3q/oqahwgQ+aURmNA78XZfxae+AMD6pR0EXGryKp1TXEFD0t6p f8BHPgD1V/HjURlGNMpEOyR+VR1g0Im605rkLoEJauFF7fe7C27fRy9NdFjiZ9ck bWxRgCfwro9R1CZyWumgi8D6RS+1LIh+WnFGWZZ2/3XZloDnad9v0cfq4ZNt8nYO doyiL3UVlnQpDHwuY6cKMwQNQZfRcZKZw80isCFe97ePeJ6m7qNezMVXFYOaSPXX ifDW2JlN544ERvnqWHqJ+ycylY49rrjOfXBtZo0B+fekScFweFmzk4VaOY/ePYEN tu82PpmIYiL1 -----END CERTIFICATE-----" project_name: "nfv" type: "kubernetes"
注册 Kubernetes VIM
应根据需要替换 DESCRIPTION 和 VIM_NAME。
$ openstack vim register --config-file vim_config_k8s.yaml \ --description DESCRIPTION VIM_NAME
结果
+----------------+-----------------------------------------------------------------------------------------------------+ | Field | Value | +----------------+-----------------------------------------------------------------------------------------------------+ | auth_cred | { | | | "bearer_token": "***", | | | "ssl_ca_cert": "b'gAAAAABmZlbz0gFnRL-SpTszQF4KXje3GSL5H6NzZtwcRZNo3BWx0piwLihpLGy8yz6w85bD5a2B6 | | | M4RRF1mnCPsiYYg5ENpZkD5rCVLyLuQOV4R0zvCyrtXmTYwki0nibw0zAaZxmjLmCncxvQXq7y_B5kzYPUtC607QFFhLsMWfAre | | | M8lm-sassp9TqXvLgq_X98nWFXL0P5egyGedp3bPoiQdvVTNSAurtX- | | | yo7CRvmpvAaa2dvg_VyoQj1Oj9-iF_tLshNa0AASFkAdvWUyvnlbJJOG1rxXVbdZ7JWgnq3T9vC4hHE13GIrY-jRMRCjlfZPbC6 | | | TNWs8ifJM0xr7sQjv66li79l8Xx60XZFxyKefYgZV4rEmh5hwglg6XEne2ZMoFV9rEqrRgmDK0cWGLNJNLvqXHtHOpCff8pHhlI | | | Z5RuRvSttp84LyXvZsNryc2dHGYDsMXFgDuTxpkWemxxxgHzHq4UydADaGimfSkvcQRKmEEY8p3kPzAT9esxzL0Alp68BGm80yH | | | 9Heovb11AeWsVealvOiK6WRkuucxSr31jlCKAIYKwLLymnFvfe9yc0IjZpHWa4SqwbyYvMtEUfebddCUMKS8GX_6aBkKKGQBbss | | | 2Zbcg4l8aesblYTMN6LXhY5PciLTUyu_GcO7JVHACa61JeGyne64CTaycIvYfF9j19KJ5Tl9jeOgfjfeV855hJ41q8g4gTqaNAj | | | _NBl61CPvsKp4le-1Vg9RuLgrX5HBRGW30dWYepQC1Mdu4VEQc-6txRxIUW4w- | | | EKxT8HC1DeWgFiPB4DouAbxiB1IxiUzWk8azj4Wg2rhd6iL9_MUPwZO_6- | | | O6L1AROdnoELNwNUWWdTiUrlSIkElOFzg3rs_Oa3Ee5jeaI86LSJFBEqj3PQ8RVCVjIolwA4i4r7CzoHLKf1YLRw3JJsEDUE0s3 | | | xuNAkAkQTWqCK6kRL5CdENkRw1Nb-L62BMOwlPex324-eLzbgz2z54tM8tJ4Mf4kHkIS6Uk851J1jz0dwxSR6- | | | rPZTOquttUkYlUlR9NrfwfHitRbjT4YBngFP68npLsHEYEg_7- | | | 1byYsv3kQk5RNPhfrovjDDOUpbDCAQ0nNC1MLoWGzJxP4OexbYu4qku0YYIGcs3YqbF2ArQNyBAdSDX7d7B-4w- | | | yRbSdtUcIiCU0LxUneXwB37YbyNyHYQihxS3efZmF9lyfheb2Hri3emIAVB- | | | QPJ8f27hFul1cC8rW1xYcTuZOynOJODTgERV4ehGt8I9P8ZmeqjyjEeADuc-Tpp-DrUMLmgR8sIjDdLsVG6loNFVuulp9Apr-Wn | | | I45XkreFOdhKDMXfpt_xQfxlFOBB3VlOcAZfxZTLWymBwJktqscnIgWexjAa5vwe4BRUu8w8t2ZlgmI8phOeN7jVmSMtD8lC- | | | W8mb-l5-EFE9wo7y_xgIiD1SvnXPPQT_sXxckDhdEwBCqdMRJ-BWNKMoBQPWWFYvT3S_gNQqABovmAwFaxpi9v0hwfccJmWhre8 | | | T_m73B6IN5P75l1yLgKFv1AoiVH0z0VcaJYTbIt9UwPc2VA=='", | | | "auth_url": "https://10.0.2.15:6443", | | | "username": "None", | | | "key_type": "barbican_key", | | | "secret_uuid": "***" | | | } | | auth_url | https://10.0.2.15:6443 | | created_at | 2024-06-10 01:29:24.234551 | | description | k8s vim for nfv_user in nfv | | extra | | | id | 81dcd320-c61d-4d04-a794-4ea012801e4c | | is_default | False | | name | kubernetes-nfv-vim | | placement_attr | { | | | "regions": [ | | | "default", | | | "kube-node-lease", | | | "kube-public", | | | "kube-system" | | | ] | | | } | | project_id | 2e189ea6c1df4e4ba6d89de254b3a534 | | status | ACTIVE | | type | kubernetes | | updated_at | None | | vim_project | { | | | "name": "nfv" | | | } | +----------------+-----------------------------------------------------------------------------------------------------+
帮助
$ openstack vim register --help
usage: openstack vim register [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
[--noindent] [--prefix PREFIX] [--max-width <integer>]
[--fit-width] [--print-empty] [--tenant-id TENANT_ID] --config-file
CONFIG_FILE [--description DESCRIPTION] [--is-default]
NAME
Register a new VIM
positional arguments:
NAME Set a name for the VIM
options:
-h, --help show this help message and exit
--tenant-id TENANT_ID
The owner tenant ID or project ID
--config-file CONFIG_FILE
YAML file with VIM configuration parameters
--description DESCRIPTION
Set a description for the VIM
--is-default Set as default VIM
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml}
the output format, defaults to table
-c COLUMN, --column COLUMN
specify the column(s) to include, can be repeated to show multiple columns
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH
environment variable, but the parameter takes precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than 0. Set the
environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
This command is provided by the python-tackerclient plugin.
2. 列出 VIM¶
$ openstack vim list
结果
+--------------------------------------+--------------------+----------------------------------+------------+------------+--------+
| ID | Name | Tenant_id | Type | Is Default | Status |
+--------------------------------------+--------------------+----------------------------------+------------+------------+--------+
| 81dcd320-c61d-4d04-a794-4ea012801e4c | kubernetes-nfv-vim | 2e189ea6c1df4e4ba6d89de254b3a534 | kubernetes | False | ACTIVE |
| a7298627-93f1-400f-9ef3-5d8749e20245 | openstack-nfv-vim | 2e189ea6c1df4e4ba6d89de254b3a534 | openstack | True | ACTIVE |
+--------------------------------------+--------------------+----------------------------------+------------+------------+--------+
帮助
$ openstack vim list --help
usage: openstack vim list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}] [--noindent]
[--max-width <integer>] [--fit-width] [--print-empty]
[--sort-column SORT_COLUMN] [--sort-ascending | --sort-descending]
[--long]
List VIMs that belong to a given tenant.
options:
-h, --help show this help message and exit
--long List additional fields in output
output formatters:
output formatter options
-f {csv,json,table,value,yaml}, --format {csv,json,table,value,yaml}
the output format, defaults to table
-c COLUMN, --column COLUMN
specify the column(s) to include, can be repeated to show multiple columns
--sort-column SORT_COLUMN
specify the column(s) to sort the data (columns specified first have a priority,
non-existing columns are ignored), can be repeated
--sort-ascending sort the column(s) in ascending order
--sort-descending sort the column(s) in descending order
CSV Formatter:
--quote {all,minimal,none,nonnumeric}
when to include quotes, defaults to nonnumeric
json formatter:
--noindent whether to disable indenting the JSON
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH
environment variable, but the parameter takes precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than 0. Set the
environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
This command is provided by the python-tackerclient plugin.
3. 显示 VIM¶
应将 VIM 替换为 VIM 的名称或 ID。
$ openstack vim show VIM
结果
+----------------+-------------------------------------------------+
| Field | Value |
+----------------+-------------------------------------------------+
| auth_cred | { |
| | "username": "nfv_user", |
| | "user_domain_name": "default", |
| | "cert_verify": "False", |
| | "project_id": null, |
| | "project_name": "nfv", |
| | "project_domain_name": "default", |
| | "auth_url": "http://10.0.2.15/identity/v3", |
| | "key_type": "barbican_key", |
| | "secret_uuid": "***", |
| | "password": "***" |
| | } |
| auth_url | http://10.0.2.15/identity/v3 |
| created_at | 2024-06-10 01:17:51 |
| description | vim for nfv_user in nfv |
| extra | |
| id | a7298627-93f1-400f-9ef3-5d8749e20245 |
| is_default | True |
| name | openstack-nfv-vim |
| placement_attr | { |
| | "regions": [ |
| | "RegionOne" |
| | ] |
| | } |
| project_id | 2e189ea6c1df4e4ba6d89de254b3a534 |
| status | ACTIVE |
| type | openstack |
| updated_at | None |
| vim_project | { |
| | "name": "nfv", |
| | "project_domain_name": "default" |
| | } |
+----------------+-------------------------------------------------+
帮助
$ openstack vim show --help
usage: openstack vim show [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN] [--noindent]
[--prefix PREFIX] [--max-width <integer>] [--fit-width]
[--print-empty]
<VIM>
Display VIM details
positional arguments:
<VIM> VIM to display (name or ID)
options:
-h, --help show this help message and exit
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml}
the output format, defaults to table
-c COLUMN, --column COLUMN
specify the column(s) to include, can be repeated to show multiple columns
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH
environment variable, but the parameter takes precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than 0. Set the
environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
This command is provided by the python-tackerclient plugin.
4. 更新 VIM¶
应将 VIM 和 DESCRIPTION 替换为 VIM 的名称或 ID 以及您想要描述。
$ openstack vim set --description DESCRIPTION VIM
结果
+----------------+-------------------------------------------------+
| Field | Value |
+----------------+-------------------------------------------------+
| auth_cred | { |
| | "username": "nfv_user", |
| | "user_domain_name": "default", |
| | "cert_verify": "False", |
| | "project_id": null, |
| | "project_name": "nfv", |
| | "project_domain_name": "default", |
| | "auth_url": "http://10.0.2.15/identity/v3", |
| | "key_type": "barbican_key", |
| | "secret_uuid": "***", |
| | "password": "***" |
| | } |
| auth_url | http://10.0.2.15/identity/v3 |
| created_at | 2024-06-10 01:17:51 |
| description | new description of vim for nfv_user in nfv |
| extra | |
| id | a7298627-93f1-400f-9ef3-5d8749e20245 |
| is_default | True |
| name | openstack-nfv-vim |
| placement_attr | { |
| | "regions": [ |
| | "RegionOne" |
| | ] |
| | } |
| project_id | 2e189ea6c1df4e4ba6d89de254b3a534 |
| status | ACTIVE |
| type | openstack |
| updated_at | 2024-06-10 01:41:55.437321 |
| vim_project | { |
| | "name": "nfv", |
| | "project_domain_name": "default" |
| | } |
+----------------+-------------------------------------------------+
帮助
$ openstack vim set --help
usage: openstack vim set [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN] [--noindent]
[--prefix PREFIX] [--max-width <integer>] [--fit-width]
[--print-empty] [--config-file CONFIG_FILE] [--name NAME]
[--description DESCRIPTION] [--is-default {True,False}]
VIM
Update VIM.
positional arguments:
VIM ID or name of vim to update
options:
-h, --help show this help message and exit
--config-file CONFIG_FILE
YAML file with VIM configuration parameters
--name NAME New name for the VIM
--description DESCRIPTION
New description for the VIM
--is-default {True,False}
Indicate whether the VIM is used as default
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml}
the output format, defaults to table
-c COLUMN, --column COLUMN
specify the column(s) to include, can be repeated to show multiple columns
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH
environment variable, but the parameter takes precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than 0. Set the
environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
This command is provided by the python-tackerclient plugin.
5. 删除 VIM¶
应将 VIM 替换为 VIM 的名称或 ID。
$ openstack vim delete VIM
结果
All specified vim(s) deleted successfully
帮助
$ openstack vim delete --help
usage: openstack vim delete [-h] <VIM> [<VIM> ...]
Delete VIM(s).
positional arguments:
<VIM> VIM(s) to delete (name or ID)
options:
-h, --help show this help message and exit
This command is provided by the python-tackerclient plugin.