wiki:Tutorials/EdgeComputing/OSCP

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Open Spatial Computing Platform (OSCP)

Description

OSCP Block Diagram

Resources required

Tutorial Setup

Create Extra Disk Space (if needed)

Modify /etc/hosts file to add references for named services. In real deployment, this would require modifying DNS records.

Configure extra disk (if applicable)

sudo mkfs -t xfs /dev/nvme1n1 
sudo mkdir /data 
sudo mount /dev/nvme1n1 /data 
sudo cp /etc/fstab /etc/fstab.orig 
sudo lsblk -o +UUID 

Update /etc/fstab with new line including UUID from above:

UUID=4cec62c2-7f6b-4141-86f7-8c2a38e6f3fa  /data  xfs  defaults,nofail  0  2 
sudo umount /data 
sudo mount -a 
sudo chown ubuntu:ubuntu /data 

Install Prerequisite Packages

Install npm version manager

curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n 
sudo bash n lts 
sudo npm install -g n 

Install nginx and pm2

sudo apt update 
sudo apt install nginx 
sudo npm install pm2 -g 

Install Spatial Service Discovery

Create a folder for the code and build files. The path is your choice.

mkdir /data/ssddev 
cd /data/ssddev 

Create a folder for data store. The path is your choice, but it should be added in the .env file in variable KAPPA_CORE_DIR later below.

mkdir data 
git clone https://github.com/OpenArCloud/oscp-spatial-service-discovery.git 
cd oscp-spatial-service-discovery 

Disable authentication (optional, not recommended for production deployment):

cp src/router-noauth.ts src/router.ts 

Install the dependencies and build the project:

npm install 
npm run-script build 

Add an appropriate .env file:

touch .env 
nano .env 

and make sure it contains

KAPPA_CORE_DIR="/home/native/dev/ssd_data" 
SWARM_TOPIC_PREFIX="orbit_ssd" 
AUTH0_ISSUER=https://ssd-oscp.us.auth0.com/ 
AUTH0_AUDIENCE=https://ssd.orbit-lab.org 
COUNTRIES=AT,BE,BG,CY,CZ,DE,DK,EE,ES,FI,FR,GR,HR,HU,IE,IT,LT,LV,LU,MT,NL,PL,PT,RO,SE,SI,SK,US 
PORT=4100 

WARNING: having or not having trailing slash in the domain (AUTH0_AUDIENCE) must match the entry in Auth0! In addition, the way we extract username from Java Web Tokens with jwt-decode library assumes that there is no trailing slash in the audience URI.

WARNING: the trailing / in AUTH0_ISSUER seems to be important, otherwise the client’s POST request return with error that https://ssd-oscp.us.auth0.com.well-known is not found.

Start the service:

pm2 start dist/server.js --name ssd_orbit 

Install Spatial Content Discovery Service

Create a folder for the code and build files. The path is your choice.

mkdir /data/scddev 
cd /data/scddev 

Create a folder for data store. The path is your choice, but it should be added in the .env file below

mkdir data 
git clone https://github.com/OpenArCloud/oscp-spatial-content-discovery.git 
cd oscp-spatial-content-discovery 

Disable authentication (optional, not recommended for production):

cp src/router-noauth.ts src/router.ts 

Install the dependencies and build the project:

npm install 
npm run-script build 

Add an appropriate .env file:

touch .env 
nano .env 

with

KAPPA_CORE_DIR="/home/native/dev/scd_data" 
AUTH0_ISSUER=https://scd-oscp.us.auth0.com/ 
AUTH0_AUDIENCE=https://scd.orbit-lab.org 
GEOZONE="4671654" 
TOPICS="transit,history,entertainment,general" 
PORT=3100 

WARNING: having or not having trailing slash in the domain (AUTH0_AUDIENCE) must match the entry in auth0

WARNING: the trailing / in AUTH0_ISSUER seems to be important, otherwise the client’s POST request return with error that https://scd-oscp.us.auth0.com.well-known is not found

Start the service:

pm2 start dist/server.js --name scd_orbit 

Last modified 4 years ago Last modified on Apr 3, 2022, 10:33:08 PM

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.