Difference between revisions of "NFV SpecFest Wiki"
(Created page with "== Contribute a OAS spec at ETSI Forge! == Create the OAS spec for SOL 002 in a collaborative way. __TOC__ === Set up === # Log in at forge.etsi.org # Go to https://forge.e...") |
|||
Line 1: | Line 1: | ||
− | == Contribute | + | == Contribute an OAS spec at ETSI Forge! == |
− | + | Welcome to the Wiki page for the NFV SpecFest event. | |
+ | |||
+ | What does '''SpecFest''' mean? Nobody knows! But it deals with the creation and manipulation of specifications. Today we offer you the opportunity to participate in the first collaborative OpenAPI specification on the ETSI Forge. | ||
+ | |||
+ | We will focus our attention on [https://link_to_be_done.com ETSI NFV GS SOL 002]. Each participant to the SpecFest will create a bit of machine readable description of the textual spec and, as a result, the entire group specification will be described in the OpenAPI description language. | ||
+ | |||
+ | What you need: | ||
+ | |||
+ | * A laptop (any operating system supported) | ||
+ | * A copy (paper or PDF) of NFV SOL 002 specification | ||
+ | * This wiki page. | ||
+ | |||
+ | Let's get started! | ||
__TOC__ | __TOC__ | ||
− | + | == Set up == | |
− | # Log in at forge.etsi.org | + | |
− | # | + | # Log in at [https://forge.etsi.org/index.php/users/login ETSI Forge] inserting your EOL acconts |
− | + | # If you do not have an account yet, simply register [https://forge.etsi.org/index.php/register here] | |
− | # | + | |
− | # Open the given spreadsheet and tag one operation with your name | + | == Starter Kit == |
− | # The operation will then be assigned to you to be edited | + | |
+ | To help you starting up the activity we provided: | ||
+ | * A dedicated repository at the Forge, with the folder structure, a template of specification and some examples. Click [https://forge.etsi.org/rep/gitweb.cgi/nfv-specfest.git here] to visit the repository. | ||
+ | * A [https://docs.google.com/spreadsheets/d/1plZ_KL1EZXRTTdcN4xZAcFFd7Ga4j66PsDI9oXki2ok/edit?usp=sharing live spreadsheet] to keep track of "who is doing what" | ||
+ | |||
+ | In the repository interface, click ''Snapshot'' in the menu at the top of the page to download an archive with the files. Otherwise click on tree to inspect the content. In the ''tree'' you will find the necessary folders and a template file called `sol002-template.yaml`. | ||
+ | |||
+ | The content of the template is as simple as: | ||
+ | |||
+ | <pre> | ||
+ | swagger: '2.0' | ||
+ | info: | ||
+ | title: NFV SOL 002 Example - SpecFest! | ||
+ | version: v1 | ||
+ | host: www.example.com | ||
+ | basePath: /ve-vnfm | ||
+ | paths: | ||
+ | # insert your paths or their json ref here | ||
+ | definitions: | ||
+ | # Insert your definitions or their json ref here | ||
+ | </pre> | ||
+ | |||
+ | Open the given spreadsheet and tag one operation with your name | ||
+ | # The operation will then be assigned to you to be edited | ||
+ | |||
− | + | == Editing == | |
− | + | === With offline editor === | |
# Install a Rich Editor locally (e.g. VS Code) | # Install a Rich Editor locally (e.g. VS Code) | ||
Line 21: | Line 57: | ||
# Install the Swagger Viewer Plugin | # Install the Swagger Viewer Plugin | ||
− | + | === With online editor === | |
# Navigate to SOL002 OAS template. (Google Chrome recommended) | # Navigate to SOL002 OAS template. (Google Chrome recommended) | ||
# After editing, click File and then “Download YAML” | # After editing, click File and then “Download YAML” | ||
− | + | == Writing the definition == | |
Edit the OpenApi specification: | Edit the OpenApi specification: | ||
Line 36: | Line 72: | ||
# Configure the files so that the CI/CD validates the result | # Configure the files so that the CI/CD validates the result | ||
− | + | === Online via Gerrit (Beginners)=== | |
* Upload the contribution via Gerrit ‘Create Change’ button | * Upload the contribution via Gerrit ‘Create Change’ button | ||
Line 42: | Line 78: | ||
* Paste the created files | * Paste the created files | ||
− | + | === With Git (Advanced) === | |
# Log in on forge.etsi.org, set up gerrit configuration | # Log in on forge.etsi.org, set up gerrit configuration | ||
Line 48: | Line 84: | ||
# Upload the contribution | # Upload the contribution | ||
− | + | == Verify == | |
# Check Jenkins result on Gerrit and on Jenkins Job | # Check Jenkins result on Gerrit and on Jenkins Job | ||
Line 54: | Line 90: | ||
# Wait for CTI to merge your contribution | # Wait for CTI to merge your contribution | ||
− | + | == Iterate! == | |
All accomplished? Then it may be time to select a new part of the specification and create the OpenAPI version again! | All accomplished? Then it may be time to select a new part of the specification and create the OpenAPI version again! |
Revision as of 15:17, 20 July 2017
Contribute an OAS spec at ETSI Forge!
Welcome to the Wiki page for the NFV SpecFest event.
What does SpecFest mean? Nobody knows! But it deals with the creation and manipulation of specifications. Today we offer you the opportunity to participate in the first collaborative OpenAPI specification on the ETSI Forge.
We will focus our attention on ETSI NFV GS SOL 002. Each participant to the SpecFest will create a bit of machine readable description of the textual spec and, as a result, the entire group specification will be described in the OpenAPI description language.
What you need:
- A laptop (any operating system supported)
- A copy (paper or PDF) of NFV SOL 002 specification
- This wiki page.
Let's get started!
Contents
Set up
- Log in at ETSI Forge inserting your EOL acconts
- If you do not have an account yet, simply register here
Starter Kit
To help you starting up the activity we provided:
- A dedicated repository at the Forge, with the folder structure, a template of specification and some examples. Click here to visit the repository.
- A live spreadsheet to keep track of "who is doing what"
In the repository interface, click Snapshot in the menu at the top of the page to download an archive with the files. Otherwise click on tree to inspect the content. In the tree you will find the necessary folders and a template file called `sol002-template.yaml`.
The content of the template is as simple as:
swagger: '2.0' info: title: NFV SOL 002 Example - SpecFest! version: v1 host: www.example.com basePath: /ve-vnfm paths: # insert your paths or their json ref here definitions: # Insert your definitions or their json ref here
Open the given spreadsheet and tag one operation with your name
- The operation will then be assigned to you to be edited
Editing
With offline editor
- Install a Rich Editor locally (e.g. VS Code)
- Navigate to https://code.visualstudio.com/ and download it for your platform
- Install the Swagger Viewer Plugin
With online editor
- Navigate to SOL002 OAS template. (Google Chrome recommended)
- After editing, click File and then “Download YAML”
Writing the definition
Edit the OpenApi specification:
- Look up the resource you have been assigned in NFV SOL 002
- Create the definition into the nfv002_main_template.yaml and check correctness with VS Code
- Cut&paste what you created into a proper resource in /paths/index.yaml and create the corresponding file
- E.g. create the Vnf_instance data type into a Vnf_instance.yaml files
- Configure the files so that the CI/CD validates the result
Online via Gerrit (Beginners)
- Upload the contribution via Gerrit ‘Create Change’ button
- Edit the ‘patch set’
- Paste the created files
With Git (Advanced)
- Log in on forge.etsi.org, set up gerrit configuration
- Install a GIT client, set it up correctly
- Upload the contribution
Verify
- Check Jenkins result on Gerrit and on Jenkins Job
- If there is no feedback from Jenkins contact CTI
- Wait for CTI to merge your contribution
Iterate!
All accomplished? Then it may be time to select a new part of the specification and create the OpenAPI version again!