~ubuntu-branches/ubuntu/trusty/nordugrid-arc/trusty

« back to all changes in this revision

Viewing changes to src/services/a-rex/grid-manager/files/info_log.cpp

  • Committer: Package Import Robot
  • Author(s): Mattias Ellert
  • Date: 2012-12-13 16:41:31 UTC
  • mfrom: (3.1.11 sid)
  • Revision ID: package-import@ubuntu.com-20121213164131-wii0p2fcv7e3en93
Tags: 2.0.1-1
* 2.0.1 Release
* Drop patches accepted upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
124
124
  // Analyze job.ID.local and store relevant information
125
125
  {
126
126
  fname_src = user.ControlDir() + "/job." + desc.get_id() + sfx_local;
127
 
  std::ifstream i_src(fname_src.c_str());
128
 
  for(;;) {
129
 
    if(i_src.fail()) goto error;
130
 
    if(o_dst.fail()) goto error;
131
 
    if(i_src.eof()) break;
132
 
    std::string value;
133
 
    std::string key = config_read_line(i_src,value,'=');
134
 
    if(key=="subject") { o_dst<<"usersn="<<value<<std::endl; }
135
 
    else if(key=="headnode") { o_dst<<"headnode="<<value<<std::endl; }
136
 
    else if(key=="lrms") { o_dst<<"lrms="<<value<<std::endl; }
137
 
    else if(key=="queue") { o_dst<<"queue="<<value<<std::endl; }
138
 
    else if(key=="localid") { o_dst<<"localjobid="<<value<<std::endl; }
139
 
    else if(key=="jobname") { o_dst<<"jobname="<<value<<std::endl; }
140
 
    else if(key=="globalid") { o_dst<<"globalid="<<value<<std::endl; }
141
 
    else if(key=="projectname") { o_dst<<"projectname="<<value<<std::endl; }
142
 
    else if(key=="clientname") { o_dst<<"clienthost="<<value<<std::endl; }
 
127
  JobLocalDescription local;
 
128
  if(!local.read(fname_src)) goto error;
 
129
  if(!local.DN.empty()) { o_dst<<"usersn="<<local.DN<<std::endl; }
 
130
  if(!local.headnode.empty()) { o_dst<<"headnode="<<local.headnode<<std::endl; }
 
131
  if(!local.lrms.empty()) { o_dst<<"lrms="<<local.lrms<<std::endl; }
 
132
  if(!local.queue.empty()) { o_dst<<"queue="<<local.queue<<std::endl; }
 
133
  if(!local.localid.empty()) { o_dst<<"localid="<<local.localid<<std::endl; }
 
134
  if(!local.jobname.empty()) { o_dst<<"jobname="<<local.jobname<<std::endl; }
 
135
  if(!local.globalid.empty()) { o_dst<<"globalid="<<local.globalid<<std::endl; }
 
136
  for(std::list<std::string>::const_iterator projectname = local.projectnames.begin();
 
137
                      projectname != local.projectnames.end(); ++projectname) {
 
138
    o_dst<<"projectname="<<*projectname<<std::endl;
143
139
  };
 
140
  if(!local.clientname.empty()) { o_dst<<"clienthost="<<local.clientname<<std::endl; }
144
141
  };
145
142
 
146
143
  // Copy public part of user certificate chain incl. proxy
216
213
    int nodecount = 0;
217
214
    float cputime = 0;
218
215
    for(;;) {
219
 
      if(i_src.fail()) goto error;
 
216
      // if(i_src.fail()) goto error; - it is better to provide something than nothing
220
217
      if(o_dst.fail()) goto error;
221
 
      if(i_src.eof()) break;
 
218
      // if(i_src.eof()) break; - config_read_line handles that
222
219
      std::string value;
223
220
      std::string key = config_read_line(i_src,value,'=');
 
221
      if(key.empty()) break; // only case config_read_line returns "" is then can't read anymore
224
222
      if(key=="nodename") {
225
223
        if(nodecount) nodenames+=":"; nodenames+=value;
226
224
        nodecount++;