.. _available_model_components: ############################# Model Component Documentation ############################# .. _vyos_mc_repo: ******************* firewheel_repo_vyos ******************* This repository contains FIREWHEEL model components for using `VyOS <https://vyos.io>`_ routers within a FIREWHEEL experiment. Building Images =============== Due to licensing limitations, we are currently unable to provide the expected binary files (VM Resources nor Images) that are used within these model components. For the VM Resources, we have provided an `INSTALL <https://sandialabs.github.io/firewheel/tutorials/install_file.html>`__ script to reproducibly recreate them, when possible. However, for images, users will need to follow the `Image Creation Tutorial <https://sandialabs.github.io/firewheel/tutorials/image.html>`__ to create compatible images. The following images are referenced within this repository: Located in ``vyos.helium118`` ------------------------------- - `VyOS Helium (1.1.8) <https://vyos.net/get/>`_ Located in ``vyos.equuleus`` ------------------------------- - `VyOS Equuleus (1.3.x) <https://vyos.net/get/>`_ .. toctree:: :maxdepth: 1 vyos vyos.equuleus vyos.helium118 .. _linux_mc_repo: ******************** firewheel_repo_linux ******************** This repository contains FIREWHEEL Model Components related to Linux and Linux specific applications. Currently, there are generic Linux-related MCs as well as MCs related to several Ubuntu distributions. Building Images =============== Due to licensing limitations, we are currently unable to provide the expected binary files (VM Resources nor Images) that are used within these model components. For the VM Resources, we have provided an `INSTALL <https://sandialabs.github.io/firewheel/tutorials/install_file.html>`__ script to reproducibly recreate them, when possible. However, for images, users will need to follow the `Image Creation Tutorial <https://sandialabs.github.io/firewheel/tutorials/image.html>`__ to create compatible images. The following images are referenced within this repository: Located in ``linux.ubuntu1404`` ------------------------------- - `Ubuntu 14.04.5 Server <http://old-releases.ubuntu.com/releases/14.04.5/>`_ - `Ubuntu 14.04.5 Desktop <http://old-releases.ubuntu.com/releases/14.04.5/>`_ Located in ``linux.ubuntu1604`` ------------------------------- - `Ubuntu 16.04.4 Server <http://old-releases.ubuntu.com/releases/16.04.4/>`_ - `Ubuntu 16.04.4 Desktop <http://old-releases.ubuntu.com/releases/16.04.4/>`_ Located in ``linux.ubuntu1804`` ------------------------------- * `Ubuntu 18.04.5 Server <http://old-releases.ubuntu.com/releases/18.04.5/>`_ * `Ubuntu 18.04.5 Desktop <http://old-releases.ubuntu.com/releases/18.04.5/>`_ Located in ``linux.ubuntu2204`` ------------------------------- - `Ubuntu 22.04 Server <https://releases.ubuntu.com/jammy/>`_ - `Ubuntu 22.04 Desktop <https://releases.ubuntu.com/jammy/>`_ .. toctree:: :maxdepth: 1 linux.base_objects linux.ubuntu linux.ubuntu1404 linux.ubuntu1604 linux.ubuntu1804 linux.ubuntu2204 .. _layer2_mc_repo: ********************* firewheel-repo-layer2 ********************* This repository contains FIREWHEEL Model Components for enabling `layer-2 <https://en.wikipedia.org/wiki/Data_link_layer>`_ networking within an experiment. .. toctree:: :maxdepth: 1 layer2.ovs layer2.tap .. _ntp_mc_repo: ****************** firewheel_repo_ntp ****************** This repository contains FIREWHEEL model components for enabling the Network Time Protocol (NTP) within an experiment. Building VMRs ============= Due to licensing limitations, we are currently unable to provide the expected binary files (VM Resources nor Images) that are used within these model components. For the VM Resources, we have provided an `INSTALL <https://sandialabs.github.io/firewheel/tutorials/install_file.html>`__ script to reproducibly recreate them, when possible. .. toctree:: :maxdepth: 1 ntp.time_server .. _base_mc_repo: ******************* firewheel_repo_base ******************* This Model Component repository contains many of the basic objects necessary to create an experiment using FIREWHEEL. This includes initializing the experiment graph, creating the basic VM object, and converting the graph to minimega commands to launch the experiment. Because the Model Components contained within this repository are relied upon by almost every other repository, it is necessary to have this repository installed. .. toctree:: :maxdepth: 1 as.checker base_objects common.dropper common.runner control_network generic_vm_objects minimega.configure_ips minimega.create_mac_addresses minimega.emulated_entities minimega.launch minimega.parse_experiment_graph minimega.resolve_vm_images minimega.schedules_ready minimega.send_miniweb_arp minimega.testbed_available misc.blank_graph misc.networkx misc.print_graph tests.check_times tests.connect_all tests.large_resource tests.networkx tests.ping_all tests.qos tests.reboot tests.router_tree tests.vm_gen vm_resource.schedule vm_resource.validate .. _dns_mc_repo: ****************** firewheel_repo_dns ****************** This repository contains FIREWHEEL model components for enabling `Domain Name Systems (DNS) <https://en.wikipedia.org/wiki/Domain_Name_System>`_ within a FIREWHEEL experiment. Building VMRs ============= Due to licensing limitations, we are currently unable to provide the expected binary files (VM Resources nor Images) that are used within these model components. For the VM Resources, we have provided an `INSTALL <https://sandialabs.github.io/firewheel/tutorials/install_file.html>`__ script to reproducibly recreate them, when possible. .. toctree:: :maxdepth: 1 dns.configure_bind dns.dns_objects dns.insert_dns dns.insert_records dns.populate_zones dns.set_nameservers .. _tutorials_mc_repo: ************************ firewheel_repo_tutorials ************************ This FIREWHEEL Model Component repository contains several MCs which are used as examples in FIREWHEEL tutorials. **NOTE:** These reference model components may have slightly different syntax than those referenced in the `FIREWHEEL Tutorials <https://sandialabs.github.io/firewheel/tutorials/index.html>`_ due to various linting/code formatting, but the logic should closely align. .. toctree:: :maxdepth: 1 acme.run acme.set_hostname acme.topology tutorials.bios tutorials.simple_server