Пример #1
0
def main_loop(args, data):
    data_global = data['global']
    global_dry_run = data_global.get('dry-run', False)

    if data_global.get('no-validate-ssl', False):
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

    registry = Registry.create(data_global['host'],
                               data_global['login'],
                               data_global.get('no-validate-ssl', False),
                               data_global.get('digest-method', 'HEAD'))

    registry.auth_schemes = get_auth_schemes(registry, '/v2/_catalog')
    image_list = registry.list_images()
    image_list = {image_name: False for image_name in image_list}

    delete_images_list = data.get('delete_images', [])
    if len(delete_images_list):
        for item in delete_images_list:
            if item['image'] in image_list:
                apply_delete(item['image'], item, global_dry_run, registry)
                image_list[item['image']] = True

    default_other_images = data.get('default_other_images', None)
    if default_other_images:
        other_images = (
            [name for name, executed in image_list.items() if not executed])
        if len(other_images):
            for item in other_images:
                apply_delete(item,
                             default_other_images,
                             global_dry_run,
                             registry)
Пример #2
0
 def test_invalid_login(self):
     with self.assertRaises(SystemExit):
         Registry.create("testhost4", "invalid_login", False)
Пример #3
0
 def test_create_login(self):
     r = Registry.create("testhost2", "testlogin:testpass", False)
     self.assertEqual(r.hostname, "testhost2")
     self.assertTrue(isinstance(r.http, Requests))
     self.assertEqual(r.username, "testlogin")
     self.assertEqual(r.password, "testpass")
Пример #4
0
 def test_validate_ssl(self):
     r = Registry.create("testhost3", None, True)
     self.assertTrue(isinstance(r.http, Requests))
     self.assertTrue(r.no_validate_ssl)
     self.assertEqual(r.username, None)
     self.assertEqual(r.password, None)
Пример #5
0
 def test_create_nologin(self):
     r = Registry.create("testhost", None, False)
     self.assertTrue(isinstance(r.http, Requests))
     self.assertEqual(r.hostname, "testhost")
     self.assertEqual(r.no_validate_ssl, False)