You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-1
Original file line number
Diff line number
Diff line change
@@ -165,7 +165,14 @@ In this deployment, Open5GS is configured to support two network slices. Each sl
165
165
### Deploy Open5GS components
166
166
To deploy Open5GS, apply the Kubernetes manifest files in the open5gs/ directory. These manifest files define each Open5GS NF as a separate pod, allowing the platform to operate in a distributed fashion.
167
167
168
-
Select one of the following deployment options based on your monitoring needs:
168
+
Select one of the following deployment options based on your monitoring needs - **Standard Deployment** or **Deployment with Monarch**.
169
+
170
+
> [!WARNING]
171
+
> Deploy only one option at a time.
172
+
173
+
> [!NOTE]
174
+
> To switch deployments (e.g., from Standard to Monarch), first delete the current deployment with
175
+
> `kubectl delete -k open5gs -n open5gs`. Then proceed with the other deployment option.
169
176
170
177
#### 1. Standard Deployment:
171
178
Deploys Open5GS network functions as separate pods for a distributed setup.
Using the CLI to add subscribers and slices is particularly efficient when dealing with multiple slices (e.g., 10 or more). This method enables batch additions and can be adjusted via the config.yaml file in the data directory.
3
+
Using the CLI to add subscribers and slices is particularly efficient when dealing with multiple slices (e.g., 10 or more). This method enables batch additions and can be adjusted via the configuration options described below.
4
4
5
-
## Configuration File (config.yaml)
6
-
The default configuration (data/config.yaml) is shown below:
The default configuration (mongo-tools/generate-data.py) is shown below:
7
7
8
-
```yaml
9
-
NUM_SLICES: 2
10
-
NUM_SUBSCRIBERS: 0# simulated subscribers, one per slice e.g., ue_101, ue_201 etc.
11
-
COTS_UE: false # Test SIMs used in COTS UE (Pixel 7 Pro)
12
-
SIM_UE: true # 3 simulated UEs (ue1, ue2, ue3) for testing with UERANSIM
8
+
```python
9
+
DEFAULT_CONFIG= {
10
+
"NUM_SLICES": 2, # Number of network slices to create
11
+
"NUM_COTS_SUBSCRIBERS": 0, # Number of COTS subscribers
12
+
"NUM_SAMPLE_SUBSCRIBERS": 2, # Number of simulated subscribers
13
+
"NUM_AUTO_GENERATED_SUBSCRIBERS": 0, # Number of auto-generated subscribers (for MSD deployment only)
14
+
}
13
15
```
14
16
15
17
### Types of Subscribers
16
18
17
19
Our setup supports three types of subscribers:
18
20
19
-
- **COTS_UE**: Refers to Commercial Off-The-Shelf UEs configured with programmable SIM cards, used with USRP-based gNBs. Currently, these are configured for the UWaterloo lab.
20
-
- **SIM_UE**: Denotes simulated UEs, such as subscriber_1, subscriber_2, and subscriber_3, for testing with UERANSIM. By default:
21
+
-**NUM_COTS_SUBSCRIBERS**: Refers to Commercial Off-The-Shelf UEs configured with programmable SIM cards, used with USRP-based gNBs. Currently, these are configured for the UWaterloo lab.
22
+
-**NUM_SAMPLE_SUBSCRIBERS**: Denotes simulated UEs, such as subscriber_1, subscriber_2, and subscriber_3, for testing with UERANSIM. By default:
21
23
- subscriber_1 and subscriber_3 connect to slice 1.
22
24
- subscriber_2 connects to slice 2.
23
-
- **NUM_SUBSCRIBERS**: Specifies the number of programmatically added simulated UEs. Each UE is assigned to slices in a round-robin fashion: For instance, if NUM_SUBSCRIBERS is 3 and NUM_SLICES is 2, the subscribers will be added as follows:
25
+
-**NUM_AUTO_GENERATED_SUBSCRIBERS**: Specifies the number of automatically generated simulated UEs. Each UE is assigned to slices in a round-robin fashion: For instance, if NUM_SUBSCRIBERS is 3 and NUM_SLICES is 2, the subscribers will be added as follows:
24
26
- Slice 1: subscriber_101
25
27
- Slice 2: subscriber_201
26
28
- Slice 1: subscriber_102
@@ -33,16 +35,20 @@ Our setup supports three types of subscribers:
33
35
## Adding subscribers
34
36
Ensure your virtual environment is active as described in as described in [Set up a virtual environment](README.md#1-set-up-a-virtual-environment).
35
37
36
-
1. Run the generate-data.py script, which reads data/config.yaml and generates two files: data/slices.yaml and data/subscribers.yaml.
38
+
1. Run the generate-data.py script, generates two files: `data/slices.yaml` and `data/subscribers.yaml`.
2024-10-31 11:38:29 | INFO | Creating 2 slices and 0 subscribers
44
-
2024-10-31 11:38:29 | INFO | Creating slices and saving to data/slices.yaml
45
-
2024-10-31 11:38:29 | INFO | Creating subscribers and saving to data/subscribers.yaml
45
+
2024-11-06 16:36:02 | INFO | Loading existing data...
46
+
2024-11-06 16:36:02 | INFO | Creating 2 slices ...
47
+
2024-11-06 16:36:02 | INFO | Generating 0 new slices...
48
+
2024-11-06 16:36:02 | INFO | Saving slices to data/slices.yaml
49
+
2024-11-06 16:36:02 | INFO | Adding 2 sample subscribers ...
50
+
2024-11-06 16:36:02 | INFO | Saving subscribers to data/subscribers.yaml
51
+
2024-11-06 16:36:02 | INFO | Slice and subscriber creation complete.
46
52
```
47
53
2. Run add-subscribers.py to add the generated subscribers.
48
54
@@ -54,9 +60,10 @@ Ensure your virtual environment is active as described in as described in [Set u
54
60
```bash
55
61
2024-10-31 11:54:22 | INFO | Added subscriber_1
56
62
2024-10-31 11:54:22 | INFO | Added subscriber_2
57
-
2024-10-31 11:54:22 | INFO | Added subscriber_3
58
63
```
59
64
65
+
> [!NOTE]
66
+
> The default configuration will add 2 sample subscribers. To add a third sample subsciber, edit the configuration variable `NUM_SAMPLE_SUBSCRIBERS` to 3, then re-run `generate.py` and `add-subscribers.py`
60
67
61
68
3. You can verify if the subscribers were added with
62
69
```bash
@@ -66,7 +73,6 @@ Ensure your virtual environment is active as described in as described in [Set u
66
73
```
67
74
2024-10-31 11:55:36 | INFO | subscriber_1
68
75
2024-10-31 11:55:36 | INFO | subscriber_2
69
-
2024-10-31 11:55:36 | INFO | subscriber_3
70
76
```
71
77
4. To delete all subscribers, use delete-subscribers.py.
72
78
```bash
@@ -76,5 +82,4 @@ Example output:
76
82
```bash
77
83
2024-10-31 11:56:55 | INFO | Deleted 001010000000001
78
84
2024-10-31 11:56:55 | INFO | Deleted 001010000000002
79
-
2024-10-31 11:56:55 | INFO | Deleted 001010000000003
0 commit comments