Ejemplo n.º 1
0
 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))
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
 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))