Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Jobs loaded and executed from XML rather than loaded from XML and executed from DB

#264

A surprising discrepancy was found between the on disk XML defined for a job and the one loaded in to the DB for RunDeck. Ideally the XML could either be polled and loaded in to the DB on a regular interval or parsed every time the job is loaded/executed.

Reported by John Wyles · April 26th, 2011 @ 09:59 AM

State: new
Milestone: none
Assigned to: nobody

Activity

  1. Greg Schueler
    Greg Schueler

    i suppose something like this could be set up with jenkins/hudson; the job.xml are in source control and when updated a jenkins job is executed that imports them into rundeck.

    i.e. normal source control workflow could be used, rather than baking it into the RunDeck system. this is just an observation. We have also talked about ways to organize the job xml on disk as the authoritative source and sync changes made via GUI (like jenkins/hudson does for jobs)

    April 26th, 2011 @ 10:52 AM

  2. Deleted User
    Deleted User

    As a convention, I've been placing them in /var/rundeck/projects/<project>/jobs.d and then rd-jobs load'ing them from there.

    April 26th, 2011 @ 11:04 AM

  3. Alex-SF
    Alex-SF

    +1 on @John's point. Possible next steps:

    1) decide sync model/life-cycle for job defs between file system and DB
    2) discuss configuration settings specifying where job defs live on the FS
    3) reconcile changes made through the gui to (versioned?) files on the FS

    April 27th, 2011 @ 02:21 PM

  4. Deleted User
    Deleted User
    • Tag set to customer request

    June 8th, 2011 @ 11:50 AM

  5. Hasan
    Hasan

    I'd definitely like the ability to tell RunDeck where my git-managed directory is located, such that any change to any manually altered RunDeck element would be kept there: jobs, resources, jaas policies, etc.

    Data generated from RunDeck actions should NOT go there.

    February 24th, 2012 @ 02:28 PM

  6. Greg Schueler
    Greg Schueler

    Yes, making it a point for plugins would definitely be a requirement of this. I think the crucial questions for this issue are:

    • how/when should job definitions be "synched" between the RD datastore and any plugins that provide the definitions?
    • Should it be two way, such that any change to a job definition gets written back through the plugins? Or should each plugin get to decide whether it can do this?
    • How can a plugin tell Rundeck that something has changed? i.e. push a new definition into Rundeck? (this can already be done with the API)

    Some of this overlaps with the existing API: you can already read and write jobs to Rundeck that way.

    If we consider the issue in light of a Webhook model, then other web services could perhaps 'subscribe' to job definition data and receive changes via HTTP.

    February 28th, 2012 @ 09:31 AM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.