Git Product home page Git Product logo

almir's Introduction

almir's People

Contributors

brodul avatar domenkozar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

almir's Issues

bconsole timeout

Sometimes bacula-director will not respond at all. Process is running, but bconsole will never timeout. Result is that Popen call never ends, which looks like almir does not start correctly.

Seems like Popen got a timeout parameter in Python 3.3

Support for Python 3.2

Install script does not run on Python 3.2. Please consider Python 3.2 support.

Thanks.

TLS support

Hello,

We require TLS in bacula, also for the bconsole client. It seems that there is no support for TLS, it would be nice if that can be implemented.

Regards,

Matthijs Möhlmann

Internal server error showing up on many other pages now

This is the log when I client the Dashboard now.

2012-04-06 15:46:59,045 ERROR [exc_logger][Dummy-1] http://almir.revpol.com:8000/
Traceback (most recent call last):
File "/opt/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/init.py", line 40, in exclog_tween
return handler(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
response = view_callable(context, request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
context)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
return self.render_to_response(response, system, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
result = self.render(value, system_values, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
result = renderer(value, system_values)
File "/opt/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/init.py", line 287, in call
return self.template.render(system)
File "/opt/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/opt/almir/almir/templates/dashboard.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "/opt/almir/almir/templates/base.jinja2", line 73, in top-level template code
{% block container %}
File "/opt/almir/almir/templates/base.jinja2", line 84, in block "container"
{% block content %}
File "/opt/almir/almir/templates/dashboard.jinja2", line 13, in block "content"
{{ macros.jobs_table(request, jobs) }}
File "/opt/almir/almir/templates/macros.jinja2", line 67, in template
{{ link(job.render_type(request)) }}
File "/opt/almir/almir/models.py", line 249, in render_type
return {'text': TYPES[self.type]}
KeyError: 'C'
2012-04-06 15:46:59,048 ERROR [waitress][Dummy-1] Exception when serving /
Traceback (most recent call last):
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/channel.py", line 329, in service
task.service()
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 173, in service
self.execute()
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 380, in execute
app_iter = self.channel.server.application(env, start_response)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 187, in call
response = self.handle_request(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/tweens.py", line 20, in excview_tween
response = handler(request)
File "/opt/almir/eggs/pyramid_tm-0.3-py2.7.egg/pyramid_tm/init.py", line 61, in tm_tween
response = handler(request)
File "/opt/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/init.py", line 40, in exclog_tween
return handler(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
response = view_callable(context, request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
context)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
return self.render_to_response(response, system, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
result = self.render(value, system_values, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
result = renderer(value, system_values)
File "/opt/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/init.py", line 287, in call
return self.template.render(system)
File "/opt/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/opt/almir/almir/templates/dashboard.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "/opt/almir/almir/templates/base.jinja2", line 73, in top-level template code
{% block container %}
File "/opt/almir/almir/templates/base.jinja2", line 84, in block "container"
{% block content %}
File "/opt/almir/almir/templates/dashboard.jinja2", line 13, in block "content"
{{ macros.jobs_table(request, jobs) }}
File "/opt/almir/almir/templates/macros.jinja2", line 67, in template
{{ link(job.render_type(request)) }}
File "/opt/almir/almir/models.py", line 249, in render_type
return {'text': TYPES[self.type]}
KeyError: 'C'
2012-04-06 15:47:00,151 ERROR [exc_logger][Dummy-2] http://127.0.0.1:2500/
Traceback (most recent call last):
File "/opt/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/init.py", line 40, in exclog_tween
return handler(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
response = view_callable(context, request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
context)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
return self.render_to_response(response, system, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
result = self.render(value, system_values, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
result = renderer(value, system_values)
File "/opt/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/init.py", line 287, in call
return self.template.render(system)
File "/opt/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/opt/almir/almir/templates/dashboard.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "/opt/almir/almir/templates/base.jinja2", line 73, in top-level template code
{% block container %}
File "/opt/almir/almir/templates/base.jinja2", line 84, in block "container"
{% block content %}
File "/opt/almir/almir/templates/dashboard.jinja2", line 13, in block "content"
{{ macros.jobs_table(request, jobs) }}
File "/opt/almir/almir/templates/macros.jinja2", line 67, in template
{{ link(job.render_type(request)) }}
File "/opt/almir/almir/models.py", line 249, in render_type
return {'text': TYPES[self.type]}
KeyError: 'C'
2012-04-06 15:47:00,154 ERROR [waitress][Dummy-2] Exception when serving /
Traceback (most recent call last):
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/channel.py", line 329, in service
task.service()
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 173, in service
self.execute()
File "/opt/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 380, in execute
app_iter = self.channel.server.application(env, start_response)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 187, in call
response = self.handle_request(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/tweens.py", line 20, in excview_tween
response = handler(request)
File "/opt/almir/eggs/pyramid_tm-0.3-py2.7.egg/pyramid_tm/init.py", line 61, in tm_tween
response = handler(request)
File "/opt/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/init.py", line 40, in exclog_tween
return handler(request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
response = view_callable(context, request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
context)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
return self.render_to_response(response, system, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
result = self.render(value, system_values, request=request)
File "/opt/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
result = renderer(value, system_values)
File "/opt/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/init.py", line 287, in call
return self.template.render(system)
File "/opt/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/opt/almir/almir/templates/dashboard.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "/opt/almir/almir/templates/base.jinja2", line 73, in top-level template code
{% block container %}
File "/opt/almir/almir/templates/base.jinja2", line 84, in block "container"
{% block content %}
File "/opt/almir/almir/templates/dashboard.jinja2", line 13, in block "content"
{{ macros.jobs_table(request, jobs) }}
File "/opt/almir/almir/templates/macros.jinja2", line 67, in template
{{ link(job.render_type(request)) }}
File "/opt/almir/almir/models.py", line 249, in render_type
return {'text': TYPES[self.type]}
KeyError: 'C'

Format of Start times, End times, and Durations

I think that the display of Start times, End times, and Durations in lists (larger right side of screen) would be better if they were simple time stamps. While they look nice currently, they would be smaller, allowing for additional columns possibly.

Also, the size column on my 24" screen shows:

13.5
GB

14.2
GB

So they are wrapping due to lack of horizontal space

Just a thought.

Thanks!

Bill Arlofski

Move sidebar to the right side

Since main column is fluid, if we want to improve UX with optional sidebar, move it to the right side. Hard part it to rewrite console tooltips positions.

Upgrade to bootstrap 3

Review what's new.

Change following:

  • Tables now include support for colors (remove our hack)

UPSTREAM: free storage space

Would be nice if bacula-director could query for free available space on each storage daemon. Something like:

.status storage freespace

Internal Server Error (generated by waitress)

When trying to access http://host:2500/job/59/ (and other jobs, many, but not all)

Internal Server Error
The server encountered an unexpected internal server error
(generated by waitress)

System: Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
Bacula: 5.2.5-0ubuntu6
Almir: latest on 2012-04-14

almir-stderr---supervisor.log

2012-07-16 12:07:29,738 ERROR [exc_logger][Dummy-1] http://host:2500/job/59/
Traceback (most recent call last):
  File "/usr/share/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/__init__.py", line 40, in exclog_tween
    return handler(request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
    response = view_callable(context, request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
    context)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
    return self.render_to_response(response, system, request=request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
    result = self.render(value, system_values, request=request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
    result = renderer(value, system_values)
  File "/usr/share/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/__init__.py", line 287, in __call__
    return self.template.render(system)
  File "/usr/share/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/share/almir/almir/templates/job_detail.jinja2", line 1, in top-level template code
    {% extends "templates/base.jinja2" %}
  File "/usr/share/almir/almir/templates/base.jinja2", line 73, in top-level template code
    {% block container %}
  File "/usr/share/almir/almir/templates/base.jinja2", line 84, in block "container"
    {% block content %}
  File "/usr/share/almir/almir/templates/job_detail.jinja2", line 10, in block "content"
    {{ macros.logs_table(request, object.logs, show_jobid=False) }}
  File "/usr/share/almir/almir/templates/macros.jinja2", line 128, in template
    {{ td_link(log.render_logtext(request)) }}
  File "/usr/share/almir/almir/models.py", line 586, in render_logtext
    d['text'] = Markup(nl2br(log))
  File "/usr/share/almir/eggs/MarkupSafe-0.15-py2.7.egg/markupsafe/__init__.py", line 71, in __new__
    return unicode.__new__(cls, base)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 35: ordinal not in range(128)
2012-07-16 12:07:29,741 ERROR [waitress][Dummy-1] Exception when serving /job/59/
Traceback (most recent call last):
  File "/usr/share/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/channel.py", line 329, in service
    task.service()
  File "/usr/share/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 173, in service
    self.execute()
  File "/usr/share/almir/eggs/waitress-0.8.1-py2.7.egg/waitress/task.py", line 380, in execute
    app_iter = self.channel.server.application(env, start_response)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 187, in __call__
    response = self.handle_request(request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/tweens.py", line 20, in excview_tween
    response = handler(request)
  File "/usr/share/almir/eggs/pyramid_tm-0.3-py2.7.egg/pyramid_tm/__init__.py", line 61, in tm_tween
    response = handler(request)
  File "/usr/share/almir/eggs/pyramid_exclog-0.5-py2.7.egg/pyramid_exclog/__init__.py", line 40, in exclog_tween
    return handler(request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/router.py", line 164, in handle_request
    response = view_callable(context, request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/config/views.py", line 352, in rendered_view
    context)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 396, in render_view
    return self.render_to_response(response, system, request=request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 426, in render_to_response
    result = self.render(value, system_values, request=request)
  File "/usr/share/almir/eggs/pyramid-1.3-py2.7.egg/pyramid/renderers.py", line 422, in render
    result = renderer(value, system_values)
  File "/usr/share/almir/eggs/pyramid_jinja2-1.3-py2.7.egg/pyramid_jinja2/__init__.py", line 287, in __call__
    return self.template.render(system)
  File "/usr/share/almir/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/share/almir/almir/templates/job_detail.jinja2", line 1, in top-level template code
    {% extends "templates/base.jinja2" %}
  File "/usr/share/almir/almir/templates/base.jinja2", line 73, in top-level template code
    {% block container %}
  File "/usr/share/almir/almir/templates/base.jinja2", line 84, in block "container"
    {% block content %}
  File "/usr/share/almir/almir/templates/job_detail.jinja2", line 10, in block "content"
    {{ macros.logs_table(request, object.logs, show_jobid=False) }}
  File "/usr/share/almir/almir/templates/macros.jinja2", line 128, in template
    {{ td_link(log.render_logtext(request)) }}
  File "/usr/share/almir/almir/models.py", line 586, in render_logtext
    d['text'] = Markup(nl2br(log))
  File "/usr/share/almir/eggs/MarkupSafe-0.15-py2.7.egg/markupsafe/__init__.py", line 71, in __new__
    return unicode.__new__(cls, base)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 35: ordinal not in range(128)

ACL support

Support multi user access to almir.

We need a system that will allow us following modularity:

  • specific model
  • specific action on model
  • specific collection of resources on model
  • specific bconsole action

This can be solved with users/permissons/roles/groups.

Reports (graphs)

Generate reports based on metadata found from bacula-director. Graph what can be visualized.

Add configurable Last X finished jobs for Dashboard

Almost all of our clients run more than 10 jobs per night. The last five finished jobs on the Dashboard might be better if it was configurable, OR if that was Jobs run in the last 24 hours, or similar.

Also, Baybe place Running Jobs Before Upcoming or finished jobs because that is (IMHO) more important to see and currently with 15 upcoming jobs, Running jobs is below the bottom of the screen and you need to scroll to get to it.

Thanks!

Bill Arlofski

Show a summary of jobs next to statistics page

This is really a nice tools, keep up the good work.

BTW, I guess it would not be too difficult to add a summary on the statistics (front page) containing summary about 7 days or even last month summary on total job for each level and the count of completion status (success, success with warning or even failed) of them. But this could be very useful to administrator so that they know if there is anything urgent waiting for their attention.

For I am sure administrator will be happy with the error columns can be shown in somewhat emphasized style like bold or in different colors. It would also be good to have a top errors for finished jobs and latest 1/few errors for current running jobs so that administrator can gets an heads up on what is going on.

Jobid and Job Name missing in places

Would be good to have Jobid and Jobname while viewing the list of Client jobs on a client page.

Also on the Job Details page Jobid and Job Name are missing

Looks really good so far and is very FAST!

Bill Arlofski

Add internationalization

For what I see the system is not i18n aware. Please provide support of .po files (gettext) and I'll promptly translate it into Italian (let me access the git report and I'll update directly...)

bye

Pools have no information

The Pools on the Pools page are not links and therefore there is no way to quickly see interesting information such as "Label Format", "Max Volume Bytes", "Recycle", "Volume Retention" etc for each pool

Bill Arlofski

Nosetests: ALL_DATABASES=1 support

Currently with travis-ci we run tests for each datatabase. Would be nice to have support to run all tests with single command.

The issue is we need to repopulate metadata with each database. Look into metadata.clear()

Bacula configuration

Main goal of almir is to become complete interface to bacula. The hardest part will be to map web configuration to config files.

Currently our best bet is to use pyparsing.

Quickstart landing page

To provide more information for new users, it might be a good idea to display landing page with elaborate wall of text.

Display issues with jobs of type "admin"

An Admin type job does not have a level (Full, incremental, Differential)

In several locations where Jobs are listed (Dashboard and Jobs list on Jobs page) lots of "=" characters are used for the "Level" column which causes the column to be very wide and the page to be too big to fit on screen.

This causes web browser side-scroller to be displayed, and you need to scroll right to see the Priority, Scheduled, and Volume columns.

This is true on both the on the Jobs page and the Dashboard page - maybe others. Not sure yet.

Fix: Jobs of type Admin should have "None" or "N/A" or "Admin" for the Level

Additionally, Admin Jobs also show Volume of "Incremental" which makes no sense and I believe this, and the many "=" characters are probably just a a parsing issue since there is no actual Level for Admin jobs.

Bill Arlofski

Internal server error

Hi,

I get sometimes the error printed below. This is happening when I click on a client. This only
happens when there are no Jobs for that client.

2012-05-07 13:25:54,252 ERROR [waitress][Dummy-4] Exception when serving /client/26/
Traceback (most recent call last):
File "/srv/www/bacula/eggs/waitress-0.8.1-py2.6.egg/waitress/channel.py", line 329, in service
task.service()
File "/srv/www/bacula/eggs/waitress-0.8.1-py2.6.egg/waitress/task.py", line 173, in service
self.execute()
File "/srv/www/bacula/eggs/waitress-0.8.1-py2.6.egg/waitress/task.py", line 380, in execute
app_iter = self.channel.server.application(env, start_response)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/router.py", line 187, in call
response = self.handle_request(request)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/tweens.py", line 20, in excview_tween
response = handler(request)
File "/srv/www/bacula/eggs/pyramid_tm-0.3-py2.6.egg/pyramid_tm/init.py", line 61, in tm_tween
response = handler(request)
File "/srv/www/bacula/eggs/pyramid_exclog-0.5-py2.6.egg/pyramid_exclog/init.py", line 40, in exclog_tween
return handler(request)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/router.py", line 164, in handle_request
response = view_callable(context, request)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/config/views.py", line 352, in rendered_view
context)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/renderers.py", line 396, in render_view
return self.render_to_response(response, system, request=request)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/renderers.py", line 426, in render_to_response
result = self.render(value, system_values, request=request)
File "/srv/www/bacula/eggs/pyramid-1.3-py2.6.egg/pyramid/renderers.py", line 422, in render
result = renderer(value, system_values)
File "/srv/www/bacula/eggs/pyramid_jinja2-1.3-py2.6.egg/pyramid_jinja2/init.py", line 287, in call
return self.template.render(system)
File "/srv/www/bacula/eggs/Jinja2-2.6-py2.6.egg/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "/srv/www/bacula/almir/templates/client_detail.jinja2", line 1, in top-level template code
{% extends "templates/base.jinja2" %}
File "/srv/www/bacula/almir/templates/base.jinja2", line 73, in top-level template code
{% block container %}
File "/srv/www/bacula/almir/templates/base.jinja2", line 76, in block "container"
{% block sidebar %}
File "/srv/www/bacula/almir/templates/client_detail.jinja2", line 24, in block "sidebar"
{{ macros.link(last_successful_job[0].render_starttime(request)) }}
UndefinedError: 'None' has no attribute 'render_starttime'

Regards,

Matthijs Möhlmann

installation deps

my distribution has "traceback" python module in python-modules package
so perhaps worth to check it's existence in bootstrap?

also, maybe worth to fallback to curl, if wget is not present?

15:49:47 root[load: 0.41]@pld ~/almir# sh -xec "$(wget -O - https://raw.github.com/iElectric/almir/master/install_production.sh)"
--2013-01-27 15:49:49--  https://raw.github.com/iElectric/almir/master/install_production.sh
Resolving raw.github.com (raw.github.com)... 199.27.76.193
Connecting to raw.github.com (raw.github.com)|199.27.76.193|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 819 [text/plain]
Saving to: 'STDOUT'

100%[============================================================================================================>] 819         --.-K/s   in 0s      

2013-01-27 15:49:49 (21.9 MB/s) - written to stdout [819/819]

+ set +xe
+ [ -z /usr/bin/python2.7 ]
+ git clone https://github.com/iElectric/almir.git -b latests .
Cloning into '.'...
remote: Counting objects: 1879, done.
remote: Compressing objects: 100% (782/782), done.
remote: Total 1879 (delta 1317), reused 1644 (delta 1082)
Receiving objects: 100% (1879/1879), 534.47 KiB | 248 KiB/s, done.
Resolving deltas: 100% (1317/1317), done.
+ printf [buildout]\nextends = buildout.d/production.cfg
+ >buildout.cfg 
+ /usr/bin/python2.7 bootstrap.py
Traceback (most recent call last):
  File "/usr/share/python2.7/site.py", line 64, in <module>
ImportError: No module named traceback
15:49:53 root[load: 0.46]@pld ~/almir# 

almir stops working

Almir process stops working. The web browser tells me it can't connect to server... supervisorctl shows almir process is in FATAL state:

serverlinux:/var/www/almir# python bin/supervisorctl
HttpOk RUNNING pid 6073, uptime 27 days, 18:31:10
Memmon RUNNING pid 6074, uptime 27 days, 18:31:10
almir FATAL Exited too quickly (process log may have details)

A restart all solves the problem:
supervisor> restart all
HttpOk: stopped
Memmon: stopped
HttpOk: started
Memmon: started
almir: started

(Too bad github issues doesn't have attachments...)

http://89.119.66.34/almir-log.tgz

Responsive design

To support tablet devices and mobile phones, use twitter.bootstrap responsive design helpers.

Build bacula

We might download and compile bacula while setting up almir environment. Someday.

'NoneType' object has no attribute 'get'

Installing Almir on Ubuntu 12.10 fails after the question of director password:

--> Password of director to connect to:

Connecting director with bconsole to verify configuration ...
Traceback (most recent call last):
  File "almir/scripts/configure_deploy.py", line 197, in <module>
    main()  # PRAGMA: no cover
  File "almir/scripts/configure_deploy.py", line 182, in main
    password=options['director_password']) as bconsole:
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/opt/almir/almir/lib/bconsole.py", line 66, in from_temp_config
    yield cls(config_file=f.name)
  File "/opt/almir/almir/lib/bconsole.py", line 47, in __init__
    self.config_file = registry.settings.get('bconsole_config',
AttributeError: 'NoneType' object has no attribute 'get'

Problem with install_production.sh and buildout

Hello,

I would like install almir on my CentOS6 to manage a bacula server.
When i start install_production.sh, I have an error with an import module with buildout.

When script run bin/buildout, buildout 2.0.1 is used, but in buildout.d/version.cfg you specified version 1.6.3. And when 2.0.1 buildout version is used module is_distribute are not imported and fail compilation.

So I add -v 1.6.3 on bootstrap.py to use the good version.

I think you can juste add this option in install_production.sh at line 9.
$PYTHON_EXEC bootstrap.py -v 1.6.3

Best Regards.

Simon

During install always get: No module named psycopg2

Error itself:

SQL connection string: postgresql://bacula:12345@localhost/bacula
Connecting to catalog database to verify configuration ...
Try again: No module named psycopg2

When I check for this module manually everything is ok

python

import psycopg2

no error here

where to dig?

Internal server error when attempting to view some clients

Clicking on the client's name link for several of our 15 clients returens an internal server error:

Broswer window shows only:

--[snip]--
Internal Server Error

The server encountered an unexpected internal server error

(generated by waitress)
--[snip]--

nginx access log file shows only these two lines when that error is encounters:

192.168.254.4 - - [02/Apr/2012:17:47:20 -0400] "GET /client/13/ HTTP/1.1" 500 110 "http://almir.revpol.com:8000/client/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7"
192.168.254.4 - - [02/Apr/2012:17:47:20 -0400] "GET /favicon.ico HTTP/1.1" 404 1153 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7"

Most other client's pages display just fine

Bill Arlofski

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.