a helper to ingest data in sdap
Project description
SDAP manager for ingestion of datasets
Prerequisites
python 3
Install anaconda for python 3. From the graphic install for example for macos:
https://www.anaconda.com/distribution/#macos
git lfs (for development)
Git lfs for the deployment from git, see https://git-lfs.github.com/
If not available you have to get netcdf files for test, if you do need the tests.
Deployed nexus on kubernetes cluster
See project https://github.com/apache/incubator-sdap-nexus
$ helm install nexus . --namespace=sdap --dependency-update -f ~/overridden-nexus-values.yml
Install, Configure and run
Install
Stay logged in as user
$ pip install sdap-ingest-manager
Configure the ingestion system
Catch the message at the end of the installation output
--------------------------------------------------------------
Now, create configuration files in
***/<some path>>/.sdap_ingest_manager***
Use templates and examples provided there
--------------------------------------------------------------
If the path does not show in the installation stdout, you can find it with the command:
python -c "import sys; print(f'{sys.prefix}/.sdap_ingest_manager')"
Use the path shown in the message and create your own configuration files:
$ cd /<some path>>/.sdap_ingest_manager
$ cp sdap_ingest_manager.ini.default sdap_ingest_manager.ini
Edit and update the newly created files by following instructions in the comments.
Note that the .ini.default
file will be used if no value is configured in the .ini
file. So you can have a simplified .ini
file with only your specific configuration.
Don't put your specific configuration in the .ini.default
file, it will be replaced when you upgrade the package.
Example of a simplified .ini
file:
[COLLECTIONS_YAML_CONFIG]
yaml_file = collections.yml
[OPTIONS]
# set to False to actually call the ingestion command for each granule
dry_run = False
# set to True to automatically list the granules as seen on the nfs server when they are mounted on the local file system.
deconstruct_nfs = True
# number of parallel ingestion pods on kubernetes (1 per granule)
parallel_pods = 2
[INGEST]
# kubernetes namespace where the sdap cluster is deployed
kubernetes_namespace = nexus-dev
Configure the collections
You can configure it in a local yaml file referenced in the sdap_ingest_manager.ini
file.
It can also be in a google spreadsheet.
If both are configured, the local yaml file will be used.
Run the ingestion
On the list of the configured collections:
$ run_collections
The number of parallel jobs can be updated during the process in the sdap_ingest_manager.ini
file.
If interrupted (killed) the process will restart where it was.
For developers
deploy project
$ bash
$ git clone ...
$ cd sdap_ingest_manager
$ python -m venv venv
$ source ./venv/bin/activate
$ pip install .
Note the command pip install -e . does not work as it does not deploy the configuration files.
Update the project
Update the code and the test with your favorite IDE (e.g. pyCharm).
Test and create the package
Change version in file setup.py
$ python setup.py test
$ git tag <version>
$ git push origin <version>
The release will be automatically pushed to pypi though github action.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sdap_ingest_manager-0.2.0rc2.tar.gz
.
File metadata
- Download URL: sdap_ingest_manager-0.2.0rc2.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 165638b079d6f9183c9426841ca01233bb9950f9af041346bba82bd25646bbd5 |
|
MD5 | 54717143c6fd0c7833a7f5a899914013 |
|
BLAKE2b-256 | 24119eec72e16597ced1f714a81e58aa4335eef79b5cde8c1d64f8a9dec994ef |
File details
Details for the file sdap_ingest_manager-0.2.0rc2-py3-none-any.whl
.
File metadata
- Download URL: sdap_ingest_manager-0.2.0rc2-py3-none-any.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a31f02b567ef0991e50739245b19d1ba44489a8f3e385d4decd23b067fe39af |
|
MD5 | 0c40f33c6652a60245dc9bb33962bc04 |
|
BLAKE2b-256 | e73fc018f7170be8a62b2c2f702b177340bbea4dceae43edf4f942ecf758101d |