/usr/lib/python3/dist-packages/provisioningserver/__main__.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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/usr/bin/env python3
# Copyright 2012-2017 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Command-line interface for the MAAS provisioning component."""
import sys
from provisioningserver import security
import provisioningserver.boot.install_grub
import provisioningserver.cluster_config_command
import provisioningserver.register_command
import provisioningserver.support_dump
import provisioningserver.upgrade_cluster
import provisioningserver.utils.arp
import provisioningserver.utils.avahi
import provisioningserver.utils.beaconing
import provisioningserver.utils.dhcp
import provisioningserver.utils.scan_network
from provisioningserver.utils.script import MainScript
import provisioningserver.utils.send_beacons
COMMON_COMMANDS = {
'observe-arp': provisioningserver.utils.arp,
'observe-beacons': provisioningserver.utils.beaconing,
'observe-mdns': provisioningserver.utils.avahi,
'observe-dhcp': provisioningserver.utils.dhcp,
'send-beacons': provisioningserver.utils.send_beacons,
'scan-network': provisioningserver.utils.scan_network,
}
RACK_ONLY_COMMANDS = {
'check-for-shared-secret': security.CheckForSharedSecretScript,
'config': provisioningserver.cluster_config_command,
'install-shared-secret': security.InstallSharedSecretScript,
'install-uefi-config': provisioningserver.boot.install_grub,
'register': provisioningserver.register_command,
'support-dump': provisioningserver.support_dump,
'upgrade-cluster': provisioningserver.upgrade_cluster,
}
main = MainScript(__doc__)
commands = COMMON_COMMANDS.copy()
# If 'maas-common' isn't being executed, add rack-specific commands in addition
# to the generic set of commands.
if not sys.argv[0].endswith('/maas-common'):
commands.update(RACK_ONLY_COMMANDS)
for name, command in sorted(commands.items()):
main.register(name, command)
main()
|