<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://osm.etsi.org/wikipub/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Romeromonser</id>
	<title>OSM Public Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://osm.etsi.org/wikipub/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Romeromonser"/>
	<link rel="alternate" type="text/html" href="https://osm.etsi.org/wikipub/index.php/Special:Contributions/Romeromonser"/>
	<updated>2026-04-16T04:15:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://osm.etsi.org/wikipub/index.php?title=OSM-MR8_Hackfest&amp;diff=5335</id>
		<title>OSM-MR8 Hackfest</title>
		<link rel="alternate" type="text/html" href="https://osm.etsi.org/wikipub/index.php?title=OSM-MR8_Hackfest&amp;diff=5335"/>
		<updated>2020-03-04T16:47:41Z</updated>

		<summary type="html">&lt;p&gt;Romeromonser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:madrid4.jpg|750px|center|top]]&lt;br /&gt;
= Overview = &lt;br /&gt;
[[File:OSM-MR8_Hack.png|350px|right|top|link=https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=37071]]  &lt;br /&gt;
&lt;br /&gt;
ETSI&#039;s Centre for Testing and Interoperability and the OSM community are organizing a new OSM Hackfest on 9-13 March 2020.  &lt;br /&gt;
&lt;br /&gt;
The event will be hosted by &#039;&#039;&#039;[https://www.telefonica.com/en/home Telefonica]&#039;&#039;&#039; in Madrid, Spain, co-located with the &#039;&#039;&#039;[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=37070 OSM-MR#8]&#039;&#039;&#039; meeting, offering a great opportunity to share and learn with OSM developers and module leaders, and explore opportunities for synergies and collaboration.&lt;br /&gt;
&lt;br /&gt;
Participation to OSM Hackfests is free and open to all upon &#039;&#039;&#039;[https://portal.etsi.org/Meetings.aspx#/meeting?MtgId=37071 Registration]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
Distrito Telefónica &lt;br /&gt;
&lt;br /&gt;
Edificio Central “A” - Auditorio del Centro de Demos&lt;br /&gt;
&lt;br /&gt;
Ronda de la Comunicación, s/n&lt;br /&gt;
&lt;br /&gt;
28050 Madrid&lt;br /&gt;
&lt;br /&gt;
SPAIN&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[https://osm.etsi.org/wikipub/images/a/a1/Meeting_Invitation_OSM_Mid-Release_8_Madrid.docx Download OSM-MR#8 invitation, hotel recommendations and Visa Invitation Letter]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:OSM_community_lucca.jpg|800px|center]]&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
This OSM Hackfest will allow new users to get familiar with &#039;&#039;&#039;[https://osm.etsi.org/docs/user-guide OSM Release SEVEN]&#039;&#039;&#039; and exercise all the new functionalities, such as: &lt;br /&gt;
* OSM deployment on Kubernetes and self-monitoring of OSM Modules&lt;br /&gt;
* End-to-end Orchestration and life cycle management of real Network Services&lt;br /&gt;
** packaging, on-boarding, &lt;br /&gt;
** day-0/day-1/day-2 configuration&lt;br /&gt;
** service assurance: monitoring and closed-loop operation&lt;br /&gt;
* Running Cloud-Native Network Services&lt;br /&gt;
** modeling different types of Network Functions: Virtual, Physical, Cloud-native and Hybrid&lt;br /&gt;
** deploying a Kubernetes cluster &lt;br /&gt;
** deploying and orchestrating a cloud-native network service wit helm charts &lt;br /&gt;
** deploying and orchestrating a cloud-native network service with Juju bundles, &lt;br /&gt;
* Automated placement of Network Services for optimized edge deployments&lt;br /&gt;
&lt;br /&gt;
In addition, experienced users and developers will have the opportunity to hack into OSM, build complex examples, fine-tune, test and demonstrate Release EIGHT or experimental features on the OSM Remote Labs network.&lt;br /&gt;
&lt;br /&gt;
= Who should attend =&lt;br /&gt;
* VNF vendors, who want to onboard their VNF in OSM following best practices&lt;br /&gt;
* System Integrators, who want to develop their expertise with OSM&lt;br /&gt;
* Service providers, who want to get first hand operational experience with OSM&lt;br /&gt;
* Academia and Universities, who are using or considering OSM as platform for their research activities in networking&lt;br /&gt;
* Experimented developers and users that want to share and test with the community&lt;br /&gt;
&lt;br /&gt;
[[File:OSM_hack_lucca2.png|800px|center]]&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
* Seats are limited, registration is mandatory!&lt;br /&gt;
* Participants are expected to have user-level knowledge of Linux and be familiar with NFV and SDN concepts&lt;br /&gt;
* Bring your laptop &lt;br /&gt;
* A remote environment will be made available for participants, if you prefer to install OSM in your own laptop, please follow [https://osm.etsi.org/docs/user-guide/01-quickstart.html#installing-osm the OSM Quick Start Guide]&lt;br /&gt;
* OSM Hack 0: Introduction to NFV and OSM (see [https://osm.etsi.org/wikipub/index.php/OSM-MR8_Hackfest#OSM_Hackfest_Sessions below])&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
* &#039;&#039;Tentative: Please note the sessions&#039; times and contents may be subject to change&#039;&#039;&lt;br /&gt;
&amp;lt;googlespreadsheet style=&amp;quot;width:850px; height:400px&amp;quot;&amp;gt;1nJn5HIE2D8xzY72MjIxJi4dONdRcnMgT7QQGzk4gGaQ&amp;lt;/googlespreadsheet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OSM Hackfest Sessions ==&lt;br /&gt;
*&#039;&#039;&#039; [http://osm-download.etsi.org/ftp/osm-7.0-seven/MR8-hackfest/presentations/OSM%20MR8%20Hackfest%20-%20Hack%200%20-%20%20Introduction%20to%20NFV%20and%20OSM.pdf Hack 0 - Introduction to NFV and OSM]&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Virtual] Video &amp;amp; slides available&lt;br /&gt;
{{#evu:https://www.youtube.com/watch?v=JK3PpD9RpQc&lt;br /&gt;
|alignment=inline&lt;br /&gt;
|dimensions=&amp;quot;120&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
* &#039;&#039;&#039;Welcome&#039;&#039;&#039;&lt;br /&gt;
** [Presentation] &#039;&#039;&#039;Welcome to Telefonica&#039;&#039;&#039; by José González Díaz, Chief Architecture Officer, Telefónica &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;OSM-MR#8 Hackfest Logistics for the week&#039;&#039;&#039; by Francisco Javier Ramón Salguero. OSM Chair, Telefónica &lt;br /&gt;
* &#039;&#039;&#039;Hack 1 - OSM Architecture &amp;amp; Installation&#039;&#039;&#039; &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;OSM Architecture overview&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Presentation] &#039;&#039;&#039;OSM Installation methods&#039;&#039;&#039; by Cyndi Alarcon, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;OSM Installation over Kubernetes&#039;&#039;&#039; by Cyndi Alarcon, Whitestack &lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;OSM System Monitoring&#039;&#039;&#039; by  Francisco Rodriguez &amp;amp; Alexis Romero, Indra&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Integrating a VIM in OSM&#039;&#039;&#039; by Cyndi Alarcon, Whitestack&lt;br /&gt;
* &#039;&#039;&#039;Hack 2 - Network Services General Instantiation&#039;&#039;&#039; &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;OSM Packages overview&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] I&#039;&#039;&#039;nstantiating a basic Network Service&#039;&#039;&#039; by Cyndi Alarcon, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Multi-VDU Network Services&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Automating Day-0 configuration through cloud-init&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Monitoring VNFs&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Orchestrating Network Slices with OSM&#039;&#039;&#039; by Felipe Vicens, Atos &lt;br /&gt;
** [Demo] &#039;&#039;&#039;Enabling high performance on VNFs - SDN-Assist&#039;&#039;&#039; by Alfonso Tierno, Telefonica&lt;br /&gt;
** [Demo] &#039;&#039;&#039;Automatic Placement of VNFs&#039;&#039;&#039; by Lars-Göran Magnusson, Arctos Labs&lt;br /&gt;
* &#039;&#039;&#039;Hack 3 - Automating VNF Day-1 &amp;amp; 2 operations&#039;&#039;&#039; &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;Introduction to primitives in OSM&#039;&#039;&#039; by Gianpietro Lavado, Whitestack &amp;amp; David Garcia, Canonical&lt;br /&gt;
** [Presentation, Demo] &#039;&#039;&#039;Python Operator Framework&#039;&#039;&#039; by Dmitrii Shcherbakov, Canonical &lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Running primitives in VNFs&#039;&#039;&#039; by David Garcia and Dominik Fleischmann, Canonical &lt;br /&gt;
* &#039;&#039;&#039;Hack 4 - Running Containerized Network Functions&#039;&#039;&#039; &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;K8s support in OSM&#039;&#039;&#039; by Gerardo Garcia de Blas, Telefonica&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Instantiating containerized NFs over Kubernetes (KNFs)&#039;&#039;&#039; by Gerardo Garcia de Blas, Telefonica&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Running primitives in KNFs&#039;&#039;&#039; by Gerardo Garcia de Blas, Telefonica&lt;br /&gt;
* &#039;&#039;&#039;Hack 5 - End-to-end VNF Package Onboarding in OSM&#039;&#039;&#039; &lt;br /&gt;
** [Presentation] &#039;&#039;&#039;Introduction to the VNF Onboarding Task Force &amp;amp; Resources&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Building an Evolved Packet Core VNF package from scratch&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
** [Hands-on] &#039;&#039;&#039;Building an Evolved Packet Core KNF package from scratch&#039;&#039;&#039; by Gianpietro Lavado, Whitestack&lt;br /&gt;
&lt;br /&gt;
== Hackfest Material ==&lt;br /&gt;
* [http://osm-download.etsi.org/ftp/osm-7.0-six/MR8-hackfest/presentations/ Presentations]&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLFqLBTy_ZDSj9mE3VPY0jYT0SoYV6fMMo Videos]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
* [http://osm-download.etsi.org/ftp/osm-6.0-six/8th-hackfest/packages/ Packages]&lt;br /&gt;
* [http://osm-download.etsi.org/ftp/osm-6.0-six/8th-hackfest/images/ Images]&lt;br /&gt;
* [http://osm-download.etsi.org/ftp/osm-6.0-six/8th-hackfest/other/ Other]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Previous Hackfests =&lt;br /&gt;
* [[8th OSM Hackfest | 8th OSM Hackfest - Lucca (Italy)]]&lt;br /&gt;
* [[7th OSM Hackfest | 7th OSM Hackfest - Patras (Greece)]]&lt;br /&gt;
* [[6th OSM Hackfest | 6th OSM Hackfest - Santa Clara (CA, USA)]]&lt;br /&gt;
* [[5th OSM Hackfest | 5th OSM Hackfest - Barcelona (Spain)]]&lt;br /&gt;
* [[4th OSM Hackfest | 4th OSM Hackfest - Palo Alto (CA, USA)]]&lt;br /&gt;
* [[3rd OSM Hackfest | 3rd OSM Hackfest - Oslo (Norway)]]&lt;br /&gt;
* [[2nd OSM Hackfest | 2nd OSM Hackfest - Madrid (Spain)]]&lt;br /&gt;
* [[1st OSM Hackfest | 1st OSM Hackfest - Sophia Antipolis (France)]]&lt;br /&gt;
&lt;br /&gt;
= Get involved in OpenSourceMANO =&lt;br /&gt;
* Join the [https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk OSM Community Slack Workspace]&lt;br /&gt;
* If your organisation is already an [https://portal.etsi.org/TBSiteMap/OSM/ListofOSMMembers.aspx OSM member], you can also:&lt;br /&gt;
**	[https://webapp.etsi.org/createaccount/ Request an EOL account] (if you don’t have one yet)&lt;br /&gt;
**	Subscribe [https://list.etsi.org/scripts/wa.exe?SUBED1=OSG_OSM&amp;amp;A=1 OSM general] and [https://list.etsi.org/scripts/wa.exe?SUBED1=OSM_TECH&amp;amp;A=1 OSM TECH] mailing lists&lt;br /&gt;
*	If your organisation is not yet an OSM member:&lt;br /&gt;
**	Learn [https://osm.etsi.org/about/how-to-join how to join], it is free and open to all&lt;br /&gt;
* Join the [https://osm.etsi.org/wikipub/index.php/OSM_Ecosystem OSM Ecosystem]&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
Please send your technical questions to [mailto:OSM_TECH@list.etsi.org OSM_TECH@list.etsi.org] or join the [https://join.slack.com/t/opensourcemano/shared_invite/enQtMzQ3MzYzNTQ0NDIyLWVkNTE4ZjZjNWI0ZTQyN2VhOTI1MjViMzU1NWYwMWM3ODI4NTQyY2VlODA2ZjczMWIyYTFkZWNiZmFkM2M2ZDk OSM Community Slack Workspace]&lt;br /&gt;
&lt;br /&gt;
Questions about ETSI, joining OSM, this hackfest and future events can be sent to: [mailto:OSMSupport@etsi.org OSMSupport@etsi.org]&lt;/div&gt;</summary>
		<author><name>Romeromonser</name></author>
	</entry>
	<entry>
		<id>https://osm.etsi.org/wikipub/index.php?title=How_to_upgrade_the_OSM_Platform&amp;diff=5071</id>
		<title>How to upgrade the OSM Platform</title>
		<link rel="alternate" type="text/html" href="https://osm.etsi.org/wikipub/index.php?title=How_to_upgrade_the_OSM_Platform&amp;diff=5071"/>
		<updated>2019-12-10T15:46:56Z</updated>

		<summary type="html">&lt;p&gt;Romeromonser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Upgrading the OSM platform ==&lt;br /&gt;
Due to the new architecture and dockerized components introduced from OSM Release FOUR, OSM platform upgrade is easier than ever. Upgrading to the latest minor version is as simple as running again the installer:&lt;br /&gt;
&lt;br /&gt;
 wget https://osm-download.etsi.org/ftp/osm-6.0-six/install_osm.sh&lt;br /&gt;
 chmod +x install_osm.sh&lt;br /&gt;
 ./install_osm.sh&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to proceed with the installation and configuration of LXD, juju, docker CE and the initialization of a local docker swarm, as pre-requirements. Please answer &amp;quot;y&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Then, some dialog messages related to LXD configuration will be shown. This is what you have to answer:&lt;br /&gt;
* Do you want to configure the LXD bridge? &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Do you want to setup an IPv4 subnet? &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&amp;lt;&amp;lt; &#039;&#039;&#039;Default values&#039;&#039;&#039; apply for next questions &amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
* Do you want to setup an IPv6 subnet? &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
That&#039;s all. You will have the newest OSM version installed.&lt;br /&gt;
&lt;br /&gt;
== Upgrading the OSM platform from docker images using the latest daily testing docker image or a specific tag ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading to the latest daily docker image might lead to potential issues. Moreover, every new re-deployment of the stack will involve a download of a new docker daily image if it exists. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use option -t in the installer to specify a specific docker tag to be used by the installer.&lt;br /&gt;
&lt;br /&gt;
To install the latest daily images:&lt;br /&gt;
 ./install_osm.sh -t releasesix-daily&lt;br /&gt;
&lt;br /&gt;
To install a previous version e.g. v5.0.3:&lt;br /&gt;
 ./install_osm.sh -t v5.0.3&lt;br /&gt;
&lt;br /&gt;
The previous commands will do the installation and deployment of the stack, but will not make it persistent after re-deployments of the stack (or reboots). In order to make it persistent, you will have to update the file &amp;quot;docker-compose.yaml&amp;quot;. Below an example to update it to use releasesix-daily tag: &lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &amp;quot;s/ro\:\${TAG\:-latest}/ro\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/lcm\:\${TAG\:-latest}/lcm\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/mon\:\${TAG\:-latest}/mon\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/pol\:\${TAG\:-latest}/pol\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/nbi\:\${TAG\:-latest}/nbi\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/light-ui\:\${TAG\:-latest}/light-ui\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/keystone\:\${TAG\:-latest}/keystone\:\${TAG\:-releasesix-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 docker stack rm osm &amp;amp;&amp;amp; sleep 20&lt;br /&gt;
 docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
The osmclient will have to be updated independently. In order to use the latest &amp;quot;testing&amp;quot; osmclient, you will have to update the debian repo to use the testing repo, remove the previous debian package and install the one from the new repo as follows:&lt;br /&gt;
 sudo apt-get remove python-osmclient&lt;br /&gt;
 sudo add-apt-repository -r &amp;quot;deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable osmclient&amp;quot;&lt;br /&gt;
 sudo add-apt-repository -y &amp;quot;deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseSIX-daily testing osmclient&amp;quot;&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install python-osmclient&lt;br /&gt;
 dpkg -l |grep python-osmclient   #to check the installed version&lt;br /&gt;
&lt;br /&gt;
== Upgrading a specific component to use your own cloned repo (e.g. for developing purposes) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading a specific OSM component without upgrading the others accordingly may lead to potential inconsistencies. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;The procedure below involves building manually some docker images. The developer environment might require updating manually the MTU of the docker default &amp;quot;bridge&amp;quot; network following the procedure in this link: https://docs.docker.com/network/bridge/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For RO (ro and ro-db):&lt;br /&gt;
 docker pull mysql:5&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/RO&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build RO -f RO/Dockerfile-local -t opensourcemano/ro:develop --no-cache&lt;br /&gt;
 docker service update osm_ro --force --image opensourcemano/ro:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/ro\:\${TAG\:-latest}/ro\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For LCM:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/LCM&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build LCM -f LCM/Dockerfile.local -t opensourcemano/lcm:develop --no-cache&lt;br /&gt;
 docker service update osm_lcm --force --image opensourcemano/lcm:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/lcm\:\${TAG\:-latest}/lcm\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For MON:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/MON&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build MON -f MON/docker/Dockerfile -t opensourcemano/mon:develop --no-cache&lt;br /&gt;
 docker service update osm_mon --force --image opensourcemano/mon:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/mon\:\${TAG\:-latest}/mon\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For POL:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/POL&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build POL -f POL/docker/Dockerfile -t opensourcemano/pol:develop --no-cache&lt;br /&gt;
 docker service update osm_pol --force --image opensourcemano/pol:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/pol\:\${TAG\:-latest}/pol\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For NBI:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/NBI&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build NBI -f NBI/Dockerfile.local -t opensourcemano/nbi:develop --no-cache&lt;br /&gt;
 docker service update osm_nbi --force --image opensourcemano/nbi:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/nbi\:\${TAG\:-latest}/nbi\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For light UI:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/LW-UI&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build LW-UI -f LW-UI/docker/Dockerfile -t opensourcemano/light-ui:develop --no-cache&lt;br /&gt;
 docker service update osm_light-ui --force --image opensourcemano/light-ui:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/light-ui\:\${TAG\:-latest}/light-ui\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
== (OLD, CURRENTLY NOT WORKING) Upgrading only a specific component from source code to use the master branch or an old version (advanced users) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading a specific OSM component without upgrading the others accordingly may lead to potential inconsistencies. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use options -b and -m in the installer:&lt;br /&gt;
 ./install_osm.sh --help&lt;br /&gt;
 usage: ./install_osm.sh [OPTIONS]&lt;br /&gt;
 Install OSM from binaries or source code (by default, from binaries)&lt;br /&gt;
  OPTIONS&lt;br /&gt;
 ...&lt;br /&gt;
     -b &amp;lt;refspec&amp;gt;:   install OSM from source code using a specific branch (master, v2.0, ...) or tag&lt;br /&gt;
                     -b master          (main dev branch)&lt;br /&gt;
                     -b v2.0            (v2.0 branch)&lt;br /&gt;
                     -b tags/v1.1.0     (a specific tag)&lt;br /&gt;
                     ...&lt;br /&gt;
     -m &amp;lt;MODULE&amp;gt;:    install OSM but only rebuild the specified docker images (RO, LCM, NBI, LW-UI, MON, KAFKA, MONGO, NONE)&lt;br /&gt;
&lt;br /&gt;
Or to use master branch in LCM:&lt;br /&gt;
 ./install_osm.sh -m LCM -b master&lt;br /&gt;
&lt;br /&gt;
Or to use an old version of MON:&lt;br /&gt;
 ./install_osm.sh -m MON -b tags/v5.0.2&lt;/div&gt;</summary>
		<author><name>Romeromonser</name></author>
	</entry>
	<entry>
		<id>https://osm.etsi.org/wikipub/index.php?title=How_to_upgrade_the_OSM_Platform&amp;diff=4461</id>
		<title>How to upgrade the OSM Platform</title>
		<link rel="alternate" type="text/html" href="https://osm.etsi.org/wikipub/index.php?title=How_to_upgrade_the_OSM_Platform&amp;diff=4461"/>
		<updated>2019-04-22T14:08:20Z</updated>

		<summary type="html">&lt;p&gt;Romeromonser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Upgrading the OSM platform ==&lt;br /&gt;
Due to the new architecture and dockerized components introduced from OSM Release FOUR, OSM platform upgrade is easier than ever. Upgrading to the latest minor version is as simple as running again the installer:&lt;br /&gt;
&lt;br /&gt;
 wget https://osm-download.etsi.org/ftp/osm-5.0-five/install_osm.sh&lt;br /&gt;
 chmod +x install_osm.sh&lt;br /&gt;
 ./install_osm.sh&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to proceed with the installation and configuration of LXD, juju, docker CE and the initialization of a local docker swarm, as pre-requirements. Please answer &amp;quot;y&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Then, some dialog messages related to LXD configuration will be shown. This is what you have to answer:&lt;br /&gt;
* Do you want to configure the LXD bridge? &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Do you want to setup an IPv4 subnet? &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&amp;lt;&amp;lt; &#039;&#039;&#039;Default values&#039;&#039;&#039; apply for next questions &amp;gt;&amp;gt;&#039;&#039;&lt;br /&gt;
* Do you want to setup an IPv6 subnet? &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
That&#039;s all. You will have the newest OSM version installed.&lt;br /&gt;
&lt;br /&gt;
== Upgrading the OSM platform from docker images using the latest daily docker image or a specific tag ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading to the latest daily docker image might lead to potential issues. Moreover, every new re-deployment of the stack will involve a download of a new docker daily image if it exists. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use option -t in the installer to specify a specific docker tag to be used by the installer.&lt;br /&gt;
&lt;br /&gt;
To install the latest daily images:&lt;br /&gt;
 ./install_osm.sh -t releasefive-daily&lt;br /&gt;
&lt;br /&gt;
To install a previous version e.g. v5.0.3:&lt;br /&gt;
 ./install_osm.sh -t v5.0.3&lt;br /&gt;
&lt;br /&gt;
The previous commands will do the installation and deployment o the stack, but will not make it persistent after re-deployments of the stack. In order to make it persisten, you will have to update the file &amp;quot;docker-compose.yaml&amp;quot;. Below an example to update it to use releasefive-daily tag: &lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &amp;quot;s/ro\:\${TAG\:-latest}/ro\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/lcm\:\${TAG\:-latest}/lcm\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/mon\:\${TAG\:-latest}/mon\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/pol\:\${TAG\:-latest}/pol\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/nbi\:\${TAG\:-latest}/nbi\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/light-ui\:\${TAG\:-latest}/light-ui\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 sudo sed -i &amp;quot;s/keystone\:\${TAG\:-latest}/keystone\:\${TAG\:-releasefive-daily}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 docker stack rm osm &amp;amp;&amp;amp; sleep 20&lt;br /&gt;
 docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
The osmclient will have to be updated independently. In order to use the latest &amp;quot;testing&amp;quot; osmclient, you will have to update the debian repo to use the testing repo, remove the previous debian package and install the one from the new repo as follows:&lt;br /&gt;
 sudo apt-get remove python-osmclient&lt;br /&gt;
 sudo add-apt-repository -y &amp;quot;deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/ReleaseFIVE-daily testing osmclient&amp;quot;&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install python-osmclient&lt;br /&gt;
 dpkg -l |grep python-osmclient   #to check the installed version&lt;br /&gt;
&lt;br /&gt;
== Upgrading a specific component to use your own cloned repo (e.g. for developing purposes) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading a specific OSM component without upgrading the others accordingly may lead to potential inconsistencies. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For RO (ro and ro-db):&lt;br /&gt;
 docker pull mysql:5&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/RO&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build RO -f RO/docker/Dockerfile-local -t opensourcemano/ro:develop --no-cache&lt;br /&gt;
 docker service update osm_ro --force --image opensourcemano/ro:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/ro\:\${TAG\:-latest}/ro\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For LCM:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/LCM&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build LCM -f LCM/Dockerfile.local -t opensourcemano/lcm:develop --no-cache&lt;br /&gt;
 docker service update osm_lcm --force --image opensourcemano/lcm:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/lcm\:\${TAG\:-latest}/lcm\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For MON:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/MON&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build MON -f MON/docker/Dockerfile -t opensourcemano/mon:develop --no-cache&lt;br /&gt;
 docker service update osm_mon --force --image opensourcemano/mon:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/mon\:\${TAG\:-latest}/mon\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For POL:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/POL&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build POL -f POL/docker/Dockerfile -t opensourcemano/pol:develop --no-cache&lt;br /&gt;
 docker service update osm_mon --force --image opensourcemano/pol:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/pol\:\${TAG\:-latest}/pol\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For NBI:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/NBI&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build NBI -f NBI/Dockerfile.local -t opensourcemano/nbi:develop --no-cache&lt;br /&gt;
 docker service update osm_nbi --force --image opensourcemano/nbi:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/nbi\:\${TAG\:-latest}/nbi\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
For light UI:&lt;br /&gt;
 git clone https://osm.etsi.org/gerrit/osm/LW-UI&lt;br /&gt;
 #you can then work in the cloned repo, apply patches with git pull, etc.&lt;br /&gt;
 docker build LW-UI -f LW-UI/docker/Dockerfile -t opensourcemano/light-ui:develop --no-cache&lt;br /&gt;
 docker service update osm_light-ui --force --image opensourcemano/light-ui:develop&lt;br /&gt;
 # In order to make this change persistent after reboots or restart of the docker stack&lt;br /&gt;
 # you will have to update the file /etc/osm/docker/docker-compose.yaml to reflect the change&lt;br /&gt;
 # in the docker image, for instance:&lt;br /&gt;
 # sudo sed -i &amp;quot;s/light-ui\:\${TAG\:-latest}/light-ui\:\${TAG\:-develop}/&amp;quot; /etc/osm/docker/docker-compose.yaml&lt;br /&gt;
 # docker stack rm osm &amp;amp;&amp;amp; sleep 60&lt;br /&gt;
 # docker stack deploy -c /etc/osm/docker/docker-compose.yaml osm&lt;br /&gt;
&lt;br /&gt;
== (OLD, CURRENTLY NOT WORKING) Upgrading only a specific component from source code to use the master branch or an old version (advanced users) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Upgrading a specific OSM component without upgrading the others accordingly may lead to potential inconsistencies. Unless you are really sure about what you are doing, please use this procedure with caution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use options -b and -m in the installer:&lt;br /&gt;
 ./install_osm.sh --help&lt;br /&gt;
 usage: ./install_osm.sh [OPTIONS]&lt;br /&gt;
 Install OSM from binaries or source code (by default, from binaries)&lt;br /&gt;
  OPTIONS&lt;br /&gt;
 ...&lt;br /&gt;
     -b &amp;lt;refspec&amp;gt;:   install OSM from source code using a specific branch (master, v2.0, ...) or tag&lt;br /&gt;
                     -b master          (main dev branch)&lt;br /&gt;
                     -b v2.0            (v2.0 branch)&lt;br /&gt;
                     -b tags/v1.1.0     (a specific tag)&lt;br /&gt;
                     ...&lt;br /&gt;
     -m &amp;lt;MODULE&amp;gt;:    install OSM but only rebuild the specified docker images (RO, LCM, NBI, LW-UI, MON, KAFKA, MONGO, NONE)&lt;br /&gt;
&lt;br /&gt;
Or to use master branch in LCM:&lt;br /&gt;
 ./install_osm.sh -m LCM -b master&lt;br /&gt;
&lt;br /&gt;
Or to use an old version of MON:&lt;br /&gt;
 ./install_osm.sh -m MON -b tags/v5.0.2&lt;/div&gt;</summary>
		<author><name>Romeromonser</name></author>
	</entry>
	<entry>
		<id>https://osm.etsi.org/wikipub/index.php?title=OSM_instantiation_parameters&amp;diff=4442</id>
		<title>OSM instantiation parameters</title>
		<link rel="alternate" type="text/html" href="https://osm.etsi.org/wikipub/index.php?title=OSM_instantiation_parameters&amp;diff=4442"/>
		<updated>2019-04-12T07:40:13Z</updated>

		<summary type="html">&lt;p&gt;Romeromonser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When creating a NS instance, it is possible to pass instantiation parameters to OSM using the &amp;quot;--config&amp;quot; option of the client or the &amp;quot;config&amp;quot; parameter of the UI. In this section we will illustrate through some of the existing examples how to specify those parameters using OSM client:&lt;br /&gt;
&lt;br /&gt;
===Specify a VIM network name for a NS VLD===&lt;br /&gt;
In a generic way, the mapping can be specified in the following way, where &#039;vldnet&#039; is the name of the network in the NS descriptor and &#039;netVIM1&#039; is the VIM network that you want to use:&lt;br /&gt;
 --config &#039;{vld: [ {name: vldnet, vim-network-name: netVIM1} ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_vnfd.tar.gz hackfest1-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_nsd.tar.gz hackfest1-ns]; images: [https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%202%20-%20Creating%20a%20basic%20VNF%20and%20NS.pdf creating a basic VNF and NS]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
&lt;br /&gt;
 osm ns-create --ns_name hf1 --nsd_name hackfest1-ns --vim_account openstack1 --config &#039;{vld: [ {name: mgmtnet, vim-network-name: mgmt} ] }&#039;&lt;br /&gt;
&lt;br /&gt;
===Specify a VIM network name for an internal VLD of a VNF===&lt;br /&gt;
In this scenario, the mapping can be specified in the following way, where &#039;1&#039; is the member vnf index of the constituent vnf in the NS descriptor, &#039;internal&#039; is the name of internal-vld in the VNF descriptor and  &#039;netVIM1&#039; is the VIM network that you want to use:&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, vim-network-name: netVIM1} ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
 osm ns-create --ns_name hf2 --nsd_name hackfest2-ns --vim_account openstack1  --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, vim-network-name: mgmt} ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
===Specify IP profile information and IP for a NS VLD===&lt;br /&gt;
In a generic way, the mapping can be specified in the following way, where &#039;datanet&#039; is the name of the network in the NS descriptor, ip-profile you have to fill the associated parameters with the data model ( [http://osm-download.etsi.org/ftp/osm-doc/nsd.html# NS data model] ), and vnfd-connection-point-ref is the reference to the connection point:&lt;br /&gt;
 --config &#039;{vld: [ {name: datanet, ip-profile: {...}, vnfd-connection-point-ref: {...} } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
 osm ns-create --ns_name hf2 --nsd_name hackfest2-ns --vim_account openstack1 --config &#039;{vld: [ {name: datanet, ip-profile: {ip-version: ipv4 ,subnet-address: &amp;quot;192.168.100.0/24&amp;quot;, gateway-address: &amp;quot;0.0.0.0&amp;quot;, dns-server: [{address: &amp;quot;8.8.8.8&amp;quot;}],dhcp-params: {count: 100, start-address: &amp;quot;192.168.100.20&amp;quot;, enabled: true}}, vnfd-connection-point-ref: [ {member-vnf-index-ref: &amp;quot;1&amp;quot;, vnfd-connection-point-ref: vnf-data, ip-address: &amp;quot;192.168.100.17&amp;quot;}]}]}&#039;&lt;br /&gt;
&lt;br /&gt;
===Specify IP profile information for an internal VLD of a VNF===&lt;br /&gt;
In this scenario, the mapping can be specified in the following way, where &#039;1&#039; is the member vnf index of the constituent vnf in the NS descriptor, &#039;internal&#039; is the name of internal-vld in the VNF descriptor and ip-profile you have to fill the associated parameters with the data model ( [http://osm-download.etsi.org/ftp/osm-doc/vnfd.html VNF data model] ):&lt;br /&gt;
&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, ip-profile: {...} ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
&lt;br /&gt;
 osm ns-create --ns_name hf2 --nsd_name hackfest2-ns --vim_account openstack1 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, ip-profile:  {ip-version: ipv4 ,subnet-address: &amp;quot;192.168.100.0/24&amp;quot;, gateway-address: &amp;quot;0.0.0.0&amp;quot;, dns-server: [{address: &amp;quot;8.8.8.8&amp;quot;}] ,dhcp-params: {count: 100, start-address: &amp;quot;192.168.100.20&amp;quot;, enabled: true}}}]}]} &#039;&lt;br /&gt;
&lt;br /&gt;
===Specify IP address and/or MAC address for an interface===&lt;br /&gt;
&lt;br /&gt;
====Specify IP address for an interface====&lt;br /&gt;
In this scenario, the mapping can be specified in the following way, where &#039;1&#039; is the member vnf index of the constituent vnf in the NS descriptor, &#039;internal&#039; is the name of internal-vld in the VNF descriptor ,ip-profile you have to fill the associated parameters with the data model ( [http://osm-download.etsi.org/ftp/osm-doc/vnfd.html VNF data model] ), &#039;id1&#039; is the internal-connection-point id and &#039;a.b.c.d&#039; is the IP that you have to specify for this scenario:&lt;br /&gt;
&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, ip-profile: {...}, internal-connection-point: [{id-ref: id1, ip-address: &amp;quot;a.b.c.d&amp;quot;}] ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
  osm ns-create --ns_name hf2 --nsd_name hackfest2-ns --vim_account ost4 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal, ip-profile: {ip-version: ipv4 ,subnet-address: &amp;quot;192.168.100.0/24&amp;quot;, gateway-address: &amp;quot;0.0.0.0&amp;quot;, dns-server: [{address: &amp;quot;8.8.8.8&amp;quot;}] ,dhcp-params: {count: 100, start-address: &amp;quot;192.168.100.20&amp;quot;, enabled: true}}, internal-connection-point: [{id-ref: mgmtVM-internal, ip-address: &amp;quot;192.168.100.3&amp;quot;}]}]}]}&#039;&lt;br /&gt;
&lt;br /&gt;
====Specify MAC address for an interface====&lt;br /&gt;
In this scenario, the mapping can be specified in the following way, where &#039;1&#039; is the member vnf index of the constituent vnf in the NS descriptor, &#039;id1&#039; is the id of VDU in the VNF descriptor and &#039;interf1&#039; is the name of the interface to which you want to add the MAC address:&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu: [ {id: id1, interface: [{name: interf1, mac-address: &amp;quot;aa:bb:cc:dd:ee:ff&amp;quot; }]} ] } ] } &#039;&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_vnfd.tar.gz hackfest1-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_nsd.tar.gz hackfest1-ns]; images: [https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%202%20-%20Creating%20a%20basic%20VNF%20and%20NS.pdf creating a basic VNF and NS]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
 osm ns-create --ns_name hf12 --nsd_name hackfest1-ns --vim_account openstack1 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu: [ {id: hackfest1VM, interface: [{name: vdu-eth0, mac-address: &amp;quot;52:33:44:55:66:21&amp;quot;}]} ] } ] } &#039;&lt;br /&gt;
&lt;br /&gt;
====Specify IP address and MAC address for an interface====&lt;br /&gt;
In the following scenario, we will bring together the two previous cases &lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
&lt;br /&gt;
 osm ns-create --ns_name hf12 --nsd_name hackfest2-ns --vim_account ost4 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, internal-vld: [ {name: internal , ip-profile: {ip-version: ipv4, subnet-address: &amp;quot;192.168.100.0/24&amp;quot;, gateway-address: &amp;quot;0.0.0.0&amp;quot;, dns-server: [{address: &amp;quot;8.8.8.8&amp;quot;}] , dhcp-params: {count: 100, start-address: &amp;quot;192.168.100.20&amp;quot;, enabled: true} }, internal-connection-point: [ {id-ref: mgmtVM-internal, ip-address: &amp;quot;192.168.100.3&amp;quot;} ] }, ], vdu: [ {id: mgmtVM, interface: [{name: mgmtVM-eth0, mac-address: &amp;quot;52:33:44:55:66:21&amp;quot;}]} ] } ] } &#039;&lt;br /&gt;
