Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Blueprints dry-run/validation

avatar
Expert Contributor

Dear community,

Recently faced a problem with validation of blueprint. Had made a blueprint using simple copy-past, but had not seen that some variables addressed in configuration does not exists. However the blueprint had been submitted successfully. The errors I had seen only in ambari-server log after part of cluster deployment job failed after being pending. Is there a method to make a dry-run/validation of blueprint including this variables?

Best regards,

Vladyslav

1 ACCEPTED SOLUTION

avatar
Expert Contributor
hide-solution

This problem has been solved!

Want to get a detailed solution you have to login/registered on the community

Register/Login
7 REPLIES 7

avatar

@Vladislav Falfushinsky

Usually Ambari validates the blueprints when you try and create a cluster. creation would fail if there is any validation errors. can you tell me what error you are seeing in Ambari server?

avatar
Expert Contributor

Yes, the validation works when some global constructions are incorrect. However when there is some variable that is not referenced and used somewhere in configuration seems it is not working correctly. I`d recieved following error: "Encountered a host group token in configuration which couldn't be matched to a host group:"

avatar
Expert Contributor

Hi @Vladislav Falfushinsky, Apart from the validation routines that you mentioned at the Blueprint and Cluster Creation Template levels, there isn't really much support for a "dry run" deployment, although that would be a good idea for a future release, since it would assist in some types of testing while developing a new Blueprint.

I'm not sure what version of Ambari is being used in your case, but I'll assume Ambari 2.4 for now.

In Ambari 2.1.0, the Blueprints deployment mechanism was refactored to allow for a more dynamic deployment model, such that hosts could join the cluster after the Blueprint deployment started, and the Blueprints processor will react to this and update the configuration accordingly.

I'm not sure how you created the Blueprint, but if you exported a Blueprint from a particular cluster, and are trying to recreate the cluster on a slightly different topology, or using a different set of services, that may be a part of the problem.

Can you post the portion of the ambari-server.log that shows the error you mentioned? The host group involved in the failure should be mentioned in the log message. Can you also post the Blueprint you're trying to deploy?

It may be that your Blueprint references a host group that is not defined in the Blueprint, or perhaps a "%HOSTGROUP%" token is being used for a component that is not included in any host groups in your Blueprint.

Hope this helps.

avatar
Expert Contributor

Thanks for explanation. I am using the latest version of Ambari and unfortunately had not saved that log after I had fixed an error. I had not exported the blueprint from cluster, I had written it from scratch. The only thing I had copied the configuration from some config on github, that actually contained different host_groups names. I had really referenced a non-existing "%HOSTGROUP%" token. I was wondering that it had not thrown the validation error on Blueprint import.

avatar
Expert Contributor

When trying to deploy blueprint system does not verify dependencies. Is there a possibility to make Ambari verify the service dependencies when deploying blueprint? For instance, the same thing as when I am trying to added services from Ambari UI and it tells that service I am trying to install depends on something other.

avatar
Expert Contributor
hide-solution

This problem has been solved!

Want to get a detailed solution you have to login/registered on the community

Register/Login

avatar
Expert Contributor

Thanks @rnettleton. I`ve checked the reasons you mentioned. Everything looks correct.

1. The validation is enabled.

2. The stack definitions are also ok.

Will try to make some manual verification.