Skip to content

Commit 895563e

Browse files
authored
Merge pull request #4819 from opsmill/dga-20241101-develop-1.1
Merge develop-1.1 into develop
2 parents 69160f3 + 85bc223 commit 895563e

File tree

16 files changed

+76
-101
lines changed

16 files changed

+76
-101
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -776,11 +776,11 @@ jobs:
776776

777777
- name: Display task worker 1 logs
778778
if: always()
779-
run: docker logs "${INFRAHUB_BUILD_NAME}-infrahub-git-1"
779+
run: docker logs "${INFRAHUB_BUILD_NAME}-task-worker-1"
780780

781781
- name: Display task worker 2 logs
782782
if: always()
783-
run: docker logs "${INFRAHUB_BUILD_NAME}-infrahub-git-2"
783+
run: docker logs "${INFRAHUB_BUILD_NAME}-task-worker-2"
784784

785785
- name: Display task manager logs
786786
if: always()

backend/infrahub/core/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,10 @@ def convert_ip_to_binary_str(
184184
obj: Union[ipaddress.IPv6Network, ipaddress.IPv4Network, ipaddress.IPv4Interface, ipaddress.IPv6Interface],
185185
) -> str:
186186
if isinstance(obj, (ipaddress.IPv6Network, ipaddress.IPv4Network)):
187-
prefix_bin = bin(int(obj.network_address))[2:]
187+
prefix_bin = f"{int(obj.network_address):b}"
188188
return prefix_bin.zfill(obj.max_prefixlen)
189189

190-
ip_bin = bin(int(obj))[2:]
190+
ip_bin = f"{int(obj):b}"
191191
return ip_bin.zfill(obj.max_prefixlen)
192192

193193

backend/infrahub/generators/tasks.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
from prefect import flow, task
88

99
from infrahub import lock
10-
from infrahub.core.constants import GeneratorInstanceStatus
10+
from infrahub.core.constants import GeneratorInstanceStatus, InfrahubKind
1111
from infrahub.generators.models import RequestGeneratorRun
1212
from infrahub.git.base import extract_repo_file_information
1313
from infrahub.git.repository import get_initialized_repo
14+
from infrahub.message_bus import messages
15+
from infrahub.message_bus.types import ProposedChangeGeneratorDefinition
1416
from infrahub.services import InfrahubServices, services
1517

1618

@@ -103,3 +105,34 @@ async def _define_instance(model: RequestGeneratorRun, service: InfrahubServices
103105
)
104106
await instance.save()
105107
return instance
108+
109+
110+
@flow(name="generator_definition_run")
111+
async def run_generator_definition(branch: str) -> None:
112+
service = services.service
113+
generators = await service.client.filters(
114+
kind=InfrahubKind.GENERATORDEFINITION, prefetch_relationships=True, populate_store=True, branch=branch
115+
)
116+
117+
generator_definitions = [
118+
ProposedChangeGeneratorDefinition(
119+
definition_id=generator.id,
120+
definition_name=generator.name.value,
121+
class_name=generator.class_name.value,
122+
file_path=generator.file_path.value,
123+
query_name=generator.query.peer.name.value,
124+
query_models=generator.query.peer.models.value,
125+
repository_id=generator.repository.peer.id,
126+
parameters=generator.parameters.value,
127+
group_id=generator.targets.peer.id,
128+
convert_query_response=generator.convert_query_response.value,
129+
)
130+
for generator in generators
131+
]
132+
133+
events = [
134+
messages.RequestGeneratorDefinitionRun(branch=branch, generator_definition=generator_definition)
135+
for generator_definition in generator_definitions
136+
]
137+
for event in events:
138+
await service.send(message=event)

