diff options
author | Endi S. Dewata <edewata@redhat.com> | 2014-02-10 13:46:10 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2014-02-27 13:48:07 -0500 |
commit | 819fd31d34b3159e895f15bfad41bf483adca79e (patch) | |
tree | be301599ff49da7d1ca951bc78a7f54fd1045c5a /base/server/upgrade/10.1.99 | |
parent | e924e834c4388e9f563bae23dc61344f1405962c (diff) | |
download | pki-819fd31d34b3159e895f15bfad41bf483adca79e.tar.gz pki-819fd31d34b3159e895f15bfad41bf483adca79e.tar.xz pki-819fd31d34b3159e895f15bfad41bf483adca79e.zip |
Upgraded RESTEasy client library.
The Dogtag client library has been modified to use RESTEasy 3.0 client
library. A new upgrade script has been added to update existing servers.
The JAXB annotation in ResourceMessage has been modified to require
explicit property mapping.
Ticket #554
Diffstat (limited to 'base/server/upgrade/10.1.99')
-rwxr-xr-x | base/server/upgrade/10.1.99/03-AddedRESTEasyClient | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/base/server/upgrade/10.1.99/03-AddedRESTEasyClient b/base/server/upgrade/10.1.99/03-AddedRESTEasyClient new file mode 100755 index 000000000..55bc8c367 --- /dev/null +++ b/base/server/upgrade/10.1.99/03-AddedRESTEasyClient @@ -0,0 +1,76 @@ +#!/usr/bin/python +# Authors: +# Endi S. Dewata <edewata@redhat.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Copyright (C) 2014 Red Hat, Inc. +# All rights reserved. +# + +import grp +import os +import pwd +import re +import subprocess + +import pki.server.upgrade + + +class AddedRESTEasyClient(pki.server.upgrade.PKIServerUpgradeScriptlet): + + def __init__(self): + + self.message = 'Added RESTEasy client' + + def upgrade_instance(self, instance): + + # Tomcat common library + common_lib = os.path.join(instance.base_dir, 'common', 'lib') + + # Tomcat user and group + registry_file = os.path.join( + pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name) + + with open(registry_file, "r") as registry: + lines = registry.readlines() + + for line in lines: + m = re.search('^PKI_USER=(.*)$', line) + if m: + user = m.group(1) + m = re.search('^PKI_GROUP=(.*)$', line) + if m: + group = m.group(1) + + uid = pwd.getpwnam(user).pw_uid + gid = grp.getgrnam(group).gr_gid + + # RESTEasy library + resteasy_lib = subprocess.check_output( + '. /etc/pki/pki.conf && echo $RESTEASY_LIB', + shell=True) + # workaround for pylint error E1103 + resteasy_lib = str(resteasy_lib).strip() + + # create new links + source = os.path.join(resteasy_lib, 'resteasy-client.jar') + link = os.path.join(common_lib, 'resteasy-client.jar') + self.create_link(source, link, uid, gid) + + def create_link(self, source, link, uid, gid): + + self.backup(link) + os.symlink(source, link) + os.lchown(link, uid, gid) |