cloud-mta-build-tool icon indicating copy to clipboard operation
cloud-mta-build-tool copied to clipboard

Circular dependency on mta and mtaext issue

Open mihaileb opened this issue 7 months ago • 0 comments

Hello colleagues, We are using the cf deploy command to deploy an mtar. Now the mta yaml file contains a configuration which is written in the mtaext configuration file. When we try to deploy we receive the following error:

Error resolving merged descriptor properties and parameters: Circular reference detected in "dis-cloud-broker#SBF_SERVICE_CONFIG" Process failed.

The mta file is:

ID: dis-cloud-broker _schema-version: 3.1.0 description: "dis-cloud-broker" version: 3.0.11

parameters: enable-parallel-deployments: true async-callback-timeout-in-ms: 900 # 15 Minutes top-level-domain: cloud.sap brand-subdomain: dim sbf-service-config-url: "https://dis-integration-service-${space}.${region-subdomain}.${brand-subdomain}.${top-level-domain}"

modules:

  • name: dis-cloud-broker type: nodejs path: srv parameters: buildpack: https://github.com/cloudfoundry/nodejs-buildpack routes: - route: https://${provider-subdomain}-dis-cloud-broker-${space}.${internal-custom-subdomain}.${internal-target-domain} memory: 128M instances: ${instances-count} env: NODE_OPTIONS: --max-old-space-size=96 NODE_ENV: production service-broker-url: https://${org}-${space}-dis-cloud-broker.${internal-target-domain} build-parameters: build-result: ./ builder: custom commands: - cp -r ../mtaext . - npm ci - npm run lint:ci --verbose - npm run test:ci ignore: [ ".env*", ".git", ".gitignore", ".npm", ".prettierrc", "cilint.xml", "coverage", "default-services.json", "eslint.config.js", "jest-unit.config.js", "jsconfig.json", "test"
    ] properties: DIS_INTEGRATION_SERVICE_INTERNAL_URL: "https://${provider-subdomain}-dis-integration-service-${space}.${internal-custom-subdomain}.${internal-target-domain}"

    This sets max_old_space_size based on the available memory in the instance. This avoids that instances are occasionally restarted due to memory constraints

    OPTIMIZE_MEMORY: true NODE_ENV: production health-check-type: http health-check-http-endpoint: /health

    SBF_SECURE_INCOMING_CONNECTIONS: true

    SBF_SERVICE_MANAGER_CERTIFICATE_SUBJECT: "/C=DE/O=SAP SE/OU=SAP Cloud Platform Clients/OU=Canary/OU=svcmgr-cf-eu12/L=service-manager/CN=service-manager"

    SBF_CATALOG_FILE: ${catalog-path} SBF_CREDENTIALS_PROVIDER_SERVICE: dis-xsuaa SBF_SERVICE_CONFIG: > ${catalog-service-config}

I have ommited some parameters for clarity. And our mtaext file is:

ID: dis-cloud-broker.catena-qa _schema-version: '3.1.0' extends: dis-cloud-broker

parameters: internal-target-domain: ${default-domain} internal-custom-subdomain: "dis-cloud-qa" tenant-subdomain: "*" provider-subdomain: "disquality" region-subdomain: eu12-canary loglevel: info serviceName: "decentralizedidentityserviceqa" serviceDisplayName: "Decentralized Identity Verification - Service" saasName: "db271708-8cc0-47d6-bd42-ab385bff4506" saasDisplayName: "Decentralized Identity Verification - Application" catalog-path: "./catalog/catalog-qa.json" instances-count: 2 catalog-service-config: "{"${serviceName}":{"extend_credentials":{"shared":{"vendor":"SAP"},"per_plan":{"development":{"url":"${sbf-service-config-url}"},"standard":{"url":"${sbf-service-config-url}"}}},"extend_xssecurity":{"shared":{"scopes":[{"name":"$XSMASTERAPPNAME.InvokeSaaSCallbacks","grant-as-authority-to-apps":["$XSMASTERAPPNAME(application, sap-provisioning, tenant-onboarding)"]}],"oauth2-configuration":{"credential-types":["binding-secret","x509"]}},"per_plan":{"development":{"authorities":["$XSMASTERAPPNAME.TechnicalAdmin"]},"standard":{"authorities":["$XSMASTERAPPNAME.TechnicalAdmin"]}}}}}" modules:

  • name: dis-cloud-broker requires:
    • name: dis-autoscaler parameters: path: mtaext/autoscaler/autoscaler-config.json

I do not understand from where the circular dependency is coming from.

Thank you, Bruno.

mihaileb avatar Jul 14 '24 04:07 mihaileb