Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for readiness-health-check-* #1147

Open
sjvans opened this issue Nov 14, 2024 · 10 comments
Open

support for readiness-health-check-* #1147

sjvans opened this issue Nov 14, 2024 · 10 comments

Comments

@sjvans
Copy link

sjvans commented Nov 14, 2024

<module>.parameters.health-check-* are already supported, as described here.

readiness-health-check-* should also be supported.

@sjvans sjvans changed the title support for readiness-health-check-* support for readiness-health-check-* Nov 14, 2024
@yutaoj
Copy link
Collaborator

yutaoj commented Nov 26, 2024

Hi sjvans,
The 'readiness-health-check-' and 'health-check-' parameters are part of the MTA deployment descriptor. You can configure these settings in the mta.yaml file for MTA development. However, for these features to be utilized, the BTP deployment service must support them. Therefore, it is essential to submit this requirement to the BTP deployment service team for their consideration and support.

Thanks
Yutao

@sjvans
Copy link
Author

sjvans commented Nov 26, 2024

hi @yutaoj

thanks for the info, i'll check again. if they are supported, then they should probably be added to https://help.sap.com/docs/SAP_HANA_PLATFORM/cf8b4c5847374960a68b55cb86eae013/4050fee4c469498ebc31b10f2ae15ff2.html?version=2.0.07#parameters

best,
sebastian

@sjvans
Copy link
Author

sjvans commented Nov 26, 2024

hi @yutaoj

i checked again and the following mta does not produce a readiness check:

---
_schema-version: 3.3.0
ID: foobar
version: 1.0.0
modules:
  - name: foobar
    path: ./
    type: nodejs
    parameters:
      buildpacks:
      - nodejs_buildpack
      health-check-type: http
      health-check-http-endpoint: /healthy
      readiness-health-check-type: http
      readiness-health-check-http-endpoint: /ready
      readiness-health-check-interval: 10

further, via cf create-app-manifest foobar, i get a manifest with:

  processes:
  - type: web
    instances: 1
    memory: 1024M
    disk_quota: 1024M
    log-rate-limit-per-second: -1
    health-check-type: http
    health-check-http-endpoint: "/healthy"
    readiness-health-check-type: process

so something get's lost.

if i need to reach out to somebody else, please point me there.

thanks and best,
sebastian

@yutaoj
Copy link
Collaborator

yutaoj commented Dec 2, 2024

Hi sjvans,

you used cf command but mbt command .
the MBT(MTA Build Tools) command usage: run "mbt build" in in your prjoect, you can get a mtar file under mta_achives folder. you may unzip it, and you will find the "reeadiness-health-check*" parameters in the mtad.yaml under META-INF.

Regards
Yutao

@sjvans
Copy link
Author

sjvans commented Dec 2, 2024

hi @yutaoj

good to know that mbt build preserves the config. but obviously cf does not understand that it shall perform readiness checks. otherwise it would be in the manifest that cf generates for the app (cf. create-app-manifest). who is responsible for the deployment of the build result?

best,
sebastian

@boyan-velinov
Copy link
Contributor

Hello @sjvans

Currently readiness health check is not supported via MTA deployment.

You can refer to:
https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment#prerequisites-and-restrictions -> Unsupported Cloud Foundry Features

I saw that you have opened internal ticket as well. We can provide further details there.

Best Regards,
Boyan

@kulliax
Copy link

kulliax commented Dec 4, 2024

Hi @boyan-velinov I am the original requester

Currently readiness health check is not supported via MTA deployment.

Why can't the CF in the BTP provide this function? What is SAP's workaround for this? If the function is not there, we need not wonder why we sometimes have such outliers.

You can refer to: https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment#prerequisites-and-restrictions -> Unsupported Cloud Foundry Features

I am in opinion of SAP consolidating the documentation, the CAP documentation mentions the readiness checks and even generates them. In the BTP CF documentation there are 2 places where non-existent features are mentioned. Very confusing for a developer.

I saw that you have opened internal ticket as well. We can provide further details there.

Why are the reasons not communicated to the customers, e.g. in the documentary or in this issue? After all, they are the ones who use and pay for the service. If it is explicitly not desired, we also have a case open: 1145217/2024

Best regards
Andre

@boyan-velinov
Copy link
Contributor

Hi @qby-ankul

Thanks for the honest opinion!

I will try to answer of all points:

  • Boyan: Currently readiness health check is not supported via MTA deployment
    Andre: Why can't the CF in the BTP provide this function? What is SAP's workaround for this? If the function is not there, we need not wonder why we sometimes have such outliers.
    Boyan: SAP BTP CF provides the functionality since it follows the standard CAPI releases. You can configure readiness health check, if you are using CF native approach with "cf push". It is not possible with MTA deployment only. MTA deployment in CF steps into the OSS project multiapps-controller, part of CFF. The project is maintained and developed by our team. The project relies on OSS CF Java client to orchestrates CF API calls. We have opened PR to OSS CF Java client in the beginning of the year but it is still not accepted: Add readiness health check support in client cloudfoundry/cf-java-client#1213
    We did not expect that the change would take so much time to be accepted and released by repository maintaneners. We have contacted them many times since the beginning of the year and based on the CF community setup only maintaners can accept the PRs.
    Recently SAP colleague receives maintaner permissions to that repo and hope the situation would be improved.
  • Boyan: You can refer to: https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment#prerequisites-and-restrictions -> Unsupported Cloud Foundry Features
    Andre: I am in opinion of SAP consolidating the documentation, the CAP documentation mentions the readiness checks and even generates them. In the BTP CF documentation there are 2 places where non-existent features are mentioned. Very confusing for a developer.
    Boyan: I agree that this is confusing for developers. Will approach User Assistance collageagues who are reponsible for setup and content of the documentation, if it is possible to made up more coherent user experience.
  • Boyan: I saw that you have opened internal ticket as well. We can provide further details there.
    Andre: Why are the reasons not communicated to the customers, e.g. in the documentary or in this issue? After all, they are the ones who use and pay for the service. If it is explicitly not desired, we also have a case open: 1145217/2024
    Boyan: I do not see any reason why technical details not to be communicated to end customers, that is why I explain it above. Note that new features provided by CF API will not be available automatically via MTA deployment. I guess this is one common miunderstanding. There is a certain process and activity around enabling new CF API features in MTA deployment.
    I was talking about the internal issue because there we can refer some internal information, like platform timelines. Such information is not suitable for external users.

Hope I manage to answer to your questions.

Best Regards, Boyan

@kulliax
Copy link

kulliax commented Dec 4, 2024

Hi @boyan-velinov thank you for the honest and transparent answer. We hope that it will be approved as soon as possible. And that it is then also integrated into the deploy process.

cf push is difficult to implement if the ctms service is used, right?

@boyan-velinov
Copy link
Contributor

@sjvans Please correct the CAP templates by removing readiness health check and fix the CAP documentation.
I found these places:
https://cap.cloud.sap/docs/guides/deployment/health-checks#health-checks
https://cap.cloud.sap/docs/releases/archive/2024/mar24#liveness-readiness-checks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants