/usr/lib/python3/dist-packages/provisioningserver/drivers/pod/registry.py is in python3-maas-provisioningserver 2.4.0~beta2-6865-gec43e47e6-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Copyright 2017 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Load all pod drivers."""
__all__ = [
"PodDriverRegistry",
]
from jsonschema import validate
from provisioningserver.drivers.pod import JSON_POD_DRIVERS_SCHEMA
from provisioningserver.drivers.pod.rsd import RSDPodDriver
from provisioningserver.drivers.pod.virsh import VirshPodDriver
from provisioningserver.utils.registry import Registry
class PodDriverRegistry(Registry):
"""Registry for pod drivers."""
@classmethod
def get_schema(cls, detect_missing_packages=True):
"""Returns the full schema for the registry."""
schemas = [
driver.get_schema(detect_missing_packages=detect_missing_packages)
for _, driver in cls
]
validate(schemas, JSON_POD_DRIVERS_SCHEMA)
return schemas
pod_drivers = [
RSDPodDriver(),
VirshPodDriver(),
]
for driver in pod_drivers:
PodDriverRegistry.register_item(driver.name, driver)
|