cloudbreak
cloudbreak copied to clipboard
CB-18873: Fixed Salt script for obtaining DL data sizes so that it works with medium duty datalakes.
Jira: https://jira.cloudera.com/browse/CB-18873
This consists of 2 main changes:
- Moving the basis of the salt script/files to the core nodes and not the gateway node as this is where the Solr data is stored
- For this I moved the file to its own directory and added a new init.sls file which is mapped to the manager_agent Salt grain
- I also needed to include the postgresql pillar and a new .pgpass file on the same grain for this
- Modifying the Solr curl command to get the sizes from all live nodes and then merge them
I have tested this locally by setting up both a light duty and medium duty datalake and ensuring this works as desired.
Unfortunately, I don't really have the domain knowledge. Can you please describe what we would like to achieve? I mean what is the original problem we are trying to solve?
Unfortunately, I don't really have the domain knowledge. Can you please describe what we would like to achieve? I mean what is the original problem we are trying to solve?
No problem, so in #13549 I added the initial Salt change for this which is meant to run a script which determines the size of all the data on the DL which will be backed up. That change worked fine on a light duty DL but I discovered that it didn't work on medium duty DLs for 2 reasons:
- The primary gateway node did not contain keytabs for Solr or HBase
- All of the Solr data was spread across the core nodes (this affects not only what nodes I need to target in my curl request but also how I merge the spread out data)
So the changes in this PR are meant to address just these 2 issues.
Let me know if that makes sense or if you have any other questions.
Per my conversation with @sodre90 I will be modifying the logic here to be split into 2 separate Salt states:
- A state for calculating the PSQL DB data sizes, this will be located only on the primary gateway node, allowing for the pgpass and
postgre.slspillar file to not be included on all nodes only on their original ones - A state for calculating the HBase and Solr data sizes, this will be located on all nodes just like the current state, and will be run on the core nodes
With this modification, I will be making substantial changes to this logic.
This has now been tested again and verified to be working correctly.