Re: [Freeipa-devel] What is platform services' is_installed() supposed to do?

2012-10-23 Thread Simo Sorce
On Tue, 2012-10-23 at 12:58 +0200, Petr Viktorin wrote:
> On 10/22/2012 08:48 PM, Alexander Bokovoy wrote:
> > On Mon, 22 Oct 2012, Petr Viktorin wrote:
> >> For example, ipapython.platform.systemd.SystemdService.is_installed().
> >> What is it supposed to do?
> >> Is it checking if the package is installed, or if IPΑ's instance of
> >> the service is configured and ready to use?
> >>
> >> There's no documentation and from the implementation it's not clear
> >> either. Since people will hopefully want to port the platform code, it
> >> would be good to document this.
> >>
> >>
> >> Also, I think the current implementation is wrong, but I can't know
> >> for sure.
> > is_installed() supposed to handle system-specific details of software
> > availability. We wanted to avoid embedding package manager-specific
> > knowledge which might not be possible to use during upgrades (to avoid
> > potential lock ups on parallel access to the same database in some
> > package managers).
> >
> > So, for httpd it is correctly reporting that the service is installed.
> >
> 
> Thanks for clearing it up.
> 
> As far as I can see, the install() method counterintuitively assumes 
> that is_installed()==True, and configures the system so that enable() 
> can be called (e.g. install() does `chkconfig --add` and enable() does 
> `chkconfig on`). Is that also correct?

Yes, afaik.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] What is platform services' is_installed() supposed to do?

2012-10-23 Thread Petr Viktorin

On 10/22/2012 08:48 PM, Alexander Bokovoy wrote:

On Mon, 22 Oct 2012, Petr Viktorin wrote:

For example, ipapython.platform.systemd.SystemdService.is_installed().
What is it supposed to do?
Is it checking if the package is installed, or if IPΑ's instance of
the service is configured and ready to use?

There's no documentation and from the implementation it's not clear
either. Since people will hopefully want to port the platform code, it
would be good to document this.


Also, I think the current implementation is wrong, but I can't know
for sure.

is_installed() supposed to handle system-specific details of software
availability. We wanted to avoid embedding package manager-specific
knowledge which might not be possible to use during upgrades (to avoid
potential lock ups on parallel access to the same database in some
package managers).

So, for httpd it is correctly reporting that the service is installed.



Thanks for clearing it up.

As far as I can see, the install() method counterintuitively assumes 
that is_installed()==True, and configures the system so that enable() 
can be called (e.g. install() does `chkconfig --add` and enable() does 
`chkconfig on`). Is that also correct?


--
Petr³

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] What is platform services' is_installed() supposed to do?

2012-10-22 Thread Alexander Bokovoy

On Mon, 22 Oct 2012, Petr Viktorin wrote:
For example, 
ipapython.platform.systemd.SystemdService.is_installed(). What is it 
supposed to do?
Is it checking if the package is installed, or if IPΑ's instance of 
the service is configured and ready to use?


There's no documentation and from the implementation it's not clear 
either. Since people will hopefully want to port the platform code, 
it would be good to document this.



Also, I think the current implementation is wrong, but I can't know 
for sure.

is_installed() supposed to handle system-specific details of software
availability. We wanted to avoid embedding package manager-specific
knowledge which might not be possible to use during upgrades (to avoid
potential lock ups on parallel access to the same database in some
package managers).

So, for httpd it is correctly reporting that the service is installed.

--
/ Alexander Bokovoy

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

[Freeipa-devel] What is platform services' is_installed() supposed to do?

2012-10-22 Thread Petr Viktorin
For example, ipapython.platform.systemd.SystemdService.is_installed(). 
What is it supposed to do?
Is it checking if the package is installed, or if IPΑ's instance of the 
service is configured and ready to use?


There's no documentation and from the implementation it's not clear 
either. Since people will hopefully want to port the platform code, it 
would be good to document this.



Also, I think the current implementation is wrong, but I can't know for 
sure.


--
Petr³

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel