4 ms·
It's never appropriate for, e.g., a PostgreSQL package to create a postgres account and configure a postgres service running as that account -- this is not how
by Annatar 9y ago
It's never appropriate for, e.g., a PostgreSQL package to create a postgres account and configure a postgres service running as that account -- this is not how I want to run postgres,
That is exactly how I want and do configuration management!
The main PostgreSQL package brings on the software and the SMF method. It depends on the postgres-user package which creates the technical user account and group. That's exactly what I want, because I plug that into JumpStart and I can churn out database servers all day long!
The postgres-application-db configuration overlay package depends on the postgres-user and postgres packages, starts the database via SMF, and then runs CREATE DATABASE in the postinstall. That's exactly what I want! It works a treat for Oracle databases, it works for anything. I can churn ready to run database servers all day long. I love it. That's exactly how it should work, infrastructure with no human interaction whatsoever: plug in the cable, scan the chassis serial barcode and call it a day.
Sun had many problems, but IPS was the final nail in the coffin, as a customer, and as a professional whose bread depended on that ecosystem, and who is now forced to work with substandard, shoddy Linux, I feel I have a much better insight and far more right to decide what has been done wrong at Sun Microsystems. That's for us as customers to say, not for anyone else. And ultimately customers voted with their wallets. I know I sure did, I ran Solaris 10 on generic intel 19" rack servers (and I still do) because it is a far better value for the money.
Overpriced hardware and unwillingness to listen to people like me, who were your core customers was like turbo acceleration of the company's demise. And if you lose your core customers, you lost your business. You lost the purpose of your business' existence. Proof is in the pudding, Sun is no more, and as usual, I'm right about the wrong thing.
If I'm paying you, you don't argue, you do as I say, or you have no business. Now there is no business and competition rules supreme. It's a terrible business decision to argue with one's customers, because they are the ones who decide what they will give you money for. IPS is not a thing I would ever give Sun or any other company which uses it money for. IRIX's inst(1M), I'd give tons of money in a heartbeat if I knew how; but IPS - never!
IPS is the single reason why I don't run operating systems which sport it, like OmniOS.
- cryptonector 9y agoAny such configuration should be done separately. I could stand it being done in a pkg I would never install and which can only be depended on by other pkgs of this type (i.e., which configure but don't include artifacts except by depending on the pkgs that provide them). It is beyond awful that what should be an unattended operation (install, upgrade an OS) isn't. It's completely unacceptable, and utterly intolerable. Yes, I'm aware of "answer" files. That was SVR4's compromise: you'd put all interaction into one kind of script that can be run separately from the actual pkg installation and which produces "answers", and then you can furnish those answers at actual pkg installation time. But in practice most developers were not really aware of all of this. The cognitive load of SVR4 packaging was too high. Interaction and package scripting really complicates packaging. Please stop.
- Annatar 9y agoNone of my packages have ever been interactive, and they never needed any answer(4) files. I agree with you that packages should never be interactive, because at that point, automation is lost and one of the core capabilities of packaging defeated. Such things are usually done by inexperienced personnel who view packaging as a burden rather than as a strategic advantage and an extremely capable automation mechanism. I am none of those people.
- cryptonector 9y agoWithout interaction, what should the DATABASE be named???
- Annatar 9y agoThat’s a per-application package, and the name is defined in the pkginfo(4) file. And contrary to your claim about SVR4 packaging being too cognitively difficult to grasp, it is the simplest of all packaging subsystems to learn. IPS is far worse and the tooling to make an IPS package is truly lacking, especially when it comes to documentation, and then especially when it comes to configuration management with packages.
- cryptonector 9y agoWhy the bleeep should a package create a database, and name it something it wants, for me?! No! This is NOT OK.
- Annatar 9y agoBecause no changes to the system should be made in any other way than through operating system packages; that is what they are for. This minimizes dependencies and simplifies interfaces (two commands, pkgadd(1M) and pkgrm(1M) do everything). The database engineering department decides database names and creates the appropriate packages; that is no longer the decision of the system or database administrators to make. It is no longer their job and hasn’t been for at least a decade and a half.
- cryptonector 9y agoIf you don't need interaction, why do you care if the install scripts run some time later via SMF or what have you? Is there there a desire for the pkg installation command to be synchronous? Certainly it could be made to be, when running on the running OS that is being modified, and I wouldn't object. But I do object to running pkg scripts from the pkg program itself, for all the reasons given earlier.
- Annatar 9y agoIf you don't need interaction, why do you care if the install scripts run some time later via SMF or what have you? Because implementing and debugging the asynchronous execution of postinstall scripts is extremely difficult, and preinstall / preremove / postremove nigh impossible. IPS was an extremely bad idea by people who have never done large scale configuration management with OS packaging.