aboutsummaryrefslogtreecommitdiff
path: root/master
Commit message (Collapse)AuthorAgeFilesLines
* Explicitely use tuples for except:HEADmasterNirbheek Chauhan2009-02-241-1/+1
| | | | | This behaviour will change in Python 3.0, so we should make sure it's explicit right now.
* Let people edit the current status of master-install manuallyNirbheek Chauhan2009-02-241-1/+1
|
* Minor bugfixes in setup-master.pyNirbheek Chauhan2009-02-241-4/+22
|
* Fix Gentoo Foundation Copyright datesNirbheek Chauhan2009-02-245-5/+5
| | | | * For files edited in 2009 as well
* Minor changes to follow Pythonesque idiomsNirbheek Chauhan2009-02-241-6/+14
| | | | | * try..finally instead of osp.exists() * Explicit relative imports
* Fix setup-master.py to not suck monkey ballsNirbheek Chauhan2009-02-232-81/+128
| | | | | | * Reorganise the little shit. Now you just need to type `make` followed by `make DESTDIR=<somewhere> install`. * It's also much more readable now.
* Fix things broken by previous changes to setup-master.pyNirbheek Chauhan2009-02-211-20/+25
| | | | | | * Paths appended were wrong * Use osp.join instead of +/ - I don't know what I was thinking when I did that
* Fix versioning -- 0.0.1.95Nirbheek Chauhan2009-02-182-6/+8
| | | | | | Also fix Makefile to do dist in dist/ directory (similar to setup.py) Yes, this means there will be a 0.0.2 coming soon :p
* Use `make` for autotua-masterNirbheek Chauhan2009-02-175-28/+81
| | | | | | | | | | | | | | | * The main reason for this build-system is the absence of librsvg on most servers where autotua-master will be built. Hence, `make dist` will generate .pngs for the tarball * You need to specify the versions only in Makefile/setup.py now * Tarball creation support => we can have an ebuild for autotua-master based on the webapp eclass * New build systems -> 96x96 images are now suffixed with "-large" - Fix master/master/templates/frontpage.html for new images * `make dist` ftw! - Update scripts/do-release.sh for changes - Also fix a few bugs - And remove "scp" support (manual > automatic)
* Compatibility with *BSD systemsNirbheek Chauhan2009-01-301-1/+1
| | | | `install` is different on non-GNU
* Use /usr/bin/env python instead of /usr/bin/pythonNirbheek Chauhan2009-01-301-1/+1
|
* Reorganise setup-master.pyNirbheek Chauhan2009-01-184-17/+63
| | | | | | | | | | - Add support for sample slave on the same test machine * With slave gpg home (with .gitignore for it) - Add user and slave groups as well * Need to have proper Permission() stuff (added to TODO) - Reduce default sub key length to 1024 - Enable symlinking by default - Probably should have separate interactive setup (added to TODO)
* models.Job().status *can't* be unique=TrueNirbheek Chauhan2008-10-151-6/+6
| | | | | | That was a brain-fart :p Noticed by Anielkis Herrera González (p0w3r3d)
* [bugfix] Fix faulty detection of const.MASTER_DIRNirbheek Chauhan2008-10-141-8/+16
| | | | | | | | | | Another testing-dependant bug. * Remove the current directory from the import path; we _really_ don't need it. The current directory takes priority for imports over the install dir. This causes ./master/const.py to be imported if ./setup-master.py is done, which results in a faulty detection of MASTER_DIR.
* Make it a bit more obvious that AutotuA is a palindrome :pNirbheek Chauhan2008-10-131-0/+5
|
* Improve merging of autotua settings in DjangoNirbheek Chauhan2008-10-134-13/+32
| | | | | | * Instead of doing a circular import on "autotua_settings", manually do a merge from "master.settings" (and any other django apps in the dir) * Entries beginning with '_' and not all UPPERCASE are ignored.
* Update TODONirbheek Chauhan2008-10-131-2/+2
|
* Basic slave-master stateful encrypted interactionNirbheek Chauhan2008-10-108-26/+87
| | | | | | | | | | | | | | | | | | | | | | | * Slave can "take" jobs from the master now - Asymmetrical encryption is used via GPG - models.Slave stores the gpg fingerprint in models.GPGFingerprintField - Slave imports the master's GPG key (/slave_api/autotua_master.asc) * Currently, Slave registration is manual (./manage.py shell) - Slave does fancy encrypted pickle talking (autotua.talk()) :) * "Take" jobs via autotua.Jobs().takejob(maintainer, job_name) - slave/autotua/crypt/__init__.py: * Implements the glue with `gpg` (maybe pygnupg later?) * Crypto() object. Has encrypt() and decrypt() - Also see autotua.decrypt_if_required() - GNUPGHOME for the slave is /var/tmp/autotua * => Job().fetch() requires root access (userpriv/sandbox later) * Phases store state to allow pausing/stopping and resuming of jobs - Future feature, not really used ATM - Job().everything() has prelim support for "resume" * Various small bug fixes and tweaks - Yes, I know I need to make this stuff more atomic :p
* Extra Whitespace.Nirbheek Chauhan2008-10-081-1/+0
|
* Changes to Django db models (db re-init required)Nirbheek Chauhan2008-10-075-108/+131
| | | | | | | | | | | | | * The model structure is more logical now: - Release.provider (ForeignKey) - Release.archs (ManyToManyField) - Job.release (ForeignKey) - No Job.{arch,provider}; implicit in Job.release - Stage() no longer around; Job.stage = models.CharField instead - Arch() -> unique_together = ['specific', 'generic'] * The db's initialisation and db_defaults.py also reflect this * The Form filtering will now be done on the JS side. How is yet undecided.
* Fix runtime bugs in models.py w.r.t displayingNirbheek Chauhan2008-10-041-3/+3
| | | | * _damn_ I need to have a test suite for the master.
* Update TODONirbheek Chauhan2008-10-041-2/+1
|
* Prettify the webinterfaceNirbheek Chauhan2008-10-049-27/+712
| | | | | * Official AutotuA icon! * Various prettifications; do I really need to list them? :p
* Add dev, at, user groups (dummies)Nirbheek Chauhan2008-10-043-3/+11
|
* Un-suck front page! Login support!Nirbheek Chauhan2008-10-0414-1133/+871
| | | | | | | | | | | | | | | | | | | | | | | * master/icons/Makefile: * master/icons/home.svg: * master/master/templates/basic.html - Replace login.svg with an edited version of logout.svg - Add a new icon (home.svg), and it's logged-out version: none.png - Use logout, login, home icons - Modify header to accomodate login/logout/home icons * master/master/templates/frontpage.html: * master/master/media/css/frontpage.css: - Fix the frontpage to not suck while displaying the "pieces" (the 4 large images) * master/master/templates/registration/login.html: * master/master/urls.py: * master/master/views.py: - Implement login! - Also, implement awesome login/logout image behaviour ;p * Using RequestContext() * none.png/home.png are implemented in the same way
* Add a frontpage for displaying the root webpageNirbheek Chauhan2008-10-025-7/+50
| | | | | | | | - Uses the images added in the previous commit - Link just one of the images for now (jobs), rest will be linked as the pages are created - .gitignore the generated images inside master/media/images Useful when setup-master.py is called with SYMLINKS = True
* Add icons! (and support for rendering+installing)Nirbheek Chauhan2008-10-0210-0/+5609
| | | | | * Taken from the Tango project and the GNOME project. LICENSE is the same as for them
* Use autotua settings by default for const.JOBTAGE (master)Nirbheek Chauhan2008-10-021-1/+3
|
* Errr. Use hard links for README-AUTOTUA.Nirbheek Chauhan2008-09-181-1/+51
|
* Master is licensed under AGPL-3Nirbheek Chauhan2008-09-1814-13/+674
| | | | Fix headers and include COPYING
* Symlink the root README into master/ and slave/Nirbheek Chauhan2008-09-171-0/+1
| | | | Also, add it to MANIFEST.in so that setup.py puts it in the sdist tarball
* git mv master/autotua master/masterNirbheek Chauhan2008-09-1714-2/+2
| | | | | This is to fix a bug where setup-master.py used to take up ./autotua instead of the slave autotua modules.
* Add a README for the masterNirbheek Chauhan2008-09-031-0/+6
|
* Fix jobtage syncing during db init for remote reposNirbheek Chauhan2008-09-032-6/+10
| | | | | If const.JOBTAGE is a remote repository (only possible during testing), clone the jobtage tree first, *then* export
* Setup a sample job while syncing dbNirbheek Chauhan2008-09-027-45/+63
| | | | | | | | | - master/custom/sample_data.py -- data for job intialisation - master/setup-master.py -- Implement sample job initialisation after syncdb - Fix a few bugs in models.py regarding self._get_deplist - Move master/autotua/process/const.py to master/autotua/const.py after removing stuff that's in the DB now
* setup-master.py now does db initializationNirbheek Chauhan2008-09-023-31/+155
| | | | | | | | | | | | - After the previous models.py mega-change, the database needed the info that was in master.process.const initialised before it was usable. - setup-master.py + custom.db_defaults can now do all this - If you do not already have autotua-slave installed as a module, you will have to export the PYTHONPATH variable to allow setup-master.py and manage.py to import autotua - Update TODOs - Fix default to copy in setup-master.py
* Major changes to the master django db modelsNirbheek Chauhan2008-09-014-94/+148
| | | | | | | | | | | | | | - Stages, Archs, Releases, Mirrors (and structure), Providers (distros) are represented by models.Model classes. * This allows them to be updated without a webapp restart * Will allow (in the future) per-user definitions as well * Makes validation, pre-save manipulation, and form input much, *much* easier * Modify process/* accordingly - validation.py is now redundant, kill it - The ARCHS, STAGES etc. definitions are still around; they will be moved to setup-master.py for an initial database initialization - Add a basic (untested) ModelForm form JobForm - Add a stub Slave(models.Model) class
* Model validation was removed for django 1.0Nirbheek Chauhan2008-08-312-9/+6
| | | | | http://code.djangoproject.com/ticket/6845 http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#RemovedvalidatemethodsforModelandModelfieldclasses
* Master integration with Slave (dep resolution)Nirbheek Chauhan2008-08-303-6/+38
| | | | | | | * process._get_deplist: Calls the autotua build slave, and does dep resolution without a chroot as an unprivileged user. * TMPDIR for work is /tmp/master (insecure) * JOBTAGE is the (probably local) git repository (current URI is placeholder)
* Update TODOs.Nirbheek Chauhan2008-08-301-1/+0
|
* Update TODONirbheek Chauhan2008-08-171-2/+3
|
* Add TODO (summary below):Nirbheek Chauhan2008-08-161-0/+13
| | | | | | * Implement input+validation via the webinterface * Jobtage tree/Jobuild integration * Job status tracking and management
* Link the master and the slave in a simplistic (for now) way:Nirbheek Chauhan2008-08-163-12/+46
| | | | | | | | | * stage url processing is shifted to the master now * Communication is via protocol 2 (binary) pickles * slave API can be accessed via /slave_api/jobs /slave_api/jobs/<username> /slave_api/jobs/<username>/<job_name>
* - Add ~username/jobs/ pageNirbheek Chauhan2008-08-167-23/+60
| | | | | | | - Random fixes to make things work - Fix typos - Change some indentation - content.html -> userpage.html
* Initial autotua-master import.Nirbheek Chauhan2008-08-1516-0/+371
Run setup-master.py to setup the django webapp