Commit Graph

1863 Commits

Author SHA1 Message Date
Chris McCarthy
bf9fcddaa3 #915 - Ensured primaite setup is carried out on devops pipelines that install primaite. 2023-06-08 08:39:00 +01:00
Chris McCarthy
c03dc8fd6b # 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
98fc1e4c71 #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
4329c65211 Apply suggestions from code review. 2023-06-07 15:25:11 +01:00
SunilSamra
6089fb6950 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
718cd8acd6 Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-07 14:39:20 +01:00
Brian Kanyora
f9bb97300a feature\898:
Added doc strings
2023-06-07 11:09:00 +01:00
SunilSamra
281bb78612 893 - removed print statements for demonstration 2023-06-07 09:19:30 +01:00
SunilSamra
bb98900759 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
a8ce699df3 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
e17e5ac4b9 893 - added new line for assert statements 2023-06-06 15:54:35 +01:00
Marek Wolan
91fb063797 Merge remote-tracking branch 'origin/dev' into bugfix/1441-main-py-minor-bugs 2023-06-06 15:50:35 +01:00
SunilSamra
0817a4cad3 893 - added consistent action for test_reward.py 2023-06-06 13:49:22 +01:00
SunilSamra
10585490fe 893 - 2023-06-06 13:47:07 +01:00
SunilSamra
d572c033e1 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
a85c653feb Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-06 13:40:17 +01:00
Marek Wolan
3c9061ff8f 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
2e1bdf2361 893 - changed action in conftest.py back to sample of the environment action space 2023-06-06 13:23:08 +01:00
SunilSamra
efd0f6ed08 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
7cef392f14 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
58a87ee0c8 893 - applied changes raised during PR 2023-06-06 13:12:28 +01:00
Sunil Samra
e0ed97be36 Apply suggestions from code review 2023-06-06 12:07:22 +00:00
SunilSamra
5add9d620c 893 - updated the docs to reflect changes made to action space 2023-06-06 11:57:04 +01:00
SunilSamra
a45f0d1979 Merge remote-tracking branch 'origin/dev' into feature/893-node-acl-into-one-action-space 2023-06-06 11:56:52 +01:00
SunilSamra
dc7be7d8e6 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
5cfc46c4e4 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
1a7d629d5a 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
4dd064cab8 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
7432b91f53 feature\898: 2023-06-02 16:13:16 +01:00
Brian Kanyora
b3ea1938bf Merge branch 'dev' into feature/898-Fix-the-functionality-of-resetting-a-node 2023-06-02 14:56:31 +01:00
Brian Kanyora
a1d7f9e57c feature\898: 2023-06-02 14:54:23 +01:00
Marek Wolan
bb42b4f55d Merge remote-tracking branch 'origin/dev' into bugfix/1442-reward-ignores-red-pol 2023-06-02 14:22:45 +01:00
Marek Wolan
6c94419bf3 Merge remote-tracking branch 'origin/dev' into feature/1468-observations-class 2023-06-02 13:41:49 +01:00
Marek Wolan
eaa192eeec Update docs with configurable obs space info 2023-06-02 13:23:03 +01:00
Marek Wolan
f14910ca96 Fix Link Traffic Levels observation encoding 2023-06-02 13:15:38 +01:00
Marek Wolan
73adfbb6dd Get observation tests passing 2023-06-02 13:08:11 +01:00
Marek Wolan
14096b3dd1 Add tests for observations 2023-06-02 12:59:01 +01:00
SunilSamra
66fdae5df1 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
d0c11a14ed 893 - added ANY to enums.py 2023-06-02 09:51:15 +01:00
Marek Wolan
602bf9ba9a Edit configs for observation space 2023-06-02 09:10:53 +01:00
Marek Wolan
16777b30ad begin updating observations tests 2023-06-01 21:56:05 +01:00
Marek Wolan
ac31c996a7 Update docs page on observations 2023-06-01 21:42:34 +01:00
Marek Wolan
084112a2e4 Add docstrings to new observation code 2023-06-01 21:28:38 +01:00
Marek Wolan
d473794963 Let single-component spaces not use Tuple Spaces 2023-06-01 18:01:47 +01:00
Marek Wolan
0a804e714d Better Obs default handling 2023-06-01 17:50:18 +01:00
Marek Wolan
e43649a838 Fix trying to init obs before building network 2023-06-01 17:42:35 +01:00
Marek Wolan
bab6c27f06 Integrate obs handler with Primaite Env 2023-06-01 16:42:10 +01:00
SunilSamra
f72a80c9d2 1443 - added in print test statements 2023-06-01 16:27:25 +01:00
Marek Wolan
d351e575ae Integrate observation handler with components 2023-06-01 13:28:40 +01:00
Marek Wolan
4a09673e98 Merged PR 65: Add MultiDiscrete observation spaces
**Summary:**

This adds support for the MultiDiscrete observation spaces, the same as what exists in the ADSP branch. The observation space is now configurable in the same way as the action space- by selecting a config item within the laydown config yaml.
The 'box' option has the same behaviour as before.

**Test Process:**

I added two integration tests to ensure that creating the environment is possible with both types of observation space. I also checked that all existing unit tests run fine as long as I update the observation space in the yaml to box.

**Other comments:**
I also updated the documentation relating to observation spaces, please check if the explanation makes sense.

Related work items: #1463
2023-06-01 11:05:00 +00:00