Releases: coreemu/core
CORE 5.3.0
Enhancements
- python 2 / 3 support
- added new API using gRPC
- --grpc --grpc-port --grpc-address flags added to core-daemon
- core.api.grpc.client.CoreGrpcClient, provides a convenience wrapper for leveraging the API
Docs
- Updates to installation instructions for latest changes
Services
- Added FRR service
EMANE
- Added EMANE prefix configuration when looking for emane model manifest files
- requires configuring emane_prefix in /etc/core/core.conf
Cleanup
- Refactoring of the core python package structure, trying to help provide better organization and logical groupings
Issues
- #246 - Fixed network to network link handling when reading xml files
- #236 - Fixed storing/reading of link configuration values within xml files
- #170 - FRR Service
- #155 - EMANE path configuration
- #233 - Python 3 support
- #245 - Fixed bidirectional link configurations when reading from xml files
- #208 - gRPC API
- Fixed link configuration dup handling when loaded from xml files
CORE 5.2.2
Enhancements:
- adds back in core-daemon udp support for coresendmsg, people may have depended on previously for certain scenarios
Bug Fixes:
- fixes issue in GUI that would prevent moving nodes during mobility scenarios
CORE 5.2.1
Build:
- documentation no longer builds by default, must use configure flag
- added configure flag to allow only building vcmd
- sphinx will no long be required when not building documentation
Services:
- Added source NAT service
- Fixed DHCP service for Ubuntu 18.04
ISSUES:
#188 - properly remove session on delete TLV API call
#192 - updated default gnome terminal command for nodes to be Ubuntu 18.04 compatible
#193 - updates to service validation, will retry on failure and better exception logging
#195 - TLV link message data fix
#196 - fix to avoid clearing out default services
#197 - removed wireless_link_all API from EmuSession
#216 - updated default WLAN bandwidth to 54Mbps
#223 - fix to saving RJ45 to session XML files
CORE 5.2
- EMANE
- support for external transports, a new tab in the GUI will provide a checkbox for enabling external transports and the following options
- platformendpoint - 127.0.0.1:40001
- transportendpoint - 127.0.0.1:50002
- support for external transports, a new tab in the GUI will provide a checkbox for enabling external transports and the following options
- GUI
- updated help menu links to point at GitHub
- Configuration
- refactored configuration storage within the code base to use key/value dictionaries instead of pairs of tuples representing keys/values
- new methods for storing and accessing these configurations, impacts session.options, session.metadata, session.services, and session.emane
- Services
- updates services to have class variables without the "_" prefix, "_name" is now "name"
- changes services to validate immediately after running startup commands
- added different validation modes for services using the "validation_mode" parameter
- BLOCKING - the startup commands alone are considered validation and their exit codes will be used as validation
- NON-BLOCKING - the startup commands are not enough and separate validation commands are ran to determine validation
- TIMER - you are not sure how to validate, but would consider waiting around for a period of time, good enough
- "validation_timer" an integer can be set to provide time for validation commands or used as a timer alone in TIMER mode, time to wait in seconds
- "executables" can be set to provide a tuple of commands you expect to exist within CORE's path for operation, if any executable is not found the service will not load
- "dependencies" can be set to provide a tuple of other service names, which will cause these services to be started in dependent order, assuming the node has all required services set
- XML
- the lxml library is now being used for emane and core xml file generation
- there is a new simpler structure for core xml files
- section kept same as before for now, for those that depend on it
ISSUES:
#167 - configuration cleanup
#168 - services cleanup
#171 - ovs linkconfig parameter name issue
#172 - OVS mode and control network
#173 - xml cleanup
#177 - All nodes get the same service config - OvsService
#181 - Core Python package changes to be implemented in sample custom service example
#184 - allow passing in a Session class to CoreEmu.create_session() helper
CORE 5.1
2018-05-22 CORE 5.1
- DAEMON:
- removed and cleared out code that is either legacy or no longer supported (Xen, BSD, Kernel patching, RPM/DEB specific files)
- default nodes are now set in the node map
- moved ns3 and netns directories to the top of the repo
*- changes to make use of fpm as the tool for building packages - removed usage of logzero to avoid dependency issues for built packages
- removed daemon addons directory
- added CoreEmu to core.emulator.coreemu to help begin serving as the basis for a more formal API for scripting and creating new external APIs out of
- cleaned up logging, moved more logging to DEBUG from INFO, tried to mold INFO message to be more simple and informative
- EMANE 1.0.1-1.21 supported
- updates to leverage EMANE python bindings for dynamically parsing phy/mac manifest files
- example custom EMANE model lives under /usr/share/core/examples/myemane/examplemodel.py
- EMANE TDMA model now supports an option to start a TDMA schedule when running
- fixed issues with coresendmsg script due to code refactoring
- added make target for generating documentation "make doc"
- Python 2.7+ is now required
- ns3 is no longer bundled by default, but will be produced as a separate package for installation
- GUI
- updated broken help links in GUI Help->About
- Packaging
- fixed PYTHON_PATH to PYTHONPATH in sysv script
- added make command to leverage FPM as the tool for creating deb/rpm packages going forward, there is documentation within README.md to try it out
- TEST:
- fixed some broken tests
- new test cases based on CoreEmu usage
- BUGFIXES:
CORE 5.0
2017-09-01 CORE 5.0
- DEVELOPMENT:
- support for editorconfig to help standardize development across IDEs, from the defined configuration file
- support for sonarqube analysis, from the defined configuration file
- DAEMON:
- code cleanup and improvements to adhere to coding standards (SonarQube)
- leverage "logzero" module to make easy usage of the standard logging module
- improvements to documentation across the code base
- initial work to separate the dependence on TCP API messaging from the core library (easier core scripting)
- beta support for running core in Open vSwitch mode, leveraging Open vSwitch bridges, instead of Linux bridges
- SERVICES:
- added Ryu SDN controller service
- added Open vSwitch service
- TEST:
- added unit/integration tests to support validating changes going forward
- BUGFIXES: