故障诊断
为何 IBM Cloud Schematics 无法克隆专用 GitHub 存储库?
Schematics 无法克隆专用 GitHub 存储库,您会看到以下错误消息: Failed to clone git repository, repository not found (check url, also check the scope 'repo' of the personal access token if SCHEMATICSGITTOKEN is used)
您未提供正确的 GitHub 令牌,或者未完全提供 GitHub 令牌。
提供 GitHub 令牌,并检查是否在创建工作空间 API 的 github_token
参数中提供了正确的
GitHub 令牌。
为何 IBM Cloud Schematics 无法克隆公共 GitHub 存储库?
Schematics 无法克隆公共 GitHub 存储库,您将看到下列其中一条错误消息:
Fatal, could not download repo, Failed to clone git repository, authentication required (or the git url is incorrect). Problems found with the Repository. Please Rectify and Retry
Template error: Failed to clone git repository, authentication required (or the git url is incorrect)
您未提供正确的 GitHub URL,或者提供了 GitHub 令牌,克隆公共存储库不需要此令牌。 仅需要 GitHub 访问令牌才能访问专用存储库。
请勿提供 GitHub 令牌,并检查在使用公共存储库创建工作空间时是否在 github_token
参数中提供了 GitHub 令牌。
为什么 IBM Cloud Schematics 无法创建工作空间?
Schematics 无法创建工作空间,您将看到以下错误消息: You don't have the required to create a workspace in any resource groups. You must be assigned the manager role on the Schematics service in at least one resource group. Contact your account administrator for access.
您没有在任一资源组中创建工作空间的必需访问权。 您必须在至少一个资源组中分配有对 Schematics 服务的管理者角色。
请与帐户管理员联系,并在至少一个资源组中分配对 Schematics 服务的管理者角色。
为什么 IBM Cloud Schematics 无法供应集群,并且失败并显示 lsf_license_confirmation
变量的错误消息?
Schematics 无法供应集群,您将看到以下错误消息: Error: Invalid value for variable "lsf_license_confirmation"
您为属性 lsf_license_confirmation
输入了除 "true" 以外的值。
属性 lsf_license_confirmation
仅接受 "true" 作为有效值。 "true" 值表示您已同意以下两个条件之一:
- 如果要部署生产集群,那么您已与业务团队确认您具有足够的许可证,可以在 IBM Cloud 上部署 IBM Spectrum LSF,并且这些许可证涵盖在“国际程序许可协议”(IPLA) 下使用。
- 您将在 IBM Cloud 上部署具有 IBM Spectrum LSF 的评估集群,并同意遵守国际程序评估许可协议 (ILAE)。
可以在 此处找到针对 IPLA 和 ILAE 的 IBM 软件使用条款。
在您同意其中一个条件后,将属性值更新为 "true",然后重试。
为什么 IBM Cloud Schematics 无法供应集群,并且由于授权错误而失败?
Schematics 无法供应集群,您将看到以下错误消息: Request is not authorized. Check your user permissions and authorizations and try again.
您没有必需的访问权来供应任何 VPC 资源。
请联系您的帐户管理员并获取所有必需的访问权。 有关更多信息,请参阅 必需许可权。
为什么 IBM Cloud Schematics 无法供应集群,并且由于提供的名称不是唯一的错误而失败?
Schematics 无法供应集群,您将看到以下示例错误消息:
"code": "validation_unique_failed",
"message": "Provided Name (sample-lsf-vpc) is not unique",
"target": {
"name": "name",
"type": "field",
"value": "sample-lsf-vpc"
}
VPC 资源名称必须唯一。 如果存在具有相同名称的资源,那么可能会发生类似错误。
请取消供应现有资源,然后重试。
为何 IBM Cloud Schematics 在使用定制映像时无法供应集群?
使用定制映像时,Schematics 无法供应集群,并且您会看到下列其中一条错误消息:
The arugment "image" is required, but no definition was found.
Unknown variable. There is no variable named "image_id".
用于其中一个虚拟服务器实例的定制映像在目标区域和区域中不存在,或者无法通过用于供应集群的帐户和 API 密钥进行访问。
如果要将定制映像用于任何虚拟服务器实例,请确保该定制映像在目标区域和区域中可用,并且可供用于供应集群的帐户和 API 密钥访问。
为什么我收到刷新令牌的错误?
在 generate a plan,apply a plan 和 destroy resources 请求中接收到刷新令牌错误: Error: The provided Refresh Token is invalid. Please provide a proper refresh token for Terraform to run the configuration. Code: 400
您未提供正确的刷新令牌,或者未完全提供刷新令牌。
检查使用 curl 命令生成的刷新令牌是否正确; 否则,重新生成刷新令牌。
对工作空间应用更改时,为什么会收到错误?
当您尝试将更改应用于工作空间时,收到以下错误: Apply failed due to "Error: Error Deleting Volume : The volume is still attached to an instance."
在重新配置卷概要文件,容量或 IOPS 之后,需要先清除工作空间,然后再应用更改。
您需要销毁现有资源,然后再次尝试应用更改。 如果破坏现有资源,那么将删除存储节点上的数据。
为何由于 SSH 问题而导致集群创建失败?
当 Ansible 供应程序尝试在工作程序和存储节点资源上设置 Storage Scale 函数时,您将接收到以下错误消息:
msg": "Failed to connect to the host via ssh, Connection closed by UNKNOWN port 65535", "unreachable": true}
Error: Failed to connect to the host via ssh: Connection timed out during banner exchange", "unreachable
当 Schematics 部署基础架构资源时,会使用一些 Ansible 运行手册来配置自动化代码,这些运行手册是在 Ansible 供应程序的帮助下在虚拟服务器实例节点上设置 Storage Scale 函数所必需的。 当 Ansible 供应程序尝试通过 SSH 连接到这些节点以使用 Storage Scale 功能时,这些节点将进入 unreachable
状态。
要解决此问题,您可以:
- 请尝试销毁工作空间中的资源,然后重新部署。
- 如果在所有部署上都发现此问题,请向 IBM Cloud 支持团队提出支持问题,以调查是否存在基础架构问题。
- 如果基础结构没有问题,请向可以进一步调查的自动化团队报告此问题。
为什么我看到由于认证或超时问题导致的资源错误?
在创建任何特定资源期间,您将接收到以下错误消息:
Error: An error occurred while performing the ‘authenticate’ step: Post “https://iam.cloud.ibm.com/identity/token”: context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Error: timeout while waiting for state to become 'done, ' (last state: 'provisioning', timeout: 10m0s)
当 Schematics 部署基础架构资源时,它会通过 API 调用向 IBM Cloud 进行认证。 如果通过 API 向云环境发出的请求过多,那么 Schematics 将无法进行认证,并且可能会发生认证错误。
要解决任一问题 (由于认证错误或超时错误导致资源失败),请销毁 Schematics 工作空间中的资源,然后重试部署资源。
专用主机的可用概要文件限制
产品会自动选择专用主机的实例概要文件作为工作程序实例 (worker_node_instance_type
) 的相同前缀 (例如,bx2 和 cx2)。但是,可以根据您的目标区域来限制可用的实例前缀。 如果使用专用主机,请检查 ibmcloud target -r {region_name}
和 ibmcloud is dedicated-host-profiles
以查看 worker_node_instance_type
是否具有目标区域的可用前缀。
为什么我接收到具有所提供 ssh_key_name
值的错误?
尝试在 Schematics 工作空间上生成或应用计划时,您收到以下错误: failed due to "Error: No SSH Key found with name <KEY_NAME>".
Terraform 找不到您提供的给定 SSH 密钥名称。
- 请检查在供应集群的当前区域中是否存在给定的 SSH 密钥。 如果给定的 SSH 密钥不存在,请在当前区域中创建 SSH 密钥。
- 配置多个 SSH 密钥时,请确保在 SSH 密钥名称之前或之后未添加任何空格。
- 如果要使用多个 SSH 密钥,请检查是否使用逗号 (,) 作为 SSH 密钥之间的定界符,并且在 SSH 密钥之前或之后未添加空格。
为什么在集群部署期间看到 remote-exec provisioner error
?
您迂到类似如下的错误:
2023/10/30 08:09:30 Terraform apply | module.check_cluster_status.null_resource.remote_exec[0] (remote-exec): ls_gethostinfo(): Cannot locate master LIM now, try later
2023/10/30 08:09:30 Terraform apply | module.check_cluster_status.null_resource.remote_exec[0] (remote-exec): lsid: ls_getentitlementinfo() failed: Cannot locate master LIM now, try later
2023/10/30 08:09:30 Terraform apply |
Error: remote-exec provisioner error
当 Schematics 部署基础结构资源时,会自动验证集群节点的运行状况,以确保正确设置所有必需的配置。 在极少数情况下,LSF 找不到 LIM 配置,因此无法在管理节点上启动 LIM 守护程序。
有时,LSF 管理节点需要一些时间来检索 LIM 状态,因此请等待一段时间,然后再进行检查。 但是,如果问题仍然存在,请从 Schematics 中销毁集群,然后重新应用。
在集群部署期间使用 IBM Cloud® Secrets Manager 时,为什么会看到错误?
使用 IBM Cloud® Secrets Manager 安全部署输入值时,迂到类似如下的错误:
Unable to validate your configuration.
An error occurred when fetching secret from Secrets Manager. Reason: Error: Cannot find the secret de132a21-7d64-d63f-c77a-c86e9cd50d17 from secrets manager crn:v1:bluemix:public:secrets-manager:us-east:a/ec1b082b25144a52bb1a269c883d5a00:94e42547-ab61-4ce1-b7f1-d96b230a75eb::
从 Secrets Manager读取 用户凭证 类型私钥时,IBM Cloud® 项目存在已知问题。
在 Secret Manager 中将所有用户凭证类型私钥更改为 任意 类型私钥,然后重试部署。
为何找不到我的 LDAP 用户?
尝试使用 su
命令切换到 LDAP 用户时,迂到指出该用户不存在的错误。 错误消息的示例可能如下所示:
[lsfadmin@lsfuser05-ubuntu-two-mgmt-1 ~]$ su lsfuser05
su: user lsfuser05 does not exist
[lsfadmin@lsfuser05-ubuntu-two-mgmt-1 ~]
发生此错误的原因是在 LDAP 服务器上找不到指定的 LDAP 用户 (在本例中为 lsfuser05
)。 LDAP 用户可能未创建或在 LDAP 目录中不可用。
为什么我的 LDAP 用户认证失败?
尝试使用 su
命令切换到 LDAP 用户时,迂到错误,指示系统无法对该用户进行认证。 错误消息的示例可能如下所示:
[lsfadmin@lsfuser05-ubuntu-two-mgmt-1 ~]$ su lsfuser05
Password:
su: Authentication failure
[lsfadmin@lsfuser05-ubuntu-two-mgmt-1 ~]$
认证失败表明指定的 LDAP 密码不正确。
重置 LDAP 密码:
-
使用
ssh_to_ldap_node
命令从 Schematics 日志输出通过 SSH 连接到 OpenLDAP 服务器,并切换到 root 用户:ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ServerAliveInterval=5 -o ServerAliveCountMax=1 -J vpcuser@<floatingg_IP_address> ubuntu@<LDAP_server_IP>
其中
<floating_IP_address>
是堡垒节点的浮动 IP 地址,<LDAP_server_IP>
是 OpenLDAP 节点的 IP 地址。 -
使用
ldappasswd
命令重置密码。 此命令允许您为指定的 LDAP 用户设置新密码。 确保将专有名称 (DN) 和用户详细信息替换为 LDAP 设置的正确值。 以下是重置用户密码的示例:ubuntu@<LDAP_server_IP>:~$ ldappasswd -x -D "cn=admin,dc=hpcaas,dc=com" -W -S "uid=lsfuser05,ou=People,dc=hpcaas,dc=com" New password: Re-enter new password: Enter LDAP Password: ubuntu@anand-ga-ldap-1:~$
为何未使用主机短名称建立 SSH 连接?
由于 NetworkManager 未选取域名,因此您接收到以下错误消息:
[root@user-lsf-test1-mgmt-2 ~]# nslookup user-scale-spectrum-storage-1
Server: 10.241.0.15
Address: 10.241.0.15#53
** server can't find user-scale-spectrum-storage-1: NXDOMAIN
or
[lsfadmin@user-lsf-test1-mgmt-2 ~]$ ssh user-lsf-test1-mgmt-1
ssh: Could not resolve hostname mani-lsf-basic-login: Name or service not known
发生此错误的原因是,在配置 DNS 域和定制解析器之后,基于 RHEL 的系统使用 NetworkManager 服务在 /etc/resolv.conf
文件中搜索域名以解析主机的短名称,而不依赖于实际域名。
要解决此问题,请完成下列步骤:
- 以 root 用户身份 (sudo su)。
- 运行
Run systemctl restart NetworkManager
命令。
在 /etc/resolv.conf
文件中提交上述命令后,必须使用此处提及的域名更新搜索:
[lsfadmin@user-lsf-test1-mgmt-2 ~]$ cat /etc/resolv.conf
Generated by NetworkManager
search lsf.com
nameserver 10.241.0.10