Skip to content
Snippets Groups Projects
Commit e092508f authored by Dimitrios Giannopoulos's avatar Dimitrios Giannopoulos
Browse files

Deployed 82e5c05c to develop in public with MkDocs 1.6.0 and mike 2.1.2

parent 0f5e36e3
No related branches found
No related tags found
No related merge requests found
...@@ -1540,8 +1540,8 @@ ...@@ -1540,8 +1540,8 @@
<td>16 GB RAM</td> <td>16 GB RAM</td>
</tr> </tr>
<tr> <tr>
<td>20 GB storage</td> <td>30 GB storage</td>
<td>40 GB storage</td> <td>50 GB storage</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -1552,7 +1552,7 @@ ...@@ -1552,7 +1552,7 @@
</ul> </ul>
<h2 id="preparing-the-environment">Preparing the environment</h2> <h2 id="preparing-the-environment">Preparing the environment</h2>
<blockquote> <blockquote>
<p>See the <a href="#Kubernetes-installation">Kubernetes section</a>, if you would like to deploy OpenSlice in a Kubernetes cluster.</p> <p>See the <a href="#kubernetes-installation">Kubernetes section</a>, if you would like to deploy OpenSlice in a Kubernetes cluster.</p>
</blockquote> </blockquote>
<h3 id="1-backup-your-previous-database-if-necessary">1. Backup your previous database if necessary:</h3> <h3 id="1-backup-your-previous-database-if-necessary">1. Backup your previous database if necessary:</h3>
<pre><code class="language-bash">sudo docker exec amysql /usr/bin/mysqldump -u root --password=letmein ostmfdb &gt; backup_ostmfdb.sql <pre><code class="language-bash">sudo docker exec amysql /usr/bin/mysqldump -u root --password=letmein ostmfdb &gt; backup_ostmfdb.sql
...@@ -1713,13 +1713,12 @@ DB_PASSWORD: password ...@@ -1713,13 +1713,12 @@ DB_PASSWORD: password
</code></pre> </code></pre>
<pre><code class="language-bash">sudo cp config.js.default config.js <pre><code class="language-bash">sudo cp config.js.default config.js
</code></pre> </code></pre>
<p>Edit the <code>config.js</code> file with the information of your domain</p> <p>Edit the <code>config.js</code> file with the information of your domain. <code>ROOTURL</code> will automatically extract the the Origin (Protocol://Domain:Port) of the deployment, but you must change <code>APIURL</code> property, if you are not aiming for a localhost installation, e.g. "https://portal.openslice.io".</p>
<p>Example file:</p>
<pre><code>{ <pre><code>{
TITLE: &quot;OpenSlice by ETSI&quot;,
WIKI: &quot;https://openslice.readthedocs.io/en/stable/&quot;,
BUGZILLA: &quot;ROOTURL/bugzilla/&quot;, BUGZILLA: &quot;ROOTURL/bugzilla/&quot;,
STATUS: &quot;ROOTURL/status/&quot;, STATUS: &quot;ROOTURL/status/&quot;,
APIURL: &quot;http://localost:13000&quot;, APIURL: &quot;http://localhost&quot;,
WEBURL: &quot;ROOTURL/nfvportal&quot;, WEBURL: &quot;ROOTURL/nfvportal&quot;,
APIOAUTHURL: &quot;ROOTURL/auth/realms/openslice&quot;, APIOAUTHURL: &quot;ROOTURL/auth/realms/openslice&quot;,
APITMFURL: &quot;ROOTURL/tmf-api/serviceCatalogManagement/v4&quot; APITMFURL: &quot;ROOTURL/tmf-api/serviceCatalogManagement/v4&quot;
...@@ -1737,13 +1736,14 @@ DB_PASSWORD: password ...@@ -1737,13 +1736,14 @@ DB_PASSWORD: password
<pre><code class="language-bash"># Starting from the root project directory <pre><code class="language-bash"># Starting from the root project directory
cd org.etsi.osl.tmf.web/src/assets/config cd org.etsi.osl.tmf.web/src/assets/config
</code></pre> </code></pre>
<p>E.g. Edit "TITLE", "WIKI", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.</p> <p>E.g. You may edit "TITLE", "WIKI", etc properties with your domain title. Also configure TMF's API and Keycloak's location for the web application, if needed.</p>
<p>Example file:</p>
<pre><code>{ <pre><code>{
&quot;TITLE&quot;: &quot;OpenSlice by ETSI&quot;, &quot;TITLE&quot;: &quot;OpenSlice by ETSI&quot;,
&quot;PORTALVERSION&quot;:&quot;2024-Q2 1.0.0-SNAPSHOT&quot;, &quot;PORTALVERSION&quot;:&quot;2024Q2&quot;,
&quot;WIKI&quot;: &quot;https://osl.etsi.org/documentation&quot;, &quot;WIKI&quot;: &quot;https://osl.etsi.org/documentation&quot;,
&quot;BUGZILLA&quot;: &quot;{BASEURL}/bugzilla/&quot;, &quot;BUGZILLA&quot;: &quot;{BASEURL}/bugzilla/&quot;,
&quot;STATUS&quot;: &quot;http://status.localhost/&quot;, &quot;STATUS&quot;: &quot;{BASEURL}/status/&quot;,
&quot;WEBURL&quot;: &quot;{BASEURL}&quot;, &quot;WEBURL&quot;: &quot;{BASEURL}&quot;,
&quot;PORTAL_REPO_APIURL&quot;: &quot;{BASEURL}/osapi&quot;, &quot;PORTAL_REPO_APIURL&quot;: &quot;{BASEURL}/osapi&quot;,
&quot;ASSURANCE_SERVICE_MGMT_APIURL&quot;: &quot;{BASEURL}/oas-api&quot;, &quot;ASSURANCE_SERVICE_MGMT_APIURL&quot;: &quot;{BASEURL}/oas-api&quot;,
...@@ -1771,7 +1771,7 @@ cd org.etsi.osl.tmf.web/src/assets/config ...@@ -1771,7 +1771,7 @@ cd org.etsi.osl.tmf.web/src/assets/config
} }
</code></pre> </code></pre>
<blockquote> <blockquote>
<p>The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of Openslice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io".</p> <p>The {BASEURL} placeholder in the file automatically detects the Origin (Protocol://Domain:Port) of the deployment and applies it to every respective property. E.g. If you are attempting a local deployment of OpenSlice, then {BASEURL} is automatically translated to "http://localhost". Similarly, you may use {BASEURL} to translate to a public deployment configuration, e.g. "https://portal.openslice.io".</p>
</blockquote> </blockquote>
<p>If further customization, apart from the default provided, is needed for branding (Logo, Footer) then <code>config.theming.json</code> needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows:</p> <p>If further customization, apart from the default provided, is needed for branding (Logo, Footer) then <code>config.theming.json</code> needs to be created in io.openslice.tmf.web/src/assets/config directory, as follows:</p>
<pre><code class="language-bash"># Starting from the root project directory <pre><code class="language-bash"># Starting from the root project directory
...@@ -1812,7 +1812,7 @@ cd org.etsi.osl.main/compose/ ...@@ -1812,7 +1812,7 @@ cd org.etsi.osl.main/compose/
<p>Login with the credentials from section <a href="#3-configure-keycloak-container-optional">Configure keycloak container</a>. Default values are:</p> <p>Login with the credentials from section <a href="#3-configure-keycloak-container-optional">Configure keycloak container</a>. Default values are:</p>
<ul> <ul>
<li>user: admin and </li> <li>user: admin and </li>
<li>password: KEYCLOAK_PASSWORD</li> <li>password: Pa55w0rd</li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -1829,21 +1829,26 @@ cd org.etsi.osl.main/compose/ ...@@ -1829,21 +1829,26 @@ cd org.etsi.osl.main/compose/
<p>If you are running in HTTPS, then "Require SSL" can be left unchanged to external requests.</p> <p>If you are running in HTTPS, then "Require SSL" can be left unchanged to external requests.</p>
</blockquote> </blockquote>
<h4 id="1-configure-redirects">1. Configure redirects</h4> <h4 id="1-configure-redirects">1. Configure redirects</h4>
<p>Navigate to realm Openslice &gt; client &gt; osapiWebClientId and change the Root URL to your domain. </p> <p>Navigate to realm Openslice &gt; Clients &gt; osapiWebClientId and change the Root URL to your domain. </p>
<p>Also, insert your domain, e.g. http://example.org/*, at: <p>Also, insert your domain, e.g. http://example.org/*, at:
* Valid Redirect URIs * Valid Redirect URIs
* Web Origins</p> * Web Origins</p>
<h4 id="2-configure-email">2. Configure email</h4> <h4 id="2-configure-email">2. Configure email</h4>
<p>Keycloak allows new users to register. Subsequently, this will also allow new users to register to the OpenSlice portal.</p> <p>Keycloak allows new users to register. Subsequently, this will also allow new users to register to the OpenSlice portal.</p>
<p>On Tab Login &gt; check User registration, Verify email, Forgot password etc.</p> <p>Navigate to realm Openslice &gt; Realm Settings &gt; Login Tab &gt; check User registration, Verify email, Forgot password etc.</p>
<p>Also, enter the details on Realm &gt; Email &gt; Enable Authentication.</p> <p>Finally, enter the details of the mail server at the Email Tab.</p>
<blockquote>
<p>Email configuration is optional for test runs, but if not provided the above functionalities (e.g. external user registration) will not be possible.</p>
</blockquote>
<h4 id="3-add-an-openslice-admin-user">3. Add an OpenSlice admin user</h4> <h4 id="3-add-an-openslice-admin-user">3. Add an OpenSlice admin user</h4>
<p>This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice admin user you must: <p>This step is mandatory so as to access the OpenSlice Web UI. To add an OpenSlice admin user you must:</p>
- Navigate to manage/users and add an OpenSlice admin user, e.g. username=admin. <ul>
- Set a password <li>Navigate to realm Openslice &gt; Users &gt; Add user</li>
- Navigate to Role Mappings and add ADMIN and MENTOR to Assigned Roles.</p> <li>Set a password</li>
<li>Upon creation, navigate to Role Mappings and add ADMIN to Assigned Roles list</li>
</ul>
<blockquote> <blockquote>
<p>That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Roles ADMIN and MENTOR guarantee full access through the Openslice UI, thus such a user is always required.</p> <p>That user is different from the Keycloak admin user. It is required to login and browse the OpenSlice Web UI. The Role ADMIN guarantee full access through the OpenSlice UI, thus such a user is always required.</p>
</blockquote> </blockquote>
<h3 id="keycloak-at-localhost">Keycloak at localhost</h3> <h3 id="keycloak-at-localhost">Keycloak at localhost</h3>
<blockquote> <blockquote>
...@@ -1873,17 +1878,8 @@ cd org.etsi.osl.tmf.web/src/assets/config ...@@ -1873,17 +1878,8 @@ cd org.etsi.osl.tmf.web/src/assets/config
</code></pre> </code></pre>
<pre><code class="language-bash">nano config.prod.json <pre><code class="language-bash">nano config.prod.json
</code></pre> </code></pre>
<p>After editing it should look like the example bellow:</p> <p>After editing, the displayed properties should look like the example below:</p>
<pre><code class="language-yaml">{ <pre><code class="language-yaml">{
&quot;TITLE&quot;: &quot;OpenSlice by ETSI&quot;,
&quot;PORTALVERSION&quot;:&quot;2023-Q3 1.2.0-SNAPSHOT&quot;,
&quot;WIKI&quot;: &quot;https://openslice.readthedocs.io/en/stable/&quot;,
&quot;BUGZILLA&quot;: &quot;{BASEURL}/bugzilla/&quot;,
&quot;STATUS&quot;: &quot;http://status.localhost/&quot;,
&quot;WEBURL&quot;: &quot;{BASEURL}&quot;,
&quot;PORTAL_REPO_APIURL&quot;: &quot;{BASEURL}/osapi&quot;,
&quot;ASSURANCE_SERVICE_MGMT_APIURL&quot;: &quot;{BASEURL}/oas-api&quot;,
&quot;APITMFURL&quot;: &quot;{BASEURL}/tmf-api&quot;,
&quot;OAUTH_CONFIG&quot; : { &quot;OAUTH_CONFIG&quot; : {
&quot;issuer&quot;: &quot;http://keycloak:8080/auth/realms/openslice&quot;, &quot;issuer&quot;: &quot;http://keycloak:8080/auth/realms/openslice&quot;,
&quot;loginUrl&quot;: &quot;http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth&quot;, &quot;loginUrl&quot;: &quot;http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/auth&quot;,
...@@ -1892,17 +1888,6 @@ cd org.etsi.osl.tmf.web/src/assets/config ...@@ -1892,17 +1888,6 @@ cd org.etsi.osl.tmf.web/src/assets/config
&quot;redirectUri&quot;: &quot;{BASEURL}/redirect&quot;, &quot;redirectUri&quot;: &quot;{BASEURL}/redirect&quot;,
&quot;logoutUrl&quot;: &quot;http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/logout&quot;, &quot;logoutUrl&quot;: &quot;http://keycloak:8080/auth/realms/openslice/protocol/openid-connect/logout&quot;,
&quot;postLogoutRedirectUri&quot;: &quot;{BASEURL}&quot;, &quot;postLogoutRedirectUri&quot;: &quot;{BASEURL}&quot;,
&quot;responseType&quot;: &quot;code&quot;,
&quot;oidc&quot;: false,
&quot;clientId&quot;: &quot;osapiWebClientId&quot;,
&quot;dummyClientSecret&quot;: &quot;secret&quot;,
&quot;requireHttps&quot;: false,
&quot;useHttpBasicAuth&quot;: true,
&quot;clearHashAfterLogin&quot;: false,
&quot;showDebugInformation&quot;: true
} }
} }
</code></pre> </code></pre>
...@@ -1916,20 +1901,13 @@ cd org.etsi.osl.portal.web/src/js ...@@ -1916,20 +1901,13 @@ cd org.etsi.osl.portal.web/src/js
</code></pre> </code></pre>
<pre><code class="language-bash">nano config.js <pre><code class="language-bash">nano config.js
</code></pre> </code></pre>
<p>after editing it should look like the example bellow:</p> <p>After editing, the displayed properties should look like the example below:</p>
<pre><code>var appConfig = angular.module('portalwebapp.config',[]); <pre><code>var appConfig = angular.module('portalwebapp.config',[]);
appConfig.factory('APIEndPointService', function() { appConfig.factory('APIEndPointService', function() {
return { return {
TITLE: &quot;OpenSlice by ETSI&quot;,
WIKI: &quot;https://openslice.readthedocs.io/en/stable/&quot;,
BUGZILLA: &quot;ROOTURL/bugzilla/&quot;,
STATUS: &quot;ROOTURL/status/&quot;,
APIURL: &quot;http://localost:13000&quot;,
WEBURL: &quot;ROOTURL/nfvportal&quot;,
APIOAUTHURL: &quot;http://keycloak:8080/auth/realms/openslice&quot;, APIOAUTHURL: &quot;http://keycloak:8080/auth/realms/openslice&quot;,
APITMFURL: &quot;ROOTURL/tmf-api/serviceCatalogManagement/v4&quot;
}; };
}); });
</code></pre> </code></pre>
......
...@@ -858,18 +858,29 @@ ...@@ -858,18 +858,29 @@
<h1 id="nfv-orchestrator-configuration">NFV Orchestrator configuration</h1> <h1 id="nfv-orchestrator-configuration">NFV Orchestrator configuration</h1>
<p>NOTE: Currently we support Open Source MANO version SEVEN/EIGHT/TEN/ELEVEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NSD packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.</p> <blockquote>
<p>Currently we support Open Source MANO version EIGHT/NINE/TEN/ELEVEN/THIRTEEN. Later versions of OSM may also be supported by the existing configuration, as from OSM 9+ the project converged to the SOL005 interface, regarding the NBI, and SOL006 (YANG model), regarding the NFV/NS packaging. Also an implementation of a generic SOL005 interface is supported, but not extensively tested.</p>
</blockquote>
<p>Configuration of your target(s) NFVOs/MANO services with Openslice is performed through the NFV portal.</p> <p>Configuration of your target(s) NFVOs/MANO services with Openslice is performed through the NFV portal.</p>
<p>Login to http://yourdomain/nfvportal/</p> <ol>
<p>Navigate to Admin-&gt;Manage MANO Platforms and pick one of the supported MANO platform(s), e.g. Name=OSMvTEN, Version=OSMvTEN and save</p> <li>
<p>Navigate to Admin-&gt;Manage MANO providers and enter a New MANO Provider:</p> <p>Login to {{yourdomain}}/nfvportal/</p>
<ul> </li>
<li>Name whatever you wish</li> <li>
<li>API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint)</li> <p>Navigate to Admin &gt; Manage MANO Platforms &gt; Add New MANO Platform, pick one of the supported MANO platform(s), e.g. Name=OSMvTHIRTEEN, Version=OSMvTHIRTEEN and save. You may edit the saved MANO platforms after this.</p>
<li>Username, password and Project of your OSM tenant.</li> </li>
</ul> <li>
<p>Check EnabledForONBOARDING, so when users onboard VNFs/NSDs they will be automatically ONBOARDED to this MANO. If left unchecked, the onboarding must be performed manually after the VNF/NSD is uploaded to the portal.</p> <p>Navigate to Admin &gt; Manage MANO providers &gt; Add New MANO Provider and enter its details:</p>
<p>Check EnabledForSYNC, if you want to support MANO-&gt;Openslice auto synchronization. When enabled, the existing VNFs/NSDs and VIMs (and any updates on them) of the registered MANO are also reflected to the portal.</p> </li>
<li>
<p>Name and description of your choice. The selected name will supplement the NFV artifacts of this provider.</p>
</li>
<li>One of the already defined MANO platforms</li>
<li>API URL Endpoint, eg: https://10.10.10.10:9999 (This is the SOL005 NBI endpoint - <em>Note the port 9999</em>)</li>
<li>Username, Password and Project of your OSM tenant.</li>
</ol>
<p>Check EnabledForONBOARDING, if you want VNF/NS packages uploaded through the UI by the user, to also be automatically ONBOARDED to this MANO (1 step process). If left unchecked, the onboarding process must be performed manually after the VNF/NS package is uploaded to the portal, by the designated UI (2 step process).</p>
<p>Check EnabledForSYNC, if you want to support the automatic synchronization of this MANO with OpenSlice. When enabled, the existing VNF/NS packages and VIMs (and any updates on them) of the registered MANO are also reflected to the portal to the respective UIs (Registered VNFs/NSDs and Manage Infrastructures). The synchronization is a continuous process that will confirm that the artifacts are still present in the MANO, updating the status field of the respective artifacts to <code>OSM_PRESENT</code>. If during this process, an artifact is deleted from the MANO, the respective status field will be updated to <code>OSM_MISSING</code>.</p>
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -2,107 +2,107 @@ ...@@ -2,107 +2,107 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> <url>
<loc>https://osl.etsi.org/develop/</loc> <loc>https://osl.etsi.org/develop/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/alarms_actions/</loc> <loc>https://osl.etsi.org/develop/alarms_actions/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/catalogs/</loc> <loc>https://osl.etsi.org/develop/catalogs/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/deployment/</loc> <loc>https://osl.etsi.org/develop/deployment/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/lcm/</loc> <loc>https://osl.etsi.org/develop/lcm/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/nfvcatalogs/</loc> <loc>https://osl.etsi.org/develop/nfvcatalogs/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/nfvoconfig/</loc> <loc>https://osl.etsi.org/develop/nfvoconfig/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/service_inventory/</loc> <loc>https://osl.etsi.org/develop/service_inventory/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/architecture/</loc> <loc>https://osl.etsi.org/develop/architecture/architecture/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/centrallog/</loc> <loc>https://osl.etsi.org/develop/architecture/centrallog/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/consumingServicesFromExternalPartners/</loc> <loc>https://osl.etsi.org/develop/architecture/consumingServicesFromExternalPartners/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/issuemgt/</loc> <loc>https://osl.etsi.org/develop/architecture/issuemgt/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/messagebus/</loc> <loc>https://osl.etsi.org/develop/architecture/messagebus/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/nfvapi/</loc> <loc>https://osl.etsi.org/develop/architecture/nfvapi/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/nfvweb/</loc> <loc>https://osl.etsi.org/develop/architecture/nfvweb/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/oauth/</loc> <loc>https://osl.etsi.org/develop/architecture/oauth/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/osom/</loc> <loc>https://osl.etsi.org/develop/architecture/osom/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/tmfapi/</loc> <loc>https://osl.etsi.org/develop/architecture/tmfapi/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/architecture/tmfweb/</loc> <loc>https://osl.etsi.org/develop/architecture/tmfweb/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/contributing/developing/</loc> <loc>https://osl.etsi.org/develop/contributing/developing/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>https://osl.etsi.org/develop/contributing/wishlist/</loc> <loc>https://osl.etsi.org/develop/contributing/wishlist/</loc>
<lastmod>2024-06-25</lastmod> <lastmod>2024-06-26</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
</urlset> </urlset>
\ No newline at end of file
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment