Marek Wolan
df22d0de0b
Merge remote-tracking branch 'origin/dev' into feature/1812-traverse-actions-dict
2023-10-09 11:39:31 +01:00
Czar.Echavez
97f0267539
#1796 : apply PR suggestions + fix tests
2023-10-04 11:33:18 +01:00
Czar.Echavez
6202d320a6
#1796 : Add ability to create and restore database backups + add more sys log messages + remove the link size checks temporarily
2023-09-28 12:23:49 +01:00
Czar.Echavez
c096d06bcd
#1796 : pre installing system software
2023-09-26 15:14:24 +01:00
Marek Wolan
898123cb10
Stub out more actions
2023-09-19 11:46:02 +01:00
Marek Wolan
aa6834ad08
Check service actions work.
2023-09-19 11:41:02 +01:00
Marek Wolan
610517d817
Underscore 'parent' refs to make pydantic happy.
...
Rename attributes like connected_link and connected_node to start with
an underscore.
This will prevent circular dependency and stack recursion depth error.
2023-09-19 11:28:13 +01:00
Marek Wolan
a719389e05
Add placeholder actions
2023-09-19 11:24:42 +01:00
Marek Wolan
77108634e8
Merge remote-tracking branch 'origin/dev' into feature/1812-traverse-actions-dict
2023-09-19 10:12:47 +01:00
Chris McCarthy
939de40f1e
#1752 - Moved dns_server ip address from the NIC to the Node. Updated the arcd_uc2_network so that clients and servers have a dns server. Added sys_log entries for DNSServer and DNSClient. MAde the DNSServer always rend a reply, but for the resolved IP address to be empty if it cannot be resolved.
2023-09-18 10:25:26 +01:00
Czar Echavez
8b6bc84321
#1752 : simplifying the DNS implementation - switch to TCP + fixing the DNS integration test
2023-09-12 13:37:11 +01:00
Chris McCarthy
695b3ceab4
#1816 - Updated the DataManipulationBot to subclass DatabaseClient. Extended logging. Dropped the Link loading logging as it was clogging up the terminal output.
2023-09-11 16:15:03 +01:00
Chris McCarthy
388176b8bd
#1816 - Added full documentation on the database client/server, and the internal frame processing process
2023-09-11 09:30:40 +01:00
Chris McCarthy
b1d8666c16
#1816 - Added database client. Installed the database client on the Web Server node in the UC2 network. Updated the integration test to query the DB server using the DB client.
2023-09-08 16:50:49 +01:00
Chris McCarthy
2f744af34e
#1816 - Added the final pieces of the puzzle to get data up from NIC → session manager → software manager → service.
...
- Implemented a basic sim DB that matches UC2 data manipulation DB in IY.
- Added a test that confirms DB queries can be sent over the network.
2023-09-06 22:26:23 +01:00
Chris McCarthy
6b41bec32a
#1816 - Added the final pieces of the puzzle to get data up from NIC → session manager → software manager → service.
...
- Implemented a basic sim DB that matches UC2 data manipulation DB in IY.
- Added a test that confirms DB queries can be sent over the network.
2023-09-06 22:01:51 +01:00
Chris McCarthy
7c157d27d7
#1800 - Simplified a bunch of stuff in the file system in prep for services and applications. Started adding the database logic. Waiting for the software manager/session manager work from another ticket.
2023-09-06 11:35:41 +01:00
Marek Wolan
1dccceaf56
Verify that action tree is starting to work!
2023-09-05 15:53:22 +01:00
Marek Wolan
2b68ed813c
Make actions more recursive
2023-09-05 14:51:04 +01:00
Chris McCarthy
1385adf3fe
Merge remote-tracking branch 'devops/dev' into feature/1801-Database
...
# Conflicts:
# src/primaite/simulator/network/container.py
# src/primaite/simulator/network/hardware/base.py
2023-09-04 19:45:29 +01:00
Chris McCarthy
ccad5ba8a3
#1800 - Ran pre-commit
2023-09-04 16:34:55 +01:00
Chris McCarthy
3075d1985b
#1800 - Renamed all ip fields so that they're post-fixed with ip_address
2023-09-04 14:58:34 +01:00
Chris McCarthy
05959e5408
#1800 - Moved the Switch code to a dedicated switch.py module.
...
- Added more switch tests.
- Updated ACL tests to use router acl.
- Updated more docs.
- Moved the Jupyter notebooks to _package_data and fixed up the setup to move all notebooks to ~/primaite/notebooks/example_notebooks.
2023-09-04 12:14:24 +01:00
Chris McCarthy
5111affeeb
#1800 - Added more docstrings and rst docs.
...
- Extended the .show functionality to enable markdown format too.
2023-09-01 16:58:21 +01:00
Chris McCarthy
415ee3b3a7
Merge branch 'dev' into feature/1800_model-a-basic-router-subclass-of-node
2023-08-31 11:39:21 +01:00
Marek Wolan
7759c178bb
Add logging and service restarting
2023-08-31 11:20:16 +01:00
Chris McCarthy
e73d7f49d6
#1800 - Fixed routing and processing of ICMP packets in the Router class
2023-08-31 11:03:38 +01:00
Chris McCarthy
1bf51c7741
#1800 - Added ACL and routing classes.
...
- Added .show() methods to new router classes to enable inspection of the components as you would a real router.
- Removed gateway from the NIC and added default_gateway to Node so that Node has a single default gateway.
- Added some routing tests to check that ping can be performed when router between subnets.
2023-08-30 21:38:55 +01:00
Marek Wolan
f0b82cbdfb
Add ability to uninstall service
2023-08-29 14:15:49 +01:00
Marek Wolan
9c8b7a7b7a
Merge remote-tracking branch 'origin/feature/1789-add-convenience-methods-to-network-object' into feature/1801-Database
2023-08-29 13:22:14 +01:00
Marek Wolan
94325d1fde
Add Install method to software.
2023-08-29 13:21:34 +01:00
Marek Wolan
ae6e835955
Apply suggestions from code review.
2023-08-25 15:58:07 +01:00
Chris McCarthy
c6f71600fc
#1800 - Fixed the ping functionality so that it actually checks for replies and returns True if the right number of replies have been received.
...
- Added the foundations of a Router class along with ACLRule and RouteTableEntry classes.
2023-08-25 09:07:32 +01:00
Marek Wolan
fec44aef53
Rename connect_nodes to connect and fix minor bug
2023-08-24 13:03:16 +01:00
Marek Wolan
a818de8f01
Add ability to connect nodes via the network.
2023-08-24 12:40:00 +01:00
Marek Wolan
01c912c094
fix type hints and describe state functions
2023-08-20 18:38:02 +01:00
Marek Wolan
6ca53803cd
Describe state
2023-08-17 15:32:12 +01:00
Chris McCarthy
9ee0ef2fd6
#1706 - Applied some final changes from PR. Fixed the PCAP log name on SwitchPort so that a pcap file is generated for each port.
2023-08-10 13:26:51 +01:00
Chris McCarthy
ad81a81949
#1706 - Applied some code suggestions from the PR
2023-08-09 20:38:45 +01:00
Chris McCarthy
b46057841d
#1706 - Refactored a bunch of if statements in base.py to improve readability
2023-08-09 20:31:42 +01:00
Chris McCarthy
a840159460
#1706 - Fixed the "smart" merging of SimComponent that PyCharm performed. Integrated the Filesystem class into the Node. Added prettytable to deps in pyproject.toml
2023-08-08 20:30:37 +01:00
Chris McCarthy
9fbc3c91f7
#1706 - Finished up the Node and Switch MVP. Added full extensive documentation on what's happening at each step.
2023-08-08 20:22:18 +01:00
Chris McCarthy
139d739732
#1706 - Tidies up the sysLog ARPCache, and ICMP classes and integrated them into the Node. Tidied up the base implementation of SoftwareManager and SessionManager. Tidies up the public API for Services and Applications. Added the SwitchPort and Switch classes. Added a basic test in test_frame_transmission.py that tests sending a frame from one node to another across a multi-switch network.
2023-08-07 19:33:52 +01:00
Chris McCarthy
04f1cb0dc6
#1706 - Got the code services, application, and process base classes stubbed out. Need them now so that I can leverage them for core node services required.
2023-08-03 21:30:13 +01:00
Chris McCarthy
cac4779244
#1706 - Started adding the core node software required by all nodes. Made some tweaks to the Frame to have send and receive timestamp.
2023-08-03 14:37:55 +01:00
Chris McCarthy
209f934abd
#1706 - Added some extra logging
2023-08-02 22:01:15 +01:00
Chris McCarthy
897dbdf10c
#1706 - Got the core Node class build and working with ARP and the ability to ping another node. Added some basic tests in. Next job is to create the Node subclasses. Then move ARP and ICMP into a service that is used by all nodes.
2023-08-02 21:54:21 +01:00