summaryrefslogtreecommitdiffstats
path: root/base/deploy/src/scriptlets/instance_layout.py
diff options
context:
space:
mode:
authorMatthew Harmsen <mharmsen@redhat.com>2012-05-18 10:52:06 -0700
committerMatthew Harmsen <mharmsen@redhat.com>2012-05-18 11:06:37 -0700
commit924403a14e92112c3c3d696319759b65eb57a30c (patch)
treeae097f21c022bd21b4c8b655a0030a8bef3953a3 /base/deploy/src/scriptlets/instance_layout.py
parent488480629da8cd7c7263fab9773ef5860ad12947 (diff)
downloadpki-924403a14e92112c3c3d696319759b65eb57a30c.tar.gz
pki-924403a14e92112c3c3d696319759b65eb57a30c.tar.xz
pki-924403a14e92112c3c3d696319759b65eb57a30c.zip
PKI Deployment Scriptlets
* Introduced concept of "admin-domain" originally as a separate folder, and later incorporated this concept into an optional instance prefix * Revised definition of <pki_instance_id> to be identified as "[<pki_admin_domain_name>-]<pki_instance_name> * Changed NSS security database model from one shared database by BOTH a single Tomcat AND single Apache instance into one per Tomcat instance (shared by CA/KRA/OCSP/TKS) and one per Apache instance (shared by RA/TPS) * Altered Configuration 'scriptlet' to invoke Jython for access to new Java configuration servlet * Renamed various "scriptlets" to comply with this new layout * Re-aligned code to account for revised layout documented at http://pki.fedoraproject.org/wiki/PKI_Instance_Deployment
Diffstat (limited to 'base/deploy/src/scriptlets/instance_layout.py')
-rw-r--r--base/deploy/src/scriptlets/instance_layout.py145
1 files changed, 93 insertions, 52 deletions
diff --git a/base/deploy/src/scriptlets/instance_layout.py b/base/deploy/src/scriptlets/instance_layout.py
index baa261cad..60e94d1a1 100644
--- a/base/deploy/src/scriptlets/instance_layout.py
+++ b/base/deploy/src/scriptlets/instance_layout.py
@@ -27,7 +27,7 @@ import pkimessages as log
import pkiscriptlet
-# PKI Deployment Instance Population Classes
+# PKI Deployment Instance Layout Scriptlet
class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
rv = 0
@@ -35,93 +35,134 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
config.pki_log.info(log.INSTANCE_SPAWN_1, __name__,
extra=config.PKI_INDENTATION_LEVEL_1)
# establish instance base
- util.directory.create(master['pki_path'])
util.directory.create(master['pki_instance_path'])
# establish instance logs
- util.directory.create(master['pki_log_path'])
util.directory.create(master['pki_instance_log_path'])
# establish instance configuration
- if master['pki_configuration_path'] !=\
- config.PKI_SHARED_CONFIGURATION_ROOT:
- util.directory.create(master['pki_configuration_path'])
util.directory.create(master['pki_instance_configuration_path'])
# establish instance registry
- util.directory.create(master['pki_registry_path'])
util.directory.create(master['pki_instance_registry_path'])
- # establish shared NSS security databases
+ # establish Apache/Tomcat specific instance
+ if master['pki_subsystem'] in config.PKI_TOMCAT_SUBSYSTEMS:
+ # establish Tomcat instance base
+ util.directory.create(master['pki_tomcat_common_path'])
+ util.directory.create(master['pki_tomcat_common_lib_path'])
+ util.directory.create(master['pki_tomcat_webapps_path'])
+ util.directory.create(master['pki_tomcat_webapps_root_path'])
+ util.directory.create(master['pki_tomcat_webapps_root_webinf_path'])
+ util.file.copy(master['pki_source_webapps_root_web_xml'],
+ master['pki_tomcat_webapps_root_webinf_web_xml'],
+ overwrite_flag=True)
+ util.directory.create(master['pki_tomcat_webapps_webinf_path'])
+ util.directory.create(
+ master['pki_tomcat_webapps_webinf_classes_path'])
+ util.directory.create(master['pki_tomcat_webapps_webinf_lib_path'])
+ # establish Tomcat instance logs
+ # establish Tomcat instance configuration
+ # establish Tomcat instance registry
+ # establish Tomcat instance convenience
+ # symbolic links
+ util.symlink.create(master['pki_tomcat_bin_path'],
+ master['pki_tomcat_bin_link'])
+ util.symlink.create(master['pki_tomcat_lib_path'],
+ master['pki_tomcat_lib_link'])
+ util.symlink.create(master['pki_tomcat_systemd'],
+ master['pki_instance_systemd_link'])
+ # establish shared NSS security databases for this instance
util.directory.create(master['pki_database_path'])
- # establish convenience symbolic links
+ # establish instance convenience symbolic links
util.symlink.create(master['pki_database_path'],
master['pki_instance_database_link'])
+ util.symlink.create(master['pki_instance_configuration_path'],
+ master['pki_instance_conf_link'])
+ util.symlink.create(master['pki_instance_log_path'],
+ master['pki_instance_logs_link'])
return self.rv
def respawn(self):
config.pki_log.info(log.INSTANCE_RESPAWN_1, __name__,
extra=config.PKI_INDENTATION_LEVEL_1)
# update instance base
- util.directory.modify(master['pki_path'])
util.directory.modify(master['pki_instance_path'])
# update instance logs
- util.directory.modify(master['pki_log_path'])
util.directory.modify(master['pki_instance_log_path'])
# update instance configuration
- if master['pki_configuration_path'] !=\
- config.PKI_SHARED_CONFIGURATION_ROOT:
- util.directory.modify(master['pki_configuration_path'])
util.directory.modify(master['pki_instance_configuration_path'])
# update instance registry
- util.directory.modify(master['pki_registry_path'])
util.directory.modify(master['pki_instance_registry_path'])
- # update shared NSS security databases
+ # update Apache/Tomcat specific instance
+ if master['pki_subsystem'] in config.PKI_TOMCAT_SUBSYSTEMS:
+ # update Tomcat instance base
+ util.directory.modify(master['pki_tomcat_common_path'])
+ util.directory.modify(master['pki_tomcat_common_lib_path'])
+ util.directory.modify(master['pki_tomcat_webapps_path'])
+ util.directory.modify(master['pki_tomcat_webapps_root_path'])
+ util.directory.modify(master['pki_tomcat_webapps_root_webinf_path'])
+ util.file.copy(master['pki_source_webapps_root_web_xml'],
+ master['pki_tomcat_webapps_root_webinf_web_xml'],
+ overwrite_flag=True)
+ util.directory.modify(master['pki_tomcat_webapps_webinf_path'])
+ util.directory.modify(
+ master['pki_tomcat_webapps_webinf_classes_path'])
+ util.directory.modify(master['pki_tomcat_webapps_webinf_lib_path'])
+ # update Tomcat instance logs
+ # update Tomcat instance configuration
+ # update Tomcat instance registry
+ # update Tomcat instance convenience symbolic links
+ util.symlink.modify(master['pki_tomcat_bin_link'])
+ util.symlink.modify(master['pki_tomcat_lib_link'])
+ # update shared NSS security databases for this instance
util.directory.modify(master['pki_database_path'])
- # update convenience symbolic links
+ # update instance convenience symbolic links
util.symlink.modify(master['pki_instance_database_link'])
+ util.symlink.modify(master['pki_instance_conf_link'])
+ util.symlink.modify(master['pki_instance_logs_link'])
return self.rv
def destroy(self):
config.pki_log.info(log.INSTANCE_DESTROY_1, __name__,
extra=config.PKI_INDENTATION_LEVEL_1)
- # remove instance base
if not config.pki_dry_run_flag:
- if master['pki_subsystem'] in config.PKI_SUBSYSTEMS and\
- util.instance.pki_subsystem_instances() == 0:
- # remove instance base
+ if master['pki_subsystem'] in config.PKI_APACHE_SUBSYSTEMS and\
+ util.instance.apache_instances() == 0:
+ # remove Apache instance base
util.directory.delete(master['pki_instance_path'])
- util.directory.delete(master['pki_path'])
- # remove instance logs
- util.directory.delete(master['pki_instance_log_path'])
- util.directory.delete(master['pki_log_path'])
- # remove shared NSS security database path
+ # remove Apache instance logs
+ # remove shared NSS security database path for this instance
util.directory.delete(master['pki_database_path'])
- # remove instance configuration
+ # remove Apache instance configuration
util.directory.delete(master['pki_instance_configuration_path'])
- if util.directory.is_empty(master['pki_configuration_path'])\
- and master['pki_configuration_path'] !=\
- config.PKI_SHARED_CONFIGURATION_ROOT:
- util.directory.delete(master['pki_configuration_path'])
- # remove instance registry
- util.directory.delete(master['pki_instance_registry_path'])
- util.directory.delete(master['pki_registry_path'])
- util.file.delete(master['pki_target_tomcat_conf'])
-
+ # remove Apache instance registry
+ elif master['pki_subsystem'] in config.PKI_TOMCAT_SUBSYSTEMS and\
+ util.instance.tomcat_instances() == 0:
+ # remove Tomcat instance base
+ util.directory.delete(master['pki_instance_path'])
+ # remove Tomcat instance logs
+ # remove shared NSS security database path for this instance
+ util.directory.delete(master['pki_database_path'])
+ # remove Tomcat instance configuration
+ util.directory.delete(master['pki_instance_configuration_path'])
+ # remove Tomcat instance registry
else:
# ALWAYS display correct information (even during dry_run)
- if master['pki_subsystem'] in config.PKI_SUBSYSTEMS and\
- util.instance.pki_subsystem_instances() == 1:
- # remove instance base
+ if master['pki_subsystem'] in config.PKI_APACHE_SUBSYSTEMS and\
+ util.instance.apache_instances() == 1:
+ # remove Apache instance base
util.directory.delete(master['pki_instance_path'])
- util.directory.delete(master['pki_path'])
- # remove instance logs
- util.directory.delete(master['pki_instance_log_path'])
- util.directory.delete(master['pki_log_path'])
- # remove shared NSS security database path
+ # remove Apache instance logs
+ # remove shared NSS security database path for this instance
util.directory.delete(master['pki_database_path'])
- if util.directory.is_empty(master['pki_configuration_path'])\
- and master['pki_configuration_path'] !=\
- config.PKI_SHARED_CONFIGURATION_ROOT:
- util.directory.delete(master['pki_configuration_path'])
- # remove instance registry
- util.directory.delete(master['pki_instance_registry_path'])
- util.directory.delete(master['pki_registry_path'])
- util.file.delete(master['pki_target_tomcat_conf'])
+ # remove Apache instance configuration
+ util.directory.delete(master['pki_instance_configuration_path'])
+ # remove Apache instance registry
+ elif master['pki_subsystem'] in config.PKI_TOMCAT_SUBSYSTEMS and\
+ util.instance.tomcat_instances() == 1:
+ # remove Tomcat instance base
+ util.directory.delete(master['pki_instance_path'])
+ # remove Tomcat instance logs
+ # remove shared NSS security database path for this instance
+ util.directory.delete(master['pki_database_path'])
+ # remove Tomcat instance configuration
+ util.directory.delete(master['pki_instance_configuration_path'])
+ # remove Tomcat instance registry
return self.rv