Пример #1
0
def report_list(page=1):
    if current_app.config['ARA_PLAYBOOK_OVERRIDE'] is not None:
        override = current_app.config['ARA_PLAYBOOK_OVERRIDE']
        playbooks = (models.Playbook.query
                     .filter(models.Playbook.id.in_(override))
                     .order_by(models.Playbook.time_start.desc()))
    else:
        playbooks = (models.Playbook.query
                     .order_by(models.Playbook.time_start.desc()))

    if not utils.fast_count(playbooks):
        return redirect(url_for('about.main'))

    playbook_per_page = current_app.config['ARA_PLAYBOOK_PER_PAGE']
    # Paginate unless playbook_per_page is set to 0
    if playbook_per_page >= 1:
        playbooks = playbooks.paginate(page, playbook_per_page, False)
    else:
        playbooks = playbooks.paginate(page, None, False)

    stats = utils.get_summary_stats(playbooks.items, 'playbook_id')

    result_per_page = current_app.config['ARA_RESULT_PER_PAGE']

    return render_template('report_list.html',
                           active='reports',
                           result_per_page=result_per_page,
                           playbooks=playbooks,
                           stats=stats)
Пример #2
0
def report_list(page=1):
    if current_app.config['ARA_PLAYBOOK_OVERRIDE'] is not None:
        override = current_app.config['ARA_PLAYBOOK_OVERRIDE']
        playbooks = (models.Playbook.query.filter(
            models.Playbook.id.in_(override)).order_by(
                models.Playbook.time_start.desc()))
    else:
        playbooks = (models.Playbook.query.order_by(
            models.Playbook.time_start.desc()))

    if not utils.fast_count(playbooks):
        return redirect(url_for('about.main'))

    playbook_per_page = current_app.config['ARA_PLAYBOOK_PER_PAGE']
    # Paginate unless playbook_per_page is set to 0
    if playbook_per_page >= 1:
        playbooks = playbooks.paginate(page, playbook_per_page, False)
    else:
        playbooks = playbooks.paginate(page, None, False)

    stats = utils.get_summary_stats(playbooks.items, 'playbook_id')

    result_per_page = current_app.config['ARA_RESULT_PER_PAGE']

    return render_template('report_list.html',
                           active='reports',
                           result_per_page=result_per_page,
                           playbooks=playbooks,
                           stats=stats)
Пример #3
0
def get_playbook(id):
    print id

    playbooks = (models.Playbook.query.filter(
        models.Playbook.meta_data.in_([id])).order_by(
            models.Playbook.time_start.desc()))
    print playbooks

    if not playbooks.count():
        return redirect(url_for('home.main'))

    playbook_per_page = current_app.config['ARA_PLAYBOOK_PER_PAGE']
    # Paginate unless playbook_per_page is set to 0
    if playbook_per_page >= 1:
        playbooks = playbooks.paginate(1, playbook_per_page, False)
    else:
        playbooks = playbooks.paginate(1, None, False)

    stats = utils.get_summary_stats(playbooks.items, 'playbook_id')

    result_per_page = current_app.config['ARA_RESULT_PER_PAGE']
    browser_tips = current_app.config['ARA_BROWSER_TIPS']
    return render_template('single_report.html',
                           active='reports',
                           result_per_page=result_per_page,
                           playbooks=playbooks,
                           stats=stats,
                           browser_tips=browser_tips)
Пример #4
0
def playbook_summary():
    playbooks = models.Playbook.query.order_by(models.Playbook.time_start)
    stats = utils.get_summary_stats(playbooks, 'playbook_id')

    return render_template('playbook_summary.html',
                           playbooks=playbooks,
                           stats=stats)
Пример #5
0
def host_summary():
    hosts = models.Host.query.order_by(models.Host.name)
    stats = utils.get_summary_stats(hosts, 'host_id')

    return render_template('host_summary.html',
                           hosts=hosts,
                           stats=stats)
Пример #6
0
def playbook_summary():
    playbooks = models.Playbook.query.order_by(models.Playbook.time_start)
    stats = utils.get_summary_stats(playbooks, 'playbook_id')

    return render_template('playbook_summary.html',
                           playbooks=playbooks,
                           stats=stats)
