Skip to content

Commit 3d3906b

Browse files
committed
Refactor mongo-tools and update python environment
1 parent 6c81a86 commit 3d3906b

15 files changed

+895
-73
lines changed

README.md

+13-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ The repository is organized as follows:
1212
- `open5gs-aio/`: Contains Kubernetes manifest files for deploying Open5GS as an all-in-one deployment variant.
1313
- `open5gs-webui/`: Contains Kubernetes manifest files for deploying the Open5GS WebUI.
1414
- `mongodb/`: Contains Kubernetes manifest files for deploying the MongoDB database, which is a prerequisite for deploying Open5GS.
15-
- `mongo-tools`: Contains scripts for adding and listing subscribers to Open5GS mongodb database using python. Also contains sample subscriber information.
15+
- `mongo-tools`: Contains scripts for adding open5gs default account, modifying and listing subscribers, and inserting data into mongodb.
16+
- `data/`: Contains information on slices, subscribers and configuration.
1617
- `networks5g/`: Contains network attachment definitions for Open5GS. Two variants are provided: one using Macvlan and the other using Open vSwitch (OVS).
1718
- `ueransim/`: Contains Kubernetes files for running UERANSIM-based simulated gNB and UEs.
1819

@@ -28,9 +29,17 @@ To deploy Open5GS and its components, follow the deployment steps below:
2829
- For an all-in-one deployment variant, use the Kubernetes manifest files in the `open5gs-aio/` directory.
2930
- To deploy the Open5GS WebUI, use the Kubernetes manifest files in the `open5gs-webui/` directory.
3031

31-
4. The `ueransim` directory contains Kubernetes manifest files for both gNB and UEs. First, deploy UERANSIM gNB and wait for NGAP connection to succeed.
32-
5. Ensure correct UE subscriber information is inserted via the web UI. Subscriber details are found in UE config files.
33-
6. Deploy UERANSIM UEs.
32+
33+
### Using python scripts
34+
This project uses python scripts for managing subscription data and automating generation of manifests for multi-slice deployments. Use the following steps to setup a virtual environment.
35+
36+
```bash
37+
sudo apt-get install python3-pip
38+
sudo pip3 install virtualenv
39+
virtualenv venv
40+
source venv/bin/activate
41+
pip -r requirements.txt
42+
```
3443

3544
Please refer to the specific directories for more detailed instructions and usage examples.
3645

data/config.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"NUM_SLICES": 3,
3+
"NUM_SUBSCRIBERS": 4
4+
}

data/slices.json

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"slice_1": {
3+
"sst": 1,
4+
"sd": "000001",
5+
"default_indicator": true,
6+
"session": [
7+
{
8+
"name": "internet",
9+
"type": 1,
10+
"pcc_rule": [],
11+
"ambr": {
12+
"uplink": {
13+
"value": 1,
14+
"unit": 3
15+
},
16+
"downlink": {
17+
"value": 1,
18+
"unit": 3
19+
}
20+
},
21+
"qos": {
22+
"index": 9,
23+
"arp": {
24+
"priority_level": 8,
25+
"pre_emption_capability": 1,
26+
"pre_emption_vulnerability": 1
27+
}
28+
}
29+
}
30+
]
31+
},
32+
"slice_2": {
33+
"sst": 2,
34+
"sd": "000002",
35+
"default_indicator": true,
36+
"session": [
37+
{
38+
"name": "streaming",
39+
"type": 1,
40+
"pcc_rule": [],
41+
"ambr": {
42+
"uplink": {
43+
"value": 1,
44+
"unit": 3
45+
},
46+
"downlink": {
47+
"value": 1,
48+
"unit": 3
49+
}
50+
},
51+
"qos": {
52+
"index": 7,
53+
"arp": {
54+
"priority_level": 8,
55+
"pre_emption_capability": 1,
56+
"pre_emption_vulnerability": 1
57+
}
58+
}
59+
}
60+
]
61+
},
62+
"slice_3": {
63+
"sst": 3,
64+
"sd": "000003",
65+
"default_indicator": true,
66+
"session": [
67+
{
68+
"name": "dnn3",
69+
"type": 1,
70+
"pcc_rule": [],
71+
"ambr": {
72+
"uplink": {
73+
"value": 1,
74+
"unit": 3
75+
},
76+
"downlink": {
77+
"value": 1,
78+
"unit": 3
79+
}
80+
},
81+
"qos": {
82+
"index": 9,
83+
"arp": {
84+
"priority_level": 8,
85+
"pre_emption_capability": 1,
86+
"pre_emption_vulnerability": 1
87+
}
88+
}
89+
}
90+
]
91+
}
92+
}

0 commit comments

Comments
 (0)