/usr/lib/python3/dist-packages/provisioningserver/drivers/nos/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 | # Copyright 2017 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Load all NOS drivers."""
__all__ = [
"NOSDriverRegistry",
]
from jsonschema import validate
from provisioningserver.drivers.nos import JSON_NOS_DRIVERS_SCHEMA
from provisioningserver.drivers.nos.flexswitch import FlexswitchNOSDriver
from provisioningserver.utils.registry import Registry
class NOSDriverRegistry(Registry):
"""Registry for NOS drivers."""
@classmethod
def get_schema(cls):
"""Returns the full schema for the registry."""
schemas = [
driver.get_schema()
for _, driver in cls
]
validate(schemas, JSON_NOS_DRIVERS_SCHEMA)
return schemas
# Register all the NOS drivers.
nos_drivers = [
FlexswitchNOSDriver(),
]
for driver in nos_drivers:
NOSDriverRegistry.register_item(driver.name, driver)
|