Commit Graph

209 Commits

Author SHA1 Message Date
Chris McCarthy
1809cbe1f4 #915 - typer==0.9.0 added to pyproject.toml 2023-06-08 08:56:39 +01:00
Chris McCarthy
61bd70a6c9 #915 - Ensured LOG_DIR is created so primaite package can be used to perform setup while still logging using primaite logs. 2023-06-08 08:49:06 +01:00
Chris McCarthy
0795a7b4f8 #915 - Ensured primaite setup is carried out on devops pipelines that install primaite. 2023-06-08 08:39:00 +01:00
Chris McCarthy
02e37e5096 # 915 - Fixed issue in conftest.py where session_path and timestamp_str were not being passed to Primaite.
- Also now logging all test outputs to temp directory.
2023-06-07 22:57:37 +01:00
Chris McCarthy
273876873e #915 - Created app dirs and set as constants in the top-level init.
- renamed _config_values_main to training_config.py and renamed the ConfigValuesMain class to TrainingConfig.
Moved training_config.py to src/primaite/config/training_config.py
- Renamed all training config yaml file keys to make creating an instance of TrainingConfig easier.
Moved action_type and num_steps over to the training config.
- Decoupled the training config and lay down config.
- Refactored main.py so that it can be ran from CLI and can take a training config path and a lay down config path.
- refactored all outputs so that they save to the session dir.
- Added some necessary setup scripts that handle creating app dirs, fronting example config files to the user, fronting demo notebooks to the user, performing clean-up in between installations etc.
- Added functions that attempt to retrieve the file path of users example config files that have been fronted by the primaite setup.
- Added logging config and a getLogger function in the top-level init.
- Refactored all logs entries logged to use a logger using the primaite logging config.
- Added basic typer CLI for doing things like setup, viewing logs, viewing primaite version, running a basic session.
- Updated test to use new features and config structures.
- Began updating docs. More to do here.
2023-06-07 22:40:16 +01:00
Marek Wolan
9417cd85ab Apply suggestions from code review. 2023-06-07 15:25:11 +01:00
SunilSamra
6f3e40e390 893 - removed unnecessary functions from utils.py and changed single_action_space_fixed_blue_actions_main_config.yaml back to GENERIC agentIdentifier after PR comments 2023-06-07 14:39:52 +01:00
Marek Wolan
89cea9289b Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-07 14:39:20 +01:00
Brian Kanyora
038abb9be7 feature\898:
Added doc strings
2023-06-07 11:09:00 +01:00
SunilSamra
709fbc500e 893 - removed print statements for demonstration 2023-06-07 09:19:30 +01:00
SunilSamra
57b982eea3 Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-06-07 09:18:24 +01:00
Marek Wolan
ef3cef530b Merged PR 61: Fix minor logic errors in main script
This PR fixes some minor issues that I found in the main.py script. Namely:

1. The first observation was always all zeroes when using a generic agent. This is because the `update_environment_obs()` method is not called automatically and is only called by `env.reset()`.
2. The config yaml is never closed as the close function of the file reader was only referenced but never called.

Related work items: #1441
2023-06-06 15:02:40 +00:00
SunilSamra
6cc9516744 893 - added new line for assert statements 2023-06-06 15:54:35 +01:00
Marek Wolan
bfd19280d5 Merge remote-tracking branch 'origin/dev' into bugfix/1441-main-py-minor-bugs 2023-06-06 15:50:35 +01:00
SunilSamra
2eff3912fb 893 - added consistent action for test_reward.py 2023-06-06 13:49:22 +01:00
SunilSamra
69c5c9458b 893 - 2023-06-06 13:47:07 +01:00
SunilSamra
af44b99b6f Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-06-06 13:46:01 +01:00
Marek Wolan
c969bc32f5 Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-06 13:40:17 +01:00
Marek Wolan
a987ffb745 Merged PR 62: Make reward calculation consider red POL
Check out the linked bug ticket to understand the issue.

The fix was very simple- just changing which variable is passed to the reward calculation funciton.

