Wei-Yu Chen | 49950b9 | 2021-11-08 19:19:18 +0800 | [diff] [blame] | 1 | --- |
| 2 | ################################################################################ |
| 3 | # Copyright 2020 The Magma Authors. |
| 4 | |
| 5 | # This source code is licensed under the BSD-style license found in the |
| 6 | # LICENSE file in the root directory of this source tree. |
| 7 | |
| 8 | # Unless required by applicable law or agreed to in writing, software |
| 9 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 11 | # See the License for the specific language governing permissions and |
| 12 | # limitations under the License. |
| 13 | ################################################################################ |
| 14 | |
| 15 | # log_level is set in mconfig. it can be overridden here |
| 16 | |
| 17 | print_grpc_payload: False |
| 18 | |
| 19 | # List of services for magmad to control |
| 20 | magma_services: |
| 21 | # - control_proxy |
| 22 | # - subscriberdb |
| 23 | # - mobilityd |
| 24 | # - directoryd |
| 25 | - enodebd |
| 26 | # - sessiond |
| 27 | # - mme |
| 28 | # - pipelined |
| 29 | # - envoy_controller |
| 30 | # - redis |
| 31 | # - dnsd |
| 32 | # - policydb |
| 33 | # - state |
| 34 | # - eventd |
| 35 | # - smsd |
| 36 | # - ctraced |
| 37 | # - health |
| 38 | # - kernsnoopd |
| 39 | # - liagentd |
| 40 | |
| 41 | # List of services that don't provide service303 interface |
| 42 | # non_service303_services: |
| 43 | # - control_proxy |
| 44 | # - dnsd |
| 45 | # - redis |
| 46 | # - td-agent-bit |
| 47 | |
| 48 | # List of all possible dynamic services (enabled from gateway.mconfig) |
| 49 | # registered_dynamic_services: |
| 50 | # - redirectd |
| 51 | # - td-agent-bit |
| 52 | # - monitord |
| 53 | # - dpid |
| 54 | |
| 55 | # A list of group of services which are linked together in systemd |
| 56 | # linked_services: |
| 57 | # - |
| 58 | # - mme |
| 59 | # - pipelined |
| 60 | # - mobilityd |
| 61 | # - sessiond |
| 62 | |
| 63 | # list of services that are required to have meta before checking in |
| 64 | # (meta = data gathered via MagmaService.register_get_status_callback()) |
| 65 | # skip limit specified by config 'max_skipped_checkins' |
| 66 | skip_checkin_if_missing_meta_services: [] |
| 67 | |
| 68 | # default = 3, use 0 for "infinity" |
| 69 | # max_skipped_checkins: 3 |
| 70 | |
| 71 | # Init system to use to control services |
| 72 | # Supported systems include: [systemd, runit, docker] |
| 73 | init_system: systemd |
| 74 | |
| 75 | # bootstrap_manager config |
| 76 | bootstrap_config: |
| 77 | # location of the challenge key |
| 78 | challenge_key: /var/opt/magma/certs/gw_challenge.key |
| 79 | |
| 80 | # Flags indicating the magmad features to be enabled |
| 81 | enable_config_streamer: True |
| 82 | enable_upgrade_manager: True |
| 83 | enable_network_monitor: True |
| 84 | enable_sync_rpc: True |
| 85 | enable_kernel_version_checking: True |
| 86 | |
| 87 | network_monitor_config: |
| 88 | # How long to sleep between statistic collections |
| 89 | sampling_period: 60 |
| 90 | |
| 91 | # ping stats config |
| 92 | ping_config: |
| 93 | hosts: |
| 94 | - 8.8.8.8 |
| 95 | num_packets: 1 |
| 96 | timeout_secs: 20 |
| 97 | |
| 98 | upgrader_factory: |
| 99 | # Module where the UpgraderFactory implementation is located |
| 100 | module: magma.magmad.upgrade.magma_upgrader |
| 101 | # Name of the UpgraderFactory implementation |
| 102 | class: MagmaUpgraderFactory |
| 103 | mconfig_modules: |
| 104 | - orc8r.protos.mconfig.mconfigs_pb2 |
| 105 | - lte.protos.mconfig.mconfigs_pb2 |
| 106 | # - feg.protos.mconfig.mconfigs_pb2 |
| 107 | |
| 108 | metricsd: |
| 109 | log_level: INFO |
| 110 | collect_interval: 60 # How frequently to collect metrics samples in seconds |
| 111 | sync_interval: 60 # How frequently to sync to cloud in seconds |
| 112 | grpc_timeout: 30 # Timeout in seconds |
| 113 | max_grpc_msg_size_mb: 4 # Max message size for gRPC channel in MBs |
| 114 | |
| 115 | # An optional function to mutate metrics before they are sent to the cloud |
| 116 | # A string in the form path.to.module.fn_name |
| 117 | # @see magma.magmad.metrics_collector.example_metrics_postprocessor |
| 118 | post_processing_fn: magma.magmad.metrics_collector.do_nothing_metrics_postprocessor |
| 119 | # List of services for metricsd to poll |
| 120 | services: |
| 121 | - subscriberdb |
| 122 | - mobilityd |
| 123 | - mme |
| 124 | - magmad |
| 125 | - enodebd |
| 126 | - pipelined |
| 127 | - state |
| 128 | - sessiond |
| 129 | # - kernsnoopd |
| 130 | |
| 131 | generic_command_config: |
| 132 | module: magma.magmad.generic_command.shell_command_executor |
| 133 | class: ShellCommandExecutor |
| 134 | shell_commands: |
| 135 | - name: bash |
| 136 | command: "bash {}" |
| 137 | allow_params: True |
| 138 | - name: fab |
| 139 | command: "fab {}" |
| 140 | allow_params: True |
| 141 | - name: echo |
| 142 | command: "echo {}" |
| 143 | allow_params: True |
| 144 | - name: reboot_enodeb |
| 145 | command: "enodebd_cli.py reboot_enodeb {}" |
| 146 | allow_params: True |
| 147 | - name: reboot_all_enodeb |
| 148 | command: "enodebd_cli.py reboot_all_enodeb" |
| 149 | allow_params: False |
| 150 | - name: health |
| 151 | command: "health_cli.py {}" |
| 152 | allow_params: True |
| 153 | - name: agw_health |
| 154 | command: "agw_health_cli.py {}" |
| 155 | allow_params: True |
| 156 | - name: get_flows |
| 157 | command: "sudo pipelined_cli.py debug display_flows" |
| 158 | allow_params: False |
| 159 | - name: get_subscriber_table |
| 160 | command: "mobility_cli.py get_subscriber_table" |
| 161 | allow_params: False |
| 162 | - name: check_stateless |
| 163 | command: "magmad_cli.py check_stateless" |
| 164 | allow_params: False |
| 165 | - name: configure_stateless |
| 166 | command: "magmad_cli.py config_stateless {}" |
| 167 | allow_params: True |
| 168 | |
| 169 | # Services for which magmad grpc status check restart recovery is enabled |
| 170 | services_to_restart: |
| 171 | - pipelined |
| 172 | |
| 173 | # How many times can grpc status check fail before restarting the services above |
| 174 | restart_timeout_threshold: 15 |