Last metadata question (for today anyway!)
Can someone clarify what the recommendation on metadata organisation in the metadata location appendix means please?
Apologies, I’m probably being rather dim, but I’m not understanding this!
First off, does “system” mean “suite” here? I’m currently assuming it does - maybe I’m wrong, and this whole recommendation is irrelevant for a suite?
Wondering as I can’t see recommendations on metadata organisation the suite design guide which would fit my interpretation below.
Assuming recommendation is for suites…
I’ve currently got my suite organised something like this, with a top-level meta
dir for the suite metadata, and per-app meta
subdirs for the metadata for individual apps:
/path/to/mi-su173
me@pc:> tree
.
|-- app
| |-- my-model_config-compile-test_cold
| | |-- bin
| | | `-- config-compile-test_mod.sh
| | |-- meta
| | | `-- rose-meta.conf
| | `-- rose-app.conf
| |-- my-model_install_cold
| | |-- bin
| | | `-- install_mod.sh
| | |-- meta
| | | `-- rose-meta.conf
| | `-- rose-app.conf
| <snip more apps>
<snip other dirs & files>
|-- meta
| `-- rose-meta.conf
|-- rose-suite.conf
|-- rose-suite.info
`-- suite.rc
I’m not entirely clear what advice above means for my suite, both for the suite-level metadata, and for the app-level metadata.
I think it means I should rejig my suite, to move the individual apps’ meta
subdirs up, to live under a rose-meta
dir (and I assume my suite metadata too).
And I should be effectively duplicating my apps’ directory structure - would have same subdirs under /rose-meta
as well as under /app
. So I’d end up with something like:
|-- app
| |-- my-model_config-compile-test_cold
| | |-- bin
| | | `-- config-compile-test_mod.sh
| | `-- rose-app.conf
| |-- my-model_install_cold
| | |-- bin
| | | `-- install_mod.sh
| | `-- rose-app.conf
| <snip more apps>
<snip other stuff>
|-- rose-meta
| |-- my-model_config-compile-test_cold
| | `-- rose-meta.conf
| |-- my-model_install_cold
| | `-- rose-meta.conf
| <snip dirs/rose-meta.confs for more apps>
| `-- rose-meta.conf # suite-level metadata
|-- rose-suite.conf
|-- rose-suite.info
`-- suite.rc
And I’d let each app/the suite know where to find its metadata by using the meta setting.
So rose-suite.conf
would specify: meta=rose-meta/rose-meta.conf
While app/my-model_copy_cold/rose-app.conf
would specify: meta=rose-meta/my-model_copy_cold/rose-meta.conf
and so on.
Is this right? Wanting to check my understanding on this before I charge off and do this, as this would require updating quite a few extra places if I ever changed the name of a given app! And I’m increasing “separation” in dir structure between my metadata for a given app, and the app itself.
I’m also wondering whether I’ve got wrong end of stick with my “duplicate dir structure” interpretation as I’ve seen other places (e.g. UM) where there’s just a single monolithic large rose-meta.conf file.
If recommendation would apply to me, is there a good reason for the recommendation? I.e. what is the benefit of me overhauling current structure to a “duplicated dir structure”? (or a monolithic rose-meta.conf if I’ve got wrong end of stick)?