server upgrade: fix upgrade in CA-less

Use /etc/httpd/alias instead of /var/lib/ipa/radb in upload_cacrt, as
/var/lib/ipa/radb is not populated in CA-less.

Do not migrate ipaCert from /etc/httpd/alias to /var/lib/ipa/radb in
CA-less, as it might be an incorrect certificate from previous CA-ful
install, and is not necessary anyway.

https://fedorahosted.org/freeipa/ticket/5959

Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
This commit is contained in:
Jan Cholasta 2017-02-16 11:09:04 +01:00
parent b4fa354f50
commit ba8a10fbdb
2 changed files with 6 additions and 1 deletions

View File

@ -22,6 +22,10 @@ class update_ra_cert_store(Updater):
""" """
def execute(self, **options): def execute(self, **options):
ca_enabled = self.api.Command.ca_is_enabled()['result']
if not ca_enabled:
return False, []
olddb = certdb.NSSDatabase(nssdir=paths.HTTPD_ALIAS_DIR) olddb = certdb.NSSDatabase(nssdir=paths.HTTPD_ALIAS_DIR)
if not olddb.has_nickname('ipaCert'): if not olddb.has_nickname('ipaCert'):
# Nothign to do # Nothign to do

View File

@ -18,6 +18,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from ipalib.install import certstore from ipalib.install import certstore
from ipaplatform.paths import paths
from ipaserver.install import certs from ipaserver.install import certs
from ipalib import Registry, errors from ipalib import Registry, errors
from ipalib import Updater from ipalib import Updater
@ -34,7 +35,7 @@ class update_upload_cacrt(Updater):
""" """
def execute(self, **options): def execute(self, **options):
db = certs.CertDB(self.api.env.realm) db = certs.CertDB(self.api.env.realm, paths.HTTPD_ALIAS_DIR)
ca_cert = None ca_cert = None
ca_enabled = self.api.Command.ca_is_enabled()['result'] ca_enabled = self.api.Command.ca_is_enabled()['result']