'Take care of all the actions of submitting a Oozie workflow.
Returns the oozie job id if all goes well.'

@submit_dryrun
def run(self, deployment_dir=None):

    if (self.properties and ('oozie.use.system.libpath' not in self.properties)):
        self.properties['oozie.use.system.libpath'] = 'true'
    self.oozie_id = self.api.submit_job(self.properties)
    LOG.info(('Submitted:    %s' % (self,)))
    if self._is_workflow():
        self.api.job_control(self.oozie_id, 'start')
        LOG.info(('Started:    %s' % (self,)))
    return self.oozie_id
