def _configure_webdev_ftp(self, enable_webdev_user): my_node_url = as_node_url(self) inittab = InittabManager() assert inittab.has_key("MPX_FTPD"), ( "inittab must contain an MPX_FTPD group, run " + "moab/linux/broadway.moab.linux.install from it's local directory." ) daemon_name = 'ftpd' group = inittab["MPX_FTPD"] nodes = group.subset("REQUIRED_BY") has_my_node = nodes.has_item(my_node_url) docommit = 0 if enable_webdev_user: if not has_my_node: nodes.add_item(my_node_url) docommit = 1 else: if has_my_node: nodes.remove_item(my_node_url) docommit = 1 is_already_enabled = group.is_daemon_enabled(daemon_name) if nodes.num_items() > 0: # There are nodes requiring MPX_FTPD. Enable it, if it wasn't # already. if not is_already_enabled: group.enable_daemon(daemon_name) docommit = 1 else: # No nodes require MPX_FTPD. Disable it, if it wasn't already. if is_already_enabled: group.disable_daemon(daemon_name) docommit = 1 if docommit: inittab.commit() return