Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad Entry: ubuntu-centralized-services-administrator
Packages affected: none
Release Target: Ubuntu 10.04
Name: ucsa (Ubuntu Centralized Service Administrator)
Create a tool for centralized server administration, maintenance and configuration. This tool should provide an easy, but powerful user interface based on curses and have support for dynamic module inclusion to add support for new services or packages.
Ubuntu has the goal to be 'Linux for human beings', on the desktop the goal has been reached, but on the server side there is no easy and unique way to administrate, configure or maintain the services. Also the current recommended tools are web based (e.g. eBox), which involves running a web server and can be a security issue, or are GUI based, which are not adapted for the servers environments. Also the current tools are very limited and most of them make some non standard configurations files, which make difficult for sysadmins to tune their services.
Alice has a small business and wants to add some network services but she has no idea how to configure them. Alice can use the ucsa UI to help her do the job.
Bob installs a file server for his small business, he want to use a common configuration with some tunning at the end. Bob can use ucsa to do the base configuration and then edit the config files by hand to do the tuning.
The tool will allow users to manage configurations and to administrate the services. However, to fully integrate with the system, packages (services?) should provide meta-data regarding information about configuration files and managment of the services for easily maintaince of the tool. The tool will still be useful during the transition when packages are not providing this information.
The tool will have backends for every service and, if present, will use metadata from the services provided by the package. The metadata could be defined by the packager (or maintainer) or upstream. These backends will be used by the interface, which will be developed as modules so they can be called by the Frame application for centralized management, also those interfaces could be used separete from the tool, but won't present a curses (or graphical) interface.
The interfaces, or formularies, will be defined in XML files and interpreted by the frame to present them to the user, this xml should be generated using the metadata in the module.
BoF agenda and discussion
Meeting Notes 2008/05/??
JonathanJesse: All backends must provide for reporting, especially a centralized reporting system. A system admin needs to be able find the status across all devices (servers, workstations, mobile, etc). Also the admin will need to be able to answer the question: "How many of devices have X?" where X can be memory, program or other. I like that you are talking about XML already as it is great for storing data and transmitting that data. I feel that a web server does providhttps://answers.launchpad.net/pyocscliente the graphical interface needed to present the data and make configuration changes. See http://www.spiceworks.com for a free implementation of a process that provides inventory/network discovery/software deployment. For paid for services see http://www.altiris.com, http://landesk.com, http://kace.com. Note: I am a consultant on the Altiris product set and need to be careful this doesn't copy Altiris to closely if I am going to be involved in it.
NealMcBurnett: note related discussions on the server team list about "Centrilized managment console", "More discussion: GUI, blogs, and pizza", "Bug 2 review pls", etc. at https://lists.ubuntu.com/archives/ubuntu-server/2008-June/thread.html
Note related projects like
[http://config-model.wiki.sourceforge.net/ Config::Model] A Perl framework to provide common UI (Perl/TK and Curses) for editing configuration files. Also available on [http://search.cpan.org/~ddumont/ CPAN]
Brian J. Murrell's insights from 2003: http://firstname.lastname@example.org/msg107191.html
MartinKaufmann: It would be a good Idea to integrate an Hardware/Software-Inventory. Since 8.04 OCS NG (see http://www.ocsinventory-ng.org/). With the Inventory the Admin have a good overview over the Clients and Servers in the local net. Björn Sundberg started a new Project, a OCS-Client written in Python (see: https://answers.launchpad.net/pyocsclient)