コード例 #1
0
ファイル: proxy2.py プロジェクト: xinni-ge/eclsdk
    def wait_for_status(self,
                        value,
                        status,
                        failures=[],
                        interval=2,
                        wait=120):
        """Wait for a resource to be in a particular status.

        :param value: The resource to wait on to reach the status. The
                      resource must have a status attribute.
        :type value: :class:`~ecl.resource2.Resource`
        :param status: Desired status of the resource2.
        :param list failures: Statuses that would indicate the transition
                              failed such as 'ERROR'.
        :param interval: Number of seconds to wait between checks.
        :param wait: Maximum number of seconds to wait for the change.

        :return: Method returns resource on success.
        :raises: :class:`~ecl.exceptions.ResourceTimeout` transition
                 to status failed to occur in wait seconds.
        :raises: :class:`~ecl.exceptions.ResourceFailure` resource
                 transitioned to one of the failure states.
        :raises: :class:`~AttributeError` if the resource does not have a
                 status attribute
        """
        return resource2.wait_for_status(self.session, value, status, failures,
                                         interval, wait)
コード例 #2
0
 def wait_for_create(self,
                     session,
                     status='ACTIVE',
                     failures=['ERROR'],
                     interval=2,
                     wait=120):
     return resource2.wait_for_status(session, self, status, failures,
                                      interval, wait)
コード例 #3
0
ファイル: test_resource2.py プロジェクト: xinni-ge/eclsdk
    def test_immediate_status(self):
        status = "loling"
        resource = mock.Mock()
        resource.status = status

        result = resource2.wait_for_status("session", resource, status,
                                           "failures", "interval", "wait")

        self.assertEqual(result, resource)
コード例 #4
0
ファイル: _proxy.py プロジェクト: xinni-ge/eclsdk
 def wait_for_server(self,
                     server,
                     status='ACTIVE',
                     failures=['ERROR'],
                     interval=2,
                     wait=120):
     """Not supported
     """
     return resource2.wait_for_status(self.session, server, status,
                                      failures, interval, wait)
コード例 #5
0
ファイル: test_resource2.py プロジェクト: xinni-ge/eclsdk
    def test_status_match(self, mock_sleep):
        status = "loling"
        resource = mock.Mock()

        # other gets past the first check, two anothers gets through
        # the sleep loop, and the third matches
        statuses = ["other", "another", "another", status]
        type(resource).status = mock.PropertyMock(side_effect=statuses)

        result = resource2.wait_for_status("session", resource, status,
                                           None, 1, 5)

        self.assertEqual(result, resource)
コード例 #6
0
 def wait_for_server(self, instance, status='ACTIVE', failures=['ERROR'],
                     interval=2, wait=120):
     return resource2.wait_for_status(self.session, instance, status,
                                      failures, interval, wait)