def populate(self, parameters): self.tftp_dir = self.mkdtemp(override=tftpd_dir()) self.internal_pipeline = Pipeline(parent=self, job=self.job, parameters=parameters) self.set_namespace_data(action=self.name, label='tftp', key='tftp_dir', value=self.tftp_dir, parameters=parameters) for key in ['initrd', 'kernel', 'dtb', 'nbdroot']: if key in parameters: download = DownloaderAction(key, path=self.tftp_dir) download.max_retries = 3 # overridden by failure_retry in the parameters, if set. self.internal_pipeline.add_action(download) if key == 'initrd': self.set_namespace_data(action="tftp-deploy", label='tftp', key='ramdisk', value=True, parameters=parameters) self.set_namespace_data(action=self.name, label='nbd', key='initrd', value=True, parameters=parameters) # prepare overlay self.internal_pipeline.add_action(OverlayAction()) # setup values for protocol and later steps self.set_namespace_data(action=self.name, label='nbd', key='initrd', value=True, parameters=parameters) # store in parameters for protocol 'xnbd' to tear-down xnbd-server # and store in namespace for boot action # ip parameters['lava-xnbd'] = {} self.nbd_ip = dispatcher_ip(self.job.parameters['dispatcher']) parameters['lava-xnbd']['ip'] = self.nbd_ip self.set_namespace_data(action=self.name, label='nbd', key='nbd_server_ip', value=self.nbd_ip, parameters=parameters) # port self.nbd_port = get_free_port(self.job.parameters['dispatcher']) parameters['lava-xnbd']['port'] = self.nbd_port self.set_namespace_data(action=self.name, label='nbd', key='nbd_server_port', value=self.nbd_port, parameters=parameters) # handle XnbdAction next - bring-up xnbd-server self.internal_pipeline.add_action(XnbdAction())
def populate(self, parameters): self.tftp_dir = self.mkdtemp(override=filesystem.tftpd_dir()) self.pipeline = Pipeline(parent=self, job=self.job, parameters=parameters) self.set_namespace_data( action=self.name, label="tftp", key="tftp_dir", value=self.tftp_dir, parameters=parameters, ) for key in ["initrd", "kernel", "dtb", "nbdroot"]: if key in parameters: download = DownloaderAction(key, path=self.tftp_dir, params=parameters[key]) download.max_retries = ( 3 # overridden by failure_retry in the parameters, if set. ) self.pipeline.add_action(download) if key == "initrd": self.set_namespace_data( action="tftp-deploy", label="tftp", key="ramdisk", value=True, parameters=parameters, ) self.set_namespace_data( action=self.name, label="nbd", key="initrd", value=True, parameters=parameters, ) # prepare overlay self.pipeline.add_action(OverlayAction()) if "kernel" in parameters and "type" in parameters["kernel"]: self.pipeline.add_action(PrepareKernelAction()) # setup values for protocol and later steps self.set_namespace_data( action=self.name, label="nbd", key="initrd", value=True, parameters=parameters, ) # store in parameters for protocol 'xnbd' to tear-down xnbd-server # and store in namespace for boot action # ip parameters["lava-xnbd"] = {} # handle XnbdAction next - bring-up xnbd-server self.pipeline.add_action(XnbdAction())
def populate(self, parameters): self.tftp_dir = self.mkdtemp(override=tftpd_dir()) self.internal_pipeline = Pipeline(parent=self, job=self.job, parameters=parameters) self.set_namespace_data(action=self.name, label='tftp', key='tftp_dir', value=self.tftp_dir, parameters=parameters) for key in ['initrd', 'kernel', 'dtb', 'nbdroot']: if key in parameters: download = DownloaderAction(key, path=self.tftp_dir) download.max_retries = 3 # overridden by failure_retry in the parameters, if set. self.internal_pipeline.add_action(download) if key == 'initrd': self.set_namespace_data(action="tftp-deploy", label='tftp', key='ramdisk', value=True, parameters=parameters) self.set_namespace_data(action=self.name, label='nbd', key='initrd', value=True, parameters=parameters) # prepare overlay self.internal_pipeline.add_action(OverlayAction()) # setup values for protocol and later steps self.set_namespace_data(action=self.name, label='nbd', key='initrd', value=True, parameters=parameters) # store in parameters for protocol 'xnbd' to tear-down xnbd-server # and store in namespace for boot action # ip parameters['lava-xnbd'] = {} # handle XnbdAction next - bring-up xnbd-server self.internal_pipeline.add_action(XnbdAction())