Merge pull request #14 from Aignosi/SIENTIAPDE-1174-mapear-e-implementar-metricas-a-serem-criadas
Sientiapde 1174 mapear e implementar metricas a serem criadas
This commit is contained in:
@@ -66,7 +66,7 @@ def signal_handler(_signum, _frame):
|
|||||||
|
|
||||||
def start_prometheus_server():
|
def start_prometheus_server():
|
||||||
try:
|
try:
|
||||||
port = int(os.getenv("HTTP_SERVER_PORT", 4840))
|
port = int(os.getenv("HTTP_METRICS_PORT", 9090))
|
||||||
start_http_server(port)
|
start_http_server(port)
|
||||||
print(f"Prometheus server started on port {port}.")
|
print(f"Prometheus server started on port {port}.")
|
||||||
metrics.APP_UP.labels(pod_id=POD_ID).set(1) # Mark app as UP
|
metrics.APP_UP.labels(pod_id=POD_ID).set(1) # Mark app as UP
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ class Ingestor:
|
|||||||
'model_name': '-',
|
'model_name': '-',
|
||||||
'workflow_name': 'OPC_INGESTOR',
|
'workflow_name': 'OPC_INGESTOR',
|
||||||
'schema_name': 'OPC_INGESTOR',
|
'schema_name': 'OPC_INGESTOR',
|
||||||
|
'pod_id': self.pod_id,
|
||||||
}
|
}
|
||||||
self.ingestor_manager = None
|
self.ingestor_manager = None
|
||||||
|
|
||||||
@@ -136,7 +137,6 @@ class Ingestor:
|
|||||||
},
|
},
|
||||||
lease_ttl=self.lease_ttl,
|
lease_ttl=self.lease_ttl,
|
||||||
heartbeat_ttl=self.heartbeat_ttl,
|
heartbeat_ttl=self.heartbeat_ttl,
|
||||||
pod_id=self.pod_id,
|
|
||||||
poll_interval=self.poll_interval,
|
poll_interval=self.poll_interval,
|
||||||
mongo_connection_string=self.mongo_connection_string,
|
mongo_connection_string=self.mongo_connection_string,
|
||||||
mongo_database=self.mongo_database,
|
mongo_database=self.mongo_database,
|
||||||
|
|||||||
@@ -96,7 +96,8 @@ class DataManager(BaseActivity):
|
|||||||
)
|
)
|
||||||
|
|
||||||
BaseActivity.__init__(self, logger=logger,
|
BaseActivity.__init__(self, logger=logger,
|
||||||
notification_handler=notification_handler)
|
notification_handler=notification_handler,
|
||||||
|
set_error_counter=True)
|
||||||
|
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
"""Closes the Kafka producer connection."""
|
"""Closes the Kafka producer connection."""
|
||||||
@@ -189,6 +190,12 @@ class DataManager(BaseActivity):
|
|||||||
self.logger.debug(
|
self.logger.debug(
|
||||||
f"Message inserted into MongoDB collection {topic}: {data}")
|
f"Message inserted into MongoDB collection {topic}: {data}")
|
||||||
|
|
||||||
|
metrics.TAG_WRITTEN_COUNT.labels(
|
||||||
|
pod_id=self.pod_id,
|
||||||
|
tag_name=data["name"],
|
||||||
|
collection_name=topic
|
||||||
|
).inc()
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
trace = traceback.format_exc()
|
trace = traceback.format_exc()
|
||||||
self.send_notification(
|
self.send_notification(
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import ingestor.metrics as metrics
|
|||||||
class IngestorManager(BaseActivity):
|
class IngestorManager(BaseActivity):
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
kafka_servers: str, redis_data: dict,
|
kafka_servers: str, redis_data: dict,
|
||||||
lease_ttl: int, heartbeat_ttl: int, pod_id: str,
|
lease_ttl: int, heartbeat_ttl: int,
|
||||||
poll_interval: int, mongo_connection_string: str, mongo_database: str,
|
poll_interval: int, mongo_connection_string: str, mongo_database: str,
|
||||||
metadata: dict,
|
metadata: dict,
|
||||||
logger: Logger, notification_handler: NotificationHandler,
|
logger: Logger, notification_handler: NotificationHandler,
|
||||||
@@ -40,7 +40,6 @@ class IngestorManager(BaseActivity):
|
|||||||
port=redis_port,
|
port=redis_port,
|
||||||
lease_ttl=lease_ttl,
|
lease_ttl=lease_ttl,
|
||||||
heartbeat_ttl=heartbeat_ttl,
|
heartbeat_ttl=heartbeat_ttl,
|
||||||
pod_id=pod_id,
|
|
||||||
metadata=metadata,
|
metadata=metadata,
|
||||||
logger=logger,
|
logger=logger,
|
||||||
notification_handler=notification_handler,
|
notification_handler=notification_handler,
|
||||||
@@ -52,11 +51,11 @@ class IngestorManager(BaseActivity):
|
|||||||
self.managed_tags = {}
|
self.managed_tags = {}
|
||||||
self.opc_servers = {}
|
self.opc_servers = {}
|
||||||
|
|
||||||
self.pod_id = pod_id
|
|
||||||
self.metadata = metadata
|
self.metadata = metadata
|
||||||
|
|
||||||
BaseActivity.__init__(self, logger=logger,
|
BaseActivity.__init__(self, logger=logger,
|
||||||
notification_handler=notification_handler)
|
notification_handler=notification_handler,
|
||||||
|
set_error_counter=True)
|
||||||
|
|
||||||
def initialize_opc_from_config(self, server_config: dict) -> OpcManager | None:
|
def initialize_opc_from_config(self, server_config: dict) -> OpcManager | None:
|
||||||
"""
|
"""
|
||||||
@@ -87,7 +86,6 @@ class IngestorManager(BaseActivity):
|
|||||||
logger=self.logger,
|
logger=self.logger,
|
||||||
server_uri=server_config['server_uri'],
|
server_uri=server_config['server_uri'],
|
||||||
notification_handler=self.notification_handler,
|
notification_handler=self.notification_handler,
|
||||||
pod_id=self.pod_id,
|
|
||||||
metadata=self.metadata,
|
metadata=self.metadata,
|
||||||
cert_path=server_config.get('cert_path'),
|
cert_path=server_config.get('cert_path'),
|
||||||
private_key_path=server_config.get('private_key_path'),
|
private_key_path=server_config.get('private_key_path'),
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import ingestor.metrics as metrics
|
|||||||
|
|
||||||
|
|
||||||
class OpcManager(BaseActivity):
|
class OpcManager(BaseActivity):
|
||||||
def __init__(self, name: str, url: str, data_manager: DataManager,
|
def __init__(self, name: str, url: str, data_manager: DataManager, logger: Logger,
|
||||||
logger: Logger, server_uri: str, notification_handler: NotificationHandler, pod_id: str, metadata: dict,
|
server_uri: str, notification_handler: NotificationHandler, metadata: dict,
|
||||||
cert_path: str = None, private_key_path: str = None, server_cert_path: str = None):
|
cert_path: str = None, private_key_path: str = None, server_cert_path: str = None):
|
||||||
self.url = url
|
self.url = url
|
||||||
self.name = name
|
self.name = name
|
||||||
@@ -26,17 +26,17 @@ class OpcManager(BaseActivity):
|
|||||||
self.nodes = {}
|
self.nodes = {}
|
||||||
self.subscriptions = {}
|
self.subscriptions = {}
|
||||||
self.data_manager = data_manager
|
self.data_manager = data_manager
|
||||||
self.pod_id = pod_id
|
|
||||||
self.metadata = metadata
|
self.metadata = metadata
|
||||||
|
|
||||||
|
BaseActivity.__init__(self, logger=logger,
|
||||||
|
notification_handler=notification_handler,
|
||||||
|
set_error_counter=True)
|
||||||
|
|
||||||
metrics.OPC_CONNECTION_STATUS.labels(
|
metrics.OPC_CONNECTION_STATUS.labels(
|
||||||
pod_id=self.pod_id, server_name=self.name, server_url=self.url).set(0)
|
pod_id=self.pod_id, server_name=self.name, server_url=self.url).set(0)
|
||||||
metrics.OPC_TAGS_SUBSCRIBED.labels(
|
metrics.OPC_TAGS_SUBSCRIBED.labels(
|
||||||
pod_id=self.pod_id, server_name=self.name).set(0)
|
pod_id=self.pod_id, server_name=self.name).set(0)
|
||||||
|
|
||||||
BaseActivity.__init__(self, logger=logger,
|
|
||||||
notification_handler=notification_handler)
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"OpcManager(name={self.name}, url={self.url}, server_uri={self.server_uri})\n" \
|
return f"OpcManager(name={self.name}, url={self.url}, server_uri={self.server_uri})\n" \
|
||||||
f"nodes={self.nodes}, subscriptions={self.subscriptions}"
|
f"nodes={self.nodes}, subscriptions={self.subscriptions}"
|
||||||
|
|||||||
@@ -16,14 +16,15 @@ class ResourceManager(BaseActivity):
|
|||||||
port: int,
|
port: int,
|
||||||
lease_ttl: int,
|
lease_ttl: int,
|
||||||
heartbeat_ttl: int,
|
heartbeat_ttl: int,
|
||||||
pod_id: str,
|
|
||||||
metadata: dict,
|
metadata: dict,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
notification_handler: NotificationHandler,
|
notification_handler: NotificationHandler,
|
||||||
username: str | None = None,
|
username: str | None = None,
|
||||||
password: str | None = None,
|
password: str | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
self.pod_id = pod_id
|
BaseActivity.__init__(self, logger=logger,
|
||||||
|
notification_handler=notification_handler,
|
||||||
|
set_error_counter=True)
|
||||||
try:
|
try:
|
||||||
self.redis = Redis(
|
self.redis = Redis(
|
||||||
host=host,
|
host=host,
|
||||||
@@ -35,7 +36,7 @@ class ResourceManager(BaseActivity):
|
|||||||
self.redis.ping()
|
self.redis.ping()
|
||||||
metrics.REDIS_CONNECTION_STATUS.labels(pod_id=self.pod_id).set(1)
|
metrics.REDIS_CONNECTION_STATUS.labels(pod_id=self.pod_id).set(1)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Failed to connect to Redis: {e}")
|
self.logger.error(f"Failed to connect to Redis: {e}")
|
||||||
metrics.REDIS_CONNECTION_STATUS.labels(pod_id=self.pod_id).set(0)
|
metrics.REDIS_CONNECTION_STATUS.labels(pod_id=self.pod_id).set(0)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@@ -43,9 +44,6 @@ class ResourceManager(BaseActivity):
|
|||||||
self.heartbeat_ttl = heartbeat_ttl
|
self.heartbeat_ttl = heartbeat_ttl
|
||||||
self.metadata = metadata
|
self.metadata = metadata
|
||||||
|
|
||||||
BaseActivity.__init__(self, logger=logger,
|
|
||||||
notification_handler=notification_handler)
|
|
||||||
|
|
||||||
def _execute_redis_op(self, operation_name: str, func, *args, **kwargs):
|
def _execute_redis_op(self, operation_name: str, func, *args, **kwargs):
|
||||||
"""Wrapper to execute Redis operations and record metrics."""
|
"""Wrapper to execute Redis operations and record metrics."""
|
||||||
start_time = time()
|
start_time = time()
|
||||||
|
|||||||
@@ -6,6 +6,15 @@ KAFKA_LABELS = ["pod_id", "topic"]
|
|||||||
REDIS_LABELS = ["pod_id", "operation"]
|
REDIS_LABELS = ["pod_id", "operation"]
|
||||||
NOTIFICATION_LABELS = ["pod_id", "level", "block"]
|
NOTIFICATION_LABELS = ["pod_id", "level", "block"]
|
||||||
|
|
||||||
|
MAIN_LABELS = ["pod_id"]
|
||||||
|
|
||||||
|
# --- Reliability Metrics ---
|
||||||
|
TAG_WRITTEN_COUNT = Counter(
|
||||||
|
"ingestor_tag_written_count",
|
||||||
|
"Number of writing process to the collection",
|
||||||
|
[*MAIN_LABELS, "tag_name", "collection_name"],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# --- General Application Metrics ---
|
# --- General Application Metrics ---
|
||||||
APP_LOOP_COUNT = Counter(
|
APP_LOOP_COUNT = Counter(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
asyncua==1.1.5
|
asyncua==1.1.5
|
||||||
redis
|
redis
|
||||||
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.3.5
|
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.3.8
|
||||||
prometheus_client
|
prometheus_client
|
||||||
pymongo
|
pymongo
|
||||||
@@ -10,6 +10,7 @@ metadata = {
|
|||||||
"model_name": "test_model",
|
"model_name": "test_model",
|
||||||
"workflow_name": "test_workflow",
|
"workflow_name": "test_workflow",
|
||||||
"schema_name": "test_schedule",
|
"schema_name": "test_schedule",
|
||||||
|
"pod_id": "localhost",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +259,10 @@ def test_publish_no_kafka(data_manager):
|
|||||||
@patch("ingestor.managers.data_manager.traceback")
|
@patch("ingestor.managers.data_manager.traceback")
|
||||||
def test_publish_error(traceback, data_manager):
|
def test_publish_error(traceback, data_manager):
|
||||||
topic = "test_topic"
|
topic = "test_topic"
|
||||||
data = {"key": "value"}
|
data = {
|
||||||
|
"key": "value",
|
||||||
|
"name": "test_tag"
|
||||||
|
}
|
||||||
|
|
||||||
# Mock the send method of the Kafka producer to raise an exception
|
# Mock the send method of the Kafka producer to raise an exception
|
||||||
send_mock = MagicMock(side_effect=Exception("Test error"))
|
send_mock = MagicMock(side_effect=Exception("Test error"))
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ def ingestor_manager(data_manager_mock, resource_manager_mock):
|
|||||||
},
|
},
|
||||||
lease_ttl=60,
|
lease_ttl=60,
|
||||||
heartbeat_ttl=60,
|
heartbeat_ttl=60,
|
||||||
pod_id="test_pod",
|
|
||||||
poll_interval=5,
|
poll_interval=5,
|
||||||
mongo_connection_string="mongodb://localhost:27017",
|
mongo_connection_string="mongodb://localhost:27017",
|
||||||
mongo_database="sientia",
|
mongo_database="sientia",
|
||||||
@@ -54,7 +53,6 @@ def test___init__(notification_handler_mock, resource_manager_mock, data_manager
|
|||||||
},
|
},
|
||||||
lease_ttl=60,
|
lease_ttl=60,
|
||||||
heartbeat_ttl=60,
|
heartbeat_ttl=60,
|
||||||
pod_id="test_pod",
|
|
||||||
poll_interval=5,
|
poll_interval=5,
|
||||||
mongo_connection_string="mongodb://localhost:27017",
|
mongo_connection_string="mongodb://localhost:27017",
|
||||||
mongo_database="sientia",
|
mongo_database="sientia",
|
||||||
@@ -79,7 +77,6 @@ def test___init__(notification_handler_mock, resource_manager_mock, data_manager
|
|||||||
port=6379,
|
port=6379,
|
||||||
lease_ttl=60,
|
lease_ttl=60,
|
||||||
heartbeat_ttl=60,
|
heartbeat_ttl=60,
|
||||||
pod_id="test_pod",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
logger=ingestor.logger,
|
logger=ingestor.logger,
|
||||||
notification_handler=ingestor.notification_handler,
|
notification_handler=ingestor.notification_handler,
|
||||||
@@ -117,7 +114,6 @@ def test_initialize_opc_from_config(opc_manager, ingestor_manager):
|
|||||||
logger=ingestor_manager.logger,
|
logger=ingestor_manager.logger,
|
||||||
server_uri=server_config['server_uri'],
|
server_uri=server_config['server_uri'],
|
||||||
notification_handler=ingestor_manager.notification_handler,
|
notification_handler=ingestor_manager.notification_handler,
|
||||||
pod_id=server_config['pod_id'],
|
|
||||||
cert_path=server_config['cert_path'],
|
cert_path=server_config['cert_path'],
|
||||||
private_key_path=server_config['private_key_path'],
|
private_key_path=server_config['private_key_path'],
|
||||||
server_cert_path=server_config['server_cert_path'],
|
server_cert_path=server_config['server_cert_path'],
|
||||||
|
|||||||
@@ -44,15 +44,15 @@ metadata = {
|
|||||||
|
|
||||||
|
|
||||||
@fixture
|
@fixture
|
||||||
def raw_opc_manager():
|
@patch("ingestor.managers.opc_manager.metrics")
|
||||||
|
def raw_opc_manager(mock_metrics):
|
||||||
return OpcManager(
|
return OpcManager(
|
||||||
"TestConnector",
|
name="TestConnector",
|
||||||
"opc.tcp://localhost:4840",
|
url="opc.tcp://localhost:4840",
|
||||||
MagicMock(),
|
data_manager=MagicMock(),
|
||||||
MagicMock(),
|
logger=MagicMock(),
|
||||||
"opc.tcp://localhost:4840",
|
server_uri="opc.tcp://localhost:4840",
|
||||||
MagicMock(),
|
notification_handler=MagicMock(),
|
||||||
"localhost",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -512,21 +512,21 @@ def test_check_opc_listenning_error_notification_and_retry(metrics, opc_manager)
|
|||||||
assert opc_manager.send_notification.call_count == 2
|
assert opc_manager.send_notification.call_count == 2
|
||||||
calls = opc_manager.send_notification.call_args_list
|
calls = opc_manager.send_notification.call_args_list
|
||||||
# First call: 5 cycles warning
|
# First call: 5 cycles warning
|
||||||
assert calls[0].kwargs == dict(
|
assert calls[0].kwargs == {
|
||||||
notification_id=f"OPC_LISTENNING_STOPPED__{opc_manager.name}",
|
"notification_id": f"OPC_LISTENNING_STOPPED__{opc_manager.name}",
|
||||||
message=f"15 cycles without receive from OPC {opc_manager.name}. Tags: {json.dumps(opc_manager.nodes)}",
|
"message": f"15 cycles without receive from OPC {opc_manager.name}. Tags: {json.dumps(opc_manager.nodes)}",
|
||||||
block="opc_manager",
|
"block": "opc_manager",
|
||||||
level=NotificationLevel.ERROR,
|
"level": NotificationLevel.ERROR,
|
||||||
metadata=metadata["metadata"],
|
"metadata": metadata["metadata"],
|
||||||
)
|
}
|
||||||
# Second call: 15 cycles retry
|
# Second call: 15 cycles retry
|
||||||
assert calls[1].kwargs == dict(
|
assert calls[1].kwargs == {
|
||||||
notification_id=f"OPC_CONNECTION_RETRY__{opc_manager.name}",
|
"notification_id": f"OPC_CONNECTION_RETRY__{opc_manager.name}",
|
||||||
message=f"Retrying to connect to server {opc_manager.name}",
|
"message": f"Retrying to connect to server {opc_manager.name}",
|
||||||
block="opc_manager",
|
"block": "opc_manager",
|
||||||
level=NotificationLevel.ERROR,
|
"level": NotificationLevel.ERROR,
|
||||||
metadata=metadata["metadata"],
|
"metadata": metadata["metadata"],
|
||||||
)
|
}
|
||||||
assert result is True
|
assert result is True
|
||||||
|
|
||||||
metrics.OPC_CYCLES_WITHOUT_DATA.labels.assert_called_once_with(
|
metrics.OPC_CYCLES_WITHOUT_DATA.labels.assert_called_once_with(
|
||||||
@@ -544,7 +544,8 @@ def test_check_opc_listenning_error_notification_and_retry(metrics, opc_manager)
|
|||||||
|
|
||||||
|
|
||||||
@patch("ingestor.managers.opc_manager.metrics")
|
@patch("ingestor.managers.opc_manager.metrics")
|
||||||
def test_init_metrics_calls_correct_metric_methods(mock_metrics):
|
def test_init_metrics_calls_correct_metric_methods(metrics):
|
||||||
|
|
||||||
opc_manager = OpcManager(
|
opc_manager = OpcManager(
|
||||||
name="TestInitConnector",
|
name="TestInitConnector",
|
||||||
url="opc.tcp://init.test:4840",
|
url="opc.tcp://init.test:4840",
|
||||||
@@ -552,23 +553,22 @@ def test_init_metrics_calls_correct_metric_methods(mock_metrics):
|
|||||||
logger=MagicMock(),
|
logger=MagicMock(),
|
||||||
server_uri="opc.tcp://init.test:4840/uri",
|
server_uri="opc.tcp://init.test:4840/uri",
|
||||||
notification_handler=MagicMock(),
|
notification_handler=MagicMock(),
|
||||||
pod_id="init_pod_localhost",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_metrics.OPC_CONNECTION_STATUS.labels.assert_called_once_with(
|
metrics.OPC_CONNECTION_STATUS.labels.assert_called_with(
|
||||||
pod_id=opc_manager.pod_id,
|
pod_id=opc_manager.pod_id,
|
||||||
server_name=opc_manager.name,
|
server_name=opc_manager.name,
|
||||||
server_url=opc_manager.url,
|
server_url=opc_manager.url,
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_metrics.OPC_CONNECTION_STATUS.labels.return_value.set.assert_called_once_with(
|
metrics.OPC_CONNECTION_STATUS.labels.return_value.set.assert_called_once_with(
|
||||||
0)
|
0)
|
||||||
|
|
||||||
mock_metrics.OPC_TAGS_SUBSCRIBED.labels.assert_called_once_with(
|
metrics.OPC_TAGS_SUBSCRIBED.labels.assert_called_once_with(
|
||||||
pod_id=opc_manager.pod_id,
|
pod_id=opc_manager.pod_id,
|
||||||
server_name=opc_manager.name
|
server_name=opc_manager.name
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_metrics.OPC_TAGS_SUBSCRIBED.labels.return_value.set.assert_called_once_with(
|
metrics.OPC_TAGS_SUBSCRIBED.labels.return_value.set.assert_called_once_with(
|
||||||
0)
|
0)
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ def resource_manager(redis):
|
|||||||
port=6379,
|
port=6379,
|
||||||
lease_ttl=10,
|
lease_ttl=10,
|
||||||
heartbeat_ttl=10,
|
heartbeat_ttl=10,
|
||||||
pod_id="pod_id",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
logger=MagicMock(),
|
logger=MagicMock(),
|
||||||
notification_handler=MagicMock(),
|
notification_handler=MagicMock(),
|
||||||
@@ -58,7 +57,7 @@ def test_ingestor_heartbeat(resource_manager):
|
|||||||
resource_manager.redis.set.return_value = True
|
resource_manager.redis.set.return_value = True
|
||||||
resource_manager.ingestor_heartbeat()
|
resource_manager.ingestor_heartbeat()
|
||||||
resource_manager.redis.set.assert_called_once_with(
|
resource_manager.redis.set.assert_called_once_with(
|
||||||
"heartbeat:ingestor:pod_id", 1, ex=10
|
"heartbeat:ingestor:localhost", 1, ex=10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -67,12 +66,12 @@ def test_lease_tag(resource_manager):
|
|||||||
output = resource_manager.lease_tag("tag_id")
|
output = resource_manager.lease_tag("tag_id")
|
||||||
assert output is True
|
assert output is True
|
||||||
resource_manager.redis.set.assert_called_once_with(
|
resource_manager.redis.set.assert_called_once_with(
|
||||||
"lease:opc_tags:tag_id", "pod_id", nx=True, ex=10
|
"lease:opc_tags:tag_id", "localhost", nx=True, ex=10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_renew_tag_lease_success(resource_manager):
|
def test_renew_tag_lease_success(resource_manager):
|
||||||
resource_manager.redis.get.return_value = "pod_id"
|
resource_manager.redis.get.return_value = "localhost"
|
||||||
resource_manager.redis.expire.return_value = True
|
resource_manager.redis.expire.return_value = True
|
||||||
result = resource_manager.renew_tag_lease("tag_id")
|
result = resource_manager.renew_tag_lease("tag_id")
|
||||||
assert result is True
|
assert result is True
|
||||||
@@ -136,13 +135,12 @@ def test_init_connection_failure(monkeypatch):
|
|||||||
port=6379,
|
port=6379,
|
||||||
lease_ttl=10,
|
lease_ttl=10,
|
||||||
heartbeat_ttl=10,
|
heartbeat_ttl=10,
|
||||||
pod_id="pod_id",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
logger=MagicMock(),
|
logger=MagicMock(),
|
||||||
notification_handler=MagicMock(),
|
notification_handler=MagicMock(),
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_metrics.labels.assert_called_once_with(pod_id="pod_id")
|
mock_metrics.labels.assert_called_once_with(pod_id="localhost")
|
||||||
mock_status.set.assert_called_once_with(0)
|
mock_status.set.assert_called_once_with(0)
|
||||||
|
|
||||||
|
|
||||||
@@ -166,13 +164,12 @@ def test_init_ping_failure(monkeypatch):
|
|||||||
port=6379,
|
port=6379,
|
||||||
lease_ttl=10,
|
lease_ttl=10,
|
||||||
heartbeat_ttl=10,
|
heartbeat_ttl=10,
|
||||||
pod_id="pod_id",
|
|
||||||
metadata=metadata["metadata"],
|
metadata=metadata["metadata"],
|
||||||
logger=MagicMock(),
|
logger=MagicMock(),
|
||||||
notification_handler=MagicMock(),
|
notification_handler=MagicMock(),
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_metrics.labels.assert_called_once_with(pod_id="pod_id")
|
mock_metrics.labels.assert_called_once_with(pod_id="localhost")
|
||||||
mock_status.set.assert_called_once_with(0)
|
mock_status.set.assert_called_once_with(0)
|
||||||
|
|
||||||
|
|
||||||
@@ -198,12 +195,12 @@ def test_execute_redis_op_success(resource_manager):
|
|||||||
mock_func.assert_called_once_with("arg1", kwarg1="value1")
|
mock_func.assert_called_once_with("arg1", kwarg1="value1")
|
||||||
|
|
||||||
mock_total.labels.assert_called_once_with(
|
mock_total.labels.assert_called_once_with(
|
||||||
pod_id="pod_id", operation="test_op"
|
pod_id="localhost", operation="test_op"
|
||||||
)
|
)
|
||||||
mock_total_labels.inc.assert_called_once()
|
mock_total_labels.inc.assert_called_once()
|
||||||
|
|
||||||
mock_duration.labels.assert_called_once_with(
|
mock_duration.labels.assert_called_once_with(
|
||||||
pod_id="pod_id", operation="test_op"
|
pod_id="localhost", operation="test_op"
|
||||||
)
|
)
|
||||||
mock_duration_labels.observe.assert_called_once_with(
|
mock_duration_labels.observe.assert_called_once_with(
|
||||||
0.5
|
0.5
|
||||||
@@ -226,7 +223,7 @@ def test_execute_redis_op_exception(resource_manager):
|
|||||||
|
|
||||||
# Verify metrics and error handling
|
# Verify metrics and error handling
|
||||||
mock_errors.labels.assert_called_once_with(
|
mock_errors.labels.assert_called_once_with(
|
||||||
pod_id="pod_id", operation="test_op"
|
pod_id="localhost", operation="test_op"
|
||||||
)
|
)
|
||||||
mock_errors_labels.inc.assert_called_once()
|
mock_errors_labels.inc.assert_called_once()
|
||||||
resource_manager.send_notification.assert_called_once_with(
|
resource_manager.send_notification.assert_called_once_with(
|
||||||
|
|||||||
@@ -44,13 +44,15 @@ def mock_app_env(monkeypatch):
|
|||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
app.metrics.APP_UP,
|
app.metrics.APP_UP,
|
||||||
"labels",
|
"labels",
|
||||||
MagicMock(return_value=MagicMock(set=mocks["metrics_APP_UP_labels_set"])),
|
MagicMock(return_value=MagicMock(
|
||||||
|
set=mocks["metrics_APP_UP_labels_set"])),
|
||||||
)
|
)
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
app.metrics.APP_LOOP_COUNT,
|
app.metrics.APP_LOOP_COUNT,
|
||||||
"labels",
|
"labels",
|
||||||
MagicMock(
|
MagicMock(
|
||||||
return_value=MagicMock(inc=mocks["metrics_APP_LOOP_COUNT_labels_inc"])
|
return_value=MagicMock(
|
||||||
|
inc=mocks["metrics_APP_LOOP_COUNT_labels_inc"])
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
@@ -66,7 +68,8 @@ def mock_app_env(monkeypatch):
|
|||||||
app.metrics.APP_ERRORS_TOTAL,
|
app.metrics.APP_ERRORS_TOTAL,
|
||||||
"labels",
|
"labels",
|
||||||
MagicMock(
|
MagicMock(
|
||||||
return_value=MagicMock(inc=mocks["metrics_APP_ERRORS_TOTAL_labels_inc"])
|
return_value=MagicMock(
|
||||||
|
inc=mocks["metrics_APP_ERRORS_TOTAL_labels_inc"])
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -74,7 +77,8 @@ def mock_app_env(monkeypatch):
|
|||||||
monkeypatch.setattr(app, "time", mocks["time_time"])
|
monkeypatch.setattr(app, "time", mocks["time_time"])
|
||||||
monkeypatch.setattr(app, "sleep", mocks["time_sleep"])
|
monkeypatch.setattr(app, "sleep", mocks["time_sleep"])
|
||||||
monkeypatch.setattr(app.signal, "signal", mocks["signal_signal"])
|
monkeypatch.setattr(app.signal, "signal", mocks["signal_signal"])
|
||||||
monkeypatch.setattr(app.traceback, "print_exc", mocks["traceback_print_exc"])
|
monkeypatch.setattr(app.traceback, "print_exc",
|
||||||
|
mocks["traceback_print_exc"])
|
||||||
|
|
||||||
monkeypatch.setattr(app, "exit_signal", mocks["mock_exit_signal"])
|
monkeypatch.setattr(app, "exit_signal", mocks["mock_exit_signal"])
|
||||||
monkeypatch.setattr(app, "POD_ID", "test_pod")
|
monkeypatch.setattr(app, "POD_ID", "test_pod")
|
||||||
@@ -98,7 +102,7 @@ def test_main_successful_run_one_loop(mock_app_env, capsys):
|
|||||||
app.main()
|
app.main()
|
||||||
assert excinfo.value.code == 0
|
assert excinfo.value.code == 0
|
||||||
|
|
||||||
mock_app_env["start_http_server"].assert_called_once_with(4840)
|
mock_app_env["start_http_server"].assert_called_once_with(9090)
|
||||||
app.metrics.APP_UP.labels.assert_any_call(pod_id="test_pod")
|
app.metrics.APP_UP.labels.assert_any_call(pod_id="test_pod")
|
||||||
set_calls = mock_app_env["metrics_APP_UP_labels_set"].call_args_list
|
set_calls = mock_app_env["metrics_APP_UP_labels_set"].call_args_list
|
||||||
assert call(1) in set_calls
|
assert call(1) in set_calls
|
||||||
@@ -115,7 +119,8 @@ def test_main_successful_run_one_loop(mock_app_env, capsys):
|
|||||||
app.metrics.APP_LOOP_COUNT.labels.assert_called_with(pod_id="test_pod")
|
app.metrics.APP_LOOP_COUNT.labels.assert_called_with(pod_id="test_pod")
|
||||||
mock_app_env["metrics_APP_LOOP_COUNT_labels_inc"].assert_called_once()
|
mock_app_env["metrics_APP_LOOP_COUNT_labels_inc"].assert_called_once()
|
||||||
|
|
||||||
mock_exit_signal.wait.assert_called_once_with(mock_ingestor_instance.poll_interval)
|
mock_exit_signal.wait.assert_called_once_with(
|
||||||
|
mock_ingestor_instance.poll_interval)
|
||||||
|
|
||||||
app.metrics.APP_LOOP_DURATION.labels.assert_called_with(pod_id="test_pod")
|
app.metrics.APP_LOOP_DURATION.labels.assert_called_with(pod_id="test_pod")
|
||||||
mock_app_env["metrics_APP_LOOP_DURATION_labels_observe"].assert_called_once_with(
|
mock_app_env["metrics_APP_LOOP_DURATION_labels_observe"].assert_called_once_with(
|
||||||
@@ -125,15 +130,17 @@ def test_main_successful_run_one_loop(mock_app_env, capsys):
|
|||||||
mock_ingestor_instance.shutdown.assert_called_once()
|
mock_ingestor_instance.shutdown.assert_called_once()
|
||||||
mock_app_env["time_sleep"].assert_called_once_with(5)
|
mock_app_env["time_sleep"].assert_called_once_with(5)
|
||||||
# CORREÇÃO APLICADA ABAIXO:
|
# CORREÇÃO APLICADA ABAIXO:
|
||||||
mock_ingestor_instance.logger.info.assert_any_call("Main loop exit_signaled.")
|
mock_ingestor_instance.logger.info.assert_any_call(
|
||||||
|
"Main loop exit_signaled.")
|
||||||
|
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "Prometheus server started on port 4840." in captured.out
|
assert "Prometheus server started on port 9090." in captured.out
|
||||||
|
|
||||||
|
|
||||||
def test_main_prometheus_server_fails_to_start(mock_app_env, capsys):
|
def test_main_prometheus_server_fails_to_start(mock_app_env, capsys):
|
||||||
"""Test the scenario where starting the Prometheus server fails."""
|
"""Test the scenario where starting the Prometheus server fails."""
|
||||||
mock_app_env["start_http_server"].side_effect = OSError("Port already in use")
|
mock_app_env["start_http_server"].side_effect = OSError(
|
||||||
|
"Port already in use")
|
||||||
|
|
||||||
with pytest.raises(OsExitCalled) as excinfo:
|
with pytest.raises(OsExitCalled) as excinfo:
|
||||||
app.main()
|
app.main()
|
||||||
@@ -229,7 +236,8 @@ def test_main_multiple_loop_iterations(mock_app_env):
|
|||||||
mock_exit_signal = mock_app_env["mock_exit_signal"]
|
mock_exit_signal = mock_app_env["mock_exit_signal"]
|
||||||
|
|
||||||
mock_exit_signal.is_set.side_effect = [False, False, False, True]
|
mock_exit_signal.is_set.side_effect = [False, False, False, True]
|
||||||
mock_app_env["time_time"].side_effect = [10.0, 10.1, 10.2, 10.3, 10.4, 10.5]
|
mock_app_env["time_time"].side_effect = [
|
||||||
|
10.0, 10.1, 10.2, 10.3, 10.4, 10.5]
|
||||||
|
|
||||||
with pytest.raises(OsExitCalled) as excinfo:
|
with pytest.raises(OsExitCalled) as excinfo:
|
||||||
app.main()
|
app.main()
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ def test___init__(notification_handler, getenv):
|
|||||||
"model_name": "-",
|
"model_name": "-",
|
||||||
"workflow_name": "OPC_INGESTOR",
|
"workflow_name": "OPC_INGESTOR",
|
||||||
"schema_name": "OPC_INGESTOR",
|
"schema_name": "OPC_INGESTOR",
|
||||||
|
"pod_id": "localhost1"
|
||||||
}
|
}
|
||||||
|
|
||||||
notification_handler.assert_called_once_with(
|
notification_handler.assert_called_once_with(
|
||||||
@@ -112,7 +113,6 @@ def test_prepare_ingestor(ingestor_manager_mock, ingestor):
|
|||||||
},
|
},
|
||||||
lease_ttl=ingestor.lease_ttl,
|
lease_ttl=ingestor.lease_ttl,
|
||||||
heartbeat_ttl=ingestor.heartbeat_ttl,
|
heartbeat_ttl=ingestor.heartbeat_ttl,
|
||||||
pod_id=ingestor.pod_id,
|
|
||||||
poll_interval=ingestor.poll_interval,
|
poll_interval=ingestor.poll_interval,
|
||||||
mongo_connection_string=ingestor.mongo_connection_string,
|
mongo_connection_string=ingestor.mongo_connection_string,
|
||||||
mongo_database=ingestor.mongo_database,
|
mongo_database=ingestor.mongo_database,
|
||||||
|
|||||||
@@ -7,6 +7,15 @@ import ingestor.metrics as metrics
|
|||||||
# --- Test Functions for Each Metric (Corrected for v0.22.0 _name behavior) ---
|
# --- Test Functions for Each Metric (Corrected for v0.22.0 _name behavior) ---
|
||||||
|
|
||||||
|
|
||||||
|
def test_ingestor_tag_written_count():
|
||||||
|
"""Verify the definition of INGESTOR_TAG_WRITTEN_COUNT."""
|
||||||
|
assert metrics.TAG_WRITTEN_COUNT is not None
|
||||||
|
assert isinstance(metrics.TAG_WRITTEN_COUNT, Counter)
|
||||||
|
assert metrics.TAG_WRITTEN_COUNT._name == "ingestor_tag_written_count"
|
||||||
|
assert set(metrics.TAG_WRITTEN_COUNT._labelnames) == {
|
||||||
|
"pod_id", "tag_name", "collection_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_app_loop_count():
|
def test_app_loop_count():
|
||||||
"""Verify the definition of APP_LOOP_COUNT."""
|
"""Verify the definition of APP_LOOP_COUNT."""
|
||||||
assert metrics.APP_LOOP_COUNT is not None
|
assert metrics.APP_LOOP_COUNT is not None
|
||||||
@@ -118,7 +127,8 @@ def test_opc_connections_total():
|
|||||||
assert (
|
assert (
|
||||||
metrics.OPC_CONNECTIONS_TOTAL._name == "opc_connections_initiated"
|
metrics.OPC_CONNECTIONS_TOTAL._name == "opc_connections_initiated"
|
||||||
) # REMOVED _total
|
) # REMOVED _total
|
||||||
assert set(metrics.OPC_CONNECTIONS_TOTAL._labelnames) == {"pod_id", "server_name"}
|
assert set(metrics.OPC_CONNECTIONS_TOTAL._labelnames) == {
|
||||||
|
"pod_id", "server_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_opc_connections_failed():
|
def test_opc_connections_failed():
|
||||||
@@ -128,7 +138,8 @@ def test_opc_connections_failed():
|
|||||||
assert (
|
assert (
|
||||||
metrics.OPC_CONNECTIONS_FAILED._name == "opc_connections_failed"
|
metrics.OPC_CONNECTIONS_FAILED._name == "opc_connections_failed"
|
||||||
) # REMOVED _total
|
) # REMOVED _total
|
||||||
assert set(metrics.OPC_CONNECTIONS_FAILED._labelnames) == {"pod_id", "server_name"}
|
assert set(metrics.OPC_CONNECTIONS_FAILED._labelnames) == {
|
||||||
|
"pod_id", "server_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_opc_connection_status():
|
def test_opc_connection_status():
|
||||||
@@ -162,7 +173,8 @@ def test_opc_tags_subscribed():
|
|||||||
assert metrics.OPC_TAGS_SUBSCRIBED is not None
|
assert metrics.OPC_TAGS_SUBSCRIBED is not None
|
||||||
assert isinstance(metrics.OPC_TAGS_SUBSCRIBED, Gauge)
|
assert isinstance(metrics.OPC_TAGS_SUBSCRIBED, Gauge)
|
||||||
assert metrics.OPC_TAGS_SUBSCRIBED._name == "opc_tags_subscribed_current"
|
assert metrics.OPC_TAGS_SUBSCRIBED._name == "opc_tags_subscribed_current"
|
||||||
assert set(metrics.OPC_TAGS_SUBSCRIBED._labelnames) == {"pod_id", "server_name"}
|
assert set(metrics.OPC_TAGS_SUBSCRIBED._labelnames) == {
|
||||||
|
"pod_id", "server_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_opc_cycles_without_data():
|
def test_opc_cycles_without_data():
|
||||||
@@ -170,7 +182,8 @@ def test_opc_cycles_without_data():
|
|||||||
assert metrics.OPC_CYCLES_WITHOUT_DATA is not None
|
assert metrics.OPC_CYCLES_WITHOUT_DATA is not None
|
||||||
assert isinstance(metrics.OPC_CYCLES_WITHOUT_DATA, Gauge)
|
assert isinstance(metrics.OPC_CYCLES_WITHOUT_DATA, Gauge)
|
||||||
assert metrics.OPC_CYCLES_WITHOUT_DATA._name == "opc_cycles_without_data"
|
assert metrics.OPC_CYCLES_WITHOUT_DATA._name == "opc_cycles_without_data"
|
||||||
assert set(metrics.OPC_CYCLES_WITHOUT_DATA._labelnames) == {"pod_id", "server_name"}
|
assert set(metrics.OPC_CYCLES_WITHOUT_DATA._labelnames) == {
|
||||||
|
"pod_id", "server_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_opc_reconnections_total():
|
def test_opc_reconnections_total():
|
||||||
@@ -180,7 +193,8 @@ def test_opc_reconnections_total():
|
|||||||
assert (
|
assert (
|
||||||
metrics.OPC_RECONNECTIONS_TOTAL._name == "opc_reconnections_tried"
|
metrics.OPC_RECONNECTIONS_TOTAL._name == "opc_reconnections_tried"
|
||||||
) # REMOVED _total
|
) # REMOVED _total
|
||||||
assert set(metrics.OPC_RECONNECTIONS_TOTAL._labelnames) == {"pod_id", "server_name"}
|
assert set(metrics.OPC_RECONNECTIONS_TOTAL._labelnames) == {
|
||||||
|
"pod_id", "server_name"}
|
||||||
|
|
||||||
|
|
||||||
def test_kafka_messages_sent():
|
def test_kafka_messages_sent():
|
||||||
@@ -198,7 +212,8 @@ def test_kafka_messages_errors():
|
|||||||
assert (
|
assert (
|
||||||
metrics.KAFKA_MESSAGES_ERRORS._name == "kafka_messages_errors"
|
metrics.KAFKA_MESSAGES_ERRORS._name == "kafka_messages_errors"
|
||||||
) # REMOVED _total
|
) # REMOVED _total
|
||||||
assert set(metrics.KAFKA_MESSAGES_ERRORS._labelnames) == {"pod_id", "topic"}
|
assert set(metrics.KAFKA_MESSAGES_ERRORS._labelnames) == {
|
||||||
|
"pod_id", "topic"}
|
||||||
|
|
||||||
|
|
||||||
def test_kafka_connection_status():
|
def test_kafka_connection_status():
|
||||||
@@ -214,7 +229,8 @@ def test_redis_operations_total():
|
|||||||
assert metrics.REDIS_OPERATIONS_TOTAL is not None
|
assert metrics.REDIS_OPERATIONS_TOTAL is not None
|
||||||
assert isinstance(metrics.REDIS_OPERATIONS_TOTAL, Counter)
|
assert isinstance(metrics.REDIS_OPERATIONS_TOTAL, Counter)
|
||||||
assert metrics.REDIS_OPERATIONS_TOTAL._name == "redis_operations" # REMOVED _total
|
assert metrics.REDIS_OPERATIONS_TOTAL._name == "redis_operations" # REMOVED _total
|
||||||
assert set(metrics.REDIS_OPERATIONS_TOTAL._labelnames) == {"pod_id", "operation"}
|
assert set(metrics.REDIS_OPERATIONS_TOTAL._labelnames) == {
|
||||||
|
"pod_id", "operation"}
|
||||||
|
|
||||||
|
|
||||||
def test_redis_operations_errors():
|
def test_redis_operations_errors():
|
||||||
@@ -224,7 +240,8 @@ def test_redis_operations_errors():
|
|||||||
assert (
|
assert (
|
||||||
metrics.REDIS_OPERATIONS_ERRORS._name == "redis_operations_errors"
|
metrics.REDIS_OPERATIONS_ERRORS._name == "redis_operations_errors"
|
||||||
) # REMOVED _total
|
) # REMOVED _total
|
||||||
assert set(metrics.REDIS_OPERATIONS_ERRORS._labelnames) == {"pod_id", "operation"}
|
assert set(metrics.REDIS_OPERATIONS_ERRORS._labelnames) == {
|
||||||
|
"pod_id", "operation"}
|
||||||
|
|
||||||
|
|
||||||
def test_redis_operations_duration():
|
def test_redis_operations_duration():
|
||||||
@@ -234,7 +251,8 @@ def test_redis_operations_duration():
|
|||||||
assert (
|
assert (
|
||||||
metrics.REDIS_OPERATIONS_DURATION._name == "redis_operations_duration_seconds"
|
metrics.REDIS_OPERATIONS_DURATION._name == "redis_operations_duration_seconds"
|
||||||
)
|
)
|
||||||
assert set(metrics.REDIS_OPERATIONS_DURATION._labelnames) == {"pod_id", "operation"}
|
assert set(metrics.REDIS_OPERATIONS_DURATION._labelnames) == {
|
||||||
|
"pod_id", "operation"}
|
||||||
|
|
||||||
|
|
||||||
def test_redis_connection_status():
|
def test_redis_connection_status():
|
||||||
@@ -250,4 +268,5 @@ def test_notifications_sent():
|
|||||||
assert metrics.NOTIFICATIONS_SENT is not None
|
assert metrics.NOTIFICATIONS_SENT is not None
|
||||||
assert isinstance(metrics.NOTIFICATIONS_SENT, Counter)
|
assert isinstance(metrics.NOTIFICATIONS_SENT, Counter)
|
||||||
assert metrics.NOTIFICATIONS_SENT._name == "notifications_sent" # REMOVED _total
|
assert metrics.NOTIFICATIONS_SENT._name == "notifications_sent" # REMOVED _total
|
||||||
assert set(metrics.NOTIFICATIONS_SENT._labelnames) == {"pod_id", "level", "block"}
|
assert set(metrics.NOTIFICATIONS_SENT._labelnames) == {
|
||||||
|
"pod_id", "level", "block"}
|
||||||
|
|||||||
10
values.yaml
10
values.yaml
@@ -3,7 +3,7 @@
|
|||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
|
||||||
replicaCount: 1
|
replicaCount: 3
|
||||||
|
|
||||||
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
|
||||||
image:
|
image:
|
||||||
@@ -11,7 +11,7 @@ image:
|
|||||||
# This sets the pull policy for images.
|
# This sets the pull policy for images.
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: "0.2.7"
|
tag: "0.3.2"
|
||||||
|
|
||||||
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
@@ -158,7 +158,7 @@ env:
|
|||||||
- name: GITHUB_REPO_URL
|
- name: GITHUB_REPO_URL
|
||||||
value: "git@github.com:Aignosi/sientia-dataops-opc-ingestor.git"
|
value: "git@github.com:Aignosi/sientia-dataops-opc-ingestor.git"
|
||||||
- name: GITHUB_BRANCH
|
- name: GITHUB_BRANCH
|
||||||
value: "SIENTIAPDE-1172-criar-pipeline-de-alertas-orquestrador"
|
value: "SIENTIAPDE-1174-mapear-e-implementar-metricas-a-serem-criadas"
|
||||||
- name: PYTHON_APP
|
- name: PYTHON_APP
|
||||||
value: "ingestor.app"
|
value: "ingestor.app"
|
||||||
|
|
||||||
@@ -190,7 +190,7 @@ env:
|
|||||||
value: "10"
|
value: "10"
|
||||||
- name: LOG_LEVEL
|
- name: LOG_LEVEL
|
||||||
value: "DEBUG"
|
value: "DEBUG"
|
||||||
- name: HTTP_SERVER_PORT
|
- name: HTTP_METRICS_PORT
|
||||||
value: "9090"
|
value: "9090"
|
||||||
|
|
||||||
|
|
||||||
@@ -212,7 +212,7 @@ ssh:
|
|||||||
|
|
||||||
# kubectl create secret docker-registry docker-hub-secret --namespace sientia --docker-server=http://aignosi.azurecr.io --docker-username=aignosi --docker-password=5I5zpQ6sRaHqX1hD3dr+2mo647yO3FRc359/wu6gsP+ACRDRz5mp
|
# kubectl create secret docker-registry docker-hub-secret --namespace sientia --docker-server=http://aignosi.azurecr.io --docker-username=aignosi --docker-password=5I5zpQ6sRaHqX1hD3dr+2mo647yO3FRc359/wu6gsP+ACRDRz5mp
|
||||||
|
|
||||||
# helm upgrade --install sientia-opc-ingestor sientia/sientia-module -n sientia --create-namespace -f ./values.yaml --version 0.4.0-uat
|
# helm upgrade --install sientia-opc-ingestor sientia/sientia-module -n sientia --create-namespace -f ./values.yaml --version 0.4.0
|
||||||
|
|
||||||
# kubectl create secret generic git-ssh-key-sientia-opc-ingestor \
|
# kubectl create secret generic git-ssh-key-sientia-opc-ingestor \
|
||||||
# --namespace sientia \
|
# --namespace sientia \
|
||||||
|
|||||||
Reference in New Issue
Block a user