def inner_start_up(master=False): """Startup jobs that must run serialized w.r.t. other starting servers.""" # Register our MAC data type with psycopg. register_mac_type(connection.cursor()) # All commissioning and testing scripts are stored in the database. For # a commissioning ScriptSet to be created Scripts must exist first. Call # this early, only on the master process, to ensure they exist and are # only created once. If get_or_create_running_controller() is called before # this it will fail on first run. if master: load_builtin_scripts() # Ensure the this region is represented in the database. The first regiond # to pass through inner_start_up on this host can do this; it should NOT # be restricted to masters only. This also ensures that the MAAS ID is set # on the filesystem; it will be done in a post-commit hook and will thus # happen before `locks.startup` is released. node = RegionController.objects.get_or_create_running_controller() # Update region version ControllerInfo.objects.set_version(node, get_running_version()) # Ensure that uuid is created after creating RegionController.objects.get_or_create_uuid() # Only perform the following if the master process for the # region controller. if master: # Freshen the kms SRV records. dns_kms_setting_changed() # Make sure the commissioning distro series is still a supported LTS. commissioning_distro_series = Config.objects.get_config( name="commissioning_distro_series" ) ubuntu = UbuntuOS() if commissioning_distro_series not in ( ubuntu.get_supported_commissioning_releases() ): Config.objects.set_config( "commissioning_distro_series", ubuntu.get_default_commissioning_release(), ) Notification.objects.create_info_for_admins( "Ubuntu %s is no longer a supported commissioning " "series. Ubuntu %s has been automatically selected." % ( commissioning_distro_series, ubuntu.get_default_commissioning_release(), ), ident="commissioning_release_deprecated", ) with RegionConfiguration.open() as config: Config.objects.set_config("maas_url", config.maas_url) # Update deprecation notifications if needed sync_deprecation_notifications()
def inner_start_up(): """Startup jobs that must run serialized w.r.t. other starting servers.""" # Register our MAC data type with psycopg. register_mac_type(connection.cursor()) # Publish the MAAS server existence over Avahi. setup_maas_avahi_service() # Make sure that the master nodegroup is created. # This must be serialized or we may initialize the master more than once. NodeGroup.objects.ensure_master() # Regenerate MAAS's DNS configuration. This should be reentrant, really. write_full_dns_config(reload_retry=True)
def inner_start_up(): """Startup jobs that must run serialized w.r.t. other starting servers.""" # Register our MAC data type with psycopg. register_mac_type(connection.cursor()) # Publish the MAAS server existence over Avahi. setup_maas_avahi_service() # Make sure that the master nodegroup is created. # This must be serialized or we may initialize the master more than once. NodeGroup.objects.ensure_master() # Regenerate MAAS's DNS configuration. This should be reentrant, really. write_full_dns_config(reload_retry=True)
def inner_start_up(master=False): """Startup jobs that must run serialized w.r.t. other starting servers.""" # Register our MAC data type with psycopg. register_mac_type(connection.cursor()) # Ensure the this region is represented in the database. The first regiond # to pass through inner_start_up on this host can do this; it should NOT # be restricted to masters only. This also ensures that the MAAS ID is set # on the filesystem; it will be done in a post-commit hook and will thus # happen before `locks.startup` is released. region = RegionController.objects.get_or_create_running_controller() # Ensure that uuid is created after creating RegionController.objects.get_or_create_uuid() # Only perform the following if the master process for the # region controller. if master: # Freshen the kms SRV records. dns_kms_setting_changed() # Add or update all builtin scripts load_builtin_scripts() # Make sure the commissioning distro series is still a supported LTS. commissioning_distro_series = Config.objects.get_config( name="commissioning_distro_series") ubuntu = UbuntuOS() if commissioning_distro_series not in ( ubuntu.get_supported_commissioning_releases()): Config.objects.set_config( "commissioning_distro_series", ubuntu.get_default_commissioning_release(), ) Notification.objects.create_info_for_admins( "Ubuntu %s is no longer a supported commissioning " "series. Ubuntu %s has been automatically selected." % ( commissioning_distro_series, ubuntu.get_default_commissioning_release(), ), ident="commissioning_release_deprecated", ) # Update deprecation notifications if needed sync_deprecation_notifications() # Refresh soon after this transaction is in. post_commit_do(reactor.callLater, 0, refreshRegion, region) # Create a certificate for the region. post_commit_do(reactor.callLater, 0, generate_certificate_if_needed)
def inner_start_up(): """Startup jobs that must run serialized w.r.t. other starting servers.""" # Register our MAC data type with psycopg. register_mac_type(connection.cursor()) # Ensure the this region is represented in the database. The first regiond # to pass through inner_start_up on this host can do this; it should NOT # be restricted to masters only. This also ensures that the MAAS ID is set # on the filesystem; it will be done in a post-commit hook and will thus # happen before `locks.startup` is released. region = RegionController.objects.get_or_create_running_controller() # Only perform the following if the master process for the # region controller. if is_master_process(): # Freshen the kms SRV records. dns_kms_setting_changed() # Add or update all builtin scripts load_builtin_scripts() # Refresh soon after this transaction is in. post_commit_do(reactor.callLater, 0, refreshRegion, region)
def setUpClass(cls): super(MAASRegionTestCaseBase, cls).setUpClass() register_mac_type(connection.cursor())
def test_register_mac_type_is_idempotent(self): register_mac_type(connection.cursor()) register_mac_type(connection.cursor()) # The test is that we get here without crashing. pass
def test_register_mac_type_is_idempotent(self): register_mac_type(connection.cursor()) register_mac_type(connection.cursor()) # The test is that we get here without crashing. pass
def setUpClass(cls): register_mac_type(connection.cursor())
def setUpClass(cls): super().setUpClass() register_mac_type(connection.cursor())