backend/infrahub/git/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,10 @@ async def create_locally(
316316
log.warning(f"Found an existing file at {self.directory_root}, deleted it", repository=self.name)
317317

318318
# Initialize directory structure
319-
os.makedirs(self.directory_root)
320-
os.makedirs(self.directory_branches)
321-
os.makedirs(self.directory_commits)
322-
os.makedirs(self.directory_temp)
319+
Path(self.directory_root).mkdir(parents=True)
320+
Path(self.directory_branches).mkdir(parents=True)
321+
Path(self.directory_commits).mkdir(parents=True)
322+
Path(self.directory_temp).mkdir(parents=True)
323323

324324
try:
325325
repo = Repo.clone_from(self.location, self.directory_default)

backend/infrahub/git/directory.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
from pathlib import Path
23

34
from infrahub import config
45
from infrahub.log import get_logger
@@ -25,7 +26,8 @@ def initialize_repositories_directory() -> bool:
2526
"""
2627
repos_dir = get_repositories_directory()
2728
if not os.path.isdir(repos_dir):
28-
os.makedirs(repos_dir)
29+
Path(repos_dir).mkdir(parents=True)
30+
2931
log.debug(f"Initialized the repositories_directory at {repos_dir}")
3032
return True
3133

backend/infrahub/message_bus/messages/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
from .schema_migration_path import SchemaMigrationPath, SchemaMigrationPathResponse
4242
from .schema_validator_path import SchemaValidatorPath, SchemaValidatorPathResponse
4343
from .send_echo_request import SendEchoRequest, SendEchoRequestResponse
44-
from .trigger_generatordefinition_run import TriggerGeneratorDefinitionRun
4544
from .trigger_proposed_change_cancel import TriggerProposedChangeCancel
4645
from .trigger_webhook_actions import TriggerWebhookActions
4746

@@ -87,7 +86,6 @@
8786
"request.repository.checks": RequestRepositoryChecks,
8887
"request.repository.user_checks": RequestRepositoryUserChecks,
8988
"send.echo.request": SendEchoRequest,
90-
"trigger.generator_definition.run": TriggerGeneratorDefinitionRun,
9189
"trigger.proposed_change.cancel": TriggerProposedChangeCancel,
9290
"trigger.webhook.actions": TriggerWebhookActions,
9391
}

backend/infrahub/message_bus/operations/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
"send.echo.request": send.echo.request,
6262
"schema.migration.path": schema.migration.path,
6363
"schema.validator.path": schema.validator.path,
64-
"trigger.generator_definition.run": trigger.generator_definition.run,
6564
"trigger.proposed_change.cancel": trigger.proposed_change.cancel,
6665
"trigger.webhook.actions": trigger.webhook.actions,
6766
}

backend/infrahub/message_bus/operations/event/branch.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
REQUEST_DIFF_REFRESH,
1616
REQUEST_DIFF_UPDATE,
1717
TRIGGER_ARTIFACT_DEFINITION_GENERATE,
18+
TRIGGER_GENERATOR_DEFINITION_RUN,
1819
)
1920

2021
log = get_logger()
@@ -56,7 +57,6 @@ async def merge(message: messages.EventBranchMerge, service: InfrahubServices) -
5657

5758
events: List[InfrahubMessage] = [
5859
messages.RefreshRegistryBranches(),
59-
messages.TriggerGeneratorDefinitionRun(branch=message.target_branch),
6060
]
6161
component_registry = get_component_registry()
6262
default_branch = registry.get_branch_from_registry()
@@ -69,6 +69,11 @@ async def merge(message: messages.EventBranchMerge, service: InfrahubServices) -
6969
parameters={"branch": message.target_branch},
7070
)
7171

72+
await service.workflow.submit_workflow(
73+
workflow=TRIGGER_GENERATOR_DEFINITION_RUN,
74+
parameters={"branch": message.target_branch},
75+
)
76+
7277
for diff_root in branch_diff_roots:
7378
if (
7479
diff_root.base_branch_name != diff_root.diff_branch_name
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
from . import generator_definition, proposed_change, webhook
1+
from . import proposed_change, webhook
22

3-
__all__ = ["generator_definition", "proposed_change", "webhook"]
3+
__all__ = ["proposed_change", "webhook"]

backend/infrahub/message_bus/operations/trigger/generator_definition.py

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)