Revision ed8c7696

b/astakosclient/MANIFEST.in
1 1
include distribute_setup.py
2
include README
/dev/null
1
astakos-client
2
==============
3

  
4
Python client for the Astakos, the Identity Management Service of
5
synnefo(http://www.synnefo.org)
6

  
7
Feedback
8
========
9

  
10
For any comments or suggestions for improvement, please contact
11
the synnefo development team <synnefo-devel@googlegroups.com>
b/astakosclient/setup.py
49 49

  
50 50
# Package info
51 51
VERSION = __version__
52
README = open(os.path.join(HERE, 'README')).read()
53 52
SHORT_DESCRIPTION = 'A set of tools to ease versioning and use of git flow.'
54 53

  
55 54
PACKAGES_ROOT = '.'
......
163 162
    license='BSD',
164 163
    url='http://www.synnefo.org/',
165 164
    description=SHORT_DESCRIPTION,
166
    long_description=README,
167 165
    classifiers=CLASSIFIERS,
168 166

  
169 167
    author='Synnefo development team',
b/docs/older/README.astakos-app
1
README
2
======
3

  
4
Astakos is an identity management service, built by GRNET using Django (https://www.djangoproject.com/).
5
Learn more about Astakos at: http://code.grnet.gr/projects/astakos
6

  
7
Consult COPYRIGHT for licensing information.
8

  
9
About Astakos application
10
-------------------------
11

  
12
This package contains the Django application that implements all identity management functions.
13

  
14
How to run
15
----------
16

  
17
Use snf-webproject to run Astakos automatically.
18

  
19
To use Astakos in a custom Django project, add ``astakos.im`` to ``INSTALLED_APPS``. Astakos requires South (http://south.aeracode.org/).
20

  
21
Also, add the following to your ``settings.py``::
22

  
23
    TEMPLATE_CONTEXT_PROCESSORS = (
24
        ...
25
        'astakos.im.context_processors.cloudbar',
26
        'astakos.im.context_processors.im_modules',
27
        'astakos.im.context_processors.next',
28
        'astakos.im.context_processors.code',
29
        'astakos.im.context_processors.invitations')
30
    
31
    AUTHENTICATION_BACKENDS = ('astakos.im.auth_backends.EmailBackend',
32
                               'astakos.im.auth_backends.TokenBackend')
33
    
34
    CUSTOM_USER_MODEL = 'astakos.im.AstakosUser'
35
    
36
    LOGIN_URL = '/im'
37

  
38
Settings
39
--------
40

  
41
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
42

  
43
=========================================== =============================================================================   ===========================================================================================
44
Name                                        Default value                                                                   Description
45
=========================================== =============================================================================   ===========================================================================================
46
ASTAKOS_AUTH_TOKEN_DURATION                 one month                                                                       Expiration time of newly created auth tokens
47
ASTAKOS_DEFAULT_USER_LEVEL                  4                                                                               Default (not-invited) user level
48
ASTAKOS_INVITATIONS_PER_LEVEL               {0:100, 1:2, 2:0, 3:0, 4:0}                                                     Number of user invitations per user level
49
ASTAKOS_DEFAULT_FROM_EMAIL                  GRNET Cloud <no-reply\@grnet.gr>                                                ``from`` parameter passed in ``django.core.mail.send_mail``
50
ASTAKOS_DEFAULT_CONTACT_EMAIL               support\@cloud.grnet.gr                                                         Contact email
51
SERVER_EMAIL                                None
52
ADMINS                                      None
53
ASTAKOS_IM_MODULES                          ['local']                                                                       Signup modules
54
ASTAKOS_FORCE_PROFILE_UPDATE                True                                                                            Force user profile verification
55
ASTAKOS_INVITATIONS_ENABLED                 True                                                                            Enable invitations
56
ASTAKOS_COOKIE_NAME                         _pithos2_a                                                                      ``Key`` parameter passed in ``django.http.HttpResponse.set_cookie``
57
ASTAKOS_COOKIE_DOMAIN                       None                                                                            ``Domain`` parameter passed in ``django.http.HttpResponse.set_cookie``
58
ASTAKOS_COOKIE_SECURE                       True                                                                            ``Secure`` parameter passed in ``django.http.HttpResponse.set_cookie``
59
ASTAKOS_IM_STATIC_URL                       /static/im/                                                                     URL to use when referring to static files
60
ASTAKOS_MODERATION_ENABLED                  True                                                                            If False and invitations are not enabled newly created user will be automatically accepted
61
ASTAKOS_BASEURL                             \http://pithos.dev.grnet.gr                                                     Astakos baseurl
62
ASTAKOS_SITENAME                            GRNET Cloud                                                                     Service name that appears in emails
63
ASTAKOS_RECAPTCHA_PUBLIC_KEY                                                                                                Recaptcha public key obtained after registration here: http://recaptcha.net
64
ASTAKOS_RECAPTCHA_PRIVATE_KEY                                                                                               Recaptcha private key obtained after registration here: http://recaptcha.net
65
ASTAKOS_RECAPTCHA_OPTIONS                   {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'}                 Options for customizing reCAPTCHA look and feel
66
ASTAKOS_RECAPTCHA_USE_SSL                   True
67
ASTAKOS_RECAPTCHA_ENABLED                   False                                                                           Enable recaptcha
68
                                                                                                                            (see: http://code.google.com/intl/el-GR/apis/recaptcha/docs/customization.html)
69
ASTAKOS_BILLING_FIELDS                      ['is_active']                                                                   AstakosUser fields to propagate in the billing system
70
ASTAKOS_QUEUE_CONNECTION                                                                                                    The queue connection ex. 'rabbitmq://guest:guest@localhost:5672/astakos'
71
ASTAKOS_LOGOUT_NEXT                                                                                                         Where the user should be redirected after logout
72
                                                                                                                            (if not set and no next parameter is defined it renders login page with message)
73
                                                                                                                            (if it is not set, it does not send messages)
74
ASTAKOS_RE_USER_EMAIL_PATTERNS              []                                                                              Email patterns that are automatically activated ex. ['^[a-zA-Z0-9\._-]+@grnet\.gr$']
75

  
76
ASTAKOS_LOGIN_MESSAGES                      []                                                                              Notification messages to display on login page header
77
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
78
ASTAKOS_SIGNUP_MESSAGES                     []                                                                              Notification messages to display on signup page header
79
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
80
ASTAKOS_PROFILE_MESSAGES                    []                                                                              Notification messages to display on profile page header
81
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
82
ASTAKOS_GLOBAL_MESSAGES                     []                                                                              Notification messages to display on every page header
83
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
84
ASTAKOS_PROFILE_EXTRA_LINKS                 {}                                                                              Messages to display as extra actions in account forms
85
                                                                                                                            e.g. {'https://cms.okeanos.grnet.gr/': 'Back to ~okeanos'}
86
ASTAKOS_RATELIMIT_RETRIES_ALLOWED           3                                                                               Number of unsuccessful login requests per minute allowed for a specific account.
87
                                                                                                                            When this number exceeds and ASTAKOS_RECAPTCHA_ENABLED is set the user has to solve a
88
                                                                                                                            captcha challenge.
89
ASTAKOS_EMAILCHANGE_ENABLED                 False                                                                           Enable email change mechanism
90
ASTAKOS_EMAILCHANGE_ACTIVATION_DAYS         10                                                                              Number of days that email change requests remain active
91
ASTAKOS_LOGGING_LEVEL                       INFO                                                                            Message logging severity
92
ASTAKOS_INVITATION_EMAIL_SUBJECT            'Invitation to %s alpha2 testing' % SITENAME                                    Invitation email subject
93
ASTAKOS_GREETING_EMAIL_SUBJECT              'Welcome to %s alpha2 testing' % SITENAME                                       Welcome email subject
94
ASTAKOS_FEEDBACK_EMAIL_SUBJECT              'Feedback from %s alpha2 testing' % SITENAME                                    Feedback email subject
95
ASTAKOS_VERIFICATION_EMAIL_SUBJECT          '%s alpha2 testing account activation is needed' % SITENAME                     Account activation email subject
96
ASTAKOS_ACCOUNT_CREATION_SUBJECT            '%s alpha2 testing account created (%%(user)s)' % SITENAME                      Account creation email subject
97
ASTAKOS_GROUP_CREATION_SUBJECT              '%s alpha2 testing group created (%%(group)s)' % SITENAME                       Group creation email subject
98
ASTAKOS_HELPDESK_NOTIFICATION_EMAIL_SUBJECT '%s alpha2 testing account activated (%%(user)s)' % SITENAME                    Account activation helpdesk notification email subject
99
ASTAKOS_EMAIL_CHANGE_EMAIL_SUBJECT          'Email change on %s alpha2 testing' % SITENAME                                  Email change subject               
100
ASTAKOS_PASSWORD_RESET_EMAIL_SUBJECT        'Password reset on %s alpha2 testing' % SITENAME                                Password change email subject
101
ASTAKOS_PROJECT_CREATION_SUBJECT            '%s alpha2 testing project application created (%%(name)s)' % SITENAME          Project application creation subject
102
ASTAKOS_PROJECT_APPROVED_SUBJECT            '%s alpha2 testing project application approved (%%(name)s)' % SITENAME         Project application approval subject
103
ASTAKOS_PROJECT_TERMINATION_SUBJECT         '%s alpha2 testing project terminated (%%(name)s)' % SITENAME                   Project termination subject
104
ASTAKOS_PROJECT_SUSPENSION_SUBJECT          '%s alpha2 testing project suspended (%%(name)s)' % SITENAME                    Project suspension subject
105
ASTAKOS_PROJECT_MEMBERSHIP_CHANGE_SUBJECT   '%s alpha2 testing project membership changed (%%(name)s)' % SITENAME           Project membership change subject
106

  
107
ASTAKOS_QUOTAHOLDER_URL                     ''                                                                              The quotaholder URI
108
                                                                                                                            e.g. ``http://localhost:8080/api/quotaholder/v``
109
ASTAKOS_QUOTAHOLDER_TOKEN                   ''                                                                              The secret token for accessing the quotaholder URI
110

  
111
ASTAKOS_SERVICES                            {'cyclades': {'resources': [{'desc': 'Number of virtual machines',              Default cloud service information
112
                                            'group': 'compute',
113
                                            'name': 'vm',
114
                                            'uplimit': 2},
115
                                            {'desc': 'Virtual machine disk size',
116
                                            'group': 'compute',
117
                                            'name': 'diskspace',
118
                                            'unit': 'GB',
119
                                            'uplimit': 5},
120
                                            {'desc': 'Number of virtual machine processors',
121
                                            'group': 'compute',
122
                                            'name': 'cpu',
123
                                            'uplimit': 1},
124
                                            {'desc': 'Virtual machines',
125
                                            'group': 'compute',
126
                                            'name': 'ram',
127
                                            'unit': 'MB',
128
                                            'uplimit': 1024}],
129
                                            'url': 'https://node1.example.com/ui/'},
130
                                            'pithos+': {'resources': [{'desc': 'Pithos account diskspace',
131
                                            'group': 'storage',
132
                                            'name': 'diskspace',
133
                                            'unit': 'bytes',
134
                                            'uplimit': 5368709120}],
135
                                            'url': 'https://node2.example.com/ui/'}}
136
ASTAKOS_PAGINATE_BY                         8                                                                               Number of object to be displayed per page
137
ASTAKOS_PAGINATE_BY_ALL                     15                                                                              Number of object to be displayed per pagein show all projects page
138

  
139
ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN          True                                                                            Enforce token renewal on password change/reset. If set to False, user can optionally decide
140
                                                                                                                            whether to renew the token or not.
141
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permit local account migration to third party account
142
ASTAKOS_RESOURCES_PRESENTATION_DATA         {}                                                                              Customizes resource presentation
143
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permits local account migration
144
ASTAKOS_SHIBBOLETH_REQUIRE_NAME_INFO        False                                                                           Strict shibboleth usage
145
ASTAKOS_ACTIVATION_REDIRECT_URL             "/im/landing"
146
ASTAKOS_TRANSLATE_UUIDS                     False                                                                           If true, this enables a ui compatibility layer for the introduction of UUIDs in identity management.
147
                                                                                                                            WARNING: Setting to True will break your installation.
148
ASTAKOS_PROJECT_ADMINS                      set()                                                                           Users to approve/deny project applications
149
ASTAKOS_TWITTER_TOKEN                       ''                                                                              Oauth2 twitter token
150
ASTAKOS_TWITTER_SECRET                      ''                                                                              Oauth2 twitter secret
151
ASTAKOS_TWITTER_AUTH_FORCE_LOGIN            Fals
152
ASTAKOS_GOOGLE_CLIENT_ID                    ''                                                                              Oauth2 google client id
153
ASTAKOS_GOOGLE_SECRET                       ''                                                                              Oauth2 google secret
154
ASTAKOS_LINKEDIN_TOKEN                      ''                                                                              Oauth2 LinkedIn token
155
ASTAKOS_LINKEDIN_SECRET                     ''                                                                              Oauth2 LinkedIn secret
156
=========================================== =============================================================================   ===========================================================================================
157

  
158
Administrator functions
159
-----------------------
160

  
161
Available as extensions to Django's command-line management utility:
162

  
163
============================  ===========================
164
Name                          Description
165
============================  ===========================
166
fix-superusers                Transform superusers created by syncdb into AstakosUser instances
167
full-cleanup                  Cleanup sessions and session catalog
168
invitation-list               List invitation
169
invitation-show               Show invitation details
170
project-control               Manage projects and applications
171
project-list                  List projects
172
project-show                  Show project details
173
quota                         List and check the integrity of user quota
174
reconcile-resources-astakos   Reconcile resource usage of Quotaholder with Astakos DB
175
resource-add                  Add resource
176
resource-export-astakos       Export astakos resources in json format
177
resource-import               Import resources
178
resource-list                 List resources
179
resource-modify               Modify resources
180
resource-remove               Remove resource
181
service-add                   Add service
182
service-list                  List services
183
service-modify                Modify service
184
service-remove                Remove service
185
term-add                      Add approval terms
186
user-activation-send          Send user activation
187
user-add                      Add user
188
user-auth-policy-add          Create a new authentication provider policy profile
189
user-auth-policy-list         List existing authentication provider policy profiles
190
user-auth-policy-remove       Remove an authentication provider policy
191
user-auth-policy-set          Assign an existing authentication provider policy profile to a user or group
192
user-auth-policy-show         Show authentication provider profile details
193
user-group-add                Create a group with the given name
194
user-group-list               List available groups
195
user-invite                   Invite somebody
196
user-list                     List users
197
user-modify                   Modify user
198
user-show                     Show user details
199
============================  ===========================
b/docs/older/README.pithos-app
1
README
2
======
3

  
4
Pithos is a file storage service, built by GRNET using Django (https://www.djangoproject.com/).
5
Learn more about Pithos at: http://code.grnet.gr/projects/pithos
6

  
7
Consult COPYRIGHT for licensing information.
8

  
9
About Pithos application
10
------------------------
11

  
12
This package contains the Django application that implements the Pithos v2 API. It depends on the Pithos backend, which does the actual data and metadata operations.
13

  
14
How to run
15
----------
16

  
17
Use snf-webproject to run Pithos automatically.
18

  
19
To use Pithos in a custom Django project, just add ``pithos.api`` to ``INSTALLED_APPS``.
20

  
21
Pithos has been tested with SQLite and PostgreSQL backend databases. When using PostgreSQL, ensure that the has been created with the appropriate encoding and collation::
22

  
23
    CREATE DATABASE pithos WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
24

  
25
Settings
26
--------
27

  
28
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
29

  
30
===============================  ================================================================   ============================================================
31
Name                             Default value                                                      Description
32
===============================  ================================================================   ============================================================
33
ASTAKOS_URL                      \https://<astakos.host>/                                           Astakos Authentication URL
34
PITHOS_ASTAKOSCLIENT_POOLSIZE    200                                                                The size of the http pool for the astakos client
35
PITHOS_ASTAKOS_COOKIE_NAME       _pithos2_a                                                         Cookie name to retrieve fallback token
36
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
37
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                                   SQLAlchemy database connection string
38
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfile
39
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                                  Map and block storage path
40
PITHOS_BACKEND_BLOCK_UMASK       0o022                                                              Map and block storage umask
41
PITHOS_BACKEND_QUEUE_MODULE      None                                                               Use ``pithos.backends.lib.rabbitmq`` to enable
42
PITHOS_BACKEND_QUEUE_HOSTS       None                                                               Format like [``amqp://guest:guest@localhost:5672``
43
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
44
PITHOS_BACKEND_ACCOUNT_QUOTA     50 GB (50 * 1024 ** 3)                                             Default account quota (set to 0 to disable control)
45
PITHOS_BACKEND_CONTAINER_QUOTA   0                                                                  Default container quota (set to 0 to disable control - default disabled)
46
PITHOS_BACKEND_VERSIONING        auto                                                               Default versioning policy for containers
47
PITHOS_BACKEND_FREE_VERSIONING   True                                                               Default versioning debit policy (default free)
48
PITHOS_BACKEND_POOL_SIZE         5                                                                  Default backend pool size
49
PITHOS_UPDATE_MD5                False                                                               Update object checksums
50
PITHOS_SERVICE_TOKEN             ''                                                                 Service token acquired by the identity provider (astakos)
51
PITHOS_RADOS_STORAGE             False                                                              Enables or disables secondary Pithos storage on RADOS
52
PITHOS_RADOS_POOL_BLOCKS         None                                                               RADOS pool to be used for block storage
53
PITHOS_RADOS_POOL_MAPS           None                                                               RADOS pool to be used for maps storage
54
PITHOS_TRANSLATE_UUIDS           False                                                              Enables a ui compatibility layer for the introduction of UUIDs in identity management.
55
PITHOS_PROXY_USER_SERVICES       True                                                               Whether to proxy user feedback and catalog services
56
PITHOS_PUBLIC_URL_SECURITY       16                                                                 How many random bytes to use for constructing the URL of Pithos public files
57
PITHOS_PUBLIC_URL_ALPHABET       '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'   The alphabet to use for constructing the URL of Pithos public files
58
===============================  ================================================================   ============================================================
59

  
60
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
61

  
62
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
63

  
64
To send sharing notifications::
65

  
66
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
67

  
68
Administrator functions
69
-----------------------
70

  
71
Available as extensions to Django's command-line management utility:
72

  
73
============  ======================
74
Name          Description
75
============  ======================
76
storagequota  Get/set a user's quota
77
============  ======================
78

  
79

  
b/docs/older/README.tools
1
README
2
=======
3

  
4
snf-burnin is an integration testing tool for a running Synnefo deployment.
5
It runs test scenarios from the following categories:
6

  
7
- Authentication
8
- Images
9
- Flavors
10
- Servers
11
- Networking
12

  
13
======
14
Usage
15
======
16

  
17
Example:
18
--------
19
snf-burnin --api=API_URL --token=TOKEN \
20
    --image-id=IMAGE-ID --log-folder=LOG_FOLDER
21

  
22

  
23
For more options:
24
------------------
25
snf-burnin --help
26

  
27
==========
28
Log files
29
==========
30

  
31
In each run, snf-burnin stores log files in the folder defined in the
32
--log-folder parameter (default is /var/log/burnin) under the folder
33
with the timestamp of the snf-burnin-run and the image used for it.
34
The name prefixes of the log files are:
35

  
36
- details: Showing the complete log of snf-burnin run.
37
- error: Showing the testcases that encountered a runtime error.
38
- failed: Showing the testcases that encountered a failure.
39

  
40

  
41
Example scripts
42
-----------------
43
Under /snf-tools/conf/ you can find example scripts for automating
44
snf-burnin testing using cron.
45

  
46
- **snf-burnin-run.sh** runs snf-burnin with the given parameters, deletes
47
stale instances (servers, networks) from old runs and delete logs older than
48
a week. It aborts if snf-burnin runs for longer than expected.
49

  
50
  - **Usage**: ./snf-burnin-run.sh TOKEN IMAGE-ID LOG_FOLDER
51

  
52
- **snf-burnin-output.sh** checks for failed snf-burnin tests the last 30
53
minutes in a given log folder. Exit status is 0 if no failures where
54
encountered, else exit status is 1.
55

  
56
  - **Usage**: ./snf-burnin-output.sh LOG_FOLDER
b/docs/older/README.webproject
1
Synnefo web project
2
===================
3

  
4
A synnefo helper package to ease up the deployment of synnefo components.
5

  
6
The package wraps a django project which extends itself (urls, default_settings, 
7
installed_apps, middleware_classes) based on the synnefo components/packages 
8
installed on the system.
9

  
10
The extending mechanism is based on the python setuptools `entry_points`. So
11
if an application (synnefo component) wants to plug additional configuration
12
to the django project it should define within its setup.py file the 'synnefo'
13
appropriate entry_points.
14

  
15
For usage example please take a look how snf-cyclades-app package defines its entry
16
points in:
17

  
18
    - snf-cyclades-app/setup.py
19
    - snf-cyclades-app/app_settings/__init__.py
20

  
b/snf-astakos-app/MANIFEST.in
1
include README
2 1
include distribute_setup.py
3 2
global-include */templates/* */static/*
4 3
global-exclude */.DS_Store
/dev/null
1
README
2
======
3

  
4
Astakos is an identity management service, built by GRNET using Django (https://www.djangoproject.com/).
5
Learn more about Astakos at: http://code.grnet.gr/projects/astakos
6

  
7
Consult COPYRIGHT for licensing information.
8

  
9
About Astakos application
10
-------------------------
11

  
12
This package contains the Django application that implements all identity management functions.
13

  
14
How to run
15
----------
16

  
17
Use snf-webproject to run Astakos automatically.
18

  
19
To use Astakos in a custom Django project, add ``astakos.im`` to ``INSTALLED_APPS``. Astakos requires South (http://south.aeracode.org/).
20

  
21
Also, add the following to your ``settings.py``::
22

  
23
    TEMPLATE_CONTEXT_PROCESSORS = (
24
        ...
25
        'astakos.im.context_processors.cloudbar',
26
        'astakos.im.context_processors.im_modules',
27
        'astakos.im.context_processors.next',
28
        'astakos.im.context_processors.code',
29
        'astakos.im.context_processors.invitations')
30
    
31
    AUTHENTICATION_BACKENDS = ('astakos.im.auth_backends.EmailBackend',
32
                               'astakos.im.auth_backends.TokenBackend')
33
    
34
    CUSTOM_USER_MODEL = 'astakos.im.AstakosUser'
35
    
36
    LOGIN_URL = '/im'
37

  
38
Settings
39
--------
40

  
41
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
42

  
43
=========================================== =============================================================================   ===========================================================================================
44
Name                                        Default value                                                                   Description
45
=========================================== =============================================================================   ===========================================================================================
46
ASTAKOS_AUTH_TOKEN_DURATION                 one month                                                                       Expiration time of newly created auth tokens
47
ASTAKOS_DEFAULT_USER_LEVEL                  4                                                                               Default (not-invited) user level
48
ASTAKOS_INVITATIONS_PER_LEVEL               {0:100, 1:2, 2:0, 3:0, 4:0}                                                     Number of user invitations per user level
49
ASTAKOS_DEFAULT_FROM_EMAIL                  GRNET Cloud <no-reply\@grnet.gr>                                                ``from`` parameter passed in ``django.core.mail.send_mail``
50
ASTAKOS_DEFAULT_CONTACT_EMAIL               support\@cloud.grnet.gr                                                         Contact email
51
SERVER_EMAIL                                None
52
ADMINS                                      None
53
ASTAKOS_IM_MODULES                          ['local']                                                                       Signup modules
54
ASTAKOS_FORCE_PROFILE_UPDATE                True                                                                            Force user profile verification
55
ASTAKOS_INVITATIONS_ENABLED                 True                                                                            Enable invitations
56
ASTAKOS_COOKIE_NAME                         _pithos2_a                                                                      ``Key`` parameter passed in ``django.http.HttpResponse.set_cookie``
57
ASTAKOS_COOKIE_DOMAIN                       None                                                                            ``Domain`` parameter passed in ``django.http.HttpResponse.set_cookie``
58
ASTAKOS_COOKIE_SECURE                       True                                                                            ``Secure`` parameter passed in ``django.http.HttpResponse.set_cookie``
59
ASTAKOS_IM_STATIC_URL                       /static/im/                                                                     URL to use when referring to static files
60
ASTAKOS_MODERATION_ENABLED                  True                                                                            If False and invitations are not enabled newly created user will be automatically accepted
61
ASTAKOS_BASEURL                             \http://pithos.dev.grnet.gr                                                     Astakos baseurl
62
ASTAKOS_SITENAME                            GRNET Cloud                                                                     Service name that appears in emails
63
ASTAKOS_RECAPTCHA_PUBLIC_KEY                                                                                                Recaptcha public key obtained after registration here: http://recaptcha.net
64
ASTAKOS_RECAPTCHA_PRIVATE_KEY                                                                                               Recaptcha private key obtained after registration here: http://recaptcha.net
65
ASTAKOS_RECAPTCHA_OPTIONS                   {'theme': 'custom', 'custom_theme_widget': 'okeanos_recaptcha'}                 Options for customizing reCAPTCHA look and feel
66
ASTAKOS_RECAPTCHA_USE_SSL                   True
67
ASTAKOS_RECAPTCHA_ENABLED                   False                                                                           Enable recaptcha
68
                                                                                                                            (see: http://code.google.com/intl/el-GR/apis/recaptcha/docs/customization.html)
69
ASTAKOS_BILLING_FIELDS                      ['is_active']                                                                   AstakosUser fields to propagate in the billing system
70
ASTAKOS_QUEUE_CONNECTION                                                                                                    The queue connection ex. 'rabbitmq://guest:guest@localhost:5672/astakos'
71
ASTAKOS_LOGOUT_NEXT                                                                                                         Where the user should be redirected after logout
72
                                                                                                                            (if not set and no next parameter is defined it renders login page with message)
73
                                                                                                                            (if it is not set, it does not send messages)
74
ASTAKOS_RE_USER_EMAIL_PATTERNS              []                                                                              Email patterns that are automatically activated ex. ['^[a-zA-Z0-9\._-]+@grnet\.gr$']
75

  
76
ASTAKOS_LOGIN_MESSAGES                      []                                                                              Notification messages to display on login page header
77
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
78
ASTAKOS_SIGNUP_MESSAGES                     []                                                                              Notification messages to display on signup page header
79
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
80
ASTAKOS_PROFILE_MESSAGES                    []                                                                              Notification messages to display on profile page header
81
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
82
ASTAKOS_GLOBAL_MESSAGES                     []                                                                              Notification messages to display on every page header
83
                                                                                                                            e.g. {'warning': 'Warning message (can contain html)'}
84
ASTAKOS_PROFILE_EXTRA_LINKS                 {}                                                                              Messages to display as extra actions in account forms
85
                                                                                                                            e.g. {'https://cms.okeanos.grnet.gr/': 'Back to ~okeanos'}
86
ASTAKOS_RATELIMIT_RETRIES_ALLOWED           3                                                                               Number of unsuccessful login requests per minute allowed for a specific account.
87
                                                                                                                            When this number exceeds and ASTAKOS_RECAPTCHA_ENABLED is set the user has to solve a
88
                                                                                                                            captcha challenge.
89
ASTAKOS_EMAILCHANGE_ENABLED                 False                                                                           Enable email change mechanism
90
ASTAKOS_EMAILCHANGE_ACTIVATION_DAYS         10                                                                              Number of days that email change requests remain active
91
ASTAKOS_LOGGING_LEVEL                       INFO                                                                            Message logging severity
92
ASTAKOS_INVITATION_EMAIL_SUBJECT            'Invitation to %s alpha2 testing' % SITENAME                                    Invitation email subject
93
ASTAKOS_GREETING_EMAIL_SUBJECT              'Welcome to %s alpha2 testing' % SITENAME                                       Welcome email subject
94
ASTAKOS_FEEDBACK_EMAIL_SUBJECT              'Feedback from %s alpha2 testing' % SITENAME                                    Feedback email subject
95
ASTAKOS_VERIFICATION_EMAIL_SUBJECT          '%s alpha2 testing account activation is needed' % SITENAME                     Account activation email subject
96
ASTAKOS_ACCOUNT_CREATION_SUBJECT            '%s alpha2 testing account created (%%(user)s)' % SITENAME                      Account creation email subject
97
ASTAKOS_GROUP_CREATION_SUBJECT              '%s alpha2 testing group created (%%(group)s)' % SITENAME                       Group creation email subject
98
ASTAKOS_HELPDESK_NOTIFICATION_EMAIL_SUBJECT '%s alpha2 testing account activated (%%(user)s)' % SITENAME                    Account activation helpdesk notification email subject
99
ASTAKOS_EMAIL_CHANGE_EMAIL_SUBJECT          'Email change on %s alpha2 testing' % SITENAME                                  Email change subject               
100
ASTAKOS_PASSWORD_RESET_EMAIL_SUBJECT        'Password reset on %s alpha2 testing' % SITENAME                                Password change email subject
101
ASTAKOS_PROJECT_CREATION_SUBJECT            '%s alpha2 testing project application created (%%(name)s)' % SITENAME          Project application creation subject
102
ASTAKOS_PROJECT_APPROVED_SUBJECT            '%s alpha2 testing project application approved (%%(name)s)' % SITENAME         Project application approval subject
103
ASTAKOS_PROJECT_TERMINATION_SUBJECT         '%s alpha2 testing project terminated (%%(name)s)' % SITENAME                   Project termination subject
104
ASTAKOS_PROJECT_SUSPENSION_SUBJECT          '%s alpha2 testing project suspended (%%(name)s)' % SITENAME                    Project suspension subject
105
ASTAKOS_PROJECT_MEMBERSHIP_CHANGE_SUBJECT   '%s alpha2 testing project membership changed (%%(name)s)' % SITENAME           Project membership change subject
106

  
107
ASTAKOS_QUOTAHOLDER_URL                     ''                                                                              The quotaholder URI
108
                                                                                                                            e.g. ``http://localhost:8080/api/quotaholder/v``
109
ASTAKOS_QUOTAHOLDER_TOKEN                   ''                                                                              The secret token for accessing the quotaholder URI
110

  
111
ASTAKOS_SERVICES                            {'cyclades': {'resources': [{'desc': 'Number of virtual machines',              Default cloud service information
112
                                            'group': 'compute',
113
                                            'name': 'vm',
114
                                            'uplimit': 2},
115
                                            {'desc': 'Virtual machine disk size',
116
                                            'group': 'compute',
117
                                            'name': 'diskspace',
118
                                            'unit': 'GB',
119
                                            'uplimit': 5},
120
                                            {'desc': 'Number of virtual machine processors',
121
                                            'group': 'compute',
122
                                            'name': 'cpu',
123
                                            'uplimit': 1},
124
                                            {'desc': 'Virtual machines',
125
                                            'group': 'compute',
126
                                            'name': 'ram',
127
                                            'unit': 'MB',
128
                                            'uplimit': 1024}],
129
                                            'url': 'https://node1.example.com/ui/'},
130
                                            'pithos+': {'resources': [{'desc': 'Pithos account diskspace',
131
                                            'group': 'storage',
132
                                            'name': 'diskspace',
133
                                            'unit': 'bytes',
134
                                            'uplimit': 5368709120}],
135
                                            'url': 'https://node2.example.com/ui/'}}
136
ASTAKOS_PAGINATE_BY                         8                                                                               Number of object to be displayed per page
137
ASTAKOS_PAGINATE_BY_ALL                     15                                                                              Number of object to be displayed per pagein show all projects page
138

  
139
ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN          True                                                                            Enforce token renewal on password change/reset. If set to False, user can optionally decide
140
                                                                                                                            whether to renew the token or not.
141
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permit local account migration to third party account
142
ASTAKOS_RESOURCES_PRESENTATION_DATA         {}                                                                              Customizes resource presentation
143
ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION      True                                                                            Permits local account migration
144
ASTAKOS_SHIBBOLETH_REQUIRE_NAME_INFO        False                                                                           Strict shibboleth usage
145
ASTAKOS_ACTIVATION_REDIRECT_URL             "/im/landing"
146
ASTAKOS_TRANSLATE_UUIDS                     False                                                                           If true, this enables a ui compatibility layer for the introduction of UUIDs in identity management.
147
                                                                                                                            WARNING: Setting to True will break your installation.
148
ASTAKOS_PROJECT_ADMINS                      set()                                                                           Users to approve/deny project applications
149
ASTAKOS_TWITTER_TOKEN                       ''                                                                              Oauth2 twitter token
150
ASTAKOS_TWITTER_SECRET                      ''                                                                              Oauth2 twitter secret
151
ASTAKOS_TWITTER_AUTH_FORCE_LOGIN            Fals
152
ASTAKOS_GOOGLE_CLIENT_ID                    ''                                                                              Oauth2 google client id
153
ASTAKOS_GOOGLE_SECRET                       ''                                                                              Oauth2 google secret
154
ASTAKOS_LINKEDIN_TOKEN                      ''                                                                              Oauth2 LinkedIn token
155
ASTAKOS_LINKEDIN_SECRET                     ''                                                                              Oauth2 LinkedIn secret
156
=========================================== =============================================================================   ===========================================================================================
157

  
158
Administrator functions
159
-----------------------
160

  
161
Available as extensions to Django's command-line management utility:
162

  
163
============================  ===========================
164
Name                          Description
165
============================  ===========================
166
fix-superusers                Transform superusers created by syncdb into AstakosUser instances
167
full-cleanup                  Cleanup sessions and session catalog
168
invitation-list               List invitation
169
invitation-show               Show invitation details
170
project-control               Manage projects and applications
171
project-list                  List projects
172
project-show                  Show project details
173
quota                         List and check the integrity of user quota
174
reconcile-resources-astakos   Reconcile resource usage of Quotaholder with Astakos DB
175
resource-add                  Add resource
176
resource-export-astakos       Export astakos resources in json format
177
resource-import               Import resources
178
resource-list                 List resources
179
resource-modify               Modify resources
180
resource-remove               Remove resource
181
service-add                   Add service
182
service-list                  List services
183
service-modify                Modify service
184
service-remove                Remove service
185
term-add                      Add approval terms
186
user-activation-send          Send user activation
187
user-add                      Add user
188
user-auth-policy-add          Create a new authentication provider policy profile
189
user-auth-policy-list         List existing authentication provider policy profiles
190
user-auth-policy-remove       Remove an authentication provider policy
191
user-auth-policy-set          Assign an existing authentication provider policy profile to a user or group
192
user-auth-policy-show         Show authentication provider profile details
193
user-group-add                Create a group with the given name
194
user-group-list               List available groups
195
user-invite                   Invite somebody
196
user-list                     List users
197
user-modify                   Modify user
198
user-show                     Show user details
199
============================  ===========================
b/snf-astakos-app/setup.py
49 49

  
50 50
# Package info
51 51
VERSION = __version__
52
README = open(os.path.join(HERE, 'README')).read()
53 52
SHORT_DESCRIPTION = 'Synnefo Identity Management component'
54 53

  
55 54
PACKAGES_ROOT = '.'
......
184 183
    license='BSD',
185 184
    url='http://www.synnefo.org/',
186 185
    description=SHORT_DESCRIPTION,
187
    long_description=README,
188 186
    classifiers=CLASSIFIERS,
189 187

  
190 188
    author='Synnefo development team',
b/snf-branding/MANIFEST.in
1
include README
2 1
include distribute_setup.py
3 2
recursive-include synnefo_branding/static *
/dev/null
1
README
2
=======
3

  
4
synnefo_branding app
b/snf-branding/setup.py
47 47

  
48 48
# Package info
49 49
VERSION = __version__
50
README = open(os.path.join(HERE, 'README')).read()
51 50
SHORT_DESCRIPTION = 'Synnefo stats grapher'
52 51

  
53 52
PACKAGES_ROOT = '.'
......
155 154
    license='BSD',
156 155
    url='http://www.synnefo.org/',
157 156
    description=SHORT_DESCRIPTION,
158
    long_description=README,
159 157
    classifiers=CLASSIFIERS,
160 158

  
161 159
    author='Synnefo development team',
b/snf-common/MANIFEST.in
1
include README
2 1
include distribute_setup.py
/dev/null
1
README
2
=======
3
snf-common provides a base layer of all synnefo related software.
4

  
b/snf-common/setup.py
45 45

  
46 46
# Package info
47 47
VERSION = __version__
48
README = open(os.path.join(HERE, 'README')).read()
49 48
SHORT_DESCRIPTION = 'Common infrastructure for all Synnefo components'
50 49

  
51 50
PACKAGES_ROOT = '.'
......
71 70
    license='BSD',
72 71
    url='http://www.synnefo.org/',
73 72
    description=SHORT_DESCRIPTION,
74
    long_description=README,
75 73
    classifiers=CLASSIFIERS,
76 74

  
77 75
    author='Synnefo development team',
b/snf-cyclades-app/MANIFEST.in
3 3
recursive-include synnefo/ui/static *
4 4
recursive-include docs/ *.rst
5 5

  
6
include README
7 6
include distribute_setup.py
/dev/null
1
README
2
=======
3

  
4
This is the top-level documentation file for the
5
Synnefo cloud management software.
6

  
7
Consult:
8
  * docs/src/develop.rst: for information on how to setup a development environment
9
  * docs/src/install.rst: for information on how to install the application
10
  * docs/src/deploy.rst:  for information on how to deploy the application
11
  * docs/src/ci.rst:      for information on how to setup a Jenkins-based
12
                          continuous integration system
13
  * docs/src/i18n.rst:    for information on application internationalization
14

  
15

  
16
Synnefo may be distributed under the terms of the following license:
17

  
18
Copyright 2011 GRNET S.A. All rights reserved.
19

  
20
Redistribution and use in source and binary forms, with or
21
without modification, are permitted provided that the following
22
conditions are met:
23

  
24
  1. Redistributions of source code must retain the above
25
     copyright notice, this list of conditions and the following
26
     disclaimer.
27

  
28
  2. Redistributions in binary form must reproduce the above
29
     copyright notice, this list of conditions and the following
30
     disclaimer in the documentation and/or other materials
31
     provided with the distribution.
32

  
33
THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
34
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
35
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
36
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
37
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
39
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
40
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
41
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
42
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
43
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44
POSSIBILITY OF SUCH DAMAGE.
45

  
46
The views and conclusions contained in the software and
47
documentation are those of the authors and should not be
48
interpreted as representing official policies, either expressed
49
or implied, of GRNET S.A.
b/snf-cyclades-app/setup.py
47 47

  
48 48
# Package info
49 49
VERSION = __version__
50
README = open(os.path.join(HERE, 'README')).read()
51 50
SHORT_DESCRIPTION = 'Synnefo Compute, Network and Image component'
52 51

  
53 52
PACKAGES_ROOT = '.'
......
188 187
    license = 'BSD',
189 188
    url = 'http://www.synnefo.org/',
190 189
    description = SHORT_DESCRIPTION,
191
    long_description=README,
192 190
    classifiers = CLASSIFIERS,
193 191

  
194 192
    author='Synnefo development team',
b/snf-django-lib/MANIFEST.in
1
include README
2 1
include distribute_setup.py
b/snf-django-lib/setup.py
48 48

  
49 49
# Package info
50 50
VERSION = __version__
51
README = open(os.path.join(HERE, 'README')).read()
52 51
SHORT_DESCRIPTION = 'Common Synnefo library for Django'
53 52

  
54 53
PACKAGES_ROOT = '.'
......
162 161
    license='BSD',
163 162
    url='http://www.synnefo.org/',
164 163
    description=SHORT_DESCRIPTION,
165
    long_description=README,
166 164
    classifiers=CLASSIFIERS,
167 165

  
168 166
    author='Synnefo development team',
b/snf-pithos-app/MANIFEST.in
1 1
recursive-include pithos *.json *.html *.json *.xml *.txt
2 2
recursive-include pithos/ui/static *
3 3

  
4
include README
5 4
include distribute_setup.py
/dev/null
1
README
2
======
3

  
4
Pithos is a file storage service, built by GRNET using Django (https://www.djangoproject.com/).
5
Learn more about Pithos at: http://code.grnet.gr/projects/pithos
6

  
7
Consult COPYRIGHT for licensing information.
8

  
9
About Pithos application
10
------------------------
11

  
12
This package contains the Django application that implements the Pithos v2 API. It depends on the Pithos backend, which does the actual data and metadata operations.
13

  
14
How to run
15
----------
16

  
17
Use snf-webproject to run Pithos automatically.
18

  
19
To use Pithos in a custom Django project, just add ``pithos.api`` to ``INSTALLED_APPS``.
20

  
21
Pithos has been tested with SQLite and PostgreSQL backend databases. When using PostgreSQL, ensure that the has been created with the appropriate encoding and collation::
22

  
23
    CREATE DATABASE pithos WITH ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;
24

  
25
Settings
26
--------
27

  
28
Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
29

  
30
===============================  ================================================================   ============================================================
31
Name                             Default value                                                      Description
32
===============================  ================================================================   ============================================================
33
ASTAKOS_URL                      \https://<astakos.host>/                                           Astakos Authentication URL
34
PITHOS_ASTAKOSCLIENT_POOLSIZE    200                                                                The size of the http pool for the astakos client
35
PITHOS_ASTAKOS_COOKIE_NAME       _pithos2_a                                                         Cookie name to retrieve fallback token
36
PITHOS_BACKEND_DB_MODULE         pithos.backends.lib.sqlalchemy
37
PITHOS_BACKEND_DB_CONNECTION     sqlite:////tmp/pithos-backend.db                                   SQLAlchemy database connection string
38
PITHOS_BACKEND_BLOCK_MODULE      pithos.backends.lib.hashfile
39
PITHOS_BACKEND_BLOCK_PATH        /tmp/pithos-data/                                                  Map and block storage path
40
PITHOS_BACKEND_BLOCK_UMASK       0o022                                                              Map and block storage umask
41
PITHOS_BACKEND_QUEUE_MODULE      None                                                               Use ``pithos.backends.lib.rabbitmq`` to enable
42
PITHOS_BACKEND_QUEUE_HOSTS       None                                                               Format like [``amqp://guest:guest@localhost:5672``
43
PITHOS_BACKEND_QUEUE_EXCHANGE    pithos
44
PITHOS_BACKEND_ACCOUNT_QUOTA     50 GB (50 * 1024 ** 3)                                             Default account quota (set to 0 to disable control)
45
PITHOS_BACKEND_CONTAINER_QUOTA   0                                                                  Default container quota (set to 0 to disable control - default disabled)
46
PITHOS_BACKEND_VERSIONING        auto                                                               Default versioning policy for containers
47
PITHOS_BACKEND_FREE_VERSIONING   True                                                               Default versioning debit policy (default free)
48
PITHOS_BACKEND_POOL_SIZE         5                                                                  Default backend pool size
49
PITHOS_UPDATE_MD5                False                                                               Update object checksums
50
PITHOS_SERVICE_TOKEN             ''                                                                 Service token acquired by the identity provider (astakos)
51
PITHOS_RADOS_STORAGE             False                                                              Enables or disables secondary Pithos storage on RADOS
52
PITHOS_RADOS_POOL_BLOCKS         None                                                               RADOS pool to be used for block storage
53
PITHOS_RADOS_POOL_MAPS           None                                                               RADOS pool to be used for maps storage
54
PITHOS_TRANSLATE_UUIDS           False                                                              Enables a ui compatibility layer for the introduction of UUIDs in identity management.
55
PITHOS_PROXY_USER_SERVICES       True                                                               Whether to proxy user feedback and catalog services
56
PITHOS_PUBLIC_URL_SECURITY       16                                                                 How many random bytes to use for constructing the URL of Pithos public files
57
PITHOS_PUBLIC_URL_ALPHABET       '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'   The alphabet to use for constructing the URL of Pithos public files
58
===============================  ================================================================   ============================================================
59

  
60
To update checksums asynchronously, enable the queue, install snf-pithos-tools and use ``pithos-dispatcher``::
61

  
62
    pithos-dispatcher --exchange=pithos --key=pithos.object --callback=pithos.api.dispatch.update_md5
63

  
64
To send sharing notifications::
65

  
66
    pithos-dispatcher --exchange=pithos --key=pithos.sharing --callback=pithos.api.dispatch.send_sharing_notification
67

  
68
Administrator functions
69
-----------------------
70

  
71
Available as extensions to Django's command-line management utility:
72

  
73
============  ======================
74
Name          Description
75
============  ======================
76
storagequota  Get/set a user's quota
77
============  ======================
78

  
79

  
b/snf-pithos-app/setup.py
47 47

  
48 48
# Package info
49 49
VERSION = __version__
50
README = open(os.path.join(HERE, 'README')).read()
51 50
SHORT_DESCRIPTION = 'Synnefo File/Object Storage component'
52 51

  
53 52
PACKAGES_ROOT = '.'
......
172 171
    license='BSD',
173 172
    url='http://www.synnefo.org/',
174 173
    description=SHORT_DESCRIPTION,
175
    long_description=README,
176 174
    classifiers=CLASSIFIERS,
177 175

  
178 176
    author='Synnefo development team',
b/snf-pithos-backend/MANIFEST.in
1 1
recursive-include pithos *.json *.html *.json *.xml *.txt
2 2
recursive-include pithos/backends/lib/sqlalchemy/alembic *
3 3

  
4
include README
5 4
include distribute_setup.py
/dev/null
1
README
2
======
3

  
4
Pithos is a file storage service, built by GRNET using Django (https://www.djangoproject.com/).
5
Learn more about Pithos at: http://code.grnet.gr/projects/pithos
6

  
7
Consult COPYRIGHT for licensing information.
8

  
9
About Pithos backend
10
--------------------
11

  
12
The backend is the library that handles the actual data storage and metadata management for Pithos. It is required by the Pithos application and can be used by any python script in need of direct access to Pithos storage services.
b/snf-pithos-backend/setup.py
47 47

  
48 48
# Package info
49 49
VERSION = __version__
50
README = open(os.path.join(HERE, 'README')).read()
51 50
SHORT_DESCRIPTION = 'Backend library for the File/Object Storage component'
52 51

  
53 52
PACKAGES_ROOT = '.'
......
170 169
    license='BSD',
171 170
    url='http://www.synnefo.org/',
172 171
    description=SHORT_DESCRIPTION,
173
    long_description=README,
174 172
    classifiers=CLASSIFIERS,
175 173

  
176 174
    author='Synnefo development team',
b/snf-stats-app/MANIFEST.in
1
include README
2 1
include distribute_setup.py
/dev/null
1
README
2
=======
3

  
4
snf-stats-app
b/snf-stats-app/setup.py
45 45

  
46 46
# Package info
47 47
VERSION = __version__
48
README = open(os.path.join(HERE, 'README')).read()
49 48
SHORT_DESCRIPTION = 'Synnefo graphic statistics component'
50 49

  
51 50
PACKAGES_ROOT = '.'
......
67 66
    license='BSD',
68 67
    url='http://www.synnefo.org/',
69 68
    description=SHORT_DESCRIPTION,
70
    long_description=README,
71 69
    classifiers=CLASSIFIERS,
72 70

  
73 71
    author='Synnefo development team',
b/snf-tools/MANIFEST.in
1
include README
2 1
include distribute_setup.py
/dev/null
1
README
2
=======
3

  
4
snf-burnin is an integration testing tool for a running Synnefo deployment.
5
It runs test scenarios from the following categories:
6

  
7
- Authentication
8
- Images
9
- Flavors
10
- Servers
11
- Networking
12

  
13
======
14
Usage
15
======
16

  
17
Example:
18
--------
19
snf-burnin --api=API_URL --token=TOKEN \
20
    --image-id=IMAGE-ID --log-folder=LOG_FOLDER
21

  
22

  
23
For more options:
24
------------------
25
snf-burnin --help
26

  
27
==========
28
Log files
29
==========
30

  
31
In each run, snf-burnin stores log files in the folder defined in the
32
--log-folder parameter (default is /var/log/burnin) under the folder
33
with the timestamp of the snf-burnin-run and the image used for it.
34
The name prefixes of the log files are:
35

  
36
- details: Showing the complete log of snf-burnin run.
37
- error: Showing the testcases that encountered a runtime error.
38
- failed: Showing the testcases that encountered a failure.
39

  
40

  
41
Example scripts
42
-----------------
43
Under /snf-tools/conf/ you can find example scripts for automating
44
snf-burnin testing using cron.
45

  
46
- **snf-burnin-run.sh** runs snf-burnin with the given parameters, deletes
47
stale instances (servers, networks) from old runs and delete logs older than
48
a week. It aborts if snf-burnin runs for longer than expected.
49

  
50
  - **Usage**: ./snf-burnin-run.sh TOKEN IMAGE-ID LOG_FOLDER
51

  
52
- **snf-burnin-output.sh** checks for failed snf-burnin tests the last 30
53
minutes in a given log folder. Exit status is 0 if no failures where
54
encountered, else exit status is 1.
55

  
56
  - **Usage**: ./snf-burnin-output.sh LOG_FOLDER
b/snf-tools/setup.py
47 47

  
48 48
# Package info
49 49
VERSION = __version__
50
README = open(os.path.join(HERE, 'README')).read()
51 50
SHORT_DESCRIPTION = 'Integration testing tool for a running Synnefo deployment'
52 51

  
53 52
PACKAGES_ROOT = '.'
......
71 70
    license='BSD',
72 71
    url='http://www.synnefo.org/',
73 72
    description=SHORT_DESCRIPTION,
74
    long_description=README,
75 73
    classifiers=CLASSIFIERS,
76 74

  
77 75
    author='Synnefo development team',
b/snf-webproject/MANIFEST.in
4 4
recursive-include docs/ *.rst
5 5
recursive-include extras/ *
6 6

  
7
include README
8 7
include distribute_setup.py
/dev/null
1
Synnefo web project
2
===================
3

  
4
A synnefo helper package to ease up the deployment of synnefo components.
5

  
6
The package wraps a django project which extends itself (urls, default_settings, 
7
installed_apps, middleware_classes) based on the synnefo components/packages 
8
installed on the system.
9

  
10
The extending mechanism is based on the python setuptools `entry_points`. So
11
if an application (synnefo component) wants to plug additional configuration
12
to the django project it should define within its setup.py file the 'synnefo'
13
appropriate entry_points.
14

  
15
For usage example please take a look how snf-cyclades-app package defines its entry
16
points in:
17

  
18
    - snf-cyclades-app/setup.py
19
    - snf-cyclades-app/app_settings/__init__.py
20

  
b/snf-webproject/setup.py
48 48

  
49 49
# Package info
50 50
VERSION = __version__
51
README = open(os.path.join(HERE, 'README')).read()
52 51
SHORT_DESCRIPTION = "Synnefo common infrastructure for Django"
53 52

  
54 53
PACKAGES_ROOT = "."
......
167 166
    license='BSD',
168 167
    url='http://www.synnefo.org/',
169 168
    description=SHORT_DESCRIPTION,
170
    long_description=README,
171 169
    classifiers=CLASSIFIERS,
172 170

  
173 171
    author='Synnefo development team',

Also available in: Unified diff