コード例 #1
0
ファイル: test_utils.py プロジェクト: OpenStack-Kha/cinder
    def test_concurrent_green_lock_succeeds(self):
        """Verify spawn_n greenthreads with two locks run concurrently.

        This succeeds with spawn but fails with spawn_n because lockfile
        gets the same thread id for both spawn_n threads. Our workaround
        of using the GreenLockFile will work even if the issue is fixed.
        """
        self.completed = False
        with utils.tempdir() as tmpdir:

            def locka(wait):
                a = utils.GreenLockFile(os.path.join(tmpdir, 'a'))
                a.acquire()
                wait.wait()
                a.release()
                self.completed = True

            def lockb(wait):
                b = utils.GreenLockFile(os.path.join(tmpdir, 'b'))
                b.acquire()
                wait.wait()
                b.release()

            wait1 = eventlet.event.Event()
            wait2 = eventlet.event.Event()
            pool = greenpool.GreenPool()
            pool.spawn_n(locka, wait1)
            pool.spawn_n(lockb, wait2)
            wait2.send()
            eventlet.sleep(0)
            wait1.send()
            pool.waitall()
        self.assertTrue(self.completed)
コード例 #2
0
    def test_modified_policy_reloads(self):
        with utils.tempdir() as tmpdir:
            tmpfilename = os.path.join(tmpdir, 'policy')
            self.flags(policy_file=tmpfilename)

            action = "example:test"
            with open(tmpfilename, "w") as policyfile:
                policyfile.write("""{"example:test": []}""")
            policy.enforce(self.context, action, self.target)
            with open(tmpfilename, "w") as policyfile:
                policyfile.write("""{"example:test": ["false:false"]}""")
            # NOTE(vish): reset stored policy cache so we don't have to
            # sleep(1)
            policy._POLICY_CACHE = {}
            self.assertRaises(exception.PolicyNotAuthorized, policy.enforce,
                              self.context, action, self.target)
コード例 #3
0
ファイル: test_policy.py プロジェクト: KumarAcharya/cinder
    def test_modified_policy_reloads(self):
        with utils.tempdir() as tmpdir:
            tmpfilename = os.path.join(tmpdir, 'policy')
            self.flags(policy_file=tmpfilename)

            action = "example:test"
            with open(tmpfilename, "w") as policyfile:
                policyfile.write("""{"example:test": []}""")
            policy.enforce(self.context, action, self.target)
            with open(tmpfilename, "w") as policyfile:
                policyfile.write("""{"example:test": ["false:false"]}""")
            # NOTE(vish): reset stored policy cache so we don't have to
            # sleep(1)
            policy._POLICY_CACHE = {}
            self.assertRaises(exception.PolicyNotAuthorized, policy.enforce,
                              self.context, action, self.target)
コード例 #4
0
ファイル: test_policy.py プロジェクト: zjjfeng111/cinder
    def test_modified_policy_reloads(self):
        with utils.tempdir() as tmpdir:
            tmpfilename = os.path.join(tmpdir, 'policy')
            self.fixture.config(policy_file=tmpfilename, group='oslo_policy')
            policy.reset()
            policy.init()
            rule = oslo_policy.RuleDefault('example:test', "")
            policy._ENFORCER.register_defaults([rule])

            action = "example:test"
            with open(tmpfilename, "w") as policyfile:
                policyfile.write('{"example:test": ""}')
            policy.authorize(self.context, action, self.target)
            with open(tmpfilename, "w") as policyfile:
                policyfile.write('{"example:test": "!"}')
            policy._ENFORCER.load_rules(True)
            self.assertRaises(exception.PolicyNotAuthorized, policy.authorize,
                              self.context, action, self.target)
コード例 #5
0
ファイル: test_policy.py プロジェクト: j-griffith/cinder
    def test_modified_policy_reloads(self):
        with utils.tempdir() as tmpdir:
            tmpfilename = os.path.join(tmpdir, 'policy')
            self.fixture.config(policy_file=tmpfilename, group='oslo_policy')
            policy.reset()
            policy.init()
            rule = oslo_policy.RuleDefault('example:test', "")
            policy._ENFORCER.register_defaults([rule])

            action = "example:test"
            with open(tmpfilename, "w") as policyfile:
                policyfile.write('{"example:test": ""}')
            policy.authorize(self.context, action, self.target)
            with open(tmpfilename, "w") as policyfile:
                policyfile.write('{"example:test": "!"}')
            policy._ENFORCER.load_rules(True)
            self.assertRaises(exception.PolicyNotAuthorized,
                              policy.authorize,
                              self.context, action, self.target)
コード例 #6
0
def temporary_dir():
    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #7
0
def temporary_dir():
    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #8
0
ファイル: image_utils.py プロジェクト: Datera/cinder
def temporary_dir():
    if (CONF.image_conversion_dir and not
            os.path.exists(CONF.image_conversion_dir)):
        os.makedirs(CONF.image_conversion_dir)

    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #9
0
ファイル: image_utils.py プロジェクト: parthipan1/cinder
def temporary_dir():
    if (CONF.image_conversion_dir and not
            os.path.exists(CONF.image_conversion_dir)):
        os.makedirs(CONF.image_conversion_dir)

    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #10
0
def temporary_dir():
    fileutils.ensure_tree(CONF.image_conversion_dir)

    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #11
0
ファイル: test_utils.py プロジェクト: kaitlin-farr/cinder
 def test_tempdir_error(self, mock_rmtree, mock_mkdtemp):
     with utils.tempdir(a='1', b=2) as td:
         self.assertEqual(mock_mkdtemp.return_value, td)
         self.assertFalse(mock_rmtree.called)
     mock_mkdtemp.assert_called_once_with(a='1', b=2)
     mock_rmtree.assert_called_once_with(mock_mkdtemp.return_value)
コード例 #12
0
 def test_tempdir_error(self, mock_rmtree, mock_mkdtemp):
     with utils.tempdir(a='1', b=2) as td:
         self.assertEqual(mock_mkdtemp.return_value, td)
         self.assertFalse(mock_rmtree.called)
     mock_mkdtemp.assert_called_once_with(a='1', b=2)
     mock_rmtree.assert_called_once_with(mock_mkdtemp.return_value)
コード例 #13
0
def temporary_dir() -> ContextManager[str]:
    fileutils.ensure_tree(CONF.image_conversion_dir)

    return utils.tempdir(dir=CONF.image_conversion_dir)
コード例 #14
0
ファイル: image_utils.py プロジェクト: mahak/cinder
def temporary_dir():
    fileutils.ensure_tree(CONF.image_conversion_dir)

    return utils.tempdir(dir=CONF.image_conversion_dir)