From d886e49192b7c7506fa1a622797a517325cbb969 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 10:43:13 -0700 Subject: [PATCH 01/30] Set config hash max retry times --- forch/forchestrator.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index acf96cf3d..7cee07621 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,6 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 +_CONFIG_HASH_MAX_RETRY = 5 _TARGET_FAUCET_METRICS = ( 'port_status', @@ -113,6 +114,9 @@ def __init__(self, config): self._metrics = None self._varz_proxy = None + self._config_hash_retry = 0 + self._config_hash_max_retry = os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY) + self._lock = threading.Lock() def initialize(self): @@ -436,7 +440,15 @@ def _restore_states(self): def _restore_faucet_config(self, timestamp, config_hash): config_info, faucet_dps, _ = self._get_faucet_config() self._update_config_warning_varz() - assert config_hash == config_info['hashes'], 'config hash info does not match' + + if config_hash == config_info['hashes']: + self._config_hash_retry = 0 + else: + assert ( + self._config_hash_retry < self._config_hash_max_retry, + f'config hash info does not match after {self._config_hash_max_retry} retries') + self._config_hash_retry += 1 + self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) def _process_config_change(self, event): From c4a9f205beb16d39b8c4c7490322ee0c963bb8e2 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 10:48:10 -0700 Subject: [PATCH 02/30] fix assert --- forch/forchestrator.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 7cee07621..6f51c09f1 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -444,8 +444,7 @@ def _restore_faucet_config(self, timestamp, config_hash): if config_hash == config_info['hashes']: self._config_hash_retry = 0 else: - assert ( - self._config_hash_retry < self._config_hash_max_retry, + assert self._config_hash_retry < self._config_hash_max_retry, ( f'config hash info does not match after {self._config_hash_max_retry} retries') self._config_hash_retry += 1 From 2c9d8a95aad32cee11e6faa3b9e64b534aaca77b Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 10:51:25 -0700 Subject: [PATCH 03/30] add logging --- forch/forchestrator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 6f51c09f1..a539ca2d4 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -447,6 +447,7 @@ def _restore_faucet_config(self, timestamp, config_hash): assert self._config_hash_retry < self._config_hash_max_retry, ( f'config hash info does not match after {self._config_hash_max_retry} retries') self._config_hash_retry += 1 + LOGGER.warning('Config hash does not match. Retry: %s', self._config_hash_retry) self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) From 10504d9fa248c22dbf54697cd523180c77d5dd00 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:27:57 -0700 Subject: [PATCH 04/30] changes --- forch/forchestrator.py | 8 +++++--- proto/forch_configuration.proto | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index a539ca2d4..e1a252440 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_MAX_RETRY = 5 +_CONFIG_HASH_MAX_RETRY_DEFAULT = 5 _TARGET_FAUCET_METRICS = ( 'port_status', @@ -115,7 +115,9 @@ def __init__(self, config): self._varz_proxy = None self._config_hash_retry = 0 - self._config_hash_max_retry = os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY) + self._config_hash_max_retry = ( + self._config.faucet_config_processing.config_hash_max_retry or + os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY_DEFAULT)) self._lock = threading.Lock() @@ -445,7 +447,7 @@ def _restore_faucet_config(self, timestamp, config_hash): self._config_hash_retry = 0 else: assert self._config_hash_retry < self._config_hash_max_retry, ( - f'config hash info does not match after {self._config_hash_max_retry} retries') + f'Config hash info does not match after {self._config_hash_max_retry} retries') self._config_hash_retry += 1 LOGGER.warning('Config hash does not match. Retry: %s', self._config_hash_retry) diff --git a/proto/forch_configuration.proto b/proto/forch_configuration.proto index 309764b52..82e3088ce 100644 --- a/proto/forch_configuration.proto +++ b/proto/forch_configuration.proto @@ -31,6 +31,9 @@ message ForchConfig { // configuration for switches monitoring DataplaneMonitoring dataplane_monitoring = 8; + + // configuration for facuet config processing + FaucetConfigProcessing facuet_config_processing = 9; } /* @@ -237,3 +240,11 @@ message DataplaneMonitoring { // threshold of number of packets per second for each vlan; indexed by vlan map vlan_pkt_per_sec_thresholds = 2; } + +/* + * Parameters for Faucet config porcessing + */ +message FaucetConfigProcessing { + // maximum retry times for Faucet config hash checking + int32 config_hash_max_retry = 1; +} \ No newline at end of file From 8a84ca4f6aa8ee7345413b22b400e26bb04c0afd Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:28:45 -0700 Subject: [PATCH 05/30] build proto --- forch/proto/acl_state_pb2.py | 13 +- forch/proto/authentication_pb2.py | 10 +- forch/proto/building_schema_pb2.py | 40 ++-- forch/proto/cpn_config_pb2.py | 22 +- forch/proto/cpn_state_pb2.py | 56 ++--- forch/proto/dataplane_state_pb2.py | 80 ++++--- forch/proto/devices_state_pb2.py | 40 ++-- forch/proto/faucet_event_pb2.py | 172 ++++++++------- forch/proto/forch_configuration_pb2.py | 286 +++++++++++++++---------- forch/proto/host_path_pb2.py | 12 +- forch/proto/list_hosts_pb2.py | 46 ++-- forch/proto/path_node_pb2.py | 10 +- forch/proto/process_state_pb2.py | 89 ++++---- forch/proto/shared_constants_pb2.py | 121 +++++++---- forch/proto/switch_state_pb2.py | 121 ++++++----- forch/proto/system_state_pb2.py | 72 ++++--- public/protos.hash | 2 +- public/protos.html | 35 +++ 18 files changed, 745 insertions(+), 482 deletions(-) diff --git a/forch/proto/acl_state_pb2.py b/forch/proto/acl_state_pb2.py index 7e262e17b..9e41d866b 100644 --- a/forch/proto/acl_state_pb2.py +++ b/forch/proto/acl_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/acl_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1b\x66orch/proto/acl_state.proto\"t\n\x08\x41\x43LState\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x05rules\x18\x02 \x03(\x0b\x32\x13.ACLState.RuleState\x1a\x36\n\tRuleState\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x14\n\x0cpacket_count\x18\x03 \x01(\x05\x62\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='description', full_name='ACLState.RuleState.description', index=0, @@ -37,14 +39,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='packet_count', full_name='ACLState.RuleState.packet_count', index=1, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -67,6 +69,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='ACLState.name', index=0, @@ -74,14 +77,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='rules', full_name='ACLState.rules', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/authentication_pb2.py b/forch/proto/authentication_pb2.py index b0adb674e..c861b45b2 100644 --- a/forch/proto/authentication_pb2.py +++ b/forch/proto/authentication_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/authentication.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n forch/proto/authentication.proto\">\n\nAuthResult\x12\x11\n\tdevice_id\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x0f\n\x07segment\x18\x03 \x01(\tb\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='device_id', full_name='AuthResult.device_id', index=0, @@ -37,21 +39,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='role', full_name='AuthResult.role', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='segment', full_name='AuthResult.segment', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/building_schema_pb2.py b/forch/proto/building_schema_pb2.py index 4138ea118..e954af0e4 100644 --- a/forch/proto/building_schema_pb2.py +++ b/forch/proto/building_schema_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/building_schema.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n!forch/proto/building_schema.proto\"\x93\x05\n\x0e\x42uildingSchema\x12\x30\n\tmac_addrs\x18\x01 \x03(\x0b\x32\x1d.BuildingSchema.MacAddrsEntry\x1aK\n\rMacAddrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.BuildingSchema.DeviceInfo:\x02\x38\x01\x1a\xbb\x01\n\nDeviceInfo\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12@\n\x0b\x63ontrollers\x18\x03 \x03(\x0b\x32+.BuildingSchema.DeviceInfo.ControllersEntry\x1aN\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.BuildingSchema.Controller:\x02\x38\x01\x1a\x9a\x01\n\nController\x12>\n\ncontrolees\x18\x01 \x03(\x0b\x32*.BuildingSchema.Controller.ControleesEntry\x1aL\n\x0f\x43ontroleesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.BuildingSchema.Controlee:\x02\x38\x01\x1a\x96\x01\n\tControlee\x12:\n\tmac_addrs\x18\x01 \x03(\x0b\x32\'.BuildingSchema.Controlee.MacAddrsEntry\x1aM\n\rMacAddrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.BuildingSchema.DeviceTarget:\x02\x38\x01\x1a\x0e\n\x0c\x44\x65viceTargetb\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='BuildingSchema.MacAddrsEntry.key', index=0, @@ -37,14 +39,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='BuildingSchema.MacAddrsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -67,6 +69,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='BuildingSchema.DeviceInfo.ControllersEntry.key', index=0, @@ -74,14 +77,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='BuildingSchema.DeviceInfo.ControllersEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -104,6 +107,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='BuildingSchema.DeviceInfo.type', index=0, @@ -111,21 +115,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='group', full_name='BuildingSchema.DeviceInfo.group', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='controllers', full_name='BuildingSchema.DeviceInfo.controllers', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -148,6 +152,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='BuildingSchema.Controller.ControleesEntry.key', index=0, @@ -155,14 +160,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='BuildingSchema.Controller.ControleesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -185,6 +190,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='controlees', full_name='BuildingSchema.Controller.controlees', index=0, @@ -192,7 +198,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -215,6 +221,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='BuildingSchema.Controlee.MacAddrsEntry.key', index=0, @@ -222,14 +229,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='BuildingSchema.Controlee.MacAddrsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -252,6 +259,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='mac_addrs', full_name='BuildingSchema.Controlee.mac_addrs', index=0, @@ -259,7 +267,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -282,6 +290,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -305,6 +314,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='mac_addrs', full_name='BuildingSchema.mac_addrs', index=0, @@ -312,7 +322,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/cpn_config_pb2.py b/forch/proto/cpn_config_pb2.py index 35f005ca2..478f2f511 100644 --- a/forch/proto/cpn_config_pb2.py +++ b/forch/proto/cpn_config_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/cpn_config.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1c\x66orch/proto/cpn_config.proto\"\x90\x01\n\tCpnConfig\x12+\n\tcpn_nodes\x18\x01 \x03(\x0b\x32\x18.CpnConfig.CpnNodesEntry\x12\x15\n\rping_interval\x18\x02 \x01(\x05\x1a?\n\rCpnNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.CpnAttributes:\x02\x38\x01\"L\n\rCpnAttributes\x12\x0e\n\x06\x63pn_ip\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x0e\n\x06vendor\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\tb\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='CpnConfig.CpnNodesEntry.key', index=0, @@ -37,14 +39,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='CpnConfig.CpnNodesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -67,6 +69,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='cpn_nodes', full_name='CpnConfig.cpn_nodes', index=0, @@ -74,14 +77,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='ping_interval', full_name='CpnConfig.ping_interval', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -105,6 +108,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='cpn_ip', full_name='CpnAttributes.cpn_ip', index=0, @@ -112,28 +116,28 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='role', full_name='CpnAttributes.role', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vendor', full_name='CpnAttributes.vendor', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='model', full_name='CpnAttributes.model', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/cpn_state_pb2.py b/forch/proto/cpn_state_pb2.py index 8a3464337..43df1dbe3 100644 --- a/forch/proto/cpn_state_pb2.py +++ b/forch/proto/cpn_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/cpn_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1b\x66orch/proto/cpn_state.proto\x1a\x1c\x66orch/proto/cpn_config.proto\x1a\"forch/proto/shared_constants.proto\"\xbd\x05\n\x08\x43pnState\x12*\n\tcpn_nodes\x18\x01 \x03(\x0b\x32\x17.CpnState.CpnNodesEntry\x12\x1f\n\tcpn_state\x18\x02 \x01(\x0e\x32\x0c.State.State\x12\x18\n\x10\x63pn_state_detail\x18\x03 \x01(\t\x12\x1e\n\x16\x63pn_state_change_count\x18\x04 \x01(\x05\x12\x1d\n\x15\x63pn_state_last_update\x18\x05 \x01(\t\x12\x1d\n\x15\x63pn_state_last_change\x18\x06 \x01(\t\x12\x18\n\x10system_state_url\x18\x07 \x01(\t\x1a\x42\n\rCpnNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.CpnState.CpnNode:\x02\x38\x01\x1a\xc9\x01\n\x07\x43pnNode\x12\"\n\nattributes\x18\x01 \x01(\x0b\x32\x0e.CpnAttributes\x12\x1b\n\x05state\x18\x02 \x01(\x0e\x32\x0c.State.State\x12+\n\x0cping_results\x18\x03 \x01(\x0b\x32\x15.CpnState.PingResults\x12\x1a\n\x12state_change_count\x18\x04 \x01(\x05\x12\x19\n\x11state_last_update\x18\x05 \x01(\t\x12\x19\n\x11state_last_change\x18\x06 \x01(\t\x1a\x81\x01\n\x0bPingResults\x12\x13\n\x0btransmitted\x18\x01 \x01(\x05\x12\x10\n\x08received\x18\x02 \x01(\x05\x12\x17\n\x0floss_percentage\x18\x03 \x01(\x05\x12\x0f\n\x07time_ms\x18\x04 \x01(\x05\x12!\n\x06rtt_ms\x18\x05 \x01(\x0b\x32\x11.CpnState.RttInfo\x1a>\n\x07RttInfo\x12\x0b\n\x03min\x18\x01 \x01(\x02\x12\x0b\n\x03\x61vg\x18\x02 \x01(\x02\x12\x0b\n\x03max\x18\x03 \x01(\x02\x12\x0c\n\x04mdev\x18\x04 \x01(\x02\x62\x06proto3' , dependencies=[forch_dot_proto_dot_cpn__config__pb2.DESCRIPTOR,forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='CpnState.CpnNodesEntry.key', index=0, @@ -40,14 +42,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='CpnState.CpnNodesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -70,6 +72,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='attributes', full_name='CpnState.CpnNode.attributes', index=0, @@ -77,42 +80,42 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state', full_name='CpnState.CpnNode.state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='ping_results', full_name='CpnState.CpnNode.ping_results', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state_change_count', full_name='CpnState.CpnNode.state_change_count', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state_last_update', full_name='CpnState.CpnNode.state_last_update', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state_last_change', full_name='CpnState.CpnNode.state_last_change', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -135,6 +138,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='transmitted', full_name='CpnState.PingResults.transmitted', index=0, @@ -142,35 +146,35 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='received', full_name='CpnState.PingResults.received', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='loss_percentage', full_name='CpnState.PingResults.loss_percentage', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='time_ms', full_name='CpnState.PingResults.time_ms', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='rtt_ms', full_name='CpnState.PingResults.rtt_ms', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -193,6 +197,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='min', full_name='CpnState.RttInfo.min', index=0, @@ -200,28 +205,28 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='avg', full_name='CpnState.RttInfo.avg', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='max', full_name='CpnState.RttInfo.max', index=2, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='mdev', full_name='CpnState.RttInfo.mdev', index=3, number=4, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -244,6 +249,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='cpn_nodes', full_name='CpnState.cpn_nodes', index=0, @@ -251,49 +257,49 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpn_state', full_name='CpnState.cpn_state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpn_state_detail', full_name='CpnState.cpn_state_detail', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpn_state_change_count', full_name='CpnState.cpn_state_change_count', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpn_state_last_update', full_name='CpnState.cpn_state_last_update', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpn_state_last_change', full_name='CpnState.cpn_state_last_change', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='CpnState.system_state_url', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/dataplane_state_pb2.py b/forch/proto/dataplane_state_pb2.py index f9fc33534..66e455f64 100644 --- a/forch/proto/dataplane_state_pb2.py +++ b/forch/proto/dataplane_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/dataplane_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n!forch/proto/dataplane_state.proto\x1a\"forch/proto/shared_constants.proto\"\x97\n\n\x0e\x44\x61taplaneState\x12&\n\x06switch\x18\x01 \x01(\x0b\x32\x16.DataplaneState.Switch\x12$\n\x05stack\x18\x02 \x01(\x0b\x32\x15.DataplaneState.Links\x12&\n\x06\x65gress\x18\x03 \x01(\x0b\x32\x16.DataplaneState.Egress\x12)\n\x05vlans\x18\x04 \x03(\x0b\x32\x1a.DataplaneState.VlansEntry\x12%\n\x0f\x64\x61taplane_state\x18\x05 \x01(\x0e\x32\x0c.State.State\x12\x1e\n\x16\x64\x61taplane_state_detail\x18\x06 \x01(\t\x12$\n\x1c\x64\x61taplane_state_change_count\x18\x07 \x01(\x05\x12#\n\x1b\x64\x61taplane_state_last_change\x18\x08 \x01(\t\x12\x18\n\x10system_state_url\x18\t \x01(\t\x1aG\n\nVlansEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.DataplaneState.VLANState:\x02\x38\x01\x1a\xd4\x01\n\x06Switch\x12\x36\n\x08switches\x18\x01 \x03(\x0b\x32$.DataplaneState.Switch.SwitchesEntry\x12!\n\x19switch_state_change_count\x18\x02 \x01(\x05\x12 \n\x18switch_state_last_change\x18\x03 \x01(\t\x1aM\n\rSwitchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.DataplaneState.SwitchStatus:\x02\x38\x01\x1a\xb9\x01\n\x05Links\x12/\n\x05links\x18\x01 \x03(\x0b\x32 .DataplaneState.Links.LinksEntry\x12\x1a\n\x12links_change_count\x18\x02 \x01(\x05\x12\x19\n\x11links_last_change\x18\x03 \x01(\t\x1aH\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.DataplaneState.LinkStatus:\x02\x38\x01\x1a\xc1\x02\n\x06\x45gress\x12\"\n\x0c\x65gress_state\x18\x01 \x01(\x0e\x32\x0c.State.State\x12\x1b\n\x13\x65gress_state_detail\x18\x02 \x01(\t\x12!\n\x19\x65gress_state_change_count\x18\x03 \x01(\x05\x12 \n\x18\x65gress_state_last_change\x18\x04 \x01(\t\x12 \n\x18\x65gress_state_last_update\x18\x05 \x01(\t\x12\x13\n\x0b\x61\x63tive_root\x18\x06 \x01(\t\x12\x30\n\x05links\x18\x07 \x03(\x0b\x32!.DataplaneState.Egress.LinksEntry\x1aH\n\nLinksEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.DataplaneState.LinkStatus:\x02\x38\x01\x1a\x32\n\x0cSwitchStatus\x12\"\n\x0cswitch_state\x18\x01 \x01(\x0e\x32\x0c.State.State\x1a.\n\nLinkStatus\x12 \n\nlink_state\x18\x01 \x01(\x0e\x32\x0c.State.State\x1a\x34\n\tVLANState\x12\'\n\x11packet_rate_state\x18\x01 \x01(\x0e\x32\x0c.State.Stateb\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DataplaneState.VlansEntry.key', index=0, @@ -39,14 +41,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DataplaneState.VlansEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -69,6 +71,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DataplaneState.Switch.SwitchesEntry.key', index=0, @@ -76,14 +79,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DataplaneState.Switch.SwitchesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -106,6 +109,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switches', full_name='DataplaneState.Switch.switches', index=0, @@ -113,21 +117,21 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_change_count', full_name='DataplaneState.Switch.switch_state_change_count', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_last_change', full_name='DataplaneState.Switch.switch_state_last_change', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -150,6 +154,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DataplaneState.Links.LinksEntry.key', index=0, @@ -157,14 +162,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DataplaneState.Links.LinksEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -187,6 +192,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='links', full_name='DataplaneState.Links.links', index=0, @@ -194,21 +200,21 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='links_change_count', full_name='DataplaneState.Links.links_change_count', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='links_last_change', full_name='DataplaneState.Links.links_last_change', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -231,6 +237,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DataplaneState.Egress.LinksEntry.key', index=0, @@ -238,14 +245,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DataplaneState.Egress.LinksEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -268,6 +275,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='egress_state', full_name='DataplaneState.Egress.egress_state', index=0, @@ -275,49 +283,49 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_state_detail', full_name='DataplaneState.Egress.egress_state_detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_state_change_count', full_name='DataplaneState.Egress.egress_state_change_count', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_state_last_change', full_name='DataplaneState.Egress.egress_state_last_change', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_state_last_update', full_name='DataplaneState.Egress.egress_state_last_update', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='active_root', full_name='DataplaneState.Egress.active_root', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='links', full_name='DataplaneState.Egress.links', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -340,6 +348,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch_state', full_name='DataplaneState.SwitchStatus.switch_state', index=0, @@ -347,7 +356,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -370,6 +379,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='link_state', full_name='DataplaneState.LinkStatus.link_state', index=0, @@ -377,7 +387,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -400,6 +410,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='packet_rate_state', full_name='DataplaneState.VLANState.packet_rate_state', index=0, @@ -407,7 +418,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -430,6 +441,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch', full_name='DataplaneState.switch', index=0, @@ -437,63 +449,63 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stack', full_name='DataplaneState.stack', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress', full_name='DataplaneState.egress', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlans', full_name='DataplaneState.vlans', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_state', full_name='DataplaneState.dataplane_state', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_state_detail', full_name='DataplaneState.dataplane_state_detail', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_state_change_count', full_name='DataplaneState.dataplane_state_change_count', index=6, number=7, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_state_last_change', full_name='DataplaneState.dataplane_state_last_change', index=7, number=8, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='DataplaneState.system_state_url', index=8, number=9, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/devices_state_pb2.py b/forch/proto/devices_state_pb2.py index 133a77502..43b5e0106 100644 --- a/forch/proto/devices_state_pb2.py +++ b/forch/proto/devices_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/devices_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1f\x66orch/proto/devices_state.proto\x1a\"forch/proto/shared_constants.proto\"\xb4\x02\n\x0c\x44\x65vicesState\x12\x45\n\x15\x64\x65vice_mac_placements\x18\x01 \x03(\x0b\x32&.DevicesState.DeviceMacPlacementsEntry\x12\x43\n\x14\x64\x65vice_mac_behaviors\x18\x02 \x03(\x0b\x32%.DevicesState.DeviceMacBehaviorsEntry\x1aL\n\x18\x44\x65viceMacPlacementsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1f\n\x05value\x18\x02 \x01(\x0b\x32\x10.DevicePlacement:\x02\x38\x01\x1aJ\n\x17\x44\x65viceMacBehaviorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.DeviceBehavior:\x02\x38\x01\"B\n\x0f\x44\x65vicePlacement\x12\x0e\n\x06switch\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\x12\x11\n\tconnected\x18\x03 \x01(\x08\"^\n\x0e\x44\x65viceBehavior\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12-\n\rport_behavior\x18\x03 \x01(\x0e\x32\x16.PortBehavior.Behavior\"\x8b\x01\n\x0fSegmentsToVlans\x12@\n\x11segments_to_vlans\x18\x01 \x03(\x0b\x32%.SegmentsToVlans.SegmentsToVlansEntry\x1a\x36\n\x14SegmentsToVlansEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DevicesState.DeviceMacPlacementsEntry.key', index=0, @@ -39,14 +41,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DevicesState.DeviceMacPlacementsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -69,6 +71,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DevicesState.DeviceMacBehaviorsEntry.key', index=0, @@ -76,14 +79,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DevicesState.DeviceMacBehaviorsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -106,6 +109,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='device_mac_placements', full_name='DevicesState.device_mac_placements', index=0, @@ -113,14 +117,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='device_mac_behaviors', full_name='DevicesState.device_mac_behaviors', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -144,6 +148,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch', full_name='DevicePlacement.switch', index=0, @@ -151,21 +156,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port', full_name='DevicePlacement.port', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='connected', full_name='DevicePlacement.connected', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -189,6 +194,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='segment', full_name='DeviceBehavior.segment', index=0, @@ -196,21 +202,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='role', full_name='DeviceBehavior.role', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_behavior', full_name='DeviceBehavior.port_behavior', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -234,6 +240,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SegmentsToVlans.SegmentsToVlansEntry.key', index=0, @@ -241,14 +248,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SegmentsToVlans.SegmentsToVlansEntry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -271,6 +278,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='segments_to_vlans', full_name='SegmentsToVlans.segments_to_vlans', index=0, @@ -278,7 +286,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/faucet_event_pb2.py b/forch/proto/faucet_event_pb2.py index 1dc68e76f..6f6ff1c33 100644 --- a/forch/proto/faucet_event_pb2.py +++ b/forch/proto/faucet_event_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/faucet_event.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1e\x66orch/proto/faucet_event.proto\x1a\"forch/proto/shared_constants.proto\"\x9e\x03\n\x0b\x46\x61ucetEvent\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x0c\n\x04time\x18\x02 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x03 \x01(\t\x12\r\n\x05\x64p_id\x18\x04 \x01(\x03\x12\x10\n\x08\x65vent_id\x18\x05 \x01(\x05\x12\x11\n\tdebounced\x18\x06 \x01(\x08\x12&\n\rCONFIG_CHANGE\x18\n \x01(\x0b\x32\r.ConfigChangeH\x00\x12\x1e\n\tDP_CHANGE\x18\x0b \x01(\x0b\x32\t.DpChangeH\x00\x12 \n\nLAG_CHANGE\x18\x07 \x01(\x0b\x32\n.LagChangeH\x00\x12\"\n\x0bSTACK_STATE\x18\t \x01(\x0b\x32\x0b.StackStateH\x00\x12-\n\x11STACK_TOPO_CHANGE\x18\x08 \x01(\x0b\x32\x10.StackTopoChangeH\x00\x12\"\n\x0bPORT_CHANGE\x18\x0c \x01(\x0b\x32\x0b.PortChangeH\x00\x12\x1c\n\x08L2_LEARN\x18\r \x01(\x0b\x32\x08.L2LearnH\x00\x12\x1e\n\tL2_EXPIRE\x18\x0e \x01(\x0b\x32\t.L2ExpireH\x00\x42\x0c\n\nevent_data\"]\n\tLagChange\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\x0f\n\x07port_no\x18\x03 \x01(\x05\x12\r\n\x05state\x18\x04 \x01(\x05\x12\x0c\n\x04role\x18\x05 \x01(\x05\"[\n\nStackState\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x1b\n\x05state\x18\x04 \x01(\x0e\x32\x0c.State.State\"\x8b\x05\n\x0fStackTopoChange\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x12\n\nstack_root\x18\x02 \x01(\t\x12*\n\x05graph\x18\x03 \x01(\x0b\x32\x1b.StackTopoChange.StackGraph\x12&\n\x03\x64ps\x18\x04 \x03(\x0b\x32\x19.StackTopoChange.DpsEntry\x1a\x44\n\x08\x44psEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.StackTopoChange.StackDp:\x02\x38\x01\x1a\xb6\x01\n\nStackGraph\x12\x10\n\x08\x64irected\x18\x01 \x01(\x08\x12\x12\n\nmultigraph\x18\x02 \x01(\x08\x12,\n\x05graph\x18\x03 \x01(\x0b\x32\x1d.StackTopoChange.NetworkGraph\x12)\n\x05nodes\x18\x04 \x03(\x0b\x32\x1a.StackTopoChange.StackNode\x12)\n\x05links\x18\x05 \x03(\x0b\x32\x1a.StackTopoChange.StackLink\x1a\x0e\n\x0cNetworkGraph\x1a\x17\n\tStackNode\x12\n\n\x02id\x18\x01 \x01(\t\x1ah\n\tStackLink\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t\x12.\n\x08port_map\x18\x04 \x01(\x0b\x32\x1c.StackTopoChange.LinkPortMap\x1aI\n\x0bLinkPortMap\x12\x0c\n\x04\x64p_a\x18\x01 \x01(\t\x12\x0e\n\x06port_a\x18\x02 \x01(\t\x12\x0c\n\x04\x64p_z\x18\x03 \x01(\t\x12\x0e\n\x06port_z\x18\x04 \x01(\t\x1a \n\x07StackDp\x12\x15\n\rroot_hop_port\x18\x01 \x01(\x05\"\xe7\x01\n\x0c\x43onfigChange\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\x14\n\x0crestart_type\x18\x03 \x01(\t\x12\r\n\x05\x64p_id\x18\x04 \x01(\t\x12\x0f\n\x07success\x18\x05 \x01(\x08\x12\x36\n\x10\x63onfig_hash_info\x18\x06 \x01(\x0b\x32\x1c.ConfigChange.ConfigHashInfo\x1a\x45\n\x0e\x43onfigHashInfo\x12\x14\n\x0c\x63onfig_files\x18\x01 \x01(\t\x12\x0e\n\x06hashes\x18\x02 \x01(\t\x12\r\n\x05\x65rror\x18\x03 \x01(\t\">\n\x08\x44pChange\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\"p\n\nPortChange\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\r\n\x05\x64p_id\x18\x03 \x01(\t\x12\x0f\n\x07port_no\x18\x04 \x01(\x05\x12\x0e\n\x06reason\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\x08\"q\n\x07L2Learn\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\r\n\x05\x64p_id\x18\x03 \x01(\t\x12\x0f\n\x07port_no\x18\x04 \x01(\x05\x12\x0f\n\x07\x65th_src\x18\x05 \x01(\t\x12\x11\n\tl3_src_ip\x18\x06 \x01(\t\"l\n\x08L2Expire\x12\x11\n\ttimestamp\x18\x01 \x01(\x02\x12\x0f\n\x07\x64p_name\x18\x02 \x01(\t\x12\r\n\x05\x64p_id\x18\x03 \x01(\t\x12\x0f\n\x07port_no\x18\x04 \x01(\x05\x12\x0f\n\x07\x65th_src\x18\x05 \x01(\t\x12\x0b\n\x03vid\x18\x06 \x01(\x05\x62\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='version', full_name='FaucetEvent.version', index=0, @@ -39,98 +41,98 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='time', full_name='FaucetEvent.time', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='FaucetEvent.dp_name', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_id', full_name='FaucetEvent.dp_id', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='event_id', full_name='FaucetEvent.event_id', index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='debounced', full_name='FaucetEvent.debounced', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='CONFIG_CHANGE', full_name='FaucetEvent.CONFIG_CHANGE', index=6, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='DP_CHANGE', full_name='FaucetEvent.DP_CHANGE', index=7, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='LAG_CHANGE', full_name='FaucetEvent.LAG_CHANGE', index=8, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='STACK_STATE', full_name='FaucetEvent.STACK_STATE', index=9, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='STACK_TOPO_CHANGE', full_name='FaucetEvent.STACK_TOPO_CHANGE', index=10, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='PORT_CHANGE', full_name='FaucetEvent.PORT_CHANGE', index=11, number=12, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='L2_LEARN', full_name='FaucetEvent.L2_LEARN', index=12, number=13, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='L2_EXPIRE', full_name='FaucetEvent.L2_EXPIRE', index=13, number=14, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -144,7 +146,9 @@ oneofs=[ _descriptor.OneofDescriptor( name='event_data', full_name='FaucetEvent.event_data', - index=0, containing_type=None, fields=[]), + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], serialized_start=71, serialized_end=485, @@ -157,6 +161,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='LagChange.timestamp', index=0, @@ -164,35 +169,35 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='LagChange.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_no', full_name='LagChange.port_no', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state', full_name='LagChange.state', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='role', full_name='LagChange.role', index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -216,6 +221,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='StackState.timestamp', index=0, @@ -223,28 +229,28 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='StackState.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port', full_name='StackState.port', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state', full_name='StackState.state', index=3, number=4, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -268,6 +274,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='StackTopoChange.DpsEntry.key', index=0, @@ -275,14 +282,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='StackTopoChange.DpsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -305,6 +312,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='directed', full_name='StackTopoChange.StackGraph.directed', index=0, @@ -312,35 +320,35 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='multigraph', full_name='StackTopoChange.StackGraph.multigraph', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='graph', full_name='StackTopoChange.StackGraph.graph', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='nodes', full_name='StackTopoChange.StackGraph.nodes', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='links', full_name='StackTopoChange.StackGraph.links', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -363,6 +371,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -386,6 +395,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='id', full_name='StackTopoChange.StackNode.id', index=0, @@ -393,7 +403,7 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -416,6 +426,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='StackTopoChange.StackLink.key', index=0, @@ -423,28 +434,28 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='source', full_name='StackTopoChange.StackLink.source', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='target', full_name='StackTopoChange.StackLink.target', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_map', full_name='StackTopoChange.StackLink.port_map', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -467,6 +478,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='dp_a', full_name='StackTopoChange.LinkPortMap.dp_a', index=0, @@ -474,28 +486,28 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_a', full_name='StackTopoChange.LinkPortMap.port_a', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_z', full_name='StackTopoChange.LinkPortMap.dp_z', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_z', full_name='StackTopoChange.LinkPortMap.port_z', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -518,6 +530,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='root_hop_port', full_name='StackTopoChange.StackDp.root_hop_port', index=0, @@ -525,7 +538,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -548,6 +561,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='StackTopoChange.timestamp', index=0, @@ -555,28 +569,28 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stack_root', full_name='StackTopoChange.stack_root', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='graph', full_name='StackTopoChange.graph', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dps', full_name='StackTopoChange.dps', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -600,6 +614,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='config_files', full_name='ConfigChange.ConfigHashInfo.config_files', index=0, @@ -607,21 +622,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='hashes', full_name='ConfigChange.ConfigHashInfo.hashes', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='error', full_name='ConfigChange.ConfigHashInfo.error', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -644,6 +659,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='ConfigChange.timestamp', index=0, @@ -651,42 +667,42 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='ConfigChange.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='restart_type', full_name='ConfigChange.restart_type', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_id', full_name='ConfigChange.dp_id', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='success', full_name='ConfigChange.success', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='config_hash_info', full_name='ConfigChange.config_hash_info', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -710,6 +726,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='DpChange.timestamp', index=0, @@ -717,21 +734,21 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='DpChange.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='reason', full_name='DpChange.reason', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -755,6 +772,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='PortChange.timestamp', index=0, @@ -762,42 +780,42 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='PortChange.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_id', full_name='PortChange.dp_id', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_no', full_name='PortChange.port_no', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='reason', full_name='PortChange.reason', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='PortChange.status', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -821,6 +839,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='L2Learn.timestamp', index=0, @@ -828,42 +847,42 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='L2Learn.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_id', full_name='L2Learn.dp_id', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_no', full_name='L2Learn.port_no', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='eth_src', full_name='L2Learn.eth_src', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='l3_src_ip', full_name='L2Learn.l3_src_ip', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -887,6 +906,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='timestamp', full_name='L2Expire.timestamp', index=0, @@ -894,42 +914,42 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_name', full_name='L2Expire.dp_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dp_id', full_name='L2Expire.dp_id', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_no', full_name='L2Expire.port_no', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='eth_src', full_name='L2Expire.eth_src', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vid', full_name='L2Expire.vid', index=5, number=6, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/forch_configuration_pb2.py b/forch/proto/forch_configuration_pb2.py index 0ef206451..4481a1d10 100644 --- a/forch/proto/forch_configuration_pb2.py +++ b/forch/proto/forch_configuration_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/forch_configuration.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,7 +18,8 @@ package='', syntax='proto3', serialized_options=None, - serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"V\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\x82\x03\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\x12\x39\n\x18\x66\x61\x63uet_config_processing\x18\t \x01(\x0b\x32\x17.FaucetConfigProcessing\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"V\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"7\n\x16\x46\x61ucetConfigProcessing\x12\x1d\n\x15\x63onfig_hash_max_retry\x18\x01 \x01(\x05\x62\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='site', full_name='ForchConfig.site', index=0, @@ -37,56 +39,63 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='orchestration', full_name='ForchConfig.orchestration', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process', full_name='ForchConfig.process', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='http', full_name='ForchConfig.http', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='event_client', full_name='ForchConfig.event_client', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='varz_interface', full_name='ForchConfig.varz_interface', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='proxy_server', full_name='ForchConfig.proxy_server', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_monitoring', full_name='ForchConfig.dataplane_monitoring', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='facuet_config_processing', full_name='ForchConfig.facuet_config_processing', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -100,7 +109,7 @@ oneofs=[ ], serialized_start=42, - serialized_end=369, + serialized_end=428, ) @@ -110,6 +119,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SiteConfig.ControllersEntry.key', index=0, @@ -117,14 +127,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SiteConfig.ControllersEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -137,8 +147,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=451, - serialized_end=525, + serialized_start=510, + serialized_end=584, ) _SITECONFIG_CONTROLLER = _descriptor.Descriptor( @@ -147,6 +157,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='fqdn', full_name='SiteConfig.Controller.fqdn', index=0, @@ -154,14 +165,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port', full_name='SiteConfig.Controller.port', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -174,8 +185,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=527, - serialized_end=567, + serialized_start=586, + serialized_end=626, ) _SITECONFIG = _descriptor.Descriptor( @@ -184,6 +195,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='SiteConfig.name', index=0, @@ -191,14 +203,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='controllers', full_name='SiteConfig.controllers', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -211,8 +223,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=372, - serialized_end=567, + serialized_start=431, + serialized_end=626, ) @@ -222,6 +234,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='radius_info', full_name='OrchestrationConfig.AuthConfig.radius_info', index=0, @@ -229,42 +242,42 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='heartbeat_sec', full_name='OrchestrationConfig.AuthConfig.heartbeat_sec', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='max_radius_backoff', full_name='OrchestrationConfig.AuthConfig.max_radius_backoff', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='query_timeout_sec', full_name='OrchestrationConfig.AuthConfig.query_timeout_sec', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='reject_timeout_sec', full_name='OrchestrationConfig.AuthConfig.reject_timeout_sec', index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='auth_timeout_sec', full_name='OrchestrationConfig.AuthConfig.auth_timeout_sec', index=5, number=6, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -277,8 +290,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=977, - serialized_end=1175, + serialized_start=1036, + serialized_end=1234, ) _ORCHESTRATIONCONFIG_RADIUSINFO = _descriptor.Descriptor( @@ -287,6 +300,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='server_ip', full_name='OrchestrationConfig.RadiusInfo.server_ip', index=0, @@ -294,28 +308,28 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='server_port', full_name='OrchestrationConfig.RadiusInfo.server_port', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='radius_secret_helper', full_name='OrchestrationConfig.RadiusInfo.radius_secret_helper', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='source_port', full_name='OrchestrationConfig.RadiusInfo.source_port', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -328,8 +342,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1177, - serialized_end=1280, + serialized_start=1236, + serialized_end=1339, ) _ORCHESTRATIONCONFIG_SEQUESTERCONFIG = _descriptor.Descriptor( @@ -338,6 +352,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='segment', full_name='OrchestrationConfig.SequesterConfig.segment', index=0, @@ -345,35 +360,35 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlan_start', full_name='OrchestrationConfig.SequesterConfig.vlan_start', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlan_end', full_name='OrchestrationConfig.SequesterConfig.vlan_end', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_description', full_name='OrchestrationConfig.SequesterConfig.port_description', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='grpc_server_port', full_name='OrchestrationConfig.SequesterConfig.grpc_server_port', index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -386,8 +401,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1282, - serialized_end=1406, + serialized_start=1341, + serialized_end=1465, ) _ORCHESTRATIONCONFIG = _descriptor.Descriptor( @@ -396,6 +411,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='structural_config_file', full_name='OrchestrationConfig.structural_config_file', index=0, @@ -403,77 +419,77 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='unauthenticated_vlan', full_name='OrchestrationConfig.unauthenticated_vlan', index=1, number=8, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='tail_acl', full_name='OrchestrationConfig.tail_acl', index=2, number=9, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='behavioral_config_file', full_name='OrchestrationConfig.behavioral_config_file', index=3, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='static_device_placement', full_name='OrchestrationConfig.static_device_placement', index=4, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='static_device_behavior', full_name='OrchestrationConfig.static_device_behavior', index=5, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='segments_vlans_file', full_name='OrchestrationConfig.segments_vlans_file', index=6, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='gauge_config_file', full_name='OrchestrationConfig.gauge_config_file', index=7, number=10, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='faucetize_interval_sec', full_name='OrchestrationConfig.faucetize_interval_sec', index=8, number=6, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='auth_config', full_name='OrchestrationConfig.auth_config', index=9, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='sequester_config', full_name='OrchestrationConfig.sequester_config', index=10, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -486,8 +502,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=570, - serialized_end=1406, + serialized_start=629, + serialized_end=1465, ) @@ -497,6 +513,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProcessConfig.ProcessesEntry.key', index=0, @@ -504,14 +521,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProcessConfig.ProcessesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -524,8 +541,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1577, - serialized_end=1649, + serialized_start=1636, + serialized_end=1708, ) _PROCESSCONFIG_CONNECTIONSENTRY = _descriptor.Descriptor( @@ -534,6 +551,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProcessConfig.ConnectionsEntry.key', index=0, @@ -541,14 +559,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProcessConfig.ConnectionsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -561,8 +579,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1651, - serialized_end=1728, + serialized_start=1710, + serialized_end=1787, ) _PROCESSCONFIG_PROCESS = _descriptor.Descriptor( @@ -571,6 +589,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='regex', full_name='ProcessConfig.Process.regex', index=0, @@ -578,21 +597,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='count', full_name='ProcessConfig.Process.count', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpu_percent_threshold', full_name='ProcessConfig.Process.cpu_percent_threshold', index=2, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -605,8 +624,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1730, - serialized_end=1800, + serialized_start=1789, + serialized_end=1859, ) _PROCESSCONFIG_CONNECTION = _descriptor.Descriptor( @@ -615,6 +634,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='description', full_name='ProcessConfig.Connection.description', index=0, @@ -622,7 +642,7 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -635,8 +655,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1802, - serialized_end=1835, + serialized_start=1861, + serialized_end=1894, ) _PROCESSCONFIG = _descriptor.Descriptor( @@ -645,6 +665,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='scan_interval_sec', full_name='ProcessConfig.scan_interval_sec', index=0, @@ -652,28 +673,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='check_vrrp', full_name='ProcessConfig.check_vrrp', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='processes', full_name='ProcessConfig.processes', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='connections', full_name='ProcessConfig.connections', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -686,8 +707,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1409, - serialized_end=1835, + serialized_start=1468, + serialized_end=1894, ) @@ -697,6 +718,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='http_root', full_name='HttpConfig.http_root', index=0, @@ -704,7 +726,7 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -717,8 +739,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1837, - serialized_end=1868, + serialized_start=1896, + serialized_end=1927, ) @@ -728,6 +750,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='port_debounce_sec', full_name='EventClientConfig.port_debounce_sec', index=0, @@ -735,14 +758,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stack_topo_change_coalesce_sec', full_name='EventClientConfig.stack_topo_change_coalesce_sec', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -755,8 +778,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1870, - serialized_end=1956, + serialized_start=1929, + serialized_end=2015, ) @@ -766,6 +789,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='varz_port', full_name='VarzInterfaceConfig.varz_port', index=0, @@ -773,7 +797,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -786,8 +810,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1958, - serialized_end=1998, + serialized_start=2017, + serialized_end=2057, ) @@ -797,6 +821,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProxyServerConfig.TargetsEntry.key', index=0, @@ -804,14 +829,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProxyServerConfig.TargetsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -824,8 +849,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2092, - serialized_end=2152, + serialized_start=2151, + serialized_end=2211, ) _PROXYSERVERCONFIG = _descriptor.Descriptor( @@ -834,6 +859,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='proxy_port', full_name='ProxyServerConfig.proxy_port', index=0, @@ -841,14 +867,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='targets', full_name='ProxyServerConfig.targets', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -861,8 +887,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2001, - serialized_end=2152, + serialized_start=2060, + serialized_end=2211, ) @@ -872,6 +898,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='port', full_name='ProxyTarget.port', index=0, @@ -879,7 +906,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -892,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2154, - serialized_end=2181, + serialized_start=2213, + serialized_end=2240, ) @@ -903,6 +930,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='DataplaneMonitoring.VlanPktPerSecThresholdsEntry.key', index=0, @@ -910,14 +938,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='DataplaneMonitoring.VlanPktPerSecThresholdsEntry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -930,8 +958,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2331, - serialized_end=2393, + serialized_start=2390, + serialized_end=2452, ) _DATAPLANEMONITORING = _descriptor.Descriptor( @@ -940,6 +968,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='gauge_metrics_interval_sec', full_name='DataplaneMonitoring.gauge_metrics_interval_sec', index=0, @@ -947,14 +976,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlan_pkt_per_sec_thresholds', full_name='DataplaneMonitoring.vlan_pkt_per_sec_thresholds', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -967,8 +996,40 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2184, - serialized_end=2393, + serialized_start=2243, + serialized_end=2452, +) + + +_FAUCETCONFIGPROCESSING = _descriptor.Descriptor( + name='FaucetConfigProcessing', + full_name='FaucetConfigProcessing', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='config_hash_max_retry', full_name='FaucetConfigProcessing.config_hash_max_retry', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2454, + serialized_end=2509, ) _FORCHCONFIG.fields_by_name['site'].message_type = _SITECONFIG @@ -979,6 +1040,7 @@ _FORCHCONFIG.fields_by_name['varz_interface'].message_type = _VARZINTERFACECONFIG _FORCHCONFIG.fields_by_name['proxy_server'].message_type = _PROXYSERVERCONFIG _FORCHCONFIG.fields_by_name['dataplane_monitoring'].message_type = _DATAPLANEMONITORING +_FORCHCONFIG.fields_by_name['facuet_config_processing'].message_type = _FAUCETCONFIGPROCESSING _SITECONFIG_CONTROLLERSENTRY.fields_by_name['value'].message_type = _SITECONFIG_CONTROLLER _SITECONFIG_CONTROLLERSENTRY.containing_type = _SITECONFIG _SITECONFIG_CONTROLLER.containing_type = _SITECONFIG @@ -1012,6 +1074,7 @@ DESCRIPTOR.message_types_by_name['ProxyServerConfig'] = _PROXYSERVERCONFIG DESCRIPTOR.message_types_by_name['ProxyTarget'] = _PROXYTARGET DESCRIPTOR.message_types_by_name['DataplaneMonitoring'] = _DATAPLANEMONITORING +DESCRIPTOR.message_types_by_name['FaucetConfigProcessing'] = _FAUCETCONFIGPROCESSING _sym_db.RegisterFileDescriptor(DESCRIPTOR) ForchConfig = _reflection.GeneratedProtocolMessageType('ForchConfig', (_message.Message,), { @@ -1172,6 +1235,13 @@ _sym_db.RegisterMessage(DataplaneMonitoring) _sym_db.RegisterMessage(DataplaneMonitoring.VlanPktPerSecThresholdsEntry) +FaucetConfigProcessing = _reflection.GeneratedProtocolMessageType('FaucetConfigProcessing', (_message.Message,), { + 'DESCRIPTOR' : _FAUCETCONFIGPROCESSING, + '__module__' : 'forch.proto.forch_configuration_pb2' + # @@protoc_insertion_point(class_scope:FaucetConfigProcessing) + }) +_sym_db.RegisterMessage(FaucetConfigProcessing) + _SITECONFIG_CONTROLLERSENTRY._options = None _PROCESSCONFIG_PROCESSESENTRY._options = None diff --git a/forch/proto/host_path_pb2.py b/forch/proto/host_path_pb2.py index e1664ce48..2c3da7416 100644 --- a/forch/proto/host_path_pb2.py +++ b/forch/proto/host_path_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/host_path.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1b\x66orch/proto/host_path.proto\x1a\x1b\x66orch/proto/path_node.proto\"_\n\x08HostPath\x12\x0f\n\x07src_ips\x18\x01 \x03(\t\x12\x0f\n\x07\x64st_ips\x18\x02 \x03(\t\x12\x17\n\x04path\x18\x03 \x03(\x0b\x32\t.PathNode\x12\x18\n\x10system_state_url\x18\x04 \x01(\tb\x06proto3' , dependencies=[forch_dot_proto_dot_path__node__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='src_ips', full_name='HostPath.src_ips', index=0, @@ -39,28 +41,28 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dst_ips', full_name='HostPath.dst_ips', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='HostPath.path', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='HostPath.system_state_url', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/list_hosts_pb2.py b/forch/proto/list_hosts_pb2.py index 50c993696..53b7949ee 100644 --- a/forch/proto/list_hosts_pb2.py +++ b/forch/proto/list_hosts_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/list_hosts.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1c\x66orch/proto/list_hosts.proto\x1a\x1b\x66orch/proto/acl_state.proto\x1a\"forch/proto/shared_constants.proto\"\x97\x04\n\x08HostList\x12(\n\x08\x65th_srcs\x18\x01 \x03(\x0b\x32\x16.HostList.EthSrcsEntry\x12(\n\x08\x65th_dsts\x18\x02 \x03(\x0b\x32\x16.HostList.EthDstsEntry\x12\x12\n\negress_url\x18\x03 \x01(\t\x12\x18\n\x10system_state_url\x18\x04 \x01(\t\x1a\x42\n\x0c\x45thSrcsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.HostList.HostData:\x02\x38\x01\x1a\x42\n\x0c\x45thDstsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.HostList.HostData:\x02\x38\x01\x1a\xc1\x01\n\x08HostData\x12\x0e\n\x06switch\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\x12\x10\n\x08host_ips\x18\x03 \x03(\t\x12\x0c\n\x04vlan\x18\x04 \x01(\x05\x12\"\n\tdva_state\x18\x05 \x01(\x0e\x32\x0f.DVAState.State\x12\x17\n\x04\x61\x63ls\x18\x06 \x03(\x0b\x32\t.ACLState\x12\x0b\n\x03url\x18\x07 \x01(\t\x12-\n\rradius_result\x18\x08 \x01(\x0b\x32\x16.HostList.RadiusResult\x1a=\n\x0cRadiusResult\x12\x0e\n\x06\x61\x63\x63\x65ss\x18\x01 \x01(\t\x12\x0f\n\x07segment\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\tb\x06proto3' , dependencies=[forch_dot_proto_dot_acl__state__pb2.DESCRIPTOR,forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='HostList.EthSrcsEntry.key', index=0, @@ -40,14 +42,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='HostList.EthSrcsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -70,6 +72,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='HostList.EthDstsEntry.key', index=0, @@ -77,14 +80,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='HostList.EthDstsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -107,6 +110,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch', full_name='HostList.HostData.switch', index=0, @@ -114,56 +118,56 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port', full_name='HostList.HostData.port', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='host_ips', full_name='HostList.HostData.host_ips', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlan', full_name='HostList.HostData.vlan', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dva_state', full_name='HostList.HostData.dva_state', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='acls', full_name='HostList.HostData.acls', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='url', full_name='HostList.HostData.url', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='radius_result', full_name='HostList.HostData.radius_result', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -186,6 +190,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='access', full_name='HostList.RadiusResult.access', index=0, @@ -193,21 +198,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='segment', full_name='HostList.RadiusResult.segment', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='role', full_name='HostList.RadiusResult.role', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -230,6 +235,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='eth_srcs', full_name='HostList.eth_srcs', index=0, @@ -237,28 +243,28 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='eth_dsts', full_name='HostList.eth_dsts', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_url', full_name='HostList.egress_url', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='HostList.system_state_url', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/path_node_pb2.py b/forch/proto/path_node_pb2.py index d3d70a785..d92ae973a 100644 --- a/forch/proto/path_node_pb2.py +++ b/forch/proto/path_node_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/path_node.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1b\x66orch/proto/path_node.proto\"3\n\x08PathNode\x12\x0e\n\x06switch\x18\x01 \x01(\t\x12\n\n\x02in\x18\x02 \x01(\x05\x12\x0b\n\x03out\x18\x03 \x01(\x05\x62\x06proto3' ) @@ -30,6 +31,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch', full_name='PathNode.switch', index=0, @@ -37,21 +39,21 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='in', full_name='PathNode.in', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='out', full_name='PathNode.out', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/process_state_pb2.py b/forch/proto/process_state_pb2.py index c271816fe..8a5d98462 100644 --- a/forch/proto/process_state_pb2.py +++ b/forch/proto/process_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/process_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1f\x66orch/proto/process_state.proto\x1a\"forch/proto/shared_constants.proto\"\xa8\n\n\x0cProcessState\x12/\n\tprocesses\x18\x01 \x03(\x0b\x32\x1c.ProcessState.ProcessesEntry\x12#\n\rprocess_state\x18\x02 \x01(\x0e\x32\x0c.State.State\x12\x1c\n\x14process_state_detail\x18\x03 \x01(\t\x12\"\n\x1aprocess_state_change_count\x18\x04 \x01(\x05\x12!\n\x19process_state_last_update\x18\x05 \x01(\t\x12!\n\x19process_state_last_change\x18\x06 \x01(\t\x12\x18\n\x10system_state_url\x18\x07 \x01(\t\x12\x34\n\x0b\x63onnections\x18\x08 \x01(\x0b\x32\x1f.ProcessState.ConnectionSummary\x1aK\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessState.ProcessData:\x02\x38\x01\x1a\xb8\x02\n\x0bProcessData\x12\x1b\n\x05state\x18\x01 \x01(\x0e\x32\x0c.State.State\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x10\n\x08\x63md_line\x18\x03 \x01(\t\x12\x13\n\x0b\x63reate_time\x18\x04 \x01(\t\x12 \n\x18\x63reate_time_change_count\x18\x05 \x01(\x05\x12\x1f\n\x17\x63reate_time_last_update\x18\x06 \x01(\t\x12\x1f\n\x17\x63reate_time_last_change\x18\x07 \x01(\t\x12*\n\x0b\x63pu_times_s\x18\x08 \x01(\x0b\x32\x15.ProcessState.CpuTime\x12\x13\n\x0b\x63pu_percent\x18\t \x01(\x02\x12\x30\n\x0ememory_info_mb\x18\n \x01(\x0b\x32\x18.ProcessState.MemoryInfo\x1a\x37\n\x07\x43puTime\x12\x0c\n\x04user\x18\x01 \x01(\x02\x12\x0e\n\x06system\x18\x02 \x01(\x02\x12\x0e\n\x06iowait\x18\x03 \x01(\x02\x1a&\n\nMemoryInfo\x12\x0b\n\x03rss\x18\x01 \x01(\x02\x12\x0b\n\x03vms\x18\x02 \x01(\x02\x1a\x89\x02\n\x11\x43onnectionSummary\x12\r\n\x05state\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x14\n\x0c\x63hange_count\x18\x03 \x01(\x05\x12\x13\n\x0blast_update\x18\x04 \x01(\t\x12\x13\n\x0blast_change\x18\x05 \x01(\t\x12\x44\n\x0blocal_ports\x18\x06 \x03(\x0b\x32/.ProcessState.ConnectionSummary.LocalPortsEntry\x1aO\n\x0fLocalPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.ProcessState.ConnectionInfo:\x02\x38\x01\x1a\xcd\x01\n\x0e\x43onnectionInfo\x12\x15\n\rprocess_entry\x18\x01 \x01(\t\x12M\n\x11\x66oreign_addresses\x18\x02 \x03(\x0b\x32\x32.ProcessState.ConnectionInfo.ForeignAddressesEntry\x1aU\n\x15\x46oreignAddressesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.ProcessState.ForeignAddress:\x02\x38\x01\x1a%\n\x0e\x46oreignAddress\x12\x13\n\x0b\x65stablished\x18\x01 \x01(\tb\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProcessState.ProcessesEntry.key', index=0, @@ -39,14 +41,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProcessState.ProcessesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -69,6 +71,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='state', full_name='ProcessState.ProcessData.state', index=0, @@ -76,70 +79,70 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='detail', full_name='ProcessState.ProcessData.detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cmd_line', full_name='ProcessState.ProcessData.cmd_line', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='create_time', full_name='ProcessState.ProcessData.create_time', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='create_time_change_count', full_name='ProcessState.ProcessData.create_time_change_count', index=4, number=5, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='create_time_last_update', full_name='ProcessState.ProcessData.create_time_last_update', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='create_time_last_change', full_name='ProcessState.ProcessData.create_time_last_change', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpu_times_s', full_name='ProcessState.ProcessData.cpu_times_s', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cpu_percent', full_name='ProcessState.ProcessData.cpu_percent', index=8, number=9, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='memory_info_mb', full_name='ProcessState.ProcessData.memory_info_mb', index=9, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -162,6 +165,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='user', full_name='ProcessState.CpuTime.user', index=0, @@ -169,21 +173,21 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system', full_name='ProcessState.CpuTime.system', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='iowait', full_name='ProcessState.CpuTime.iowait', index=2, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -206,6 +210,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='rss', full_name='ProcessState.MemoryInfo.rss', index=0, @@ -213,14 +218,14 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vms', full_name='ProcessState.MemoryInfo.vms', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -243,6 +248,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProcessState.ConnectionSummary.LocalPortsEntry.key', index=0, @@ -250,14 +256,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProcessState.ConnectionSummary.LocalPortsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -280,6 +286,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='state', full_name='ProcessState.ConnectionSummary.state', index=0, @@ -287,42 +294,42 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='detail', full_name='ProcessState.ConnectionSummary.detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='change_count', full_name='ProcessState.ConnectionSummary.change_count', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='last_update', full_name='ProcessState.ConnectionSummary.last_update', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='last_change', full_name='ProcessState.ConnectionSummary.last_change', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='local_ports', full_name='ProcessState.ConnectionSummary.local_ports', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -345,6 +352,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='ProcessState.ConnectionInfo.ForeignAddressesEntry.key', index=0, @@ -352,14 +360,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='ProcessState.ConnectionInfo.ForeignAddressesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -382,6 +390,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='process_entry', full_name='ProcessState.ConnectionInfo.process_entry', index=0, @@ -389,14 +398,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='foreign_addresses', full_name='ProcessState.ConnectionInfo.foreign_addresses', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -419,6 +428,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='established', full_name='ProcessState.ForeignAddress.established', index=0, @@ -426,7 +436,7 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -449,6 +459,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='processes', full_name='ProcessState.processes', index=0, @@ -456,56 +467,56 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state', full_name='ProcessState.process_state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state_detail', full_name='ProcessState.process_state_detail', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state_change_count', full_name='ProcessState.process_state_change_count', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state_last_update', full_name='ProcessState.process_state_last_update', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state_last_change', full_name='ProcessState.process_state_last_change', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='ProcessState.system_state_url', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='connections', full_name='ProcessState.connections', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/shared_constants_pb2.py b/forch/proto/shared_constants_pb2.py index e3dfb69db..208f5b7ad 100644 --- a/forch/proto/shared_constants_pb2.py +++ b/forch/proto/shared_constants_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/shared_constants.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\"forch/proto/shared_constants.proto\"\x8d\x01\n\x05State\"\x83\x01\n\x05State\x12\x0b\n\x07unknown\x10\x00\x12\n\n\x06\x62roken\x10\x01\x12\n\n\x06\x61\x63tive\x10\x02\x12\x0b\n\x07\x64\x61maged\x10\x03\x12\x08\n\x04\x64own\x10\x04\x12\x0b\n\x07healthy\x10\x05\x12\x0c\n\x08inactive\x10\x06\x12\x10\n\x0cinitializing\x10\x07\x12\t\n\x05split\x10\x08\x12\x06\n\x02up\x10\t\"Y\n\tLacpState\"L\n\tLacpState\x12\x0b\n\x07\x64\x65\x66\x61ult\x10\x00\x12\x11\n\x04none\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x08\n\x04init\x10\x01\x12\n\n\x06\x61\x63tive\x10\x03\x12\t\n\x05noact\x10\x05\"c\n\x08\x44VAState\"W\n\x05State\x12\x0b\n\x07initial\x10\x00\x12\x13\n\x0funauthenticated\x10\x01\x12\n\n\x06static\x10\x02\x12\x0f\n\x0bsequestered\x10\x03\x12\x0f\n\x0boperational\x10\x04\"a\n\x08LacpRole\"U\n\x08LacpRole\x12\x0b\n\x07\x64\x65\x66\x61ult\x10\x00\x12\x11\n\x04none\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x0e\n\nunselected\x10\x01\x12\x0c\n\x08selected\x10\x02\x12\x0b\n\x07standby\x10\x03\"C\n\x08PortType\"7\n\x04Type\x12\x0b\n\x07unknown\x10\x00\x12\n\n\x06\x61\x63\x63\x65ss\x10\x01\x12\x0b\n\x07testing\x10\x02\x12\t\n\x05other\x10\x03\"p\n\x0cPortBehavior\"`\n\x08\x42\x65havior\x12\x0b\n\x07unknown\x10\x00\x12\x11\n\rauthenticated\x10\x01\x12\x0b\n\x07\x63leared\x10\x02\x12\x0f\n\x0bsequestered\x10\x03\x12\n\n\x06passed\x10\x04\x12\n\n\x06\x66\x61iled\x10\x05\"\x07\n\x05\x45mptyb\x06proto3' ) @@ -28,47 +29,58 @@ full_name='State.State', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='unknown', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='broken', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='active', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='damaged', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='down', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='healthy', index=5, number=5, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='inactive', index=6, number=6, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='initializing', index=7, number=7, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='split', index=8, number=8, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='up', index=9, number=9, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -82,27 +94,33 @@ full_name='LacpState.LacpState', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='default', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='none', index=1, number=-1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='init', index=2, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='active', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='noact', index=4, number=5, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -116,27 +134,33 @@ full_name='DVAState.State', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='initial', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='unauthenticated', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='static', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='sequestered', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='operational', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -150,27 +174,33 @@ full_name='LacpRole.LacpRole', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='default', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='none', index=1, number=-1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='unselected', index=2, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='selected', index=3, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='standby', index=4, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -184,23 +214,28 @@ full_name='PortType.Type', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='unknown', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='access', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='testing', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='other', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -214,31 +249,38 @@ full_name='PortBehavior.Behavior', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='unknown', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='authenticated', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='cleared', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='sequestered', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='passed', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='failed', index=5, number=5, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -254,6 +296,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -279,6 +322,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -304,6 +348,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -329,6 +374,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -354,6 +400,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -379,6 +426,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -404,6 +452,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ diff --git a/forch/proto/switch_state_pb2.py b/forch/proto/switch_state_pb2.py index 75b8eb739..e5230e0a0 100644 --- a/forch/proto/switch_state_pb2.py +++ b/forch/proto/switch_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/switch_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -21,6 +21,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1e\x66orch/proto/switch_state.proto\x1a\"forch/proto/shared_constants.proto\x1a\x1b\x66orch/proto/path_node.proto\x1a\x1b\x66orch/proto/acl_state.proto\"\xe5\x0e\n\x0bSwitchState\x12\"\n\x0cswitch_state\x18\x01 \x01(\x0e\x32\x0c.State.State\x12\x1b\n\x13switch_state_detail\x18\x02 \x01(\t\x12!\n\x19switch_state_change_count\x18\x03 \x01(\x05\x12 \n\x18switch_state_last_change\x18\x04 \x01(\t\x12\x18\n\x10system_state_url\x18\x05 \x01(\t\x12,\n\x08switches\x18\x06 \x03(\x0b\x32\x1a.SwitchState.SwitchesEntry\x12\x19\n\x11switches_restrict\x18\x07 \x01(\t\x1aH\n\rSwitchesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.SwitchState.SwitchNode:\x02\x38\x01\x1a\xdc\x07\n\nSwitchNode\x12\x36\n\nattributes\x18\x01 \x01(\x0b\x32\".SwitchState.SwitchNode.Attributes\x12\"\n\x0cswitch_state\x18\x02 \x01(\x0e\x32\x0c.State.State\x12\x1b\n\x13restart_event_count\x18\x03 \x01(\x05\x12!\n\x19switch_state_change_count\x18\x04 \x01(\x05\x12 \n\x18switch_state_last_change\x18\x05 \x01(\t\x12\x31\n\x05ports\x18\x06 \x03(\x0b\x32\".SwitchState.SwitchNode.PortsEntry\x12\x16\n\x0eports_restrict\x18\x07 \x01(\x05\x12)\n\troot_path\x18\x08 \x01(\x0b\x32\x16.SwitchState.PathState\x12\x45\n\x10\x61\x63\x63\x65ss_port_macs\x18\t \x03(\x0b\x32+.SwitchState.SwitchNode.AccessPortMacsEntry\x12I\n\x12stacking_port_macs\x18\n \x03(\x0b\x32-.SwitchState.SwitchNode.StackingPortMacsEntry\x12\x45\n\x10\x65gress_port_macs\x18\x0b \x03(\x0b\x32+.SwitchState.SwitchNode.EgressPortMacsEntry\x12\x31\n\x05vlans\x18\x0c \x03(\x0b\x32\".SwitchState.SwitchNode.VlansEntry\x1a?\n\nPortsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.SwitchState.Port:\x02\x38\x01\x1aL\n\x13\x41\x63\x63\x65ssPortMacsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.SwitchState.PortInfo:\x02\x38\x01\x1aN\n\x15StackingPortMacsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.SwitchState.PortInfo:\x02\x38\x01\x1aL\n\x13\x45gressPortMacsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.SwitchState.PortInfo:\x02\x38\x01\x1a\x44\n\nVlansEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SwitchState.VLANState:\x02\x38\x01\x1a\x1b\n\nAttributes\x12\r\n\x05\x64p_id\x18\x01 \x01(\x03\x1a\xc6\x02\n\x04Port\x12\x30\n\nattributes\x18\x01 \x01(\x0b\x32\x1c.SwitchState.Port.Attributes\x12 \n\nport_state\x18\x02 \x01(\x0e\x32\x0c.State.State\x12\x0c\n\x04vlan\x18\x03 \x01(\x05\x12\"\n\tdva_state\x18\x04 \x01(\x0e\x32\x0f.DVAState.State\x12\x17\n\x04\x61\x63ls\x18\x05 \x03(\x0b\x32\t.ACLState\x12\x19\n\x11state_last_change\x18\x06 \x01(\t\x12\x1a\n\x12state_change_count\x18\x07 \x01(\x05\x1ah\n\nAttributes\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x11\n\tport_type\x18\x02 \x01(\t\x12\x19\n\x11stack_peer_switch\x18\x03 \x01(\t\x12\x17\n\x0fstack_peer_port\x18\x04 \x01(\x05\x1aI\n\x08PortInfo\x12\x0c\n\x04port\x18\x01 \x01(\x05\x12\x0f\n\x07mac_ips\x18\x02 \x03(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x1a\x61\n\tPathState\x12 \n\npath_state\x18\x01 \x01(\x0e\x32\x0c.State.State\x12\x19\n\x11path_state_detail\x18\x02 \x01(\t\x12\x17\n\x04path\x18\x03 \x03(\x0b\x32\t.PathNode\x1aM\n\tVLANState\x12\x17\n\x04\x61\x63ls\x18\x01 \x03(\x0b\x32\t.ACLState\x12\'\n\x11packet_rate_state\x18\x02 \x01(\x0e\x32\x0c.State.Stateb\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,forch_dot_proto_dot_path__node__pb2.DESCRIPTOR,forch_dot_proto_dot_acl__state__pb2.DESCRIPTOR,]) @@ -34,6 +35,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchesEntry.key', index=0, @@ -41,14 +43,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -71,6 +73,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchNode.PortsEntry.key', index=0, @@ -78,14 +81,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchNode.PortsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -108,6 +111,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchNode.AccessPortMacsEntry.key', index=0, @@ -115,14 +119,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchNode.AccessPortMacsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -145,6 +149,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchNode.StackingPortMacsEntry.key', index=0, @@ -152,14 +157,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchNode.StackingPortMacsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -182,6 +187,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchNode.EgressPortMacsEntry.key', index=0, @@ -189,14 +195,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchNode.EgressPortMacsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -219,6 +225,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SwitchState.SwitchNode.VlansEntry.key', index=0, @@ -226,14 +233,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SwitchState.SwitchNode.VlansEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -256,6 +263,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='dp_id', full_name='SwitchState.SwitchNode.Attributes.dp_id', index=0, @@ -263,7 +271,7 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -286,6 +294,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='attributes', full_name='SwitchState.SwitchNode.attributes', index=0, @@ -293,84 +302,84 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state', full_name='SwitchState.SwitchNode.switch_state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='restart_event_count', full_name='SwitchState.SwitchNode.restart_event_count', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_change_count', full_name='SwitchState.SwitchNode.switch_state_change_count', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_last_change', full_name='SwitchState.SwitchNode.switch_state_last_change', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='ports', full_name='SwitchState.SwitchNode.ports', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='ports_restrict', full_name='SwitchState.SwitchNode.ports_restrict', index=6, number=7, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_path', full_name='SwitchState.SwitchNode.root_path', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='access_port_macs', full_name='SwitchState.SwitchNode.access_port_macs', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stacking_port_macs', full_name='SwitchState.SwitchNode.stacking_port_macs', index=9, number=10, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='egress_port_macs', full_name='SwitchState.SwitchNode.egress_port_macs', index=10, number=11, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlans', full_name='SwitchState.SwitchNode.vlans', index=11, number=12, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -393,6 +402,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='description', full_name='SwitchState.Port.Attributes.description', index=0, @@ -400,28 +410,28 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_type', full_name='SwitchState.Port.Attributes.port_type', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stack_peer_switch', full_name='SwitchState.Port.Attributes.stack_peer_switch', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stack_peer_port', full_name='SwitchState.Port.Attributes.stack_peer_port', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -444,6 +454,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='attributes', full_name='SwitchState.Port.attributes', index=0, @@ -451,49 +462,49 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port_state', full_name='SwitchState.Port.port_state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='vlan', full_name='SwitchState.Port.vlan', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dva_state', full_name='SwitchState.Port.dva_state', index=3, number=4, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='acls', full_name='SwitchState.Port.acls', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state_last_change', full_name='SwitchState.Port.state_last_change', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='state_change_count', full_name='SwitchState.Port.state_change_count', index=6, number=7, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -516,6 +527,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='port', full_name='SwitchState.PortInfo.port', index=0, @@ -523,28 +535,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='mac_ips', full_name='SwitchState.PortInfo.mac_ips', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timestamp', full_name='SwitchState.PortInfo.timestamp', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='url', full_name='SwitchState.PortInfo.url', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -567,6 +579,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path_state', full_name='SwitchState.PathState.path_state', index=0, @@ -574,21 +587,21 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path_state_detail', full_name='SwitchState.PathState.path_state_detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='SwitchState.PathState.path', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -611,6 +624,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='acls', full_name='SwitchState.VLANState.acls', index=0, @@ -618,14 +632,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='packet_rate_state', full_name='SwitchState.VLANState.packet_rate_state', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -648,6 +662,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='switch_state', full_name='SwitchState.switch_state', index=0, @@ -655,49 +670,49 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_detail', full_name='SwitchState.switch_state_detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_change_count', full_name='SwitchState.switch_state_change_count', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state_last_change', full_name='SwitchState.switch_state_last_change', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='SwitchState.system_state_url', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switches', full_name='SwitchState.switches', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switches_restrict', full_name='SwitchState.switches_restrict', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/forch/proto/system_state_pb2.py b/forch/proto/system_state_pb2.py index cf5433382..049fd9d74 100644 --- a/forch/proto/system_state_pb2.py +++ b/forch/proto/system_state_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: forch/proto/system_state.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ package='', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1e\x66orch/proto/system_state.proto\x1a\"forch/proto/shared_constants.proto\"\xed\x06\n\x0bSystemState\x12\x11\n\tsite_name\x18\x01 \x01(\t\x12\'\n\x08versions\x18\x02 \x01(\x0b\x32\x15.SystemState.Versions\x12\x17\n\x0f\x63ontroller_name\x18\x03 \x01(\t\x12\x1b\n\x13peer_controller_url\x18\x04 \x01(\t\x12\"\n\x0csystem_state\x18\x05 \x01(\x0e\x32\x0c.State.State\x12\x1b\n\x13system_state_detail\x18\x06 \x01(\t\x12!\n\x19system_state_change_count\x18\x07 \x01(\x05\x12 \n\x18system_state_last_change\x18\x08 \x01(\t\x12 \n\x18system_state_last_update\x18\t \x01(\t\x12\x34\n\x0fsummary_sources\x18\n \x01(\x0b\x32\x1b.SystemState.SummarySources\x12\x32\n\x0e\x63onfig_summary\x18\x0b \x01(\x0b\x32\x1a.SystemState.ConfigSummary\x1a\xc8\x01\n\x0eSummarySources\x12 \n\tcpn_state\x18\x01 \x01(\x0b\x32\r.StateSummary\x12$\n\rprocess_state\x18\x02 \x01(\x0b\x32\r.StateSummary\x12&\n\x0f\x64\x61taplane_state\x18\x03 \x01(\x0b\x32\r.StateSummary\x12#\n\x0cswitch_state\x18\x04 \x01(\x0b\x32\r.StateSummary\x12!\n\nlist_hosts\x18\x05 \x01(\x0b\x32\r.StateSummary\x1a)\n\x08Versions\x12\x0e\n\x06\x66\x61ucet\x18\x01 \x01(\t\x12\r\n\x05\x66orch\x18\x02 \x01(\t\x1a\xe3\x01\n\rConfigSummary\x12\x36\n\x06hashes\x18\x01 \x03(\x0b\x32&.SystemState.ConfigSummary.HashesEntry\x12:\n\x08warnings\x18\x02 \x03(\x0b\x32(.SystemState.ConfigSummary.WarningsEntry\x1a-\n\x0bHashesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rWarningsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x01\n\x0cStateSummary\x12\x1b\n\x05state\x18\x01 \x01(\x0e\x32\x0c.State.State\x12\x0e\n\x06\x64\x65tail\x18\x02 \x01(\t\x12\x14\n\x0c\x63hange_count\x18\x03 \x01(\x05\x12\x13\n\x0blast_update\x18\x04 \x01(\t\x12\x13\n\x0blast_change\x18\x05 \x01(\t\x12\x12\n\ndetail_url\x18\x06 \x01(\t\x12\x18\n\x10system_state_url\x18\x07 \x01(\tb\x06proto3' , dependencies=[forch_dot_proto_dot_shared__constants__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='cpn_state', full_name='SystemState.SummarySources.cpn_state', index=0, @@ -39,35 +41,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='process_state', full_name='SystemState.SummarySources.process_state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='dataplane_state', full_name='SystemState.SummarySources.dataplane_state', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='switch_state', full_name='SystemState.SummarySources.switch_state', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='list_hosts', full_name='SystemState.SummarySources.list_hosts', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -90,6 +92,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='faucet', full_name='SystemState.Versions.faucet', index=0, @@ -97,14 +100,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='forch', full_name='SystemState.Versions.forch', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -127,6 +130,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SystemState.ConfigSummary.HashesEntry.key', index=0, @@ -134,14 +138,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SystemState.ConfigSummary.HashesEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -164,6 +168,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='SystemState.ConfigSummary.WarningsEntry.key', index=0, @@ -171,14 +176,14 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='SystemState.ConfigSummary.WarningsEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -201,6 +206,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='hashes', full_name='SystemState.ConfigSummary.hashes', index=0, @@ -208,14 +214,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='warnings', full_name='SystemState.ConfigSummary.warnings', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -238,6 +244,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='site_name', full_name='SystemState.site_name', index=0, @@ -245,77 +252,77 @@ has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='versions', full_name='SystemState.versions', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='controller_name', full_name='SystemState.controller_name', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='peer_controller_url', full_name='SystemState.peer_controller_url', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state', full_name='SystemState.system_state', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_detail', full_name='SystemState.system_state_detail', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_change_count', full_name='SystemState.system_state_change_count', index=6, number=7, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_last_change', full_name='SystemState.system_state_last_change', index=7, number=8, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_last_update', full_name='SystemState.system_state_last_update', index=8, number=9, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='summary_sources', full_name='SystemState.summary_sources', index=9, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='config_summary', full_name='SystemState.config_summary', index=10, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -339,6 +346,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='state', full_name='StateSummary.state', index=0, @@ -346,49 +354,49 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='detail', full_name='StateSummary.detail', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='change_count', full_name='StateSummary.change_count', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='last_update', full_name='StateSummary.last_update', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='last_change', full_name='StateSummary.last_change', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='detail_url', full_name='StateSummary.detail_url', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='system_state_url', full_name='StateSummary.system_state_url', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/public/protos.hash b/public/protos.hash index 6d377dc5b..7945bd508 100644 --- a/public/protos.hash +++ b/public/protos.hash @@ -6,7 +6,7 @@ a25e80c06dc7630cf1babf5161feb3e43aa90181 proto/cpn_config.proto 33f81938e634f1996f1e46b4295ebecfb4b7cb41 proto/dataplane_state.proto 15851bf434247f426199c9c6f6fcfde296d847ed proto/devices_state.proto 22a838c9d693eaceef059c63e765aa2906392661 proto/faucet_event.proto -3c2846a37a46e25e48807cef4cc11fb8724f7549 proto/forch_configuration.proto +23476752f28368fd95dc6bfb38ae08ebbdd465ae proto/forch_configuration.proto 4fc546c3a712b5680bc67f8f49fd1d915aed0b7e proto/host_path.proto 877b648b84c4ea9a88131975cfa2cfcb4441b854 proto/list_hosts.proto db4d1bf4d1b4ac1a575853833ecbd9571d784203 proto/path_node.proto diff --git a/public/protos.html b/public/protos.html index 5c1b2cfb4..c69dd2e84 100644 --- a/public/protos.html +++ b/public/protos.html @@ -498,6 +498,10 @@

Table of Contents

MEventClientConfig +
  • + MFaucetConfigProcessing +
  • +
  • MForchConfig
  • @@ -3214,6 +3218,30 @@

    EventClientConfig

    +

    FaucetConfigProcessing

    +

    Parameters for Faucet config porcessing

    + + + + + + + + + + + + + + + + +
    FieldTypeLabelDescription
    config_hash_max_retryint32

    maximum retry times for Faucet config hash checking

    + + + + +

    ForchConfig

    Forch configuration

    @@ -3280,6 +3308,13 @@

    ForchConfig

    configuration for switches monitoring

    + + facuet_config_processing + FaucetConfigProcessing + +

    configuration for facuet config processing

    + + From 905015e15e1d082cfa8b21b4ab3fa1e8cb989b7b Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 17:30:06 -0700 Subject: [PATCH 06/30] add logging --- forch/forchestrator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index e1a252440..1088151e9 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -445,6 +445,7 @@ def _restore_faucet_config(self, timestamp, config_hash): if config_hash == config_info['hashes']: self._config_hash_retry = 0 + LOGGER.debug('Cleared config hash retry counter') else: assert self._config_hash_retry < self._config_hash_max_retry, ( f'Config hash info does not match after {self._config_hash_max_retry} retries') From d32b7fc9a83cdcd2cc4bd1ca770092fbafc0ccef Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 18:05:41 -0700 Subject: [PATCH 07/30] fix testing --- forch/forchestrator.py | 5 +++-- proto/forch_configuration.proto | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 1088151e9..8e8bc1c42 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_MAX_RETRY_DEFAULT = 5 +_CONFIG_HASH_MAX_RETRY_DEFAULT = '5' _TARGET_FAUCET_METRICS = ( 'port_status', @@ -117,7 +117,8 @@ def __init__(self, config): self._config_hash_retry = 0 self._config_hash_max_retry = ( self._config.faucet_config_processing.config_hash_max_retry or - os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY_DEFAULT)) + int(os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY_DEFAULT)) + ) self._lock = threading.Lock() diff --git a/proto/forch_configuration.proto b/proto/forch_configuration.proto index 82e3088ce..dfda28406 100644 --- a/proto/forch_configuration.proto +++ b/proto/forch_configuration.proto @@ -33,7 +33,7 @@ message ForchConfig { DataplaneMonitoring dataplane_monitoring = 8; // configuration for facuet config processing - FaucetConfigProcessing facuet_config_processing = 9; + FaucetConfigProcessing faucet_config_processing = 9; } /* From 459b33f225948fda92d3d7790021ea8bc4ba4919 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 18:06:11 -0700 Subject: [PATCH 08/30] build proto --- forch/proto/forch_configuration_pb2.py | 6 +++--- public/protos.hash | 2 +- public/protos.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/forch/proto/forch_configuration_pb2.py b/forch/proto/forch_configuration_pb2.py index 4481a1d10..0b619e3c2 100644 --- a/forch/proto/forch_configuration_pb2.py +++ b/forch/proto/forch_configuration_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\x82\x03\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\x12\x39\n\x18\x66\x61\x63uet_config_processing\x18\t \x01(\x0b\x32\x17.FaucetConfigProcessing\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"V\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"7\n\x16\x46\x61ucetConfigProcessing\x12\x1d\n\x15\x63onfig_hash_max_retry\x18\x01 \x01(\x05\x62\x06proto3' + serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\x82\x03\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\x12\x39\n\x18\x66\x61ucet_config_processing\x18\t \x01(\x0b\x32\x17.FaucetConfigProcessing\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"V\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"7\n\x16\x46\x61ucetConfigProcessing\x12\x1d\n\x15\x63onfig_hash_max_retry\x18\x01 \x01(\x05\x62\x06proto3' ) @@ -90,7 +90,7 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='facuet_config_processing', full_name='ForchConfig.facuet_config_processing', index=8, + name='faucet_config_processing', full_name='ForchConfig.faucet_config_processing', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -1040,7 +1040,7 @@ _FORCHCONFIG.fields_by_name['varz_interface'].message_type = _VARZINTERFACECONFIG _FORCHCONFIG.fields_by_name['proxy_server'].message_type = _PROXYSERVERCONFIG _FORCHCONFIG.fields_by_name['dataplane_monitoring'].message_type = _DATAPLANEMONITORING -_FORCHCONFIG.fields_by_name['facuet_config_processing'].message_type = _FAUCETCONFIGPROCESSING +_FORCHCONFIG.fields_by_name['faucet_config_processing'].message_type = _FAUCETCONFIGPROCESSING _SITECONFIG_CONTROLLERSENTRY.fields_by_name['value'].message_type = _SITECONFIG_CONTROLLER _SITECONFIG_CONTROLLERSENTRY.containing_type = _SITECONFIG _SITECONFIG_CONTROLLER.containing_type = _SITECONFIG diff --git a/public/protos.hash b/public/protos.hash index 7945bd508..dcddd8eba 100644 --- a/public/protos.hash +++ b/public/protos.hash @@ -6,7 +6,7 @@ a25e80c06dc7630cf1babf5161feb3e43aa90181 proto/cpn_config.proto 33f81938e634f1996f1e46b4295ebecfb4b7cb41 proto/dataplane_state.proto 15851bf434247f426199c9c6f6fcfde296d847ed proto/devices_state.proto 22a838c9d693eaceef059c63e765aa2906392661 proto/faucet_event.proto -23476752f28368fd95dc6bfb38ae08ebbdd465ae proto/forch_configuration.proto +cab0cdf8a14bfb42a2da779ab617076a44cac2ce proto/forch_configuration.proto 4fc546c3a712b5680bc67f8f49fd1d915aed0b7e proto/host_path.proto 877b648b84c4ea9a88131975cfa2cfcb4441b854 proto/list_hosts.proto db4d1bf4d1b4ac1a575853833ecbd9571d784203 proto/path_node.proto diff --git a/public/protos.html b/public/protos.html index c69dd2e84..11321bb88 100644 --- a/public/protos.html +++ b/public/protos.html @@ -3309,7 +3309,7 @@

    ForchConfig

    - facuet_config_processing + faucet_config_processing FaucetConfigProcessing

    configuration for facuet config processing

    From 71f069733e72324e18e38862cd88b53a299f95ae Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 23:44:58 -0700 Subject: [PATCH 09/30] change config hash retry to cooling time --- forch/forchestrator.py | 29 +++++++++++++++++------------ proto/forch_configuration.proto | 14 +++----------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 8e8bc1c42..7832e2aa4 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_MAX_RETRY_DEFAULT = '5' +_CONFIG_HASH_COOLING_SEC_DEFAULT = '20' _TARGET_FAUCET_METRICS = ( 'port_status', @@ -114,10 +114,10 @@ def __init__(self, config): self._metrics = None self._varz_proxy = None - self._config_hash_retry = 0 - self._config_hash_max_retry = ( - self._config.faucet_config_processing.config_hash_max_retry or - int(os.getenv('_CONFIG_HASH_MAX_RETRY', _CONFIG_HASH_MAX_RETRY_DEFAULT)) + self._config_hash_clash_start_time = None + self._config_hash_cooling_sec = ( + self._config.event_client.config_hash_cooling_sec or + int(os.getenv('_CONFIG_HASH_COOLING_SEC', _CONFIG_HASH_COOLING_SEC_DEFAULT)) ) self._lock = threading.Lock() @@ -435,7 +435,7 @@ def _restore_states(self): # Restore config first before restoring all state from varz. metrics, varz_config_hashes = self._get_varz_config() - self._restore_faucet_config(time.time(), varz_config_hashes) + assert self._restore_faucet_config(time.time(), varz_config_hashes) event_horizon = self._faucet_collector.restore_states_from_metrics(metrics) self._faucet_events.set_event_horizon(event_horizon) @@ -445,16 +445,21 @@ def _restore_faucet_config(self, timestamp, config_hash): self._update_config_warning_varz() if config_hash == config_info['hashes']: - self._config_hash_retry = 0 - LOGGER.debug('Cleared config hash retry counter') + self._config_hash_clash_start_time = None + LOGGER.debug('Cleared last config hash time') + elif self._config_hash_clash_start_time: + clash_elapsed_time = time.time() - self._config_hash_clash_start_time + assert clash_elapsed_time < self._config_hash_cooling_sec, ( + f'Config hash info does not match after {self._config_hash_cooling_sec} seconds') else: - assert self._config_hash_retry < self._config_hash_max_retry, ( - f'Config hash info does not match after {self._config_hash_max_retry} retries') - self._config_hash_retry += 1 - LOGGER.warning('Config hash does not match. Retry: %s', self._config_hash_retry) + self._config_hash_clash_start_time = time.time() + LOGGER.warning('Config hash does not match') + return False self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) + return True + def _process_config_change(self, event): self._faucet_collector.process_dp_config_change( event.timestamp, event.dp_name, event.restart_type, event.dp_id) diff --git a/proto/forch_configuration.proto b/proto/forch_configuration.proto index dfda28406..2cf49fcb4 100644 --- a/proto/forch_configuration.proto +++ b/proto/forch_configuration.proto @@ -31,9 +31,6 @@ message ForchConfig { // configuration for switches monitoring DataplaneMonitoring dataplane_monitoring = 8; - - // configuration for facuet config processing - FaucetConfigProcessing faucet_config_processing = 9; } /* @@ -201,6 +198,9 @@ message EventClientConfig { // coalesce stack topo events to reduce churn int32 stack_topo_change_coalesce_sec = 2; + + // cooling time (in seconds) for config hash checking + int32 config_hash_cooling_sec = 3; } /* @@ -240,11 +240,3 @@ message DataplaneMonitoring { // threshold of number of packets per second for each vlan; indexed by vlan map vlan_pkt_per_sec_thresholds = 2; } - -/* - * Parameters for Faucet config porcessing - */ -message FaucetConfigProcessing { - // maximum retry times for Faucet config hash checking - int32 config_hash_max_retry = 1; -} \ No newline at end of file From 829421d8ac948a61403980b2d00d58e7fc7b61c1 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Mon, 26 Oct 2020 23:48:16 -0700 Subject: [PATCH 10/30] build proto --- forch/proto/forch_configuration_pb2.py | 139 +++++++++---------------- public/protos.hash | 2 +- public/protos.html | 32 +----- 3 files changed, 52 insertions(+), 121 deletions(-) diff --git a/forch/proto/forch_configuration_pb2.py b/forch/proto/forch_configuration_pb2.py index 0b619e3c2..57224d807 100644 --- a/forch/proto/forch_configuration_pb2.py +++ b/forch/proto/forch_configuration_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\x82\x03\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\x12\x39\n\x18\x66\x61ucet_config_processing\x18\t \x01(\x0b\x32\x17.FaucetConfigProcessing\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"V\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"7\n\x16\x46\x61ucetConfigProcessing\x12\x1d\n\x15\x63onfig_hash_max_retry\x18\x01 \x01(\x05\x62\x06proto3' + serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"w\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\x12\x1f\n\x17\x63onfig_hash_cooling_sec\x18\x03 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' ) @@ -89,13 +89,6 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='faucet_config_processing', full_name='ForchConfig.faucet_config_processing', index=8, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -109,7 +102,7 @@ oneofs=[ ], serialized_start=42, - serialized_end=428, + serialized_end=369, ) @@ -147,8 +140,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=510, - serialized_end=584, + serialized_start=451, + serialized_end=525, ) _SITECONFIG_CONTROLLER = _descriptor.Descriptor( @@ -185,8 +178,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=586, - serialized_end=626, + serialized_start=527, + serialized_end=567, ) _SITECONFIG = _descriptor.Descriptor( @@ -223,8 +216,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=431, - serialized_end=626, + serialized_start=372, + serialized_end=567, ) @@ -290,8 +283,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1036, - serialized_end=1234, + serialized_start=977, + serialized_end=1175, ) _ORCHESTRATIONCONFIG_RADIUSINFO = _descriptor.Descriptor( @@ -342,8 +335,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1236, - serialized_end=1339, + serialized_start=1177, + serialized_end=1280, ) _ORCHESTRATIONCONFIG_SEQUESTERCONFIG = _descriptor.Descriptor( @@ -401,8 +394,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1341, - serialized_end=1465, + serialized_start=1282, + serialized_end=1406, ) _ORCHESTRATIONCONFIG = _descriptor.Descriptor( @@ -502,8 +495,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=629, - serialized_end=1465, + serialized_start=570, + serialized_end=1406, ) @@ -541,8 +534,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1636, - serialized_end=1708, + serialized_start=1577, + serialized_end=1649, ) _PROCESSCONFIG_CONNECTIONSENTRY = _descriptor.Descriptor( @@ -579,8 +572,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1710, - serialized_end=1787, + serialized_start=1651, + serialized_end=1728, ) _PROCESSCONFIG_PROCESS = _descriptor.Descriptor( @@ -624,8 +617,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1789, - serialized_end=1859, + serialized_start=1730, + serialized_end=1800, ) _PROCESSCONFIG_CONNECTION = _descriptor.Descriptor( @@ -655,8 +648,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1861, - serialized_end=1894, + serialized_start=1802, + serialized_end=1835, ) _PROCESSCONFIG = _descriptor.Descriptor( @@ -707,8 +700,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1468, - serialized_end=1894, + serialized_start=1409, + serialized_end=1835, ) @@ -739,8 +732,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1896, - serialized_end=1927, + serialized_start=1837, + serialized_end=1868, ) @@ -766,6 +759,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='config_hash_cooling_sec', full_name='EventClientConfig.config_hash_cooling_sec', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -778,8 +778,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1929, - serialized_end=2015, + serialized_start=1870, + serialized_end=1989, ) @@ -810,8 +810,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2017, - serialized_end=2057, + serialized_start=1991, + serialized_end=2031, ) @@ -849,8 +849,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2151, - serialized_end=2211, + serialized_start=2125, + serialized_end=2185, ) _PROXYSERVERCONFIG = _descriptor.Descriptor( @@ -887,8 +887,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2060, - serialized_end=2211, + serialized_start=2034, + serialized_end=2185, ) @@ -919,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2213, - serialized_end=2240, + serialized_start=2187, + serialized_end=2214, ) @@ -958,8 +958,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2390, - serialized_end=2452, + serialized_start=2364, + serialized_end=2426, ) _DATAPLANEMONITORING = _descriptor.Descriptor( @@ -996,40 +996,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2243, - serialized_end=2452, -) - - -_FAUCETCONFIGPROCESSING = _descriptor.Descriptor( - name='FaucetConfigProcessing', - full_name='FaucetConfigProcessing', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='config_hash_max_retry', full_name='FaucetConfigProcessing.config_hash_max_retry', index=0, - number=1, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2454, - serialized_end=2509, + serialized_start=2217, + serialized_end=2426, ) _FORCHCONFIG.fields_by_name['site'].message_type = _SITECONFIG @@ -1040,7 +1008,6 @@ _FORCHCONFIG.fields_by_name['varz_interface'].message_type = _VARZINTERFACECONFIG _FORCHCONFIG.fields_by_name['proxy_server'].message_type = _PROXYSERVERCONFIG _FORCHCONFIG.fields_by_name['dataplane_monitoring'].message_type = _DATAPLANEMONITORING -_FORCHCONFIG.fields_by_name['faucet_config_processing'].message_type = _FAUCETCONFIGPROCESSING _SITECONFIG_CONTROLLERSENTRY.fields_by_name['value'].message_type = _SITECONFIG_CONTROLLER _SITECONFIG_CONTROLLERSENTRY.containing_type = _SITECONFIG _SITECONFIG_CONTROLLER.containing_type = _SITECONFIG @@ -1074,7 +1041,6 @@ DESCRIPTOR.message_types_by_name['ProxyServerConfig'] = _PROXYSERVERCONFIG DESCRIPTOR.message_types_by_name['ProxyTarget'] = _PROXYTARGET DESCRIPTOR.message_types_by_name['DataplaneMonitoring'] = _DATAPLANEMONITORING -DESCRIPTOR.message_types_by_name['FaucetConfigProcessing'] = _FAUCETCONFIGPROCESSING _sym_db.RegisterFileDescriptor(DESCRIPTOR) ForchConfig = _reflection.GeneratedProtocolMessageType('ForchConfig', (_message.Message,), { @@ -1235,13 +1201,6 @@ _sym_db.RegisterMessage(DataplaneMonitoring) _sym_db.RegisterMessage(DataplaneMonitoring.VlanPktPerSecThresholdsEntry) -FaucetConfigProcessing = _reflection.GeneratedProtocolMessageType('FaucetConfigProcessing', (_message.Message,), { - 'DESCRIPTOR' : _FAUCETCONFIGPROCESSING, - '__module__' : 'forch.proto.forch_configuration_pb2' - # @@protoc_insertion_point(class_scope:FaucetConfigProcessing) - }) -_sym_db.RegisterMessage(FaucetConfigProcessing) - _SITECONFIG_CONTROLLERSENTRY._options = None _PROCESSCONFIG_PROCESSESENTRY._options = None diff --git a/public/protos.hash b/public/protos.hash index dcddd8eba..ffed8ff22 100644 --- a/public/protos.hash +++ b/public/protos.hash @@ -6,7 +6,7 @@ a25e80c06dc7630cf1babf5161feb3e43aa90181 proto/cpn_config.proto 33f81938e634f1996f1e46b4295ebecfb4b7cb41 proto/dataplane_state.proto 15851bf434247f426199c9c6f6fcfde296d847ed proto/devices_state.proto 22a838c9d693eaceef059c63e765aa2906392661 proto/faucet_event.proto -cab0cdf8a14bfb42a2da779ab617076a44cac2ce proto/forch_configuration.proto +b9146c5cddcf6320b97580d69745546538d33474 proto/forch_configuration.proto 4fc546c3a712b5680bc67f8f49fd1d915aed0b7e proto/host_path.proto 877b648b84c4ea9a88131975cfa2cfcb4441b854 proto/list_hosts.proto db4d1bf4d1b4ac1a575853833ecbd9571d784203 proto/path_node.proto diff --git a/public/protos.html b/public/protos.html index 11321bb88..5fa1d1372 100644 --- a/public/protos.html +++ b/public/protos.html @@ -498,10 +498,6 @@

    Table of Contents

    MEventClientConfig -
  • - MFaucetConfigProcessing -
  • -
  • MForchConfig
  • @@ -3211,28 +3207,11 @@

    EventClientConfig

    coalesce stack topo events to reduce churn

    - - - - - - - -

    FaucetConfigProcessing

    -

    Parameters for Faucet config porcessing

    - - - - - - - - - + - + @@ -3308,13 +3287,6 @@

    ForchConfig

    - - - - - - -
    FieldTypeLabelDescription
    config_hash_max_retryconfig_hash_cooling_sec int32

    maximum retry times for Faucet config hash checking

    cooling time (in seconds) for config hash checking

    configuration for switches monitoring

    faucet_config_processingFaucetConfigProcessing

    configuration for facuet config processing

    From 4df5dad19e061f335648595a4f7798deb70c02dc Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 00:39:29 -0700 Subject: [PATCH 11/30] changes --- forch/forchestrator.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 7832e2aa4..6be407075 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -447,12 +447,13 @@ def _restore_faucet_config(self, timestamp, config_hash): if config_hash == config_info['hashes']: self._config_hash_clash_start_time = None LOGGER.debug('Cleared last config hash time') - elif self._config_hash_clash_start_time: - clash_elapsed_time = time.time() - self._config_hash_clash_start_time - assert clash_elapsed_time < self._config_hash_cooling_sec, ( - f'Config hash info does not match after {self._config_hash_cooling_sec} seconds') else: - self._config_hash_clash_start_time = time.time() + if self._config_hash_clash_start_time: + clash_elapsed_time = time.time() - self._config_hash_clash_start_time + assert clash_elapsed_time < self._config_hash_cooling_sec, ( + f'Config hash info does not match after {self._config_hash_cooling_sec} seconds') + else: + self._config_hash_clash_start_time = time.time() LOGGER.warning('Config hash does not match') return False From b0b8940575e8dc96088430e7bd5e4460d9ff65ee Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 01:00:58 -0700 Subject: [PATCH 12/30] lint --- forch/forchestrator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 6be407075..f5d449877 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_COOLING_SEC_DEFAULT = '20' +_CONFIG_HASH_COOLING_SEC_DEFAULT = '30' _TARGET_FAUCET_METRICS = ( 'port_status', @@ -451,7 +451,7 @@ def _restore_faucet_config(self, timestamp, config_hash): if self._config_hash_clash_start_time: clash_elapsed_time = time.time() - self._config_hash_clash_start_time assert clash_elapsed_time < self._config_hash_cooling_sec, ( - f'Config hash info does not match after {self._config_hash_cooling_sec} seconds') + f'Config hash does not match after {self._config_hash_cooling_sec} seconds') else: self._config_hash_clash_start_time = time.time() LOGGER.warning('Config hash does not match') From 43c1b550f2e3d1b898636b12543bc12e08312910 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 01:02:17 -0700 Subject: [PATCH 13/30] update logging --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index f5d449877..37dbbde74 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -446,7 +446,7 @@ def _restore_faucet_config(self, timestamp, config_hash): if config_hash == config_info['hashes']: self._config_hash_clash_start_time = None - LOGGER.debug('Cleared last config hash time') + LOGGER.debug('Cleared config hash clash starting time') else: if self._config_hash_clash_start_time: clash_elapsed_time = time.time() - self._config_hash_clash_start_time From 670eb9470631a78396155e9b8a0d4d3f57e7a6ae Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 10:12:34 -0700 Subject: [PATCH 14/30] update naming --- forch/forchestrator.py | 14 ++++++++------ proto/forch_configuration.proto | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 37dbbde74..b5173ceb1 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_COOLING_SEC_DEFAULT = '30' +_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = '30' _TARGET_FAUCET_METRICS = ( 'port_status', @@ -115,9 +115,10 @@ def __init__(self, config): self._varz_proxy = None self._config_hash_clash_start_time = None - self._config_hash_cooling_sec = ( - self._config.event_client.config_hash_cooling_sec or - int(os.getenv('_CONFIG_HASH_COOLING_SEC', _CONFIG_HASH_COOLING_SEC_DEFAULT)) + self._config_hash_clash_timeout_sec = ( + self._config.event_client.config_hash_clash_timeout_sec or + int(os.getenv( + '_CONFIG_HASH_CLASH_TIMEOUT_SEC',_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT)) ) self._lock = threading.Lock() @@ -450,8 +451,9 @@ def _restore_faucet_config(self, timestamp, config_hash): else: if self._config_hash_clash_start_time: clash_elapsed_time = time.time() - self._config_hash_clash_start_time - assert clash_elapsed_time < self._config_hash_cooling_sec, ( - f'Config hash does not match after {self._config_hash_cooling_sec} seconds') + assert clash_elapsed_time < self._config_hash_clash_timeout_sec, ( + f'Config hash does not match after ' + f'{self._config_hash_clash_timeout_sec} seconds') else: self._config_hash_clash_start_time = time.time() LOGGER.warning('Config hash does not match') diff --git a/proto/forch_configuration.proto b/proto/forch_configuration.proto index 2cf49fcb4..71bbbc35c 100644 --- a/proto/forch_configuration.proto +++ b/proto/forch_configuration.proto @@ -199,8 +199,8 @@ message EventClientConfig { // coalesce stack topo events to reduce churn int32 stack_topo_change_coalesce_sec = 2; - // cooling time (in seconds) for config hash checking - int32 config_hash_cooling_sec = 3; + // timeout for unmatched config hash + int32 config_hash_clash_timeout_sec = 3; } /* From 8a0ec03447364352db891ce4fef29be9b49f98fa Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 10:13:31 -0700 Subject: [PATCH 15/30] lint --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index b5173ceb1..07a5f236b 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -118,7 +118,7 @@ def __init__(self, config): self._config_hash_clash_timeout_sec = ( self._config.event_client.config_hash_clash_timeout_sec or int(os.getenv( - '_CONFIG_HASH_CLASH_TIMEOUT_SEC',_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT)) + '_CONFIG_HASH_CLASH_TIMEOUT_SEC', _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT)) ) self._lock = threading.Lock() From 846a55420c1ac9b2178262a317927a7a1989602b Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 10:15:19 -0700 Subject: [PATCH 16/30] build proto --- forch/proto/forch_configuration_pb2.py | 30 +++++++++++++------------- public/protos.hash | 2 +- public/protos.html | 4 ++-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/forch/proto/forch_configuration_pb2.py b/forch/proto/forch_configuration_pb2.py index 57224d807..1b4c281fe 100644 --- a/forch/proto/forch_configuration_pb2.py +++ b/forch/proto/forch_configuration_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"w\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\x12\x1f\n\x17\x63onfig_hash_cooling_sec\x18\x03 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' + serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"}\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\x12%\n\x1d\x63onfig_hash_clash_timeout_sec\x18\x03 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' ) @@ -760,7 +760,7 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='config_hash_cooling_sec', full_name='EventClientConfig.config_hash_cooling_sec', index=2, + name='config_hash_clash_timeout_sec', full_name='EventClientConfig.config_hash_clash_timeout_sec', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -779,7 +779,7 @@ oneofs=[ ], serialized_start=1870, - serialized_end=1989, + serialized_end=1995, ) @@ -810,8 +810,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1991, - serialized_end=2031, + serialized_start=1997, + serialized_end=2037, ) @@ -849,8 +849,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2125, - serialized_end=2185, + serialized_start=2131, + serialized_end=2191, ) _PROXYSERVERCONFIG = _descriptor.Descriptor( @@ -887,8 +887,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2034, - serialized_end=2185, + serialized_start=2040, + serialized_end=2191, ) @@ -919,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2187, - serialized_end=2214, + serialized_start=2193, + serialized_end=2220, ) @@ -958,8 +958,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2364, - serialized_end=2426, + serialized_start=2370, + serialized_end=2432, ) _DATAPLANEMONITORING = _descriptor.Descriptor( @@ -996,8 +996,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2217, - serialized_end=2426, + serialized_start=2223, + serialized_end=2432, ) _FORCHCONFIG.fields_by_name['site'].message_type = _SITECONFIG diff --git a/public/protos.hash b/public/protos.hash index ffed8ff22..19df04503 100644 --- a/public/protos.hash +++ b/public/protos.hash @@ -6,7 +6,7 @@ a25e80c06dc7630cf1babf5161feb3e43aa90181 proto/cpn_config.proto 33f81938e634f1996f1e46b4295ebecfb4b7cb41 proto/dataplane_state.proto 15851bf434247f426199c9c6f6fcfde296d847ed proto/devices_state.proto 22a838c9d693eaceef059c63e765aa2906392661 proto/faucet_event.proto -b9146c5cddcf6320b97580d69745546538d33474 proto/forch_configuration.proto +8b3dc7da10ead0dc669101a45e39e3ab270eac19 proto/forch_configuration.proto 4fc546c3a712b5680bc67f8f49fd1d915aed0b7e proto/host_path.proto 877b648b84c4ea9a88131975cfa2cfcb4441b854 proto/list_hosts.proto db4d1bf4d1b4ac1a575853833ecbd9571d784203 proto/path_node.proto diff --git a/public/protos.html b/public/protos.html index 5fa1d1372..493c0092a 100644 --- a/public/protos.html +++ b/public/protos.html @@ -3208,10 +3208,10 @@

    EventClientConfig

    - config_hash_cooling_sec + config_hash_clash_timeout_sec int32 -

    cooling time (in seconds) for config hash checking

    +

    timeout for unmatched config hash

    From d01f5fbb762f1ffe47128c1d98831e4b9a51d5ef Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 10:53:34 -0700 Subject: [PATCH 17/30] fix logging --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 07a5f236b..c5f1e7ef8 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -385,7 +385,7 @@ def _process_device_placement(self, eth_src, device_placement, static=False, exp self._authenticator.process_device_placement(eth_src, device_placement) else: LOGGER.info( - 'Ignored vlan expiration for device %s with expired vlan %d', eth_src, expired_vlan) + 'Ignored vlan expiration for device %s with expired vlan %s', eth_src, expired_vlan) def handle_auth_result(self, mac, access, segment, role): """Method passed as callback to authenticator to forward auth results""" From 6e3d45e1445a42c87cc291fc4c6e4c747a4c5454 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 23:03:01 -0700 Subject: [PATCH 18/30] add timer --- forch/forchestrator.py | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index c5f1e7ef8..886f18e41 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -114,7 +114,7 @@ def __init__(self, config): self._metrics = None self._varz_proxy = None - self._config_hash_clash_start_time = None + self._config_hash_clash_timer = None self._config_hash_clash_timeout_sec = ( self._config.event_client.config_hash_clash_timeout_sec or int(os.getenv( @@ -436,7 +436,7 @@ def _restore_states(self): # Restore config first before restoring all state from varz. metrics, varz_config_hashes = self._get_varz_config() - assert self._restore_faucet_config(time.time(), varz_config_hashes) + self._restore_faucet_config(time.time(), varz_config_hashes) event_horizon = self._faucet_collector.restore_states_from_metrics(metrics) self._faucet_events.set_event_horizon(event_horizon) @@ -446,22 +446,31 @@ def _restore_faucet_config(self, timestamp, config_hash): self._update_config_warning_varz() if config_hash == config_info['hashes']: - self._config_hash_clash_start_time = None - LOGGER.debug('Cleared config hash clash starting time') + self._attempt_cancel_config_hash_clash_timer() else: - if self._config_hash_clash_start_time: - clash_elapsed_time = time.time() - self._config_hash_clash_start_time - assert clash_elapsed_time < self._config_hash_clash_timeout_sec, ( - f'Config hash does not match after ' - f'{self._config_hash_clash_timeout_sec} seconds') - else: - self._config_hash_clash_start_time = time.time() LOGGER.warning('Config hash does not match') - return False + self._attempt_start_config_hash_clash_timer() self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) - return True + def _attempt_start_config_hash_clash_timer(self): + if self._config_hash_clash_timer: + return + self._config_hash_clash_timer = threading.Timer( + interval=self._config_hash_clash_timeout_sec, + function=self._raise_config_hash_clash_exception()) + self._config_hash_clash_timer.start() + LOGGER.info('Config hash clash timer started') + + def _attempt_cancel_config_hash_clash_timer(self): + if not self._config_hash_clash_timer: + return + self._config_hash_clash_timer.cancel() + LOGGER.info('Config hash clash timer cancelled') + + def _raise_config_hash_clash_exception(self): + raise Exception( + f'Config hash does not match after {self._config_hash_clash_timeout_sec} seconds') def _process_config_change(self, event): self._faucet_collector.process_dp_config_change( From 267a9f83cc0358097844eff8488f2d55555edb0c Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Tue, 27 Oct 2020 23:26:06 -0700 Subject: [PATCH 19/30] fix --- forch/forchestrator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 886f18e41..3d88189f1 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -458,7 +458,7 @@ def _attempt_start_config_hash_clash_timer(self): return self._config_hash_clash_timer = threading.Timer( interval=self._config_hash_clash_timeout_sec, - function=self._raise_config_hash_clash_exception()) + function=self._raise_config_hash_clash_exception) self._config_hash_clash_timer.start() LOGGER.info('Config hash clash timer started') @@ -466,6 +466,7 @@ def _attempt_cancel_config_hash_clash_timer(self): if not self._config_hash_clash_timer: return self._config_hash_clash_timer.cancel() + self._config_hash_clash_timer = None LOGGER.info('Config hash clash timer cancelled') def _raise_config_hash_clash_exception(self): From 231b82948766bd3b84b1efcf5e50ce07626c8401 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 00:29:54 -0700 Subject: [PATCH 20/30] raise exception for config hash clash in main loop --- forch/forchestrator.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 3d88189f1..2b1b48933 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -115,6 +115,7 @@ def __init__(self, config): self._varz_proxy = None self._config_hash_clash_timer = None + self._config_hash_clashed = False self._config_hash_clash_timeout_sec = ( self._config.event_client.config_hash_clash_timeout_sec or int(os.getenv( @@ -458,9 +459,10 @@ def _attempt_start_config_hash_clash_timer(self): return self._config_hash_clash_timer = threading.Timer( interval=self._config_hash_clash_timeout_sec, - function=self._raise_config_hash_clash_exception) + function=self._set_config_hash_clashed) self._config_hash_clash_timer.start() - LOGGER.info('Config hash clash timer started') + LOGGER.info( + 'Config hash clash timer started with %s seconds', self._config_hash_clash_timeout_sec) def _attempt_cancel_config_hash_clash_timer(self): if not self._config_hash_clash_timer: @@ -469,9 +471,10 @@ def _attempt_cancel_config_hash_clash_timer(self): self._config_hash_clash_timer = None LOGGER.info('Config hash clash timer cancelled') - def _raise_config_hash_clash_exception(self): - raise Exception( - f'Config hash does not match after {self._config_hash_clash_timeout_sec} seconds') + def _set_config_hash_clashed(self): + LOGGER.error( + 'Config hash does not match after %s seconds', self._config_hash_clash_timeout_sec) + self._config_hash_clashed = True def _process_config_change(self, event): self._faucet_collector.process_dp_config_change( @@ -498,6 +501,8 @@ def main_loop(self): while not self._faucet_events.event_socket_connected: self._faucet_events_connect() + if self._config_hash_clashed: + raise Exception('Config hash clashed') try: self._faucet_events.next_event(blocking=True) except FaucetEventOrderError as e: From bdc75e12d054276fc9842aa3549677722c2368f4 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 00:36:47 -0700 Subject: [PATCH 21/30] increase timeout --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 2b1b48933..800454215 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = '30' +_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = '60' _TARGET_FAUCET_METRICS = ( 'port_status', From 04aff6906c7c399baba868e176664a6d063405f4 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 00:58:10 -0700 Subject: [PATCH 22/30] raise exception in event client --- forch/faucet_event_client.py | 4 +++- forch/forchestrator.py | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/forch/faucet_event_client.py b/forch/faucet_event_client.py index 108e7271f..39a61871b 100644 --- a/forch/faucet_event_client.py +++ b/forch/faucet_event_client.py @@ -212,9 +212,11 @@ def _dispatch_faucet_event(self, target, target_event): def _should_log_event(self, event): return event and os.getenv('FAUCET_EVENT_DEBUG') - def next_event(self, blocking=False): + def next_event(self, get_config_hash_clashed, blocking=False): """Return the next event from the queue""" while self.event_socket_connected and self.has_event(blocking=blocking): + if get_config_hash_clashed(): + raise Exception('Config hash clashed') with self._buffer_lock: line, remainder = self.buffer.split('\n', 1) self.buffer = remainder diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 800454215..004893774 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -476,6 +476,9 @@ def _set_config_hash_clashed(self): 'Config hash does not match after %s seconds', self._config_hash_clash_timeout_sec) self._config_hash_clashed = True + def _get_config_hash_clashed(self): + return self._config_hash_clashed + def _process_config_change(self, event): self._faucet_collector.process_dp_config_change( event.timestamp, event.dp_name, event.restart_type, event.dp_id) @@ -501,8 +504,6 @@ def main_loop(self): while not self._faucet_events.event_socket_connected: self._faucet_events_connect() - if self._config_hash_clashed: - raise Exception('Config hash clashed') try: self._faucet_events.next_event(blocking=True) except FaucetEventOrderError as e: From d35f482cd827309106390c1ddad6efeec12ed731 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 02:19:41 -0700 Subject: [PATCH 23/30] compare hash when timeout --- forch/forchestrator.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 004893774..4bffa7e0b 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -455,11 +455,11 @@ def _restore_faucet_config(self, timestamp, config_hash): self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) def _attempt_start_config_hash_clash_timer(self): - if self._config_hash_clash_timer: + if self._config_hash_clash_timer and self._config_hash_clash_timer.is_alive(): return self._config_hash_clash_timer = threading.Timer( interval=self._config_hash_clash_timeout_sec, - function=self._set_config_hash_clashed) + function=self._check_config_hash_clashed) self._config_hash_clash_timer.start() LOGGER.info( 'Config hash clash timer started with %s seconds', self._config_hash_clash_timeout_sec) @@ -468,13 +468,16 @@ def _attempt_cancel_config_hash_clash_timer(self): if not self._config_hash_clash_timer: return self._config_hash_clash_timer.cancel() - self._config_hash_clash_timer = None LOGGER.info('Config hash clash timer cancelled') - def _set_config_hash_clashed(self): - LOGGER.error( - 'Config hash does not match after %s seconds', self._config_hash_clash_timeout_sec) - self._config_hash_clashed = True + def _check_config_hash_clashed(self): + _, varz_config_hashes = self._get_varz_config() + config_info, faucet_dps, _ = self._get_faucet_config() + + if varz_config_hashes != config_info['hashes']: + LOGGER.error( + 'Config hash does not match after %s seconds', self._config_hash_clash_timeout_sec) + self._config_hash_clashed = True def _get_config_hash_clashed(self): return self._config_hash_clashed @@ -505,7 +508,7 @@ def main_loop(self): self._faucet_events_connect() try: - self._faucet_events.next_event(blocking=True) + self._faucet_events.next_event(self._get_config_hash_clashed, blocking=True) except FaucetEventOrderError as e: LOGGER.error("Faucet event order error: %s", e) if self._metrics: From 7d557d4dd35b4c43112a2a17ef3552c1397a2be7 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 02:38:22 -0700 Subject: [PATCH 24/30] lint --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 4bffa7e0b..85d7ec804 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -472,7 +472,7 @@ def _attempt_cancel_config_hash_clash_timer(self): def _check_config_hash_clashed(self): _, varz_config_hashes = self._get_varz_config() - config_info, faucet_dps, _ = self._get_faucet_config() + config_info, _, _ = self._get_faucet_config() if varz_config_hashes != config_info['hashes']: LOGGER.error( From 09140c1d6d4727a957839aa938cae862dc2ce417 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 02:40:12 -0700 Subject: [PATCH 25/30] changes --- forch/forchestrator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 85d7ec804..7e7fbdaad 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -465,7 +465,7 @@ def _attempt_start_config_hash_clash_timer(self): 'Config hash clash timer started with %s seconds', self._config_hash_clash_timeout_sec) def _attempt_cancel_config_hash_clash_timer(self): - if not self._config_hash_clash_timer: + if not self._config_hash_clash_timer or not self._config_hash_clash_timer.is_alive(): return self._config_hash_clash_timer.cancel() LOGGER.info('Config hash clash timer cancelled') From 87c23ecbbbcfc84cdba9480f1cfd62c64b808434 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 10:42:22 -0700 Subject: [PATCH 26/30] use existing heartbeat scheduler --- forch/faucet_event_client.py | 4 +-- forch/faucetizer.py | 6 +++- forch/forchestrator.py | 60 +++++++++++++----------------------- 3 files changed, 27 insertions(+), 43 deletions(-) diff --git a/forch/faucet_event_client.py b/forch/faucet_event_client.py index 39a61871b..108e7271f 100644 --- a/forch/faucet_event_client.py +++ b/forch/faucet_event_client.py @@ -212,11 +212,9 @@ def _dispatch_faucet_event(self, target, target_event): def _should_log_event(self, event): return event and os.getenv('FAUCET_EVENT_DEBUG') - def next_event(self, get_config_hash_clashed, blocking=False): + def next_event(self, blocking=False): """Return the next event from the queue""" while self.event_socket_connected and self.has_event(blocking=blocking): - if get_config_hash_clashed(): - raise Exception('Config hash clashed') with self._buffer_lock: line, remainder = self.buffer.split('\n', 1) self.buffer = remainder diff --git a/forch/faucetizer.py b/forch/faucetizer.py index b78462a07..001719f78 100644 --- a/forch/faucetizer.py +++ b/forch/faucetizer.py @@ -28,7 +28,7 @@ class Faucetizer: """Collect Faucet information and generate ACLs""" # pylint: disable=too-many-arguments def __init__(self, orch_config, structural_config_file, behavioral_config_file, - reregister_include_file_handlers=None): + reregister_include_file_handlers=None, reset_config_hash_clash_timer=None): self._static_devices = DevicesState() self._dynamic_devices = DevicesState() self._device_behaviors = {} @@ -49,6 +49,7 @@ def __init__(self, orch_config, structural_config_file, behavioral_config_file, self._available_testing_vlans = None self._watched_include_files = [] self._reregister_include_file_handlers = reregister_include_file_handlers + self._reset_config_hash_clash_timer = reset_config_hash_clash_timer self._lock = threading.RLock() self._validate_and_initialize_config() @@ -379,6 +380,9 @@ def flush_behavioral_config(self, force=False): yaml.dump(self._behavioral_faucet_config, file) LOGGER.debug('Wrote behavioral config to %s', self._behavioral_config_file) + if self._reset_config_hash_clash_timer: + self._reset_config_hash_clash_timer() + def flush_include_config(self, include_file_name, include_config): """Write include configs to file""" faucet_include_file_path = os.path.join(self._faucet_config_dir, include_file_name) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 7e7fbdaad..570a4694e 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = '60' +_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = 60 _TARGET_FAUCET_METRICS = ( 'port_status', @@ -114,13 +114,10 @@ def __init__(self, config): self._metrics = None self._varz_proxy = None - self._config_hash_clash_timer = None - self._config_hash_clashed = False + self._config_hash_clash_start_time = None self._config_hash_clash_timeout_sec = ( - self._config.event_client.config_hash_clash_timeout_sec or - int(os.getenv( - '_CONFIG_HASH_CLASH_TIMEOUT_SEC', _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT)) - ) + self._config.event_client.config_hash_clash_timeout_sec or + _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT) self._lock = threading.Lock() @@ -144,6 +141,7 @@ def initialize(self): self._faucet_state_scheduler = HeartbeatScheduler(interval_sec=1) self._faucet_state_scheduler.add_callback( self._faucet_collector.heartbeat_update_stack_state) + self._faucet_state_scheduler.add_callback(self._verify_config_hash_clash_state) gauge_metrics_interval_sec = self._config.dataplane_monitoring.gauge_metrics_interval_sec if gauge_metrics_interval_sec: @@ -447,47 +445,31 @@ def _restore_faucet_config(self, timestamp, config_hash): self._update_config_warning_varz() if config_hash == config_info['hashes']: - self._attempt_cancel_config_hash_clash_timer() - else: + self._config_hash_clash_start_time = None + LOGGER.debug('Cleared config hash clash starting time') + elif not self._config_hash_clash_start_time: LOGGER.warning('Config hash does not match') - self._attempt_start_config_hash_clash_timer() + self._config_hash_clash_start_time = time.time() self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) - def _attempt_start_config_hash_clash_timer(self): - if self._config_hash_clash_timer and self._config_hash_clash_timer.is_alive(): - return - self._config_hash_clash_timer = threading.Timer( - interval=self._config_hash_clash_timeout_sec, - function=self._check_config_hash_clashed) - self._config_hash_clash_timer.start() - LOGGER.info( - 'Config hash clash timer started with %s seconds', self._config_hash_clash_timeout_sec) - - def _attempt_cancel_config_hash_clash_timer(self): - if not self._config_hash_clash_timer or not self._config_hash_clash_timer.is_alive(): - return - self._config_hash_clash_timer.cancel() - LOGGER.info('Config hash clash timer cancelled') - - def _check_config_hash_clashed(self): - _, varz_config_hashes = self._get_varz_config() - config_info, _, _ = self._get_faucet_config() - - if varz_config_hashes != config_info['hashes']: - LOGGER.error( - 'Config hash does not match after %s seconds', self._config_hash_clash_timeout_sec) - self._config_hash_clashed = True - - def _get_config_hash_clashed(self): - return self._config_hash_clashed - def _process_config_change(self, event): self._faucet_collector.process_dp_config_change( event.timestamp, event.dp_name, event.restart_type, event.dp_id) if event.config_hash_info.hashes: self._restore_faucet_config(event.timestamp, event.config_hash_info.hashes) + def _verify_config_hash_clash_state(self): + if self._config_hash_clash_start_time: + clash_elapsed_time = time.time() - self._config_hash_clash_start_time + assert clash_elapsed_time < self._config_hash_clash_timeout_sec, ( + f'Config hash does not match after ' + f'{self._config_hash_clash_timeout_sec} seconds') + + def _reset_config_hash_clash_timer(self): + if self._config_hash_clash_start_time: + self._config_hash_clash_start_time = time.time() + def _faucet_events_connect(self): LOGGER.info('Attempting faucet event sock connection...') time.sleep(1) @@ -508,7 +490,7 @@ def main_loop(self): self._faucet_events_connect() try: - self._faucet_events.next_event(self._get_config_hash_clashed, blocking=True) + self._faucet_events.next_event(blocking=True) except FaucetEventOrderError as e: LOGGER.error("Faucet event order error: %s", e) if self._metrics: From 27c257040fecb287e9666dc72d4e81a7b4c176eb Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 12:34:41 -0700 Subject: [PATCH 27/30] lint --- forch/forchestrator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 570a4694e..5db7fbc27 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -116,8 +116,8 @@ def __init__(self, config): self._config_hash_clash_start_time = None self._config_hash_clash_timeout_sec = ( - self._config.event_client.config_hash_clash_timeout_sec or - _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT) + self._config.event_client.config_hash_clash_timeout_sec or + _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT) self._lock = threading.Lock() From 70f69d112bb0af9a4ae8ebeef813f3ca32bc5795 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 15:42:02 -0700 Subject: [PATCH 28/30] change timer trigger to config writing --- forch/faucetizer.py | 8 +++--- forch/forchestrator.py | 45 ++++++++++++++++++--------------- proto/forch_configuration.proto | 4 +-- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/forch/faucetizer.py b/forch/faucetizer.py index 001719f78..ae28441d4 100644 --- a/forch/faucetizer.py +++ b/forch/faucetizer.py @@ -28,7 +28,7 @@ class Faucetizer: """Collect Faucet information and generate ACLs""" # pylint: disable=too-many-arguments def __init__(self, orch_config, structural_config_file, behavioral_config_file, - reregister_include_file_handlers=None, reset_config_hash_clash_timer=None): + reregister_include_file_handlers=None, reset_faucet_config_writing_time=None): self._static_devices = DevicesState() self._dynamic_devices = DevicesState() self._device_behaviors = {} @@ -49,7 +49,7 @@ def __init__(self, orch_config, structural_config_file, behavioral_config_file, self._available_testing_vlans = None self._watched_include_files = [] self._reregister_include_file_handlers = reregister_include_file_handlers - self._reset_config_hash_clash_timer = reset_config_hash_clash_timer + self._reset_faucet_config_writing_time = reset_faucet_config_writing_time self._lock = threading.RLock() self._validate_and_initialize_config() @@ -380,8 +380,8 @@ def flush_behavioral_config(self, force=False): yaml.dump(self._behavioral_faucet_config, file) LOGGER.debug('Wrote behavioral config to %s', self._behavioral_config_file) - if self._reset_config_hash_clash_timer: - self._reset_config_hash_clash_timer() + if self._reset_faucet_config_writing_time: + self._reset_faucet_config_writing_time() def flush_include_config(self, include_file_name, include_config): """Write include configs to file""" diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 5db7fbc27..57b185fc2 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -45,7 +45,7 @@ _FAUCET_PROM_PORT_DEFAULT = 9302 _GAUGE_PROM_HOST = '127.0.0.1' _GAUGE_PROM_PORT_DEFAULT = 9303 -_CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT = 60 +_CONFIG_HASH_VERIFICATION_TIMEOUT_SEC_DEFAULT = 30 _TARGET_FAUCET_METRICS = ( 'port_status', @@ -114,10 +114,11 @@ def __init__(self, config): self._metrics = None self._varz_proxy = None - self._config_hash_clash_start_time = None - self._config_hash_clash_timeout_sec = ( - self._config.event_client.config_hash_clash_timeout_sec or - _CONFIG_HASH_CLASH_TIMEOUT_SEC_DEFAULT) + self._last_faucet_config_writing_time = None + self._last_received_faucet_config_hash = None + self._config_hash_verification_timeout_sec = ( + self._config.event_client.config_hash_verification_timeout_sec or + _CONFIG_HASH_VERIFICATION_TIMEOUT_SEC_DEFAULT) self._lock = threading.Lock() @@ -141,7 +142,7 @@ def initialize(self): self._faucet_state_scheduler = HeartbeatScheduler(interval_sec=1) self._faucet_state_scheduler.add_callback( self._faucet_collector.heartbeat_update_stack_state) - self._faucet_state_scheduler.add_callback(self._verify_config_hash_clash_state) + self._faucet_state_scheduler.add_callback(self._verify_config_hash) gauge_metrics_interval_sec = self._config.dataplane_monitoring.gauge_metrics_interval_sec if gauge_metrics_interval_sec: @@ -335,7 +336,7 @@ def _initialize_faucetizer(self): self._faucetizer = faucetizer.Faucetizer( orch_config, self._structural_config_file, self._behavioral_config_file, - self._reregister_include_file_handlers) + self._reregister_include_file_handlers, self._reset_faucet_config_writing_time) if orch_config.faucetize_interval_sec: self._faucetize_scheduler = HeartbeatScheduler(orch_config.faucetize_interval_sec) @@ -444,12 +445,9 @@ def _restore_faucet_config(self, timestamp, config_hash): config_info, faucet_dps, _ = self._get_faucet_config() self._update_config_warning_varz() - if config_hash == config_info['hashes']: - self._config_hash_clash_start_time = None - LOGGER.debug('Cleared config hash clash starting time') - elif not self._config_hash_clash_start_time: + if config_hash != config_info['hashes']: LOGGER.warning('Config hash does not match') - self._config_hash_clash_start_time = time.time() + self._last_received_faucet_config_hash = config_hash self._faucet_collector.process_dataplane_config_change(timestamp, faucet_dps) @@ -459,16 +457,21 @@ def _process_config_change(self, event): if event.config_hash_info.hashes: self._restore_faucet_config(event.timestamp, event.config_hash_info.hashes) - def _verify_config_hash_clash_state(self): - if self._config_hash_clash_start_time: - clash_elapsed_time = time.time() - self._config_hash_clash_start_time - assert clash_elapsed_time < self._config_hash_clash_timeout_sec, ( - f'Config hash does not match after ' - f'{self._config_hash_clash_timeout_sec} seconds') + def _verify_config_hash(self): + if not self._last_faucet_config_writing_time: + return + + elapsed_time = time.time() - self._last_faucet_config_writing_time + if elapsed_time < self._config_hash_verification_timeout_sec: + return + + config_info, _, _ = self._get_faucet_config() + if config_info['hashes'] != self._last_received_faucet_config_hash: + raise Exception(f'Config hash does not match after ' + f'{self._config_hash_verification_timeout_sec} seconds') - def _reset_config_hash_clash_timer(self): - if self._config_hash_clash_start_time: - self._config_hash_clash_start_time = time.time() + def _reset_faucet_config_writing_time(self): + self._last_faucet_config_writing_time = time.time() def _faucet_events_connect(self): LOGGER.info('Attempting faucet event sock connection...') diff --git a/proto/forch_configuration.proto b/proto/forch_configuration.proto index 71bbbc35c..29bc0c2e6 100644 --- a/proto/forch_configuration.proto +++ b/proto/forch_configuration.proto @@ -199,8 +199,8 @@ message EventClientConfig { // coalesce stack topo events to reduce churn int32 stack_topo_change_coalesce_sec = 2; - // timeout for unmatched config hash - int32 config_hash_clash_timeout_sec = 3; + // timeout for config hash verification + int32 config_hash_verification_timeout_sec = 3; } /* From e227df6cc21f46fe1ee168091edbab1a04880f14 Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 15:44:24 -0700 Subject: [PATCH 29/30] build proto --- forch/proto/forch_configuration_pb2.py | 32 +++++++++++++------------- public/protos.hash | 2 +- public/protos.html | 4 ++-- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/forch/proto/forch_configuration_pb2.py b/forch/proto/forch_configuration_pb2.py index 1b4c281fe..2e980a811 100644 --- a/forch/proto/forch_configuration_pb2.py +++ b/forch/proto/forch_configuration_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"}\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\x12%\n\x1d\x63onfig_hash_clash_timeout_sec\x18\x03 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' + serialized_pb=b'\n%forch/proto/forch_configuration.proto\"\xc7\x02\n\x0b\x46orchConfig\x12\x19\n\x04site\x18\x01 \x01(\x0b\x32\x0b.SiteConfig\x12+\n\rorchestration\x18\x02 \x01(\x0b\x32\x14.OrchestrationConfig\x12\x1f\n\x07process\x18\x03 \x01(\x0b\x32\x0e.ProcessConfig\x12\x19\n\x04http\x18\x04 \x01(\x0b\x32\x0b.HttpConfig\x12(\n\x0c\x65vent_client\x18\x05 \x01(\x0b\x32\x12.EventClientConfig\x12,\n\x0evarz_interface\x18\x06 \x01(\x0b\x32\x14.VarzInterfaceConfig\x12(\n\x0cproxy_server\x18\x07 \x01(\x0b\x32\x12.ProxyServerConfig\x12\x32\n\x14\x64\x61taplane_monitoring\x18\x08 \x01(\x0b\x32\x14.DataplaneMonitoring\"\xc3\x01\n\nSiteConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x0b\x63ontrollers\x18\x02 \x03(\x0b\x32\x1c.SiteConfig.ControllersEntry\x1aJ\n\x10\x43ontrollersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.SiteConfig.Controller:\x02\x38\x01\x1a(\n\nController\x12\x0c\n\x04\x66qdn\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc4\x06\n\x13OrchestrationConfig\x12\x1e\n\x16structural_config_file\x18\x01 \x01(\t\x12\x1c\n\x14unauthenticated_vlan\x18\x08 \x01(\x05\x12\x10\n\x08tail_acl\x18\t \x01(\t\x12\x1e\n\x16\x62\x65havioral_config_file\x18\x02 \x01(\t\x12\x1f\n\x17static_device_placement\x18\x03 \x01(\t\x12\x1e\n\x16static_device_behavior\x18\x04 \x01(\t\x12\x1b\n\x13segments_vlans_file\x18\x05 \x01(\t\x12\x19\n\x11gauge_config_file\x18\n \x01(\t\x12\x1e\n\x16\x66\x61ucetize_interval_sec\x18\x06 \x01(\x05\x12\x34\n\x0b\x61uth_config\x18\x07 \x01(\x0b\x32\x1f.OrchestrationConfig.AuthConfig\x12>\n\x10sequester_config\x18\x0b \x01(\x0b\x32$.OrchestrationConfig.SequesterConfig\x1a\xc6\x01\n\nAuthConfig\x12\x34\n\x0bradius_info\x18\x01 \x01(\x0b\x32\x1f.OrchestrationConfig.RadiusInfo\x12\x15\n\rheartbeat_sec\x18\x02 \x01(\x05\x12\x1a\n\x12max_radius_backoff\x18\x03 \x01(\x05\x12\x19\n\x11query_timeout_sec\x18\x04 \x01(\x05\x12\x1a\n\x12reject_timeout_sec\x18\x05 \x01(\x05\x12\x18\n\x10\x61uth_timeout_sec\x18\x06 \x01(\x05\x1ag\n\nRadiusInfo\x12\x11\n\tserver_ip\x18\x01 \x01(\t\x12\x13\n\x0bserver_port\x18\x02 \x01(\x05\x12\x1c\n\x14radius_secret_helper\x18\x03 \x01(\t\x12\x13\n\x0bsource_port\x18\x04 \x01(\x05\x1a|\n\x0fSequesterConfig\x12\x0f\n\x07segment\x18\x01 \x01(\t\x12\x12\n\nvlan_start\x18\x02 \x01(\x05\x12\x10\n\x08vlan_end\x18\x03 \x01(\x05\x12\x18\n\x10port_description\x18\x04 \x01(\t\x12\x18\n\x10grpc_server_port\x18\x05 \x01(\x05\"\xaa\x03\n\rProcessConfig\x12\x19\n\x11scan_interval_sec\x18\x01 \x01(\x05\x12\x12\n\ncheck_vrrp\x18\x02 \x01(\x08\x12\x30\n\tprocesses\x18\x03 \x03(\x0b\x32\x1d.ProcessConfig.ProcessesEntry\x12\x34\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\x1f.ProcessConfig.ConnectionsEntry\x1aH\n\x0eProcessesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.ProcessConfig.Process:\x02\x38\x01\x1aM\n\x10\x43onnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.ProcessConfig.Connection:\x02\x38\x01\x1a\x46\n\x07Process\x12\r\n\x05regex\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x1d\n\x15\x63pu_percent_threshold\x18\x03 \x01(\x02\x1a!\n\nConnection\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"\x1f\n\nHttpConfig\x12\x11\n\thttp_root\x18\x01 \x01(\t\"\x84\x01\n\x11\x45ventClientConfig\x12\x19\n\x11port_debounce_sec\x18\x01 \x01(\x05\x12&\n\x1estack_topo_change_coalesce_sec\x18\x02 \x01(\x05\x12,\n$config_hash_verification_timeout_sec\x18\x03 \x01(\x05\"(\n\x13VarzInterfaceConfig\x12\x11\n\tvarz_port\x18\x01 \x01(\x05\"\x97\x01\n\x11ProxyServerConfig\x12\x12\n\nproxy_port\x18\x01 \x01(\x05\x12\x30\n\x07targets\x18\x02 \x03(\x0b\x32\x1f.ProxyServerConfig.TargetsEntry\x1a<\n\x0cTargetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.ProxyTarget:\x02\x38\x01\"\x1b\n\x0bProxyTarget\x12\x0c\n\x04port\x18\x01 \x01(\x05\"\xd1\x01\n\x13\x44\x61taplaneMonitoring\x12\"\n\x1agauge_metrics_interval_sec\x18\x01 \x01(\x05\x12V\n\x1bvlan_pkt_per_sec_thresholds\x18\x02 \x03(\x0b\x32\x31.DataplaneMonitoring.VlanPktPerSecThresholdsEntry\x1a>\n\x1cVlanPktPerSecThresholdsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x62\x06proto3' ) @@ -760,7 +760,7 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='config_hash_clash_timeout_sec', full_name='EventClientConfig.config_hash_clash_timeout_sec', index=2, + name='config_hash_verification_timeout_sec', full_name='EventClientConfig.config_hash_verification_timeout_sec', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -778,8 +778,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1870, - serialized_end=1995, + serialized_start=1871, + serialized_end=2003, ) @@ -810,8 +810,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1997, - serialized_end=2037, + serialized_start=2005, + serialized_end=2045, ) @@ -849,8 +849,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2131, - serialized_end=2191, + serialized_start=2139, + serialized_end=2199, ) _PROXYSERVERCONFIG = _descriptor.Descriptor( @@ -887,8 +887,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2040, - serialized_end=2191, + serialized_start=2048, + serialized_end=2199, ) @@ -919,8 +919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2193, - serialized_end=2220, + serialized_start=2201, + serialized_end=2228, ) @@ -958,8 +958,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2370, - serialized_end=2432, + serialized_start=2378, + serialized_end=2440, ) _DATAPLANEMONITORING = _descriptor.Descriptor( @@ -996,8 +996,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2223, - serialized_end=2432, + serialized_start=2231, + serialized_end=2440, ) _FORCHCONFIG.fields_by_name['site'].message_type = _SITECONFIG diff --git a/public/protos.hash b/public/protos.hash index 19df04503..eb71d9bcc 100644 --- a/public/protos.hash +++ b/public/protos.hash @@ -6,7 +6,7 @@ a25e80c06dc7630cf1babf5161feb3e43aa90181 proto/cpn_config.proto 33f81938e634f1996f1e46b4295ebecfb4b7cb41 proto/dataplane_state.proto 15851bf434247f426199c9c6f6fcfde296d847ed proto/devices_state.proto 22a838c9d693eaceef059c63e765aa2906392661 proto/faucet_event.proto -8b3dc7da10ead0dc669101a45e39e3ab270eac19 proto/forch_configuration.proto +6d9027be1784ba5a212dc8c7f15ba7c9b29616b4 proto/forch_configuration.proto 4fc546c3a712b5680bc67f8f49fd1d915aed0b7e proto/host_path.proto 877b648b84c4ea9a88131975cfa2cfcb4441b854 proto/list_hosts.proto db4d1bf4d1b4ac1a575853833ecbd9571d784203 proto/path_node.proto diff --git a/public/protos.html b/public/protos.html index 493c0092a..7ce65e75e 100644 --- a/public/protos.html +++ b/public/protos.html @@ -3208,10 +3208,10 @@

    EventClientConfig

    - config_hash_clash_timeout_sec + config_hash_verification_timeout_sec int32 -

    timeout for unmatched config hash

    +

    timeout for config hash verification

    From eab92357cbe60300fdd9d2e90d3944cdb4e9583f Mon Sep 17 00:00:00 2001 From: Yufeng Duan <55268016+didovesei@users.noreply.github.com> Date: Wed, 28 Oct 2020 16:08:24 -0700 Subject: [PATCH 30/30] clear config writting time --- forch/forchestrator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/forch/forchestrator.py b/forch/forchestrator.py index 57b185fc2..286ba8e30 100644 --- a/forch/forchestrator.py +++ b/forch/forchestrator.py @@ -470,6 +470,8 @@ def _verify_config_hash(self): raise Exception(f'Config hash does not match after ' f'{self._config_hash_verification_timeout_sec} seconds') + self._last_faucet_config_writing_time = None + def _reset_faucet_config_writing_time(self): self._last_faucet_config_writing_time = time.time()