def test_disks_empty(self): val = M0ServerDesc(runs_confd=Maybe(True, 'Bool'), io_disks=DisksDesc(meta_data=Maybe(None, 'Text'), data=DList([], 'List Text'))) self.assertEqual( '{ runs_confd = Some True, io_disks = { meta_data = None Text, data = [] : List Text } }', str(val))
def _create_node(self, machine_id: str) -> NodeDesc: store = self.provider hostname = store.get( f'server_node>{machine_id}>network>data>private_fqdn') name = store.get(f'server_node>{machine_id}>name') iface = self._get_iface(machine_id) try: no_m0clients = int( store.get('cortx>software>motr>service>client_instances', allow_null=True)) except TypeError: no_m0clients = 2 # Currently, there is 1 m0d per cvg. # We will create 1 IO service entry in CDF per cvg. # An IO service entry will use data devices from corresponding cvg. # meta data device is taken from motr-hare shared store. servers = DList([ M0ServerDesc(io_disks=DisksDesc( data=self._get_data_devices(machine_id, cvg), meta_data=Maybe(self._get_metadata_device(name, cvg, m0d), 'Text')), runs_confd=Maybe(False, 'Bool')) for cvg in range( len(store.get(f'server_node>{machine_id}>storage>cvg'))) for m0d in range(self._get_m0d_per_cvg(name, cvg)) ], 'List M0ServerDesc') # Adding a Motr confd entry per server node in CDF. # The `runs_confd` value (true/false) determines if Motr confd process # will be started on the node or not. servers.value.append( M0ServerDesc(io_disks=DisksDesc(data=DList([], 'List Text'), meta_data=Maybe(None, 'Text')), runs_confd=Maybe(True, 'Bool'))) return NodeDesc( hostname=Text(hostname), data_iface=Text(iface), data_iface_type=Maybe(self._get_iface_type(machine_id), 'P'), m0_servers=Maybe(servers, 'List M0ServerDesc'), # # [KN] This is a hotfix for singlenode deployment # TODO in the future the value must be taken from a correct # ConfStore key (it doesn't exist now). s3_instances=int(store.get('cortx>software>s3>service>instances')), client_instances=no_m0clients)
def test_m0server_with_disks(self): val = M0ServerDesc( runs_confd=Maybe(True, 'Bool'), io_disks=DisksDesc( meta_data=Maybe(None, 'Text'), data=DList([Text('/disk1'), Text('/disk2')], 'test'))) self.assertEqual( '{ runs_confd = Some True, io_disks = { meta_data = None Text, data = ["/disk1", "/disk2"] } }', str(val))