Пример #7
0
def main():
    """ Returns the dashboard """
    playbooks = (models.Playbook.query.order_by(
        models.Playbook.time_start.desc()).limit(10))

    stats = utils.get_summary_stats(playbooks, 'playbook_id')

    return render_template('home.html', stats=stats)
 def test_summary_stats(self):
     r_hosts = m.Host.query.all()
     summary = u.get_summary_stats(r_hosts, 'host_id')
     for host in r_hosts:
         for status in ['ok', 'changed', 'failed',
                        'skipped', 'unreachable']:
             self.assertEqual(summary[host.id][status],
                              self.stats.processed[host.name][status])
Пример #9
0
def main():
    """ Returns the dashboard """
    playbooks = (models.Playbook.query
                 .order_by(models.Playbook.time_start.desc())
                 .limit(10))

    stats = utils.get_summary_stats(playbooks, 'playbook_id')

    return render_template('home.html', stats=stats)
Пример #10
0
    def test_get_summary_stats_failed(self):
        ctx = ansible_run(failed=True)
        playbook = ctx['playbook'].id
        res = u.get_summary_stats([ctx['playbook']], 'playbook_id')

        self.assertEqual(1, res[playbook]['ok'])
        self.assertEqual(1, res[playbook]['changed'])
        self.assertEqual(1, res[playbook]['failed'])
        self.assertEqual(1, res[playbook]['skipped'])
        self.assertEqual(0, res[playbook]['unreachable'])
        self.assertEqual('failed', res[playbook]['status'])
Пример #11
0
    def test_get_summary_stats_incomplete(self):
        ctx = ansible_run(complete=False)
        playbook = ctx['playbook'].id
        res = u.get_summary_stats([ctx['playbook']], 'playbook_id')

        self.assertEqual(0, res[playbook]['ok'])
        self.assertEqual(0, res[playbook]['changed'])
        self.assertEqual(0, res[playbook]['failed'])
        self.assertEqual(0, res[playbook]['skipped'])
        self.assertEqual(0, res[playbook]['unreachable'])
        self.assertEqual('incomplete', res[playbook]['status'])
Пример #12
0
    def test_get_summary_stats_failed(self):
        ctx = ansible_run(failed=True)
        playbook = ctx['playbook'].id
        res = u.get_summary_stats([ctx['playbook']], 'playbook_id')

        self.assertEqual(1, res[playbook]['ok'])
        self.assertEqual(1, res[playbook]['changed'])
        self.assertEqual(1, res[playbook]['failed'])
        self.assertEqual(1, res[playbook]['skipped'])
        self.assertEqual(0, res[playbook]['unreachable'])
        self.assertEqual('failed', res[playbook]['status'])
Пример #13
0
    def test_get_summary_stats_incomplete(self):
        ctx = ansible_run(complete=False)
        playbook = ctx['playbook'].id
        res = u.get_summary_stats([ctx['playbook']], 'playbook_id')

        self.assertEqual(0, res[playbook]['ok'])
        self.assertEqual(0, res[playbook]['changed'])
        self.assertEqual(0, res[playbook]['failed'])
        self.assertEqual(0, res[playbook]['skipped'])
        self.assertEqual(0, res[playbook]['unreachable'])
        self.assertEqual('incomplete', res[playbook]['status'])
Пример #14
0
def report(playbook_id):
    playbook = models.Playbook.query.get(playbook_id)
    if playbook is None:
        abort(404)

    stats = utils.get_summary_stats([playbook], 'playbook_id')

    result_per_page = current_app.config['ARA_RESULT_PER_PAGE']

    return render_template('report_single.html',
                           active='reports',
                           result_per_page=result_per_page,
                           playbook=playbook,
                           stats=stats)
Пример #15
0
def report(playbook_id):
    playbook = models.Playbook.query.get(playbook_id)
    if playbook is None:
        abort(404)

    stats = utils.get_summary_stats([playbook], 'playbook_id')

    result_per_page = current_app.config['ARA_RESULT_PER_PAGE']

    return render_template('report_single.html',
                           active='reports',
                           result_per_page=result_per_page,
                           playbook=playbook,
                           stats=stats)