Add Install method to software.
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
from typing import Dict
|
||||
|
||||
from primaite.simulator.file_system.file_system_file_type import FileSystemFileType
|
||||
from primaite.simulator.network.hardware.base import Node
|
||||
from primaite.simulator.system.services.service import Service
|
||||
@@ -6,11 +8,17 @@ from primaite.simulator.system.services.service import Service
|
||||
class DatabaseService(Service):
|
||||
"""TODO."""
|
||||
|
||||
def __init__(self, parent_node: Node, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self._setup_files_on_node()
|
||||
def describe_state(self) -> Dict:
|
||||
"""TODO."""
|
||||
return super().describe_state()
|
||||
|
||||
def _setup_files_on_node(
|
||||
def install(self) -> None:
|
||||
"""Perform first time install on a node, creating necessary files."""
|
||||
super().install()
|
||||
assert isinstance(self.parent, Node), "Database install can only happen after the db service is added to a node"
|
||||
self._setup_files()
|
||||
|
||||
def _setup_files(
|
||||
self,
|
||||
db_size: int = 1000,
|
||||
use_secondary_db_file: bool = False,
|
||||
@@ -30,6 +38,7 @@ class DatabaseService(Service):
|
||||
"""
|
||||
# note that this parent.file_system.create_folder call in the future will be authenticated by using permissions
|
||||
# handler. This permission will be granted based on service account given to the database service.
|
||||
self.parent: Node
|
||||
folder = self.parent.file_system.create_folder(folder_name)
|
||||
self.parent.file_system.create_file("db_primary_store", db_size, FileSystemFileType.MDF, folder=folder)
|
||||
self.parent.file_system.create_file("db_transaction_log", "1", FileSystemFileType.LDF, folder=folder)
|
||||
@@ -37,7 +46,3 @@ class DatabaseService(Service):
|
||||
self.parent.file_system.create_file(
|
||||
"db_secondary_store", secondary_db_size, FileSystemFileType.NDF, folder=folder
|
||||
)
|
||||
|
||||
# todo next:
|
||||
# create session? (maybe not)
|
||||
# add actions for setting service state to compromised? (probably definitely)
|
||||
|
||||
Reference in New Issue
Block a user