Related work items: #1442
2023-06-06 12:27:55 +00:00
SunilSamra
babd4eb5f8 893 - changed action in conftest.py back to sample of the environment action space 2023-06-06 13:23:08 +01:00
SunilSamra
d922d4d054 893 - returned config_values in conftest to move run_generic_set_actions into test_single_action_space.py 2023-06-06 13:21:04 +01:00
SunilSamra
940013f9a6 Merge remote-tracking branch 'origin/feature/893-node-acl-into-one-action-space' into feature/893-node-acl-into-one-action-space 2023-06-06 13:12:58 +01:00
SunilSamra
e15c8c8c89 893 - applied changes raised during PR 2023-06-06 13:12:28 +01:00
Sunil Samra
dcab4b0d4a Apply suggestions from code review 2023-06-06 12:07:22 +00:00
SunilSamra
8558ca1020 893 - updated the docs to reflect changes made to action space 2023-06-06 11:57:04 +01:00
SunilSamra
17d036302f Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-06-06 11:56:52 +01:00
SunilSamra
49707b0a17 893 - set the action_space to NOTHING so test_reward.py passes and removed unnecessary test print statements 2023-06-06 11:10:38 +01:00
Brian Kanyora
e52dfababc feature\898:
Fixed the resetting operating state to set compromised or overwhelmed services or operating system back to a good state. Added a reset count that switches the node into a good state.
Created a "SHUTTING DOWN" operating state to last for a (configurable) and a "BOOTING" operating state to last for a (configurable).
Created a test file to test the reset changes the node to a good state when its set to a COMPROMISED state. The last two test tests makes sure that the node boots and shutdowns correctly.
Lastly, updated the docs file as well.
2023-06-06 11:03:43 +01:00
SunilSamra
55f13ae654 893 - added new tests to test action space size and node is completing both sets of actions in a single episode and created new main config 2023-06-06 11:00:41 +01:00
Brian Kanyora
8b61fbebe4 feature\898:
Fixed the resetting operating state to set compromised or overwhelmed services or operating system back to a good state. Added a reset count that switches the node into a good state.
Created a "SHUTTING DOWN" operating state to last for a (configurable) and a "BOOTING" operating state to last for a (configurable).
Created a test file to test the reset changes the node to a good state when its set to a COMPROMISED state. The last two test tests makes sure that the node boots and shutdowns correctly.
Lastly, updated the docs file as well.
2023-06-05 23:59:32 +01:00
Brian Kanyora
a48b217cf3 feature\898: 2023-06-02 16:13:16 +01:00
Brian Kanyora
051cd7da2b Merge branch 'dev' into feature/898-Fix-the-functionality-of-resetting-a-node 2023-06-02 14:56:31 +01:00
Brian Kanyora
e5b60c2f95 feature\898: 2023-06-02 14:54:23 +01:00
Marek Wolan
cdd710d672 Merge remote-tracking branch 'origin/dev' into bugfix/1442-reward-ignores-red-pol 2023-06-02 14:22:45 +01:00
Marek Wolan
1ee6a37188 Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-02 13:41:49 +01:00
Marek Wolan
9d868c5090 Update docs with configurable obs space info 2023-06-02 13:23:03 +01:00
Marek Wolan
25ec0d93a9 Fix Link Traffic Levels observation encoding 2023-06-02 13:15:38 +01:00
Marek Wolan
2330a30021 Get observation tests passing 2023-06-02 13:08:11 +01:00
Marek Wolan
f37b943f7e Add tests for observations 2023-06-02 12:59:01 +01:00
SunilSamra
2c95087056 893 - added test which shows the new action space has been created when ANY is selected in single_action_space_lay_down_config.yaml 2023-06-02 11:55:31 +01:00
SunilSamra
d854773e84 893 - added ANY to enums.py 2023-06-02 09:51:15 +01:00
Marek Wolan
b6ce1cbae9 Edit configs for observation space 2023-06-02 09:10:53 +01:00
Marek Wolan
875562c385 begin updating observations tests 2023-06-01 21:56:05 +01:00
Marek Wolan
85c102cfc1 Update docs page on observations 2023-06-01 21:42:34 +01:00
Marek Wolan
484a31d082 Add docstrings to new observation code 2023-06-01 21:28:38 +01:00
Marek Wolan
c0b214612a Let single-component spaces not use Tuple Spaces 2023-06-01 18:01:47 +01:00
Marek Wolan
3e208bad9b Better Obs default handling 2023-06-01 17:50:18 +01:00
Marek Wolan
7041b79d2a Fix trying to init obs before building network 2023-06-01 17:42:35 +01:00
Marek Wolan
2b25573378 Integrate obs handler with Primaite Env 2023-06-01 16:42:10 +01:00
SunilSamra
8efa0295df 1443 - added in print test statements 2023-06-01 16:27:25 +01:00