Commit 0b714986 authored by Alex Pyrgiotis's avatar Alex Pyrgiotis

Update docs, Changelog and News for Admin

parent b4d4b74c
......@@ -6,7 +6,7 @@ Unified Changelog file for Synnefo versions >= 0.13
Since v0.13 most of the Synnefo components have been merged into a single
repository and have aligned versions.
v0.15next
v0.16
=========
Released: UNRELEASED
......@@ -216,6 +216,17 @@ Pithos
specifically requested or an invalid value is passed, the disposition type
is set to 'inline'.
Admin
-----
* Introduce Administrator Dashboard, which provides the following:
* Graphic access to the details of various Synnefo entities (users, VMs,
Projects).
* Intuitive filtering.
* Multiple actions and notifications.
* Charts and statistics generation.
.. _Changelog-0.15.2:
v0.15.2
......
......@@ -5,6 +5,18 @@ Unified NEWS file for Synnefo versions >= 0.13
Since v0.13 all Synnefo components have been merged into a single repository.
.. _NEWS-0.16:
v0.16
=======
Released: UNRELEASED
The most notables changes are:
* Addition of an Administrator Dashboard (Admin) to manage and view various
Synnefo entities.
.. _NEWS-0.15.2:
v0.15.2
......
......@@ -1651,6 +1651,120 @@ these messages and properly updates the state of the Cyclades DB. Subsequent
requests to the Cyclades API, will retrieve the updated state from the DB.
Admin Dashboard (Admin)
=======================
Introduction
------------
Admin is the Synnefo component that provides to trusted users the ability to
manage and view various different Synnefo entities such as users, VMs, projects
etc. Additionally, it automatically generates charts and statistics using data
from the Astakos/Cyclades stats.
Access and permissions
----------------------
The Admin dashboard can be accessed by default from the `/admin/` URL. Since
there is no login form, the user must login on Astakos first and then visit the
above URL. Access will be granted only to users that belong to a predefined
list of Astakos groups. By default, there are three group categories that
are mapped 1-to-1 to Astakos groups:
* ADMIN_READONLY_GROUP: 'admin-readonly'
* ADMIN_HELPDESK_GROUP: 'helpdesk'
* ADMIN_GROUP: 'admin'
The group categories can be changed using the `ADMIN_PERMITTED_GROUPS` setting.
In order to change the Astakos group that a category corresponds to, the
administrator can specify the group that he/she wants in the
`ADMIN_READONLY_GROUP`, `ADMIN_HELPDESK_GROUP` or `ADMIN_GROUP` settings.
Note that while any user that belongs to the `ADMIN_PERMITTED_GROUPS` has the
same access to the administrator dashboard, the actions that are allowed for a
group may differ. That's because Admin implements a Role-Based Access Control
(RBAC) policy, which can be changed from the `ADMIN_RBAC` setting.
Seting up Admin
---------------
Admin is bundled by default with a list of sane settings. The most important
one, `ADMIN_ENABLED`, is set to `True` and defines whether Admin will be used
or not. Therefore, the administrator only needs to create the necessary Astakos
groups and add trusted users in them. The following example will create an
admin group and will add a user in it:
.. code-block:: console
snf-manage group-add admin
snf-manage user-modify --add-group=admin <user_id>
That's all that is required for a single-node setup. For a multi-node setup,
please consult the following section:
Multi-node Setup
~~~~~~~~~~~~~~~~
Admin by design does not use the Astakos/Cyclades API for any action. Instead,
it requires direct access to the Astakos/Cyclades database as well as the
settings of their nodes. As a result, when installing Admin in a node, the
Astakos and Cyclades packages will also be installed.
In order to disable the Astakos/Cyclades API in the Admin node, the
administrator can add the following line in `99-local.conf`:
.. code-block:: console
ROOT_URLCONF="synnefo_admin.admin.urls"
As a result, Admin will be accessible by this URL: `<Admin_Node_URL>/`. If the
administrator wishes to use the default URL (`<Admin_Node_URL>/admin/`), then
the following line must be added instead.
.. code-block:: console
ROOT_URLCONF="synnefo_admin.urls"
Furthermore, if Astakos and Cyclades have separate databases, then they must be
defined in the `DATABASES` setting of `10-snf-webproject-database.conf`. An
example setup is the following:
.. code-block:: console
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'snf_apps_cyclades',
'HOST': <Cyclades host>,
<...snip..>
}, 'cyclades': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'snf_apps_cyclades',
'HOST': <Cyclades host>,
<...snip..>
}, 'astakos': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'snf_apps_astakos',
'HOST': <Cyclades host>,
<...snip..>
}
}
DATABASE_ROUTERS = ['synnefo_admin.admin.routers.AdminRouter']
You may notice that there are three databases instead of two. That's because
Django requires that every `DATABASES` setting has a *default* database. In our
case, we suggest that you use as default the Cyclades database. Finally, you
must not forget to add the `DATABASE_ROUTERS` setting in the above example that
must always be used in multi-db setups.
Disabling Admin
---------------
The easiest way to disable the Admin Dashboard is to set the `ADMIN_ENABLED`
setting to False.
List of all Synnefo components
==============================
......@@ -1664,6 +1778,7 @@ They are also available from our apt repository: ``apt.dev.grnet.gr``
* `snf-pithos-webclient <http://www.synnefo.org/docs/pithos-webclient/latest/index.html>`_
* `snf-cyclades-app <http://www.synnefo.org/docs/snf-cyclades-app/latest/index.html>`_
* `snf-cyclades-gtools <http://www.synnefo.org/docs/snf-cyclades-gtools/latest/index.html>`_
* `snf-admin-app <http://www.synnefo.org/docs/snf-admin-app/latest/index.html>`_
* `astakosclient <http://www.synnefo.org/docs/astakosclient/latest/index.html>`_
* `snf-vncauthproxy <https://github.com/grnet/snf-vncauthproxy>`_
* `snf-image <http://www.synnefo.org/docs/snf-image/latest/index.html/>`_
......
......@@ -2538,3 +2538,43 @@ SSH or RDP (for windows machines).
Congratulations. You have successfully installed the whole Synnefo stack and
connected all components.
Installation of Admin on node1
==============================
This section describes the installation of Admin. Admin is a Synnefo component
that provides to trusted users the ability to manage and view various different
Synnefo entities such as users, VMs, projects etc.
We will install Admin on node1. To do so, we install the corresponding
package by running on node1 the following command:
.. code-block:: console
# apt-get install snf-admin-app
Once the package is installed, we are done. We can proceed with testing Admin.
Testing of Admin
================
In order to test the Admin Dashboard, we need a user that belongs to the
`admin` group. We will use the user that was created in `Testing of Astakos`_
section:
.. code-block:: console
root@node1:~ # snf-manage group-add admin
root@node1:~ # snf-manage user-modify 1 --add-group=admin
Then, you need to login to the Astakos node by visiting the following URL:
``http://node1.example.com/astakos``
Once you login successfully, you can access the Admin Dashboard from this URL:
``http://node1.example.com/admin/``
This should redirect you to the **Users** table, where there should be an entry
with this user.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment