Beispiel #1
0
    def get_system(self, identity):
        """Given the identity return a System object

        :param identity: The identity of the System resource
        :returns: The System object
        """
        return system.System(self._conn,
                             identity,
                             redfish_version=self.redfish_version)
Beispiel #2
0
    def setUp(self):
        super(SystemTestCase, self).setUp()
        self.conn = mock.Mock()
        with open('sushy/tests/unit/json_samples/system.json') as f:
            self.conn.get.return_value.json.return_value = json.load(f)

        self.sys_inst = system.System(self.conn,
                                      '/redfish/v1/Systems/437XR1138R2',
                                      redfish_version='1.0.2')
Beispiel #3
0
    def system(self):
        """Property to provide reference to `System` instance

        It is calculated once the first time it is queried. On refresh,
        this property is reset.
        """
        if self._system is None:
            self._system = system.System(self._conn,
                                         self._get_system_path(),
                                         redfish_version=self.redfish_version)

        return self._system
Beispiel #4
0
    def setUp(self):
        super(FakeOEMSystemExtensionTestCase, self).setUp()
        self.conn = mock.MagicMock()
        with open('sushy/tests/unit/json_samples/system.json', 'r') as f:
            self.conn.get.return_value.json.return_value = json.loads(f.read())

        self.sys_instance = system.System(self.conn,
                                          '/redfish/v1/Systems/437XR1138R2',
                                          redfish_version='1.0.2')
        self.fake_sys_oem_extn = fake.FakeOEMSystemExtension(
            self.conn, '', redfish_version='1.0.2')
        self.fake_sys_oem_extn = self.fake_sys_oem_extn.set_parent_resource(
            self.sys_instance, 'Contoso')
Beispiel #5
0
    def systems(self):
        """A list of systems residing in this chassis.

        Returns a list of `System` objects representing systems being
        mounted in this chassis/cabinet.

        :raises: MissingAttributeError if '@odata.id' field is missing.
        :returns: A list of `System` instances
        """
        paths = utils.get_sub_resource_path_by(
            self, ["Links", "ComputerSystems"], is_collection=True)

        from sushy.resources.system import system
        return [system.System(self._conn, path,
                              self.redfish_version, self.registries)
                for path in paths]
Beispiel #6
0
    def systems(self):
        """A list of systems managed by this manager.

        Returns a list of `System` objects representing systems being
        managed by this manager.

        :raises: MissingAttributeError if '@odata.id' field is missing.
        :returns: A list of `System` instances
        """
        paths = utils.get_sub_resource_path_by(self,
                                               ["Links", "ManagerForServers"],
                                               is_collection=True)

        from sushy.resources.system import system
        return [
            system.System(self._conn, path, self.redfish_version,
                          self.registries) for path in paths
        ]
Beispiel #7
0
    def get_system(self, identity=None):
        """Given the identity return a System object

        :param identity: The identity of the System resource. If not given,
            sushy will default to the single available System or fail
            if there appear to be more or less then one System listed.
        :raises: `UnknownDefaultError` if default system can't be determined.
        :returns: The System object
        """
        if identity is None:
            systems_collection = self.get_system_collection()
            listed_systems = systems_collection.get_members()
            if len(listed_systems) != 1:
                raise exceptions.UnknownDefaultError(
                    entity='ComputerSystem',
                    error='System count is not exactly one')

            identity = listed_systems[0].path

        return system.System(self._conn, identity,
                             redfish_version=self.redfish_version,
                             registries=self.lazy_registries)