云代工厂“ cf create-service”将废话附加到“ xsappname”

问题描述

由于已存在服务,因此尝试在云中创建XSUAA服务失败。但实际上那里不存在任何服务。

 -> cf create-service xsuaa application xsuaa-authentication-newsletter -c security/xs-security.json
Creating service instance xsuaa-authentication-newsletter in org CF_Dev_DP / space Customer 
as [email protected]...
Service broker error: Service broker xsuaa Failed with: org.springframework.cloud.servicebroker.exception.ServicebrokerException: Application with xsappname com-fressnapf-microservices-newsletter!t36296 already exists. To create a new service instance,ensure that the xsappname specified in your application's xs-security.json file together with the selected service plan of the UAA service broker lead to a new appid. To update an existing service instance,use the update-service command instead.
Failed

错误表明存在名为“ com-fressnapf-microservices-newsletter!t36296”的服务。 xs-security.json的内容如下:

{
   "xsappname": "com-fressnapf-microservices-newsletter",...
}

cf在名称末尾附加一个奇怪的“!t36296”。 以下所有尝试删除的操作都会导致“不存在”:

-> cf delete -f 'com-fressnapf-microservices-newsletter!t36296'
App com-fressnapf-microservices-newsletter!t36296 does not exist.

-> cf delete -f 'com-fressnapf-microservices-newsletter'
App com-fressnapf-microservices-newsletter does not exist.

-> cf delete-service -f 'com-fressnapf-microservices-newsletter!t36296'
Service com-fressnapf-microservices-newsletter!t36296 does not exist.

-> cf delete-service -f 'com-fressnapf-microservices-newsletter'
Service com-fressnapf-microservices-newsletter does not exist.

-> cf delete-service -f 'xsuaa-authentication-newsletter'
Service xsuaa-authentication-newsletter does not exist.

显然没有应用程序或服务,但是由于已经存在,因此无法创建。我在网上找不到任何类似的问题。我会很感激您能提供的所有帮助或提示

解决方法

  1. 此错误表明已经创建了一个同名的 XSUAA 服务实例。但是,它可能位于您无权访问的其他云代工厂空间/组织/子帐户中。因此,您无法查看该实例,也无法删除它。
  2. 我建议您为 xsappname 添加前缀/后缀,这将使其独一无二。例如,您可以使用 org-space- 前缀,使您的 xsappname 看起来像这样 - org-space-com-fressnapf-microservices-newsletter。您也可以尝试其他一些前缀/后缀,只需确保它们使 xsappname 唯一。
  3. 附加到 xsappname 的奇怪东西,我们称之为后缀,可以分​​解为三个部分。第一个组件 - ! 只是 XSUAA 添加的分隔符,用于从 xsappname 获取后缀。 Secod 组件 - t 是服务计划的标识符,在您的情况下它是 tenant 服务计划(您可能有 b 用于 broker 等)。第三个也是最后一个组件 - 36296 只是 XSUAA 添加的一个运行索引。总的来说,这个后缀是由 XSUAA 添加的,并被 XSUAA 用于某些内部目的。您可以放心地忽略它。