def mark(self, phasename): contents = dict() contents['name'] = phasename contents['when'] = date.rcf8222date() yield phasename LOG.debug("Marking the completion of phase %r in file %r", phasename, self.fn) lines = [json.dumps(contents), ''] sh.append_file(self.fn, utils.joinlinesep(*lines))
def add_header(fn, contents): lines = list() if not fn: fn = "???" lines.append("# Adjusted source file %s" % (fn.strip())) lines.append("# On %s" % (date.rcf8222date())) lines.append("# By user %s, group %s" % (sh.getuser(), sh.getgroupname())) lines.append("") if contents: lines.append(contents) return joinlinesep(*lines)
def _generate_lines(self): lines = list() lines.append('# Generated on %s' % (date.rcf8222date())) lines.append("") lines.extend(self._generate_general()) lines.extend(self._generate_passwords()) lines.extend(self._generate_ec2_env()) lines.extend(self._generate_nova_env()) lines.extend(self._generate_os_env()) lines.extend(self._generate_euca_env()) lines.extend(self._generate_extern_inc()) lines.extend(self._generate_misc_env()) lines.extend(self._generate_aliases()) return lines
def _generate_lines(self, session_name, env_exports): lines = list() lines.append("# RC file generated on %s" % (date.rcf8222date())) lines.append("") if env_exports: lines.append("# Environment settings (these will need to be exported)") for (k, v) in env_exports.items(): lines.append("# export %s=%s" % (k, sh.shellquote(v))) lines.append("") lines.append("# Screen sockets & programs were created/ran as the root user") lines.append("# So you will need to run as user root (or sudo) to enter the following sessions") lines.append("") lines.append("# Session settings") lines.append("sessionname %s" % (session_name)) lines.append(STATUS_BAR_CMD) lines.append("screen -t %s bash" % (SESSION_DEF_TITLE)) lines.append("") lines.extend(self._generate_help(session_name, env_exports)) return lines
def _get_upstart_conf_params(self, app_pth, program_name, *program_args): params = dict() if self.cfg.getboolean('upstart', 'respawn'): params['RESPAWN'] = "respawn" else: params['RESPAWN'] = "" params['SHORT_NAME'] = program_name params['MADE_DATE'] = date.rcf8222date() params['START_EVENT'] = self.cfg.getdefaulted('upstart', 'start_event', 'all_os_start') params['STOP_EVENT'] = self.cfg.getdefaulted('upstart', 'stop_event', 'all_os_stop') params['COMPONENT_START_EVENT'] = self.name + START_EVENT_SUFFIX params['COMPONENT_STOP_EVENT'] = self.name + STOP_EVENT_SUFFIX params['PROGRAM_NAME'] = app_pth params['AUTHOR'] = constants.PROG_NAME if program_args: escaped_args = list() for opt in program_args: LOG.debug("Current opt: %s" % (opt)) escaped_args.append(sh.shellquote(opt)) params['PROGRAM_OPTIONS'] = " ".join(escaped_args) else: params['PROGRAM_OPTIONS'] = '' return params
def update(self, fn): current_vars = RcReader().extract(fn) possible_vars = dict() possible_vars.update(self._get_general_envs()) possible_vars.update(self._get_ec2_envs()) possible_vars.update(self._get_password_envs()) possible_vars.update(self._get_os_envs()) possible_vars.update(self._get_euca_envs()) possible_vars.update(self._get_nova_envs()) possible_vars.update(self._get_misc_envs()) new_vars = dict() updated_vars = dict() for (key, value) in possible_vars.items(): if value is not None: if key in current_vars and (current_vars.get(key) != value): updated_vars[key] = value elif key not in current_vars: new_vars[key] = value if new_vars or updated_vars: lines = list() lines.append("") lines.append('# Updated on %s' % (date.rcf8222date())) lines.append("") if new_vars: lines.append('# New stuff') lines.extend(self._make_dict_export(new_vars)) lines.append("") if updated_vars: lines.append('# Updated stuff') lines.extend(self._make_dict_export(updated_vars)) lines.append("") append_contents = utils.joinlinesep(*lines) sh.append_file(fn, append_contents) return len(new_vars) + len(updated_vars) else: return 0
def trace(self, cmd, action=None): if action is None: action = date.rcf8222date() if cmd is not None: sh.append_file(self.trace_fn, TRACE_FMT % (cmd, action))