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

Configuration #135

Closed
msuder opened this issue Feb 14, 2023 · 3 comments
Closed

Configuration #135

msuder opened this issue Feb 14, 2023 · 3 comments
Assignees
Labels
Support User Support

Comments

@msuder
Copy link
Contributor

msuder commented Feb 14, 2023

Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files)?

Integration includes submodules for:

  1. fsw (cFE/cFS)
  2. gsw (currently AIT/COSMOS/OIPP... maybe each should be its own repository)
  3. sims (common functionality + time driver + sim terminal + truth_42_sim (maybe this should be its own repository, maybe a component?))
  4. components/ - A directory containing 1 or more submodules conforming to the NOS3 component repository structure (README/fsw/gsw/sim)

What else should be in the nos3 repo?

  1. Top level build time configuration
    1. Prefer CMake/CMakeLists.txt/etc. to the current Makefile (currently everything is CMake compatible except maybe some of fsw)
    2. Figure out how to specify
      1. The base fsw/gsw/sims to build +
      2. How to get to the submodule build configuration: All the components//fsw, components//sim, components/*/gsw to build
  2. Top level run time configuration - Figure out how to specify
    1. The base fsw/nos3_defs/*.scr?, sims/cfg/nos3-simulator.xml files that provide an integrated top level system configuration
    2. How to get to the submodule configuration: All the components//sim/cfg, components//gsw files that provide the component configuration that need included into things like nos3-simulator.xml and 42 InOut/* and gsw/cosmos/config/system/nos3_system.txt and gsw/cosmos/config/tools/cmd_tlm_server/cmd_tlm_server.txt files that provide component configuration within the top level system configuration
  3. Top level run/stop (and build/clean?) scripts
    1. What do we do with things in gsw/scripts?
  4. What do we do with fsw/nos3_defs? Could fsw be a stable "distribution" of cFS for NOS3 with that removed?

Pull request quote: "For now, this is ok. We need to have a larger, architectural discussion on separating/combining configuration information in the nos3, cosmos, and individual component repositories and figure out an evolutionary improvement strategy. (Code "smell" hint... avoid ../... out of the current git repository if at all possible.)"

config/system/nos3-system.txt is one example that drove this issue:
nasa-itc/gsw-cosmos#6
https://github.com/nasa-itc/gsw-cosmos/pull/6/files/f0f0e12f3f7ab589ca91e70c579a589b6772d088#diff-ff0853b0a827937d3e41ddbc65bbd9190cb001f012b0da914d8e5a65394b70c0

Every single file change (not submodule) changed by this: #130
PR provides a place to think about whether the "information"** that "fuses" the submodules together to become NOS3 could be managed and generated in a better way (perhaps by introspection into the submodules, using CMake effectively for building, and using other tools to combine run time configuration information?).

The simulator XML configuration is especially egregious as it is the one type of this "information" where the submodules in the "components" directory do not have their own copy of their own information in sims/cfg (other component development pull requests will also reveal the need for viewing 42 SC_*.txt and Inp_IPC.txt files as containing overarching NOS3 configuration information and component submodule configuration information that ideally should be split out and automagically combined also).

** information: examples include build time (e.g. fsw/nos3_defs/targets.cmake and runtime (all the other modified files such as FSW .scr start script, scheduler and TO tables, launch scripts, and simulator XML configuration)

@msuder msuder changed the title Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files) Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files)? Feb 14, 2023
@msuder msuder changed the title Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files)? Configuration Discussion - Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files)? Mar 24, 2023
@jlucas9 jlucas9 moved this to Planned Next Release in NOS3 Path Forward Mar 24, 2023
@jlucas9 jlucas9 changed the title Configuration Discussion - Transition nos3 Repository to be an Integration Only Repository Full of Submodules (and a few Integration Files)? Configuration Discussion Mar 24, 2023
@jlucas9 jlucas9 changed the title Configuration Discussion Configuration Apr 13, 2023
@jlucas9
Copy link
Contributor

jlucas9 commented Apr 13, 2023

image

@msuder
Copy link
Contributor Author

msuder commented Apr 27, 2023

This was the document I created a few years ago when I was thinking about what should be submodules, what should be top level, what a build could look like, etc.
SSPOMissionRepoBuildDeploy.docx

@jlucas9 jlucas9 added this to the 1.6.2 milestone May 10, 2023
@jlucas9 jlucas9 added the Support User Support label Dec 18, 2023
jlucas9 added a commit that referenced this issue Dec 20, 2023
jlucas9 added a commit that referenced this issue Dec 20, 2023
jlucas9 added a commit that referenced this issue Jan 2, 2024
@jlucas9 jlucas9 moved this from Planned Next Release to In Review in NOS3 Path Forward Jan 3, 2024
jlucas9 added a commit that referenced this issue Jan 18, 2024
[#135] Initial configuration framework
@jlucas9
Copy link
Contributor

jlucas9 commented Jan 18, 2024

Merged to dev

@jlucas9 jlucas9 closed this as completed Jan 18, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in NOS3 Path Forward Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Support User Support
Projects
Archived in project
Development

No branches or pull requests

3 participants