summaryrefslogtreecommitdiffstats
path: root/docs/release
diff options
context:
space:
mode:
authorGeorg Kunz <georg.kunz@ericsson.com>2017-03-07 17:12:54 +0100
committerGeorg Kunz <georg.kunz@ericsson.com>2017-03-13 20:54:29 +0100
commit8a3e022acdcab14bd1f51cf08f4a26004dda49e7 (patch)
treef0de5fad6145eb19b4a622c7ea8e0f8a64db0c8b /docs/release
parentd0f753440d2b63eeefd4ed58edb544df1ad3a360 (diff)
Adding further documentation for the Gluon scenario
Change-Id: I4926ab30223312b91b6349b798f652615d70001e Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>
Diffstat (limited to 'docs/release')
-rw-r--r--docs/release/configguide/featureconfig.rst52
-rw-r--r--docs/release/configguide/postinstall.rst78
-rw-r--r--docs/release/installation/installation.instruction.rst200
-rw-r--r--docs/release/release-notes/release-notes.rst237
-rw-r--r--docs/release/scenarios/os-odl-gluon-noha/scenario.description.rst21
5 files changed, 135 insertions, 453 deletions
diff --git a/docs/release/configguide/featureconfig.rst b/docs/release/configguide/featureconfig.rst
index 005fe9f..2be0fff 100644
--- a/docs/release/configguide/featureconfig.rst
+++ b/docs/release/configguide/featureconfig.rst
@@ -2,31 +2,49 @@
.. http://creativecommons.org/licenses/by/4.0
======================
-NetReady Configuration
+Gluon Configuration
======================
-Add a brief introduction to configure OPNFV with this specific feature including
-dependancies on platform components, this description should be at a level that
-will apply to any installer providing the pre-requisite components.
-.. contents::
- :depth: 3
- :local:
+.. Add a brief introduction to configure OPNFV with this specific feature including
+.. dependancies on platform components, this description should be at a level that
+.. will apply to any installer providing the pre-requisite components.
+
+The configuration of the Gluon framework is entirely handled by the
+corresponding scenario os-odl-gluon-noha available for the Apex installer. In
+general, the installer installs and configures all components so that no
+additional configuration steps are needed after installing the aforementioned
+scenario.
+
Pre-configuration activities
----------------------------
-Describe specific pre-configuration activities. This should include ensuring the
-right components are installed by the installation tools as required for your
-feature to function. Refer to the previous installer configuration chapters,
-installations guide and release notes
+
+.. Describe specific pre-configuration activities. This should include ensuring the
+.. right components are installed by the installation tools as required for your
+.. feature to function. Refer to the previous installer configuration chapters,
+.. installations guide and release notes
+
+No pre-configuration steps are needed in addition to the pre-configuration
+needed for an Apex virtual or bare metal deployment. Please review the Apex
+installation instructions for further details.
+
Hardware configuration
----------------------
-Describe the hardware configuration needed for this specific feature
+
+No specific hardware configuration is needed for running the os-odl-gluon-noha
+scenario providing the Gluon framework in addition to the hardware requirements
+listed for Apex-based scenarios.
+
Feature configuration
---------------------
-Describe the procedures to configure your feature on the platform in order
-that it is ready to use according to the feature instructions in the platform
-user guide. Where applicable you should add content in the postinstall.rst
-to validate the feature is configured for use.
-(checking components are installed correctly etc...)
+
+.. Describe the procedures to configure your feature on the platform in order
+.. that it is ready to use according to the feature instructions in the platform
+.. user guide. Where applicable you should add content in the postinstall.rst
+.. to validate the feature is configured for use.
+.. (checking components are installed correctly etc...)
+
+No specific additional configuration is needed after installing the
+os-odl-gluon-noha scenario using the Apex installer.
diff --git a/docs/release/configguide/postinstall.rst b/docs/release/configguide/postinstall.rst
index a1a3a2b..4073393 100644
--- a/docs/release/configguide/postinstall.rst
+++ b/docs/release/configguide/postinstall.rst
@@ -1,35 +1,71 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-====================================
-NetReady Post Installation Procedure
-====================================
+=================================
+Gluon Post Installation Procedure
+=================================
-Add a brief introduction to the methods of validating the installation
-according to this specific installer or feature.
+.. Add a brief introduction to the methods of validating the installation
+.. according to this specific installer or feature.
+
+The configuration of the Gluon framework is entirely handled by the
+corresponding scenario os-odl-gluon-noha available for the Apex installer. In
+general, Apex installs and configures all components so that no additional
+configuration steps are needed after deploying the aforementioned scenario.
-.. contents::
- :depth: 3
- :local:
Automated post installation activities
--------------------------------------
-Describe specific post installation activities performed by the OPNFV
-deployment pipeline including testing activities and reports. Refer to
-the relevant testing guides, results, and release notes.
-note: this section should be singular and derived from the test projects
-once we have one test suite to run for all deploy tools. This is not the
-case yet so each deploy tool will need to provide (hopefully very simillar)
-documentation of this.
+.. Describe specific post installation activities performed by the OPNFV
+.. deployment pipeline including testing activities and reports. Refer to
+.. the relevant testing guides, results, and release notes.
+
+.. note: this section should be singular and derived from the test projects
+.. once we have one test suite to run for all deploy tools. This is not the
+.. case yet so each deploy tool will need to provide (hopefully very simillar)
+.. documentation of this.
+
+An overview of all test suites run by the OPNFV pipeline against the
+os-odl-gluon-noha scenario as well as the test results can be found at the
+`Functest test result overview page.
+<http://testresults.opnfv.org/reporting/functest/release/master/index-status-apex.html>`_
+
-NetReady post configuration procedures
+
+Gluon post configuration procedures
--------------------------------------
-Describe any deploy tool or feature specific scripts, tests or procedures
-that should be carried out on the deployment post install and configuration
-in this section.
+
+.. Describe any deploy tool or feature specific scripts, tests or procedures
+.. that should be carried out on the deployment post install and configuration
+.. in this section.
+
+No post configuration procedures need to be performed after deploying the
+os-odl-gluon-noha scenario using the Apex installer.
+
+
Platform components validation
------------------------------
-Describe any component specific validation procedures necessary for your
-deployment tool in this section.
+
+.. Describe any component specific validation procedures necessary for your
+.. deployment tool in this section.
+
+As described in the `Gluon scenario description
+<../release_scenarios_os-odl-gluon-noha/index.html>`_, the Gluon framework
+consists of five software components. This section describes how to validate
+their successful installation.
+
+* **Gluon core plugin**: Check in the file ``/etc/neutron/neutron.conf`` that
+ the Neutron core plugin is set to ``gluon``.
+
+* **Proton server**: Check that the process ``proton-server`` is running.
+
+* **Proton client**: Verify that the ``protonclient`` tool is installed and
+ executable.
+
+* **etcd**: Verify that the etcd key-value-store is installed and running by
+ means of the etcdctl tool.
+
+* **Proton shim layer for OpenDaylight**: Verify that the
+ ``proton-shim-server`` process is running.
diff --git a/docs/release/installation/installation.instruction.rst b/docs/release/installation/installation.instruction.rst
index 097d820..75438d2 100644
--- a/docs/release/installation/installation.instruction.rst
+++ b/docs/release/installation/installation.instruction.rst
@@ -5,199 +5,7 @@
OPNFV Gluon Installation Guide
==============================
-This document describes how to install <Component>, it's dependencies and required system resources.
-
-.. contents::
- :depth: 3
- :local:
-
-Version history
----------------
-
-+--------------------+--------------------+--------------------+--------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| 2015-04-14 | 0.1.0 | Jonas Bjurel | First draft |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 0.1.1 | | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 1.0 | | |
-| | | | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-
-Introduction
-------------
-<INTRODUCTION TO THE SCOPE AND INTENTION OF THIS DOCUMENT AS WELL AS TO THE SYSTEM TO BE INSTALLED>
-
-<EXAMPLE>:
-
-This document describes the supported software and hardware configurations for the
-Fuel OPNFV reference platform as well as providing guidelines on how to install and
-configure such reference system.
-
-Although the available installation options gives a high degree of freedom in how the system is set-up,
-with what architecture, services and features, etc., not nearly all of those permutations provides
-a OPNFV compliant reference architecture. Following the guidelines in this document ensures
-a result that is OPNFV compliant.
-
-The audience of this document is assumed to have good knowledge in network and Unix/Linux administration.
-
-Preface
--------
-<DESCRIBE NEEDED PREREQUISITES, PLANNING, ETC.>
-
-<EXAMPLE>:
-
-Before starting the installation of Fuel@OPNFV, some planning must preceed.
-
-First of all, the Fuel@OPNFV .iso image needs to be retrieved,
-the Latest stable Arno release of Fuel@OPNFV can be found here: <www.opnfv.org/abc/def>
-
-Alternatively, you may build the .iso from source by cloning the opnfv/genesis git repository:
-<git clone https://<linux foundation uid>@gerrit.opnf.org/gerrit/genesis>
-Check-out the Arno release:
-<cd genesis; git checkout arno>
-Goto the fuel directory and build the .iso
-<cd fuel/build; make all>
-
-Familiarize yourself with the Fuel 6.0.1 version by reading the following documents:
-- abc <http://wiki.openstack.org/abc>
-- def <http://wiki.openstack.org/def>
-- ghi <http://wiki.openstack.org/ghi>
-
-Secondly, a number of deployment specific parameters must be collected, those are:
-
-1. Provider sub-net and gateway information
-
-2. Provider VLAN information
-
-3. Provider DNS addresses
-
-4. Provider NTP addresses
-
-This information will be needed for the configuration procedures provided in this document.
-
-Hardware requirements
----------------------
-<PROVIDE A LIST OF MINIMUM HARDWARE REQUIREMENTS NEEDED FOR THE INSTALL>
-
-<EXAMPLE>:
-
-Following minimum hardware requirements must be met for installation of Fuel@OPNFV:
-
-+--------------------+----------------------------------------------------+
-| **HW Aspect** | **Requirement** |
-| | |
-+--------------------+----------------------------------------------------+
-| **# of servers** | Minimum 5 (3 for non redundant deployment) |
-| | 1 Fuel deployment master (may be virtualized) |
-| | 3(1) Controllers |
-| | 1 Compute |
-+--------------------+----------------------------------------------------+
-| **CPU** | Minimum 1 socket x86_AMD64 Ivy bridge 1.6 GHz |
-| | |
-+--------------------+----------------------------------------------------+
-| **RAM** | Minimum 16GB/server (Depending on VNF work load) |
-| | |
-+--------------------+----------------------------------------------------+
-| **Disk** | Minimum 256GB 10kRPM spinning disks |
-| | |
-+--------------------+----------------------------------------------------+
-| **NICs** | 2(1)x10GE Niantec for Private/Public (Redundant) |
-| | |
-| | 2(1)x10GE Niantec for SAN (Redundant) |
-| | |
-| | 2(1)x1GE for admin (PXE) and control (RabitMQ,etc) |
-| | |
-+--------------------+----------------------------------------------------+
-
-Top of the rack (TOR) Configuration requirements
-------------------------------------------------
-<DESCRIBE NEEDED NETWORK TOPOLOGY SETUP IN THE TORs>
-
-<EXAMPLE>:
-
-The switching infrastructure provides connectivity for the OPNFV infra-structure operations as well as
-for the tenant networks (East/West) and provider connectivity (North/South bound connectivity).
-The switching connectivity can (but does not need to) be fully redundant,
-in case it and comprises a redundant 10GE switch pair for "Traffic/Payload/SAN" purposes as well as
-a 1GE switch pair for "infrastructure control-, management and administration"
-
-The switches are **not** automatically configured from the OPNFV reference platform.
-All the networks involved in the OPNFV infra-structure as well as the provider networks
-and the private tenant VLANs needs to be manually configured.
-
-This following sections guides through required black-box switch configurations.
-
-VLAN considerations and blue-print
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-IP Address plan considerations and blue-print
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-OPNFV Software installation and deployment
-------------------------------------------
-<DESCRIBE THE FULL PROCEDURES FOR THE INSTALLATION OF THE OPNFV COMPONENT INSTALLATION AND DEPLOYMENT>
-
-<EXAMPLE>:
-
-This section describes the installation of the Fuel@OPNFV installation server (Fuel master)
-as well as the deployment of the full OPNFV reference platform stack across a server cluster.
-Etc.
-
-Install Fuel master
-^^^^^^^^^^^^^^^^^^^
-
-Create an OPNV (Fuel Environment)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Configure the OPNFV environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Deploy the OPNFV environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Installation health-check
--------------------------
-<DESCRIBE ANY MEANS TO DO VERIFY THE INTEGRITY AND HEALTHYNESS OF THE INSTALL>
-
-<EXAMPLE>:
-
-Now that the OPNFV environment has been created, and before the post installation configurations is started,
-perform a system health check from the Fuel GUI:
-
-- Select the "Health check" TAB.
-- Select all test-cases
-- And click "Run tests"
-
-All test cases except the following should pass:
-
-Post installation and deployment actions
-----------------------------------------
-<DESCRIBE ANY POST INSTALLATION ACTIONS/CONFIGURATIONS NEEDED>
-
-<EXAMPLE>:
-After the OPNFV deployment is completed, the following manual changes needs to be performed in order
-for the system to work according OPNFV standards.
-
-**Change host OS password:**
-Change the Host OS password by......
-
-References
-----------
-<PROVIDE NEEDED/USEFUL REFERENCES>
-
-<EXAMPLES>:
-
-OPNFV
-^^^^^
-
-OpenStack
-^^^^^^^^^
-
-OpenDaylight
-^^^^^^^^^^^^
+The Gluon framework can be installed by means of the os-odl-gluon-noha scenario
+and the Apex installer. Please visit the Apex installer documentation for
+further details on how to install the os-odl-gluon-noha scenario in a virtual
+or a bare-metal environment.
diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst
index 337e770..4d491a1 100644
--- a/docs/release/release-notes/release-notes.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -5,229 +5,28 @@
OPNFV NetReady Release Notes
============================
-This document provides the release notes for <RELEASE> of <COMPONENT>.
+This document provides the release notes for the Danube release of the Gluon framework.
-.. contents::
- :depth: 3
- :local:
+Overview
+--------
-Version history
----------------
+This is the first release of the Gluon framework as part of OPNFV. Please
+review the `scenario description
+<../release_scenarios_os-odl-gluon-noha/index.html>`_ and `Gluon feature guide
+<../release_userguide/index.html>`_ for further details on the scenario, its
+usage, limitations and issues.
-+--------------------+--------------------+--------------------+--------------------+
-| **Date** | **Ver.** | **Author** | **Comment** |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| 2015-04-14 | 0.1.0 | Jonas Bjurel | First draft |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 0.1.1 | | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| | 1.0 | | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-Important notes
----------------
-
-<STATE IMPORTANT NOTES/DEVIATIONS SINCE PREVIOUS ITERATIVE RELEASE AND OTHER IMPORTANT NOTES FOR THIS RELEASE>
-
-<EXAMPLE>:
-
-**Attention:** Please be aware that since LSV3 a pre-deploy script must be ran on the Fuel master -
-see the OPNFV@Fuel SW installation instructions
-
-Summary
--------
-
-<SUMMARIZE THE RELEASE - THE CONTENT - AND OTHER IMPORTANT HIGH LEVEL PROPERTIES>
-
-<EXAMPLE>:
-
-Arno Fuel@OPNFV is based the OpenStack Fuel upstream project version 6.0.1,
-but adds OPNFV unique components such as OpenDaylight version: Helium as well as other OPNFV unique configurations......
-
-Release Data
-------------
-<STATE RELEVANT RELEASE DATA/RECORDS>
-
-<EXAMPLE>:
-
-+--------------------------------------+--------------------------------------+
-| **Project** | E.g. Arno/genesis/fuel@opnfv |
-| | |
-+--------------------------------------+--------------------------------------+
-| **Repo/commit-ID** | E.g. genesis/adf634a0d4..... |
-| | |
-+--------------------------------------+--------------------------------------+
-| **Release designation** | E.g. Arno RC2 |
-| | |
-+--------------------------------------+--------------------------------------+
-| **Release date** | E.g. 2015-04-16 |
-| | |
-+--------------------------------------+--------------------------------------+
-| **Purpose of the delivery** | E.g. OPNFV Internal quality assurance|
-| | |
-+--------------------------------------+--------------------------------------+
-
-Version change
-^^^^^^^^^^^^^^
-
-Module version changes
-~~~~~~~~~~~~~~~~~~~~~~
-<STATE WHAT UPSTREAM, - AS WELL AS OPNFV MODULE VERSIONS HAVE CHANGED>
-
-<EXAMPLE>:
-
-- Fuel have changed from 5.1 to 6.0.1
-
-- OpenDaylight has changed from Helium-SR1 to Helium-SR2
-
-Document version changes
-~~~~~~~~~~~~~~~~~~~~~~~~
-<STATE WHAT RELATED DOCUMENTS THAT CHANGES WITH THIS RELEASE>
-
-<EXAMPLE>:
-
-- The Fuel@OPNFV installation guide version has changed from version 0.1 to to 0.2
-
-Reason for version
-^^^^^^^^^^^^^^^^^^
-Feature additions
-~~~~~~~~~~~~~~~~~
-<STATE ADDED FEATURES BY REFERENCE TO JIRA>
-
-<EXAMPLE>:
-
-**JIRA BACK-LOG:**
-
-+--------------------------------------+--------------------------------------+
-| **JIRA REFERENCE** | **SLOGAN** |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-123 | ADD OpenDaylight ml2 integration |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-456 | Add auto-deployment of Fuel@OPNFV |
-| | |
-+--------------------------------------+--------------------------------------+
-
-Bug corrections
-~~~~~~~~~~~~~~~
-
-**JIRA TICKETS:**
-
-+--------------------------------------+--------------------------------------+
-| **JIRA REFERENCE** | **SLOGAN** |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-888 | Fuel doesn't deploy |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-999 | Floating IP doesn't work |
-| | |
-+--------------------------------------+--------------------------------------+
-
-Deliverables
+Test results
------------
-Software deliverables
-^^^^^^^^^^^^^^^^^^^^^
-
-<STATE WHAT SOFTWARE DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
-
-<EXAMPLE>:
-
-Documentation deliverables
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-<STATE WHAT DOCUMENTATION DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
-
-<EXAMPLE>:
-
-Known Limitations, Issues and Workarounds
------------------------------------------
-
-System Limitations
-^^^^^^^^^^^^^^^^^^
-<STATE ALL RELEVANT SYSTEM LIMITATIONS>
-
-<EXAMPLE>:
-
-**Max number of blades:** 1 Fuel master, 3 Controllers, 20 Compute blades
-
-**Min number of blades:** 1 Fuel master, 1 Controller, 1 Compute blade
-
-**Storage:** Ceph is the only supported storage configuration.
-
-**Max number of networks:** 3800 (Needs special switch config.)
-
-**L3Agent:** L3 agent and floating IPs is not supported.
-
-Known issues
-^^^^^^^^^^^^
-<STATE ALL KNOWN ISSUES WITH JIRA REFERENCE>
-
-<EXAMPLE>:
-
-**JIRA TICKETS:**
-
-+--------------------------------------+--------------------------------------+
-| **JIRA REFERENCE** | **SLOGAN** |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-987 | Nova-compute process does |
-| | not re-spawn when killed |
-| | |
-+--------------------------------------+--------------------------------------+
-| BGS-654 | MOS 5.1 : neutron net-list returns |
-| | "400 Bad request" |
-| | |
-+--------------------------------------+--------------------------------------+
-
-Workarounds
-^^^^^^^^^^^
-
-<STATE ALL KNOWN WORKAROUNDS TO THE ISSUES STATED ABOVE>
-
-<EXAMPLE>:
-
-- In case the contact with a compute is lost - restart the compute host
-- In case the disk is full on a controller - delete all files in /tmp
-
-Test Result
------------
-<STATE THE QA COVERAGE AND RESULTS>
-
-<EXAMPLE>:
-
-Fuel@OPNFV Arno RC2 has undergone QA test runs with the following results:
-
-+--------------------------------------+--------------------------------------+
-| **TEST-SUITE** | **Results:** |
-| | |
-+--------------------------------------+--------------------------------------+
-| Tempest test suite 123 | Following tests failed: |
-| | |
-| | 1. Image resizing.... |
-| | |
-| | 2. Heat deploy.... |
-+--------------------------------------+--------------------------------------+
-| Robot test suite 456 | Following tests failed: |
-| | |
-| | 1....... |
-| | |
-| | 2....... |
-+--------------------------------------+--------------------------------------+
-
-References
-----------
-<STATE RELEVANT REFERENCES FOR THIS RELEASE/VERSION>
-
-<EXAMPLE>:
-
-For more information on the OPNFV Danube release, please see:
-
-http://opnfv.org/danube
+The functionality provided by Gluon is verified by means of a Gluon-specific
+test case which is run against the os-odl-gluon-noha scenario. A detailed
+description of the test case can be found at the `scenario description
+<../release_scenarios_os-odl-gluon-noha/index.html>`_. Moreover, all generic
+OPNFV test suites are executed towards this scenario. An overview of all test
+suites and their results can be obtained from the `OPNFV test result dashboard
+<http://testresults.opnfv.org/reporting/functest/release/danube/index-status-apex.html>`_.
+All test suites passed multiple consecutive runs as part of the OPNFV release
+verification testing.
diff --git a/docs/release/scenarios/os-odl-gluon-noha/scenario.description.rst b/docs/release/scenarios/os-odl-gluon-noha/scenario.description.rst
index 765cf8e..c73fa36 100644
--- a/docs/release/scenarios/os-odl-gluon-noha/scenario.description.rst
+++ b/docs/release/scenarios/os-odl-gluon-noha/scenario.description.rst
@@ -81,6 +81,27 @@ for configuring the L3VPN service Proton is as follows:
More detailed information can be found in the `Gluon feature guide <../release_userguide/index.html>`_.
+Scenario-specific test cases
+----------------------------
+
+A Gluon-specific test case is run against this scenario to verify the
+functionality provided by Gluon. This section briefly describes the test case.
+
+The test case verifies that Gluon can be used to provision a L3VPN which
+provides layer 3 connectivity between two virtual machines connected to two
+different networks. Specifically, the test case performs the following steps:
+
+ i) create two Gluon ports
+ ii) create a L3VPN
+ iii) create service bindings between the Gluon ports and the L3VPN
+ iv) boot two VMs - each using one of the previously created ports
+ v) send a single ping (ICMP) packet from VM1 to VM2 and vice versa
+ vi) verify that both pings succeeded
+
+All calls to the REST API of the L3VPN Proton are done by means of the
+protonclient command line tool.
+
+
Limitations, Issues and Workarounds
-----------------------------------
.. Explain scenario limitations here, this should be at a design level rather than discussing