New release 1.3.10, major changes
Hunter Matthews <[email protected]>
| Newsgroups | gmane.network.up2date.current.devel |
|---|---|
| Message-ID | <[email protected]> |
All,
1.3.10 should be available on the ftp site. The version number bump
is due to the fairly major changes in this release.
There isn't any new _functionality_: its the implementation thats
changed. Basically, we are now taking full advantage of all the
performance/scalability gain we should see from using apache and
mod_python.
For everyone thats asked "Can current handle N zillion clients at my
site?", 1.3.10 is the proposed answer.
What changed?
The config file had a couple of changes: instead of one 'db_dir' per
channel, there is now a single 'current_dir' for the whole system. This
was due to the fact that we needed some part of the filesystem for
apache/mod_python to look into for GET requests. The other is the
addition of the 'apache_config_file'. This is not a full replacement
httpd.conf equivalent, but just the few sections that related to
Current.
Basically, you use "cadmin create_apache_config" to create the
correct apache configuration (based on the values you already put in
current.conf), and then that 'apache_config_file' is included by the
main apache config. Here in testing, I've been setting
'apache_config_file' to /etc/httpd/conf/current.httpd.conf, and adding
the single line
Include /etc/httpd/conf/current.httpd.conf
at the end of the /etc/httpd/conf/httpd.conf file that Red Hat ships.
Other than making sure your SSL certificate and key is in the right
place (and making sure your clients RHNS-CA-CERT matches up with them)
there isn't any other apache/mod_python/mod_ssl configuration required -
we worked off the configs that Red Hat shipped, as we figured that was
what most users would want.
Now the big hickup - most people run cadmin as "root". And thats fine.
You simply MUST make sure that the user that apache runs as ('apache',
typically) can have complete read access to the entire 'current_dir' AND
all the rpms that you used to build your channels. As long as I remember
to
chmod -R ugo+rX /local/linux/current
chmod -R ugo+rX /local/linux/redhat
the system runs fine. Or you could leave other alone, and chgrp all
those files to apache. Whatever. As long as apache can read them all,
you're fine.
Since cadmin can create both the apache config file parts and the SSL
certificates that you need, I don't see a reason to keep the old
standalone daemon around any more. If you can see a legitimate need for
the standalone daemon, please email the list now.
Inside that new 'current_dir' the database (in the 'db' subdir) itself
didn't change at all from last time. The headers moved out, and into
the 'www' subdirectory that the mod_python configuration uses to supply
the GET requests from the client.
What does all this nonsense _mean_? It means that the big requests,
where up2date is transfering large files (headers and packages) is now
done completely by apache itself. If apache is fast enough, Current
should now be fast enough. Python still does the authentication step,
but that is very quick.
No more pure python daemons that can only handle one client making one
request at a time. No more having to configure stunnel along with that
python daemon. No more python daemon growing to 150MB ram to transfer a
really big rpm.
The smaller requests, the ones that use the POST mechanism, still work
as they did in the earlier 1.3.x releases: apache uses mod_python to
call handler functions inside Current. Since these code paths no longer
have to do double duty with the GET requests, they're smaller and
simpler as well.
1.3.10 works here in testing. I tried both the gui and text mode
interfaces, solving dependancies, etc.
There code still requires cleaning up (mostly deleting bits we no longer
need). Cadmin update and cadmin checkdb have not been tested - I'll go
through that at the end of the week.
Please, everyone. If you have a big site (over 100 hosts) and you're
using or thinking of using Current, please test 1.3.10.
--
Hunter Matthews Unix / Network Administrator
Office: BioScience 145/244 Duke Univ. Biology Department
Key: F0F88438 / FFB5 34C0 B350 99A4 BB02 9779 A5DB 8B09 F0F8 8438
Never take candy from strangers. Especially on the internet.