Skip to content

Commit

Permalink
parent 5f6faf5
Browse files Browse the repository at this point in the history
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298239 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298238 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298237 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298236 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298235 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298235 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298231 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298229 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298229 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298228 -0400

parent 5f6faf5
author Dan <42590607+slinksoft@users.noreply.github.com> 1595650542 -0400
committer slinksoft <slinkpro@gmail.com> 1603298203 -0400

Move json.loads call for vlan_pool from controller.py to config.py

Deleted vs folder ignore, will make separate PR for that

Deleted visual studio folder in .gitignore. I will make a separate PR for that later.

Move json.loads() call to _parse_options

remove old json.loads call, which was commented out in last commit

fixing strange error causing test_switch to fail

removed unnecessary try-except in attempt to fix tests

Test if UNI has tag in as_dict.

As tag is optional in UNI, the method as_dict has to consider the case
where it is None. Now, the key 'user_tag' in the dict is created only
if user_tag attribute exists. Fix kytos#1079.

Consider 'other' can be None in __eq__.

    When testing equality of TAG, consider the case when the 'other' tag is None.

Always return 'tag' key in UNI's as_dict.

The last modification made UNI's as_dict return a dict with
a 'tag' key only if the tag exists. Now, if tag does not exist,
return the key with value None.

Instantiate tag_type when creating a TAG.

Enum TAGType was not being initialized, so any value passed was accepted.
Now only values in TAGType enum are valid.

Add Visual Studio folder to .gitignore (kytos#1105)

Update six version (1.14 -> 1.15)

Remove outdated links and update date

Today, some links and project years on the documentation are outdated,
this commit resolves that.

Co-authored-by: Gleyberson Andrade <gleybersonandrade@gmail.com>

Version bump to 2020.1

Update setup.py to use native setuptools install

Today, the kytos installation with 'eggs' is broken. This commit comments the InstallMode class, so now we will use the native setuptools install.

Correct typos in kytos-ui-parts.pnd and add svg file to allow edition.

Change speed property checks

According openflow protocol >= 1.3 spec, "If none of the port speed flags are set, the max_speed or curr_speed are used". So, this commit changes the order of speed checks, checking features_speed before custom_speed.

Improve unit tests coverage from 55% to 93% (kytos#1082)

Add instruction for opening issues with traffic files in Dev Guide (kytos#1109)

Update "Submitting an Issue" section on DevGuide, adding a bullet to instruct users to attach traffic files, if they do not contain sensitive information.

Co-authored-by: josemauro <z.mauro@live.com>

Update CHANGELOG.rst (kytos#1115)

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Fix auth URLs on documentation (kytos#1132)

Fix interface tests (kytos#1138)

Today, some interface tests are broken, due to a modification on speed order checks. Besides that, when tests fail on Travis, it does not have errors. This commit fixes these problems.

Co-Authored-By: Carlos Magno <cmagnobarbosa@gmail.com>

revert code back

set default vlan_pool, remove comment, replace with call to load vlan_pool from options

cast vlan_pool to dict type

remove cast, made no difference

refactor test_switch unit test

remove unnecessary backslash

update vlan_pool_json name to vlan_pool

remove unnecessary try-except block

Update kytos/core/config.py

python3.6 -> python3 on Makefile

Relative to kytos#1148

Make dev.txt come from run.txt

dev requirements were not including packages listed in run.in, like
ipython.
Using `run.txt` to avoid requiring different versions between run/dev.

Add Blueprints section to the "How to Contribute" guide (kytos#1137)

Add a new Blueprints section on the development guide, and some
update some contact links.

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>
Co-authored-by: Gleyberson Andrade <gleybersonandrade@gmail.com>

Update APIServer to use Flask blueprints

Today, an exception is raised when two or more endpoints are registered with the same name. This commit changes the APIServer class to use Flask blueprints when the napps endpoints are created.

Use newest pip dependency resolver for tests

Update CHANGELOG.rst (kytos#1156)

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Version bump to 2020.2b1

Create KytosLinkCreationError exception

Today, when a Link has an empty endpoint, a generic ValueError is generated. This commit changes it, now an exception called KytosLinkCreationError is thrown when this problem occurs.

Use keys with multiple letters in mock link metadata (kytos#1163)

Fix kytos#1162

Add Kytos UI Components section to Dev Guide

Add Kytos UI Components section to dev guide, moved from kytos/ui repo.

Original authors:

Co-authored-by: Beraldo Leal <beraldo@ncc.unesp.br>
Co-authored-by: Macartur Sousa <macartur.sc@gmail.com>
Co-authored-by: Luan Gonçalves <luanlg.cco@gmail.com>

Move section "Creating a NApp with UI" to the Web-UI documentation (kytos#1167)

Add section teaching how to create a NApp with UI
on the web UI documentation. In addition, the NApp UI related section
in the `creating_a_napp.rst` file has been moved to the Web-UI documentation.

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Create config field in Interface (kytos#1142)

This commit creates a new 'config' field on Interface class. This field can assume one of the following values from Port or PhyPort classes:

OFPPC_PORT_DOWN: Port is administratively down
OFPPC_NO_RECV: Drop all packets received by port
OFPPC_NO_FWD: Drop packets forwarded to port
OFPPC_NO_PACKET_IN: Do not send packet-in messages for port.

Use standard RST headers on all blueprints (kytos#1147)

Minimal headers include: title, number and status fields.

Build docs with python3 instead of 3.6 (kytos#1169)

Handle URLError when it's not possible to fetch the web UI from github (kytos#1146)

Create a template blueprint - EP000 (kytos#1129)

Co-authored-by: Gleyberson Andrade <gleybersonandrade@gmail.com>
Co-authored-by: Rogerio Motitsuki <rogerio.motitsuki@gmail.com>
Co-authored-by: Antonio Francisco <antonio@ansp.br>
Co-authored-by: Carlos Magno <cmagnobarbosa@gmail.com>
Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Update EP000.rst

Added Beraldo to the list of reviewers

Add of_lldp's new REST Endpoints (kytos#1164)

Remove hard-coded python3.6 references

Let Scrutinizer choose a Python 3.6.X version

Text review hacking.rst

Remove reference for Python 3.6 as a "most recent version".

Update README.rst

Use the more user-friendly `apt` instead of `sudo apt-get`.

Update EP012.rst

Fix EP number on header to follow standard

Use friendlier `apt` command instead of `apt-get`

Add pydocstyle to dev.txt

Fix linter error (pydocstyle)

Remove the use of distutils in 'setup.py'

Update tox.ini

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Consider 'other' can be None in __eq__.

    When testing equality of TAG, consider the case when the 'other' tag is None.

Always return 'tag' key in UNI's as_dict.

The last modification made UNI's as_dict return a dict with
a 'tag' key only if the tag exists. Now, if tag does not exist,
return the key with value None.

Instantiate tag_type when creating a TAG.

Enum TAGType was not being initialized, so any value passed was accepted.
Now only values in TAGType enum are valid.

Add Visual Studio folder to .gitignore (kytos#1105)

Remove outdated links and update date

Today, some links and project years on the documentation are outdated,
this commit resolves that.

Co-authored-by: Gleyberson Andrade <gleybersonandrade@gmail.com>

Update setup.py to use native setuptools install

Today, the kytos installation with 'eggs' is broken. This commit comments the InstallMode class, so now we will use the native setuptools install.

Correct typos in kytos-ui-parts.pnd and add svg file to allow edition.

Change speed property checks

According openflow protocol >= 1.3 spec, "If none of the port speed flags are set, the max_speed or curr_speed are used". So, this commit changes the order of speed checks, checking features_speed before custom_speed.

Fix auth URLs on documentation (kytos#1132)

Fix interface tests (kytos#1138)

Today, some interface tests are broken, due to a modification on speed order checks. Besides that, when tests fail on Travis, it does not have errors. This commit fixes these problems.

Co-Authored-By: Carlos Magno <cmagnobarbosa@gmail.com>

update vlan_pool_json name to vlan_pool

remove unnecessary try-except block

Update kytos/core/config.py

python3.6 -> python3 on Makefile

Relative to kytos#1148

Add Blueprints section to the "How to Contribute" guide (kytos#1137)

Add a new Blueprints section on the development guide, and some
update some contact links.

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>
Co-authored-by: Gleyberson Andrade <gleybersonandrade@gmail.com>

Update APIServer to use Flask blueprints

Today, an exception is raised when two or more endpoints are registered with the same name. This commit changes the APIServer class to use Flask blueprints when the napps endpoints are created.

Use newest pip dependency resolver for tests

Update CHANGELOG.rst (kytos#1156)

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Version bump to 2020.2b1

Create KytosLinkCreationError exception

Today, when a Link has an empty endpoint, a generic ValueError is generated. This commit changes it, now an exception called KytosLinkCreationError is thrown when this problem occurs.

Use keys with multiple letters in mock link metadata (kytos#1163)

Fix kytos#1162

Move section "Creating a NApp with UI" to the Web-UI documentation (kytos#1167)

Add section teaching how to create a NApp with UI
on the web UI documentation. In addition, the NApp UI related section
in the `creating_a_napp.rst` file has been moved to the Web-UI documentation.

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>

Create config field in Interface (kytos#1142)

This commit creates a new 'config' field on Interface class. This field can assume one of the following values from Port or PhyPort classes:

OFPPC_PORT_DOWN: Port is administratively down
OFPPC_NO_RECV: Drop all packets received by port
OFPPC_NO_FWD: Drop packets forwarded to port
OFPPC_NO_PACKET_IN: Do not send packet-in messages for port.

Build docs with python3 instead of 3.6 (kytos#1169)

Handle URLError when it's not possible to fetch the web UI from github (kytos#1146)

Update EP000.rst

Added Beraldo to the list of reviewers

Add of_lldp's new REST Endpoints (kytos#1164)

Let Scrutinizer choose a Python 3.6.X version

Text review hacking.rst

Remove reference for Python 3.6 as a "most recent version".

Update README.rst

Use the more user-friendly `apt` instead of `sudo apt-get`.

Update EP012.rst

Fix EP number on header to follow standard

Use friendlier `apt` command instead of `apt-get`

Add pydocstyle to dev.txt

Fix linter error (pydocstyle)

Update tox.ini

Co-authored-by: Humberto Diógenes <hdiogenes@gmail.com>
  • Loading branch information
slinksoft and hdiogenes committed Oct 21, 2020
1 parent 5f6faf5 commit 4022048
Show file tree
Hide file tree
Showing 93 changed files with 4,599 additions and 441 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Expand Up @@ -110,5 +110,5 @@ kytos/web-ui/index.html
etc/kytos/kytos.conf
etc/kytos/logging.ini

# ignore Visual Studio folders
*.vs/
# Visual Studio
.vs/
2 changes: 1 addition & 1 deletion .scrutinizer.yml
Expand Up @@ -8,7 +8,7 @@ filter:
- 'kytos/web-ui/*'
build:
environment:
python: 3.6.3
python: 3.6
postgresql: false
redis: false
dependencies:
Expand Down
7 changes: 5 additions & 2 deletions .travis.yml
Expand Up @@ -2,6 +2,9 @@ language: python
python:
- "3.6"
install:
- pip install tox
- pip install pip==20.2.2
- pip install --use-feature=2020-resolver -r requirements/dev.txt
script:
- tox
- python setup.py lint
- python setup.py coverage
- python setup.py doctest
47 changes: 47 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -27,6 +27,53 @@ Changed
=======


[2020.2b1] - "itamar" beta1 - 2020-09-08
****************************************
Added
=====
- Added Blueprints section to the "How to Contribute" guide.

Fixed
=====
- Fixed bug when two NApps had methods with the same name
decorated with the ``@rest`` decorator.
- Fixed authentication URLs in documentation.
- Fixed interface tests.

Changed
=======
- Changed ``dev`` requirements to install ``run`` requirements.
- Changed Makefile to use ``python3`` instead of ``python3.6``.
- Updated ``.travis.yml`` to use newest pip dependency resolver for tests.
- Changed ``setup.py`` to alert when a test fails on Travis.


[2020.1] - "helena" stable - 2020-08-07
***************************************
Added
=====
- Improve unit tests coverage from 55% to 93%.
- Added new method to handle HTTPException - now it returns a JSON
with an error code.
- Added tags decorator to run tests by type and size.
- Added instruction for opening issues with traffic files in Dev Guide.
- Added Pull Request Guidelines to the Developer Guide.

Fixed
=====
- Fixed duplicated endpoint error in available_vlans method.
- Fixed error when creating an EVC without a Tag.
- Fixed packaging error by changing the ``six`` version.

Changed
=======
- Updated setup.py to use native setuptools install.
- Make speed property checks compliant with OF1.3 spec.
- Updated controller mock method to accept loop parameter.
- Changed API server status HTTP code to 200.
- Updated documentation images, dates and links.


[2020.1rc1] - "helena" release candidate 1 - 2020-06-17
*******************************************************

Expand Down
8 changes: 5 additions & 3 deletions Makefile
@@ -1,12 +1,14 @@
build: clean prepare
python3.6 setup.py sdist bdist_wheel
python3 setup.py sdist bdist_wheel
ls -l dist/

clean:
rm -rf build/ dist/ *.egg-info/ kytos/web-ui-*
rm -vrf build/ dist/ *.egg-info/ kytos/web-ui-*
find . -name __pycache__ -type d | xargs rm -rf
test -d docs && make -C docs/ clean

prepare:
pip3.6 install --upgrade pip setuptools wheel twine
pip3 install --upgrade pip setuptools wheel twine

testupload: build
twine upload -r pypitest dist/*
Expand Down
7 changes: 4 additions & 3 deletions README.rst
Expand Up @@ -38,11 +38,12 @@ Just install docker from your package provider and run:
Installing
==========

We use Python 3.6, so you'll have to install it into your environment beforehand:
If you don't have Python 3 installed, please install it. Please make
sure that you're using ``python3.6`` or a later version:

.. code-block:: shell
$ apt-get install python3.6
$ apt install python3
Then, the first step is to clone *kytos* repository:

Expand All @@ -56,7 +57,7 @@ install procedure:
.. code-block:: shell
$ cd kytos
$ sudo python3.6 setup.py install
$ sudo python3 setup.py install
Configuring
===========
Expand Down
2 changes: 1 addition & 1 deletion bin/kytosd
@@ -1,4 +1,4 @@
#!/usr/bin/env python3.6
#!/usr/bin/env python3
"""Start Kytos SDN Platform core."""

from kytos.core import kytosd
Expand Down
2 changes: 1 addition & 1 deletion docs/Makefile
Expand Up @@ -21,7 +21,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
ifeq (${PYTHON}, )
override PYTHON = python3.6
override PYTHON = python3
endif

default:
Expand Down
4 changes: 2 additions & 2 deletions docs/README.rst
Expand Up @@ -5,7 +5,7 @@ Kytos Documentation
Requirements
============

To install the docs requirements you must have Python 3.6 and NodeJS
To install the docs requirements you must have Python 3 and NodeJS
9.5.0. After that, install the requirements to build the docs using the
command below.

Expand All @@ -32,4 +32,4 @@ access the browser using the address http://localhost:8000 .

.. code-block:: sh
python3.6 -m http.server
python3 -m http.server
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/components/input/k-button.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/components/input/k-input.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/components/input/k-select.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/components/input/k-slider.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions docs/_templates/layout.html
Expand Up @@ -51,13 +51,13 @@
<div id="social-kytos">
<div class="row docs-social">
<ul class="icon col-md-12">
<li class="col-md-4 center">
<li class="col-md-6 center">
<i class="fa fa-comments"></i> <a href="irc://irc.freenode.net/#kytos-dev">Kytos @ freenode</a>
</li>
<li class="col-md-4 center">
<!-- <li class="col-md-4 center">
<i class="fa fa-envelope"></i> <a href="https://lists.kytos.io/">lists.kytos.io</a>
</li>
<li class="col-md-4 center">
</li> -->
<li class="col-md-6 center">
<i class="fa icon-slack"></i> <a href="https://join.slack.com/t/kytos/shared_invite/enQtMjk0MTM0NjQwOTE1LTkzODE2YTQ3NTQ0MGRlYzcyNTZjYjQ4Yjc2NmI5NWZmNmMxNjNiOTVkOTE0YTQwN2Q2NjZjNDkwODM5OWRjNGY">Kytos @ Channel</a>
</li>
</ul>
Expand All @@ -66,7 +66,7 @@
<div class="text-center">
<hr>
<p>
© 2016 - 2018 Kytos is an Open Source software under MIT license.<br>
© 2016 - 2020 Kytos is an Open Source software under MIT license.<br>
</p>
</div>
</div>
Expand Down
11 changes: 6 additions & 5 deletions docs/admin/installing.rst
Expand Up @@ -5,8 +5,8 @@ Installing
Installing required dependencies
================================

We use Python 3.6, so in order to use this software please install it
into your environment beforehand. Note that an additional step is
Kytos requires at least Python 3.6, so in order to use this software please
install it into your environment beforehand. Note that an additional step is
needed for Ubuntu releases older than 16.10.


Expand All @@ -20,15 +20,16 @@ install Python 3.6 packages. To add this PPA, use the commands:
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install python-pip python3.6
Required packages
=================

The required Ubuntu packages can be installed by:
The required Debian/Ubuntu packages can be installed by:

.. code-block:: bash
$ sudo apt install python-pip python3.6
$ sudo apt install python3-pip python3
Installing with pip
===================
Expand All @@ -38,7 +39,7 @@ previous steps, then:

.. code-block:: bash
$ pip install kytos kytos-utils
$ pip3 install kytos kytos-utils
This will install the Kytos server and client, and also their dependencies,
like the python-openflow library.
Expand Down
157 changes: 157 additions & 0 deletions docs/blueprints/EP000.rst
@@ -0,0 +1,157 @@
:EP: 0
:Title: Enhancement Proposals
:Authors:
- José Mauro Ribeiro <zemauror@gmail.com>
:Reviewers:
- Antonio Francisco <ajoaoff@gmail.com>
- Beraldo Leal <beraldo@gmail.com>
- Carlos Magno <cmagnobarbosa@gmail.com>
- Gleyberson Andrade <gleybersonandrade@gmail.com>
- Humberto Diógenes <hdiogenes@gmail.com>
- Rogério Motitsuki <rogerio@ansp.br>
:Created: 2020-05-14
:Kytos-Version: 2020.1
:Status: Draft
:Type: Standards Track


########
Abstract
########
This blueprint is proposed to clarify what blueprints are, their purpose, list the types of blueprints, explain which sections should be included in a blueprint, the information that should be included in each topic and the workflow involving a blueprint proposal. Therefore, this blueprint is intended to work as a meta blueprint.

##########
Motivation
##########

The Kytos Project uses the word 'blueprint' to refer to a specific type of document that plays a very important role in the development process. Anyone who is not familiar with the concept should be able to understand and start a draft blueprint using the EP0 (blueprint 0).
A blueprint is a document used to specify the details of any process, features and anything else that is desirable to be implemented in Kytos Project and cannot be reduced to a GitHub issue or a meeting to be outlined, although a blueprint could start as an issue and become a blueprint after some discussion.
This blueprint is intended to help anyone who wants to start a new blueprint. Besides that, the standard proposed here could save time for the author of a blueprint who doesn't have to think about the structure of the project and avoid that different authors write blueprints in a very different way. Separate blueprints with common sections between them could help even the readers who are familiar with the structure once they could search for specific sections in it.

#########
Rationale
#########
This meta blueprint is intended to make the contributor's workflow more clear about how to write a new blueprint.

#############
Specification
#############

Workflow
**************
Every blueprint should follow the steps below in order to be finished:

Outline the subject
===================
The process for writing a blueprint should begin by describing a new idea, a specification to something that has been defined to be implemented. It is recommended that a single blueprint contain a single proposal. The more focused the blueprint, the more successful it tends to be. The Kytos team have the right to reject or approve any proposal. If in doubt, create an issue in the Kytos Project on Github and add a comment asking if the issue could be a blueprint.

Submitting a blueprint
======================
After creating a first blueprint by adding every necessary section (check the sections under "Sections that a blueprint should have") you are encouraged to create a pull request in Kytos repository attending the following criteria:

- The status of the blueprint should be "draft";
- The file containing the proposal must follow the naming convention "EP[number].rst", where [number] is a sequential number, e.g. "EP001.rst";

- The file must contain a header following the template available in Blueprint Header section;

- The file must be written in restructured text (RST) format like the other blueprints (as you can see at 'kytos/docs/blueprints').


Blueprint review
================
In the following days after you submit your pull request, the Kytos team will review the document adding comments and suggestions. So the author of the pull request must pay attention to the Kytos team feedback to make the review a quick process.


Sections that a blueprint should have
*************************************

Header
======
Every blueprint proposal should use this template to build their own header:

:EP: <\*EP number>
:Title: <EP title>
:Authors: <list of authors' names and email addrs>
:Reviewers: <list of reviewers' names and email addrs>
:Created: <date created on, in yyyy-mm-dd format>
:Kytos-Version: <kytos version, in yyyy.v>
:Status: <Draft | Accepted | Rejected | Final | Superseded>
:Type: <Standards Track | Informational | Process>
:\**Replaces: <EP number>

\*EP number: should be fixed by Kytos team after the author submit the PR.

\**Optional field.


Abstract
========
A short (~200 word) description of the technical issue being addressed.

Motivation
==========
It should clearly explain why the blueprint is being proposed describing any technical issue that is intended to be covered by the proposal.

Rationale
=========
The rationale fleshes out the specification by describing why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other environments or scenarios.

Specification
=============
The technical specification should describe the aspects of what is being proposed.

Backwards Compatibility
=======================
All EPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The EP must explain how the author proposes to deal with these incompatibilities.

Security Implications
=====================
If there are security concerns in relation to the EP, those concerns should be explicitly written out to make sure reviewers of the EP are aware of them.

Rejected Ideas
==============
Throughout the discussion of an EP, various proposed ideas end up not being accepted. Those rejected ideas should be recorded along with the reasoning as to why they were rejected. This both helps record the thought process behind the final version of the EP as well as preventing people from bringing up the same rejected ideas again in subsequent discussions.

References
==========
References -- A collection of URLs used as references through the EP.

Copyright/license
=================

Types of blueprints
*******************

Standard: Describes a new feature and its implementation.

Process: Guidelines or information for the community and developers, but does not propose a new feature.

Epic: Describes a problem and its solution.

#######################
Backwards Compatibility
#######################
At the moment that this blueprint is being proposed Kytos Project have the total of 21 blueprints created. The standard proposed in EP0 should be followed by any new blueprint proposed after the blueprint 21, and is established here that the update of the previous blueprints are not mandatory.

#####################
Security Implications
#####################
Not applicable here

##############
Rejected Ideas
##############
Not applicable here

##########
References
##########

[1] https://www.python.org/dev/peps/pep-0001/#pep-audience

#########
Copyright
#########

This document is placed in the public domain or under the
CC0-1.0-Universal license, whichever is more permissive.
11 changes: 11 additions & 0 deletions docs/blueprints/EP001.rst
@@ -1,3 +1,14 @@
:EP: 1
:Title: Kytos testing pipeline and definitions
:Authors:
- Renan Rodrigo Renan Rodrigo <renanrb@ime.usp.br>
- Macártur de Sousa Carvalho <macartur.sc@gmail.com>
- Erick Vermot <erick.vermot@gmail.com>
:Created: 2017-03-31
:Kytos-Version: 2017.1
:Status: Accepted
:Type: Informational

########################
Enhancement Proposal 001
########################
Expand Down

0 comments on commit 4022048

Please sign in to comment.