&lt;br /&gt;
===Force floating IP address for an interface===&lt;br /&gt;
In a generic way, the mapping can be specified in the following way, where &#039;id1&#039; is the name of the VDU in the VNF descriptor and &#039;interf1&#039; is the name of the interface:&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu: [ {id: id1, interface: [{name: interf1, floating-ip-required: True }]} ] } ] } &#039;&lt;br /&gt;
	&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
 osm ns-create --ns_name hf2 --nsd_name hackfest2-ns --vim_account openstack1 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu:[ {id: mgmtVM, interface: [{name: mgmtVM-eth0, floating-ip-required: True }]} ] } ] } &#039;&lt;br /&gt;
&lt;br /&gt;
Make sure &#039;vim-network-name&#039; in NS Descriptor has access to the outside to be able to use the parameter &#039;floating-ip-required&#039;.&lt;br /&gt;
&lt;br /&gt;
===Multi-site deployments (specifying different VIM accounts for different VNFs)===&lt;br /&gt;
In this scenario, the mapping can be specified in the following way, where &#039;1 and 2&#039; are the member vnf index of the constituent vnfs in the NS descriptor, &#039;vim1 and vim2&#039; are the names of vim accounts and  &#039;netVIM1 and netVIM2&#039; are the VIM networks that you want to use:&lt;br /&gt;
&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vim_account: vim1}, {member-vnf-index: &amp;quot;2&amp;quot;, vim_account: vim2} ], vld: [ {name: datanet, vim-network-name: {vim1: netVIM1, vim2: netVIM2} } ] }&#039;&lt;br /&gt;
  # NOTE: From release SIX (current master) add &#039;wim_account: False&#039; (inside --config) to avoid wim network connectivity if you have not a WIM in your system&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_vnfd.tar.gz hackfest2-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_2_nsd.tar.gz hackfest2-ns]; images:[https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%203%20-%20Modeling%20multi-VDU%20VNF%20v2.pdf modeling multi-VDU VNF]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
 osm ns-create --ns_name hf12 --nsd_name hackfest2-ns --vim_account openstack1 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vim_account: openstack1}, {member-vnf-index: &amp;quot;2&amp;quot;, vim_account: openstack3} ], vld: [ {name: mgmtnet, vim-network-name: {openstack1: mgmt, openstack3: mgmt} } ] }&#039; &lt;br /&gt;
&lt;br /&gt;
===Specifying a volume ID for a VNF volume===&lt;br /&gt;
 &lt;br /&gt;
In a generic way, the mapping can be specified in the following way, where &#039;VM1&#039; is the name of the VDU, &#039;Storage1&#039; is the volume name in VNF descriptor and &#039;05301095-d7ee-41dd-b520-e8ca08d18a55&#039; is the volume id:&lt;br /&gt;
&lt;br /&gt;
 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu: [ {id: VM1, volume: [ {name: Storage1, vim-volume-id: 05301095-d7ee-41dd-b520-e8ca08d18a55} ] } ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
You can try it using one of the examples of the hackfest (&#039;&#039;&#039;descriptors: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_vnfd.tar.gz hackfest1-vnf], [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/packages/hackfest_1_nsd.tar.gz hackfest1-ns]; images: [https://osm-download.etsi.org/ftp/osm-3.0-three/1st-hackfest/images/US1604.qcow2 ubuntu1604], presentation: [https://osm-download.etsi.org/ftp/osm-4.0-four/3rd-hackfest/presentations/20180626%20OSM%20Hackfest%20-%20Session%202%20-%20Creating%20a%20basic%20VNF%20and%20NS.pdf creating a basic VNF and NS]&#039;&#039;&#039;) in the following way:&lt;br /&gt;
&lt;br /&gt;
With the previous hackfest example, according [http://osm-download.etsi.org/ftp/osm-doc/vnfd.html VNF data model] you will add in VNF Descriptor:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
     volumes:&lt;br /&gt;
      - name: Storage1&lt;br /&gt;
        size: &#039;Size of the volume&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 osm ns-create --ns_name h1 --nsd_name hackfest1-ns --vim_account openstack1 --config &#039;{vnf: [ {member-vnf-index: &amp;quot;1&amp;quot;, vdu: [ {id: hackfest1VM, volume: [ {name: Storage1, vim-volume-id: 8ab156fd-0f8e-4e01-b434-a0fce63ce1cf} ] } ] } ] }&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Adding additonal parameters===&lt;br /&gt;
 &lt;br /&gt;
From release SIX (current master) additional user parameters can be added, and they land at vdu:cloud-init (Jinja2 format) and/or vnf-configuration primitives (enclosed by &amp;lt;&amp;gt;). Here is an example of VNF descriptor that uses two parameters called &amp;quot;touch_filename&amp;quot; and &amp;quot;touch_filename2&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vnfd:&lt;br /&gt;
    ...&lt;br /&gt;
    vnf-configuration:&lt;br /&gt;
        config-primitive:&lt;br /&gt;
        -   name: touch&lt;br /&gt;
            parameter:&lt;br /&gt;
            -   data-type: STRING&lt;br /&gt;
                default-value: &amp;lt;touch_filename2&amp;gt;&lt;br /&gt;
                name: filename&lt;br /&gt;
        initial-config-primitive:&lt;br /&gt;
        -   name: config&lt;br /&gt;
            parameter:&lt;br /&gt;
            -   name: ssh-hostname&lt;br /&gt;
                value: &amp;lt;rw_mgmt_ip&amp;gt;  # this paramater is internal&lt;br /&gt;
            -   name: ssh-username&lt;br /&gt;
                value: ubuntu&lt;br /&gt;
            -   name: ssh-password&lt;br /&gt;
                value: osm4u&lt;br /&gt;
            seq: &#039;1&#039;&lt;br /&gt;
        -   name: touch&lt;br /&gt;
            parameter:&lt;br /&gt;
            -   name: filename&lt;br /&gt;
                value: &amp;lt;touch_filename&amp;gt;&lt;br /&gt;
            seq: &#039;2&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And they can be provided with:&lt;br /&gt;
 --config &#039;{additionalParamsForVnf: [{member-vnf-index: &amp;quot;1&amp;quot;, additionalParams: {touch_filename: your-value,  touch_filename2: your-value2}}]}&#039;&lt;/div&gt;</summary>
		<author><name>Romeromonser</name></author>
	</entry>
</feed>