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))
Beispiel #2
0
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))