Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Papyrus Photon version 4.0.0 can be downloaded from here: https://www.eclipse.org/papyrus/download.html
  • Scroll down the page, click on "Previous Releases Update Sites", and copy the URL of the update site for "Papyrus Photon 4.0.0". Should be something like: https://archive.eclipse.org/modeling/mdt/papyrus/updates/releases/photon
  • Now go back into Eclipse and select "Help"→"Install new software". An "Available Software" screen comes up.
  • Paste the URL of the update site into the "Work with:" box and hit enter.
  • There should be multiple "Papyrus" related packages available to install. Select only the box: "Papyrus" and make sure the others are not selected:
    Image Modified

  • Click "Next". The installation will check for dependencies and requirements. You will get a screen indicating what will be installed:
    • Papyrus for UML
    • Papyrus for UML Developer Resources
  • Click "Next". The install will then prompt you to "Accept" the license agreement.
  • Once accepted, you can select "Finish" and the installation process continues.
  • Note: The installation might take a while, and perhaps even appear to hang for a while. You can see install progress in the lower right hand corner of Eclipse .


  • When the installation is finished, restart Eclipse to begin to use Papyrus. You may get a popup asking if you want to restart.
  • Go to "Window"→"Perspective"→"Open Perspective"→"Other" and select Papyrus. You will now be in the Papyrus perspective where you can begin to use Papyrus.

...

  • Eclipse has a number of pre-defined perspectives associated with different tasks and plugins. In ONAP we mainly use the perspectives for Papyrus and for Git.
  • To change perspective, go to "Window→Perspective→Open Perspective→Other" on the top of your screen and then select the perspective that you want to use:
  • Another quick way to change perspective exists on the top right side of your screen. Next to the "Quick Access" bar, you will see a number of small icons:
    • Select the icon for the perspective that you want to use. The storage/cylinder icon marked "GIT" is for Git, and the bird icon is for Papyrus.
    • If you don't see the icon for the perspective that you want to use, clicking the icon with the "+" to the left of the predefined perspectives brings you to the same popup window as going to "Window→Perspective→Open Perspective→Other".

Using the ONAP Model with Gerrit

First-time Setup

This process must be followed if you have never used the Eclipse/Git function with Gerrit.

Setup of RSA Keys in Eclipse

    • "Window"→"Perspective"→"Open Perspective"→Other".
  • If you have moved around or minimized some of the view areas and can't find something you're looking for, you can reset the perspective to its default by first selecting "Window"→"Perspective"→"Reset Perspective..." and then clicking "Reset Perspective" in the popup window.

Using the ONAP Model with Gerrit

First-time Setup

This process must be followed if you have never used the Eclipse/Git function with Gerrit.

Setup of RSA Keys in Eclipse

  • You must You must first generate an SSH key within Eclipse/Papyrus.
  • Go to "Window→ Preferences→ General→ Network Connection→ SSH2"
  • Select the tab "Key Management" and choose "Generate RSA Key"

          Image Modified

  • The system will generate a key for you and place the key in the same window. Select "Save private key" which will save your key as id_rsa.
  • Note:  You may be asked if you want to save this private key without passphrase protection - select OK.

    Image Modified

  • A window will pop up with a location and a name for the key - just click Save.
    Image Modified

  • Before you hit "Apply and Close", "copy/paste" that key so that you can upload it into Gerrit.

...

  • Login to Gerrit (https://gerrit.onap.org/).
  • Click your name at the top right.
  • Go to Settings → SSH Public Keys
  • Click Add Key.
  • Go back to Eclipse and go to "Window"→ "Preferences"→ "General"→ "Network Connection"→ "SSH2" → LOAD EXISTING KEY
  • Paste the text of your public key into the text box.
  • Click Add.

...

  • Make sure to fill in User and Password with your LF Userid and password. Once the screen is filled in, select "Next".
  • It will then prompt you for the branches to select. Choose: "master" (DESELECT everything else) and click "Next". The popup should looks like this:
  • You will then be prompted to select a local directory on your machine into which the model should be loaded by Git. It can be any location you want, and not necessarily the workspace you are using for Eclipse/Papyrus projects. Check the box "Import all existing Eclipse projects...".  Your screen at this point should look like this:
  • Select "Finish".
    • For a first-time setup, you may get the following message. Select "Yes".
      Image Added
  • The cloning process
  • Note: If some step in this process doesn't work, you may have to exit your corporate VPN or, alternatively, set up a proxy access gerrit:
    • Go to "Window"→"Preferences"→"General"→"Network Connections"
    • Edit the entries for HTTP and HTTPS that have "Provider" preset to Manual. For both, set the URL for your proxy under "Host" and its port under "Port".
      Image Removed
  • Select "Finish".
    • For a first-time setup, you may get the following message. Select "Yes".
      Image Removed
  • The cloning process should complete, and the repository should be created on your local machine. If you encounter errors, contact the ONAP model administrator to get help.
  • The view below shows an example of the newly created repository which has been opened up down to the level of the "Local" folder. Only the "master" branch should show up as your "Local".

          

Viewing the Model in Papyrus

Once you have successfully cloned the ONAP model, you can now view it in Papyrus.

What if Eclipse/Git won't connect to ONAP Gerrit?

  • If it looks like Eclipse is not able to connect to Gerrit, you may have to exit your corporate VPN when working with the model.
  • Alternatively, set up a proxy access to Gerrit:
    • Go to
    Go to the Papyrus perspective by selecting  
    • "Window"→"
    Perspective
    • Preferences"→"
    Open Perspective
    • General"→"
    Other..." on the top of your screen and then select "Papyrus".
    • Network Connections"
    • Edit the entries for HTTP and HTTPS that have "Provider" preset to Manual. For both, set the URL for your proxy under "Host" and its port under "Port".
      Image Added

Viewing the Model in Papyrus

Once you have successfully cloned the ONAP model, you can now view it in Papyrus.

  • Go to the Papyrus perspective by selecting  "Window"→"Perspective"→"Open Perspective"→ "Other..." on the top of your screen and then select "Papyrus".
  • This perspective should show a "This perspective should show a "Project Explorer" on the left side of the screen that looks like this:
    Image Removed
    You should see your newly created Eclipse/Papyrus project in the "Project Explorer" on the left side of the screen that looks something like this:
    Image Added

  • You should see your newly created Eclipse/Papyrus project in the "Project Explorer" on the left side of the screen. (ignore the question mark, it shouldn't be there)
    . (ignore the question mark, it shouldn't be there)


  • The text in light brown is telling you that your project is in the modelspec repository you just created, in the branch "master". Note that all model work is being performed in the "master" branch.
    • If you do not see the project in the "Project Explorer", probably you forget to check the box to import all existing Eclipse projects when cloning the model. To fix this, switch to the Git perspective, select the repository name or the Working Tree, then right-click and select "Import projects...".
  • If you open up the ONAP Information Model folder ( click on the ">" to open/explore the ONAP Information Model )folder, you will see something like:
    Here is a description of what you have in the ONAP Information Model.
  • Each of the "green birds" represent a Papyrus model. Aside from the Profiles, you have the overall "model" that is composed of "sub-models". Each of the "sub-models" has a model editor that is responsible for editing the model and uploading the changes into Gerrit/Git. Note: two people can not be editing a "sub-model" without clearly communicated coordination, otherwise "model conflicts" arise. 
    • GenDoc  - This is where the GenDoc templates reside for creating an output of the model in Word                     
    • StyleSheets - These are CSS stylesheets to use when formatting the model                                                              
    • Common - The common submodel of the model (where artifacts used by multiple sub-models are stored)           
    • Infrastructure -  The infrastructure submodel where the multi-cloud artifacts are stored                                          
    • model - This is the "umbrella" ONAP model that contains all the submodels                                                            
    • Nf - Network Function submodel                                                                                                                                
    • Ns - Network Service submodel                                                                                                                                  
    • OpenModel_Profile.profile - Contains IISOMI stereotypes                                                                                                                                     
    • Party - The party submodel for party related artifacts                                                                                                 
    • Pnf - The Pnf submodel where PNFD resides                                                                                                               
    • Resource - The resource submodel for resource related artifacts                                                                                
    • Service - The service submodel for service related artifacts                                                                                         
    • Vnf - The Vnf submodel for Vnf specific artifacts
  • To see the entire model, double-click on "model". The model will open up in the model explorer which is on the left side of the screen in the center:

            Image Removed

  • The icon with the triangle saying "model" represents the entire ONAP model. The icons with a little arrow coming out of a circle represent the sub-models.
  • Open up any sub-model like you would a folder, and you will see something like the following (in this example it is the Vnf sub-model)
    Image Removed
  • Each sub-model has the following types of packages
    • Associations - Contains all associations used in diagrams.
    • Diagrams - Contains UML diagrams
    • Interfaces - Contains Component, Interface, and Operation artifacts (usually empty for now)
    • ObjectClasses - Contains all class definitions
    • TypeDefinitions - Contains all DataTypes and Enumerations.
  • Start viewing the model by selecting any diagram, i.e. in the Vnf → Diagrams package.
  • Here's a little trick for seeing the associated artifacts in the diagram. In the model explorer bar you will see two arrows opposing each other. Select that double-arrow option:

       Image Removed

  • Double-clicking on any of these models will open it in a new Model Explorer panel, which is usually on the left side of the screen in the center.
    • The icon with the triangle saying "model" represents the top-level of the ONAP model. Double-click on "model" like you would a folder, and you should see something like this: 
      Image Added
    •  The icons with a little arrow coming out of a circle represent the sub-models. Open up any sub-model like you would a folder, and you should see something like this (in this example it is the Vnf sub-model):
      Image Added
  • Start viewing the model by selecting any diagram, i.e. in the Vnf → Diagrams package.
    • Here's a little trick for seeing the associated artifacts in the diagram. In the model explorer bar you will see two arrows opposing each other. Select that double-arrow option:
      Image Added
    • What this means, is when you select any artifact on a diagram, i.e. a "Class", the model explorer takes you directly to that artifact in the model explorer tree.
  • Now, explore the model yourself by taking a look at all the class diagrams in the sub-models! Note, some of the sub-models are currently empty.

Contents of the ONAP Information Model

Here is a description of what you have in the ONAP Information Model.

  • The overall ONAP "model" is composed of "sub-models".
  • Each of the "sub-models" has a model editor that is responsible for editing the model and uploading the changes into Gerrit/Git.
    • Note: two people should never edit a "sub-model" at the same time without clearly communicated coordination, otherwise "model conflicts" may arise.
  • You should see the following in the ONAP Information Model folder:
    • GenDoc  - This is where the GenDoc templates reside for creating an output of the model in Word
    • StyleSheets - These are CSS stylesheets to use when formatting the model                                                              
    • Common - The common submodel of the model (where artifacts used by multiple sub-models are stored)           
    • Infrastructure -  The infrastructure submodel where the multi-cloud artifacts are stored                                          
    • model - This is the "umbrella" ONAP model that contains all the submodels                                                            
    • Nf - Network Function submodel                                                                                                                                
    • Ns - Network Service submodel                                                                                                                                  
    • OpenModel_Profile.profile - Contains IISOMI stereotypes                                                                                                                                     
    • Party - The party submodel for party related artifacts                                                                                                 
    • Pnf - The Pnf submodel where PNFD resides                                                                                                               
    • Resource - The resource submodel for resource related artifacts                                                                                
    • Service - The service submodel for service related artifacts                                                                                         
    • Vnf - The Vnf submodel for Vnf specific artifacts
  • Each sub-model has the following types of packages
    • Associations - Contains all associations used in diagrams.
    • Diagrams - Contains UML diagrams
    • Interfaces - Contains Component, Interface, and Operation artifacts (usually empty for now)
    • ObjectClasses - Contains all class definitions
    • TypeDefinitions - Contains all DataTypes and Enumerations
  • What this means, is when you select any artifact on a diagram, i.e. a "Class", the model explorer takes you directly to that artifact in the model explorer tree.
  • Now, explore the model yourself by taking a look at all the class diagrams in the sub-models! Note, some of the sub-models are currently empty
    • .

Updating the Model in Gerrit

Only approved model editors can update the working branch in Gerrit. To be a model editor you must undergo Papyrus training.

...

Current model editors for each submodel are specified here.

Once you have finished making your model changes, make sure you "save" them in Papyrus, by selecting "File→ Save", or

...

select the Save icon.

Staging changes

Only changes that have been staged will be included in the Push to Gerrit.

  • If this is a first-time that you're updating the model, make sure that you first have set up the user information for Gerrit properly. See these instructions: ONAP Gerrit user setup in Eclipse
  • Next, go to the Git perspective by selecting "Window"→"Perspective"→"Open Perspective"→"Other..." on the top of your screen and then select "Git".
  • Once in the Git Perspective, select the repository where you have changed the files:
  • Select the "Git Staging" tab in the lower right hand portion of your screen (it might also be on the right-hand side of your screen based on your layout)
    It looks like this: with a little green down-arrow
  • The Git Staging window looks like this:
    Image Added
  • You will see all of the files that you have changed in the "Unstaged changes".
    • Note: If there is a file
    there
    • in the list that you did not intend to change, you can revert the unwanted changes by right-
    click
    • clicking on that file and
    select
    • selecting "Replace with HEAD revision"
    . That will revert any unwanted changes you may have made.
    • .
  • For each changed file that you want to stageSTAGE CHANGES: Select the files that you did change, right-click and select "Add to index", Or, as "Add to index". Once they have been added, the files will move to "Staged Changes".
    • As a shortcut, you can select the little
    green
    • green "
    plus
    • ++" sign that will add all the files for you:

...

  • The Git Staging window looks like this:
    Image Removed
    • Image Modified

...



    • after you hit the green "++" it
    looks
    • should look something like this:
      Image Modified
  • Once they have been added, they will show up in the "Staged Changes
  • COMMIT MESSAGE:

Writing the commit message

Next you will need to prepare to "Commit and Push" your changes.

  • Position your cursor in the "Commit Message" window.
  • Add a commit message indicating the change you have done, i.e. "Added new diagram to service model" then .
  • Then press carriage return twice so that you will have a blank line after your message.
    • You can then optionally add a more detailed message about the change.
  • JIRA TICKET: Next, you will have to associate the change to a JIRA ticket. Add on the line after the blank lineIssue-ID: MODELING-104
  • Note that there is a blank between ":" and "M".  The JIRA ticket MODELING-104 is a general ticket for changes to the working branch.
  • Note that Git will generate a "Change id" for you, so you don't need to manually add one.
  • Issue-ID: MODELING-xxx
  • Git should generate a "Change-Id" for you, so you don't need to manually add one.
    • If there is no "Change-Id" line in the "Commit Message" window, click the "Add Change-ID" icon to the right on the same line as the "Commit Message" title.
  • Then SIGNOFF (PENCIL) ICON: Then you will need to "Sign-off" on the change by selecting clicking the "SignAdd Signed-off" button. This is the "Pen" icon next to -by" icon that looks like a pen and is on the same line as the "Commit Message" . Select that icontitle:

                   

Commit to local repository and push to remote Gerrit

  • Now you are ready to select "Commit and Push". This commits your local changes and pushes them to the remote Gerrit repository (which should be the working branch).


    • Note that the "
    committer
    • Committer"
    above
    • must correspond to the user name and email you have associated to your Gerrit account. If they don't, follow the instructions here: ONAP Gerrit user setup in Eclipse
  • After you hit the commit and push press "Commit and Push...", you will see this popup:
  • Click "Finish".

Asking for approval in Gerrit

  • Once your changes have been successfully committed and pushed to Gerrit, you will should see the resultsresult messages from Gerrit in Eclipse:

                

  • This window display the Gerrit identifier (in this case 59893) associated to with the change.
  • Next you will have to go to Gerrit at: Now open a browser and login to Gerrit (https://gerrit.onap.org and login to Gerrit/).
  • You can should then see the change you have made. Select that change.
  • You will then need to click "add" Add..." and specify the name of the person to approve that change. Approvers are Deng Hui together with the model owner, if you are updating a model for which you are not the owner.
  • Once the change has been committed, you will receive an email confirmation of the commit.
    • Note: If your commit and push fails for any reason, once you have fixed the problem, you can try to resend the request by selecting the "Amend (Edit previous commit)" icon in the Commit Message bar.
      Image Modified

Recovering from a

...

failed push to Gerrit


Export the ONAP Model

Export to a Word Document

...