From decde6d129ce8c87a82d8aa00a6723b91c322e02 Mon Sep 17 00:00:00 2001 From: Rafael da Fonseca Date: Sun, 3 May 2015 11:59:53 -0700 Subject: [PATCH] Tomcat packaging Reduced cloudstack-management_4.6.0-snapshot_all.deb size from 211Mb to 94Mb (CentOS is 92Mb) This deb file was packing two copies of the systemvm (which is alread packed in cloudstack-common), so removed like in CentOS RPM specs Fedora 21 support for management :) Removed Fedora specific branches (symlink fedora2x points to centos7 so, using same installer :) Small cleanup of duplicate files Added embedded jetty Support for choosing tomcat or jetty on package.sh Removed mysql driver distro dependency Replaced old mortbay jetty 6 with eclipse jetty 9 Removed duplicate files Tidy up debian packaging Make things work on debian Cleanup, fixes, distro abstraction, etc Fix simulator for new jetty plugin Fix servlet engines on older mvn version Config jetty version Fix juli logging manager error on tomcat Fix dep problem with mysqlha plugin --- .gitignore | 11 +- client/catalina/pom.xml | 98 ++ client/catalina/standalone.xml | 48 + client/catalina/tomcat-bootstrap.xml | 32 + client/jetty/pom.xml | 61 + client/jetty/standalone.xml | 32 + client/pom.xml | 71 +- client/tomcatconf/catalina.properties.in | 3 +- client/tomcatconf/context.xml.in | 35 - client/tomcatconf/logging.properties.in | 48 +- client/tomcatconf/server-nonssl.xml.in | 122 +- client/tomcatconf/server-ssl.xml.in | 125 +- client/tomcatconf/server7-nonssl.xml.in | 149 --- client/tomcatconf/server7-ssl.xml.in | 157 --- .../tomcatconf/tomcat.conf.in | 35 +- client/tomcatconf/tomcat6-nonssl.conf.in | 73 - client/tomcatconf/tomcat6-ssl.conf.in | 72 - debian/rules | 131 -- engine/service/pom.xml | 2 +- .../com/cloud/utils/db/TransactionLegacy.java | 5 + .../{fedora21 => centos6}/cloud-usage.rc | 2 +- packaging/{fedora20 => centos6}/cloud.spec | 148 +- .../{centos63 => centos6}/replace.properties | 0 packaging/centos63/cloud-management.rc | 115 -- packaging/centos63/cloud-management.sysconfig | 23 - packaging/centos63/cloud-usage.rc | 156 --- packaging/centos63/cloud.spec | 644 --------- .../centos63/rhel7/cloudstack-management.conf | 18 - packaging/centos63/tomcat.sh | 18 - packaging/centos7/cloud-agent.rc | 117 -- packaging/centos7/cloud-ipallocator.rc | 96 -- packaging/centos7/cloud-management.service | 7 +- packaging/centos7/cloud-management.sudoers | 22 - packaging/centos7/cloud-usage.sysconfig | 2 +- packaging/centos7/cloud.limits | 19 - packaging/centos7/cloud.spec | 103 +- packaging/centos7/cloudstack-agent.te | 33 - packaging/centos7/cloudstack-sccs | 20 - packaging/centos7/tomcat7/catalina.properties | 81 -- .../tomcat7/commons-logging.properties | 30 - packaging/centos7/tomcat7/db.properties | 101 -- .../centos7/tomcat7/environment.properties | 22 - .../centos7/tomcat7/java.security.ciphers | 18 - packaging/centos7/tomcat7/log4j-cloud.xml | 189 --- packaging/centos7/tomcat7/server.xml | 80 -- packaging/centos7/tomcat7/tomcat-users.xml | 31 - packaging/centos7/tomcat7/web.xml | 1188 ----------------- packaging/{centos63 => common}/cloud-agent.rc | 0 .../{centos63 => common}/cloud-ipallocator.rc | 0 packaging/common/cloud-management.sh | 57 + .../{centos63 => common}/cloudstack-agent.te | 0 .../{centos63 => common}/cloudstack-sccs | 0 packaging/common/lsb-init/cloud-management.rc | 271 ++++ {debian => packaging/debian}/changelog | 0 .../debian}/cloudstack-agent.install | 0 .../debian}/cloudstack-agent.postinst | 0 .../debian}/cloudstack-cli.install | 0 .../debian}/cloudstack-common.install | 0 .../debian}/cloudstack-docs.install | 0 .../debian}/cloudstack-management.install | 10 +- .../debian}/cloudstack-management.postinst | 0 .../debian}/cloudstack-usage.install | 0 .../debian}/cloudstack-usage.postinst | 0 {debian => packaging/debian}/compat | 0 {debian => packaging/debian}/control | 4 +- {debian => packaging/debian}/copyright | 0 {debian => packaging/debian}/dirs | 0 packaging/debian/init/cloud-management | 243 ---- packaging/debian/init/cloud-usage | 2 +- packaging/debian/rules | 136 ++ {debian => packaging/debian}/source/format | 0 packaging/fedora20/cloud-agent.rc | 117 -- packaging/fedora20/cloud-ipallocator.rc | 96 -- packaging/fedora20/cloud-management.rc | 115 -- packaging/fedora20/cloud-management.sysconfig | 23 - packaging/fedora20/cloud-usage.rc | 156 --- packaging/fedora20/cloudstack-agent.te | 33 - packaging/fedora20/cloudstack-sccs | 20 - packaging/fedora20/replace.properties | 58 - packaging/fedora20/tomcat.sh | 18 - packaging/fedora21/cloud-agent.rc | 117 -- packaging/fedora21/cloud-ipallocator.rc | 96 -- packaging/fedora21/cloud-management.rc | 115 -- packaging/fedora21/cloud-management.sysconfig | 23 - packaging/fedora21/cloud.spec | 645 --------- packaging/fedora21/cloudstack-agent.te | 33 - packaging/fedora21/cloudstack-sccs | 20 - packaging/fedora21/replace.properties | 58 - packaging/fedora21/tomcat.sh | 18 - packaging/fedora2x | 1 + packaging/package.sh | 83 +- plugins/database/mysql-ha/pom.xml | 1 - plugins/hypervisors/hyperv/pom.xml | 6 +- ...LibvirtConsoleProxyLoadCommandWrapper.java | 7 +- pom.xml | 26 +- python/lib/cloudutils/serviceConfigServer.py | 12 +- python/lib/cloudutils/syscfg.py | 6 +- server/conf/cloudstack-sudoers.in | 5 +- setup/bindir/cloud-setup-databases.in | 2 +- setup/db/deploy-db-dev.sh | 4 - tools/apidoc/pom.xml | 2 +- usage/pom.xml | 2 +- 102 files changed, 1116 insertions(+), 6118 deletions(-) create mode 100644 client/catalina/pom.xml create mode 100644 client/catalina/standalone.xml create mode 100644 client/catalina/tomcat-bootstrap.xml create mode 100644 client/jetty/pom.xml create mode 100644 client/jetty/standalone.xml delete mode 100644 client/tomcatconf/context.xml.in mode change 100755 => 100644 client/tomcatconf/server-nonssl.xml.in mode change 100755 => 100644 client/tomcatconf/server-ssl.xml.in delete mode 100755 client/tomcatconf/server7-nonssl.xml.in delete mode 100755 client/tomcatconf/server7-ssl.xml.in rename packaging/centos7/cloud-management.sysconfig => client/tomcatconf/tomcat.conf.in (55%) delete mode 100644 client/tomcatconf/tomcat6-nonssl.conf.in delete mode 100644 client/tomcatconf/tomcat6-ssl.conf.in delete mode 100755 debian/rules rename packaging/{fedora21 => centos6}/cloud-usage.rc (97%) rename packaging/{fedora20 => centos6}/cloud.spec (85%) rename packaging/{centos63 => centos6}/replace.properties (100%) delete mode 100755 packaging/centos63/cloud-management.rc delete mode 100644 packaging/centos63/cloud-management.sysconfig delete mode 100755 packaging/centos63/cloud-usage.rc delete mode 100644 packaging/centos63/cloud.spec delete mode 100644 packaging/centos63/rhel7/cloudstack-management.conf delete mode 100644 packaging/centos63/tomcat.sh delete mode 100755 packaging/centos7/cloud-agent.rc delete mode 100755 packaging/centos7/cloud-ipallocator.rc delete mode 100644 packaging/centos7/cloud-management.sudoers delete mode 100644 packaging/centos7/cloud.limits delete mode 100644 packaging/centos7/cloudstack-agent.te delete mode 100644 packaging/centos7/cloudstack-sccs delete mode 100644 packaging/centos7/tomcat7/catalina.properties delete mode 100644 packaging/centos7/tomcat7/commons-logging.properties delete mode 100644 packaging/centos7/tomcat7/db.properties delete mode 100644 packaging/centos7/tomcat7/environment.properties delete mode 100644 packaging/centos7/tomcat7/java.security.ciphers delete mode 100644 packaging/centos7/tomcat7/log4j-cloud.xml delete mode 100644 packaging/centos7/tomcat7/server.xml delete mode 100644 packaging/centos7/tomcat7/tomcat-users.xml delete mode 100644 packaging/centos7/tomcat7/web.xml rename packaging/{centos63 => common}/cloud-agent.rc (100%) rename packaging/{centos63 => common}/cloud-ipallocator.rc (100%) create mode 100755 packaging/common/cloud-management.sh rename packaging/{centos63 => common}/cloudstack-agent.te (100%) rename packaging/{centos63 => common}/cloudstack-sccs (100%) create mode 100755 packaging/common/lsb-init/cloud-management.rc rename {debian => packaging/debian}/changelog (100%) rename {debian => packaging/debian}/cloudstack-agent.install (100%) rename {debian => packaging/debian}/cloudstack-agent.postinst (100%) rename {debian => packaging/debian}/cloudstack-cli.install (100%) rename {debian => packaging/debian}/cloudstack-common.install (100%) rename {debian => packaging/debian}/cloudstack-docs.install (100%) rename {debian => packaging/debian}/cloudstack-management.install (90%) rename {debian => packaging/debian}/cloudstack-management.postinst (100%) rename {debian => packaging/debian}/cloudstack-usage.install (100%) rename {debian => packaging/debian}/cloudstack-usage.postinst (100%) rename {debian => packaging/debian}/compat (100%) rename {debian => packaging/debian}/control (91%) rename {debian => packaging/debian}/copyright (100%) rename {debian => packaging/debian}/dirs (100%) delete mode 100755 packaging/debian/init/cloud-management create mode 100755 packaging/debian/rules rename {debian => packaging/debian}/source/format (100%) delete mode 100755 packaging/fedora20/cloud-agent.rc delete mode 100755 packaging/fedora20/cloud-ipallocator.rc delete mode 100755 packaging/fedora20/cloud-management.rc delete mode 100644 packaging/fedora20/cloud-management.sysconfig delete mode 100755 packaging/fedora20/cloud-usage.rc delete mode 100644 packaging/fedora20/cloudstack-agent.te delete mode 100644 packaging/fedora20/cloudstack-sccs delete mode 100644 packaging/fedora20/replace.properties delete mode 100644 packaging/fedora20/tomcat.sh delete mode 100755 packaging/fedora21/cloud-agent.rc delete mode 100755 packaging/fedora21/cloud-ipallocator.rc delete mode 100755 packaging/fedora21/cloud-management.rc delete mode 100644 packaging/fedora21/cloud-management.sysconfig delete mode 100644 packaging/fedora21/cloud.spec delete mode 100644 packaging/fedora21/cloudstack-agent.te delete mode 100644 packaging/fedora21/cloudstack-sccs delete mode 100644 packaging/fedora21/replace.properties delete mode 100644 packaging/fedora21/tomcat.sh create mode 120000 packaging/fedora2x diff --git a/.gitignore b/.gitignore index b9dafcf47b97..4dfa81648500 100644 --- a/.gitignore +++ b/.gitignore @@ -74,12 +74,11 @@ docs/runbook/tmp docs/runbook/publish .project Gemfile.lock -debian/tmp -debian/files -debian/cloudstack-*/* -debian/*.substvars -debian/*.debhelper -replace.properties.tmp +packaging/debian/tmp +packaging/debian/files +packaging/debian/cloudstack-*/* +packaging/debian/*.substvars +packaging/debian/*.debhelper build-indep-stamp configure-stamp *_flymake.js diff --git a/client/catalina/pom.xml b/client/catalina/pom.xml new file mode 100644 index 000000000000..7beb739d3aa5 --- /dev/null +++ b/client/catalina/pom.xml @@ -0,0 +1,98 @@ + + 4.0.0 + org.apache.cloudstack + cloudstack-catalina + 4.6.0-SNAPSHOT + + org.apache.cloudstack + cloudstack + 4.6.0-SNAPSHOT + ../../pom.xml + + Apache CloudStack Custom Tomcat + + 1.7 + UTF-8 + UTF-8 + + + + org.apache.tomcat + tomcat-catalina + ${cs.tomcat.version} + runtime + + + org.apache.tomcat + tomcat-catalina-ha + ${cs.tomcat.version} + runtime + + + org.apache.tomcat + tomcat-coyote + ${cs.tomcat.version} + runtime + + + org.apache.tomcat + tomcat-jasper + ${cs.tomcat.version} + runtime + + + org.apache.tomcat + tomcat-juli + ${cs.tomcat.version} + runtime + + + org.apache.tomcat + tomcat-catalina-ws + ${cs.tomcat.version} + runtime + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-checkstyle-plugin + + + cloudstack-checkstyle + none + false + + + + + maven-assembly-plugin + + + tomcat-bootstrap.xml + standalone.xml + + + + org.apache.catalina.startup.Bootstrap + + + + + + make-assembly + package + + single + + + + + + + + diff --git a/client/catalina/standalone.xml b/client/catalina/standalone.xml new file mode 100644 index 000000000000..aeabd2eed103 --- /dev/null +++ b/client/catalina/standalone.xml @@ -0,0 +1,48 @@ + + + standalone + + dir + + true + + + + + + src/main/tomcat/bin + /bin + 755 + + + + + ${project.build.directory}/${project.build.finalName}-bootstrap.jar + bootstrap.jar + /bin + + + + + + + false + + + org.apache.tomcat:tomcat-juli:* + + /lib + ${artifact.artifactId}.${artifact.extension} + + + + true + runtime + + org.apache.tomcat:tomcat-juli:* + + /bin + ${artifact.artifactId}.${artifact.extension} + + + diff --git a/client/catalina/tomcat-bootstrap.xml b/client/catalina/tomcat-bootstrap.xml new file mode 100644 index 000000000000..f7f19494724a --- /dev/null +++ b/client/catalina/tomcat-bootstrap.xml @@ -0,0 +1,32 @@ + + + bootstrap + + jar + + false + + + / + true + runtime + + org.apache.tomcat:tomcat-catalina:* + + true + + + **/Reloader.class + **/StandardClassLoader.class + **/StandardClassLoaderMBean.class + **/SecurityClassLoad.class + **/Bootstrap.class + **/CatalinaProperties.class + **/ClassLoaderFactory*.class + **/Tool.class + **/JndiPermission.class + + + + + diff --git a/client/jetty/pom.xml b/client/jetty/pom.xml new file mode 100644 index 000000000000..67b075c88f93 --- /dev/null +++ b/client/jetty/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + org.apache.cloudstack + cloudstack-jetty + 4.6.0-SNAPSHOT + + org.apache.cloudstack + cloudstack + 4.6.0-SNAPSHOT + ../../pom.xml + + Apache CloudStack Custom Jetty + + 1.7 + UTF-8 + UTF-8 + + + + org.eclipse.jetty + jetty-runner + ${cs.jetty.version} + runtime + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-checkstyle-plugin + + + cloudstack-checkstyle + none + false + + + + + maven-assembly-plugin + + + standalone.xml + + + + + make-assembly + package + + single + + + + + + + diff --git a/client/jetty/standalone.xml b/client/jetty/standalone.xml new file mode 100644 index 000000000000..6d6e4c10542d --- /dev/null +++ b/client/jetty/standalone.xml @@ -0,0 +1,32 @@ + + + standalone + + dir + + true + + + + src/main/jetty/bin + /bin + 755 + + + + + false + /lib + ${artifact.artifactId}.${artifact.extension} + + + true + runtime + + org.eclipse.jetty:jetty-start:* + + /bin + ${artifact.artifactId}.${artifact.extension} + + + diff --git a/client/pom.xml b/client/pom.xml index 3dbc0a0d7f9f..0eb4103b04f0 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -20,6 +20,11 @@ 4.6.0-SNAPSHOT + + mysql + mysql-connector-java + runtime + org.apache.cloudstack cloud-framework-spring-module @@ -34,16 +39,34 @@ org.apache.cloudstack cloud-plugin-storage-volume-solidfire ${project.version} + + + javax.servlet + servlet-api + + org.apache.cloudstack cloud-plugin-storage-volume-cloudbyte ${project.version} + + + com.sun.jersey + jersey-bundle + + org.apache.cloudstack cloud-server ${project.version} + + + org.eclipse.jetty + * + + org.apache.cloudstack @@ -191,8 +214,8 @@ ${project.version} - org.mortbay.jetty - servlet-api + org.eclipse.jetty + * @@ -200,6 +223,12 @@ org.apache.cloudstack cloud-plugin-hypervisor-hyperv ${project.version} + + + org.eclipse.jetty + * + + org.apache.cloudstack @@ -419,9 +448,9 @@ - org.mortbay.jetty - maven-jetty-plugin - 6.1.26 + org.eclipse.jetty + jetty-maven-plugin + ${cs.jetty.version} @@ -435,7 +464,7 @@ 9966 stop-jetty - + 8080 60000 @@ -444,7 +473,7 @@ ${project.build.directory}/generated-webapp /client - ${project.build.directory}/utilities/scripts/db/;${project.build.directory}/utilities/scripts/db/db/ + ${project.build.directory}/conf/;../setup/db/ @@ -494,22 +523,6 @@ - - - - - - - - - - - - - - - - @@ -532,8 +545,8 @@ - - + + @@ -659,6 +672,12 @@ cloud-systemvm ${project.version} pom + + + org.apache.tomcat.embed + tomcat-embed-core + + @@ -725,7 +744,7 @@ - + diff --git a/client/tomcatconf/catalina.properties.in b/client/tomcatconf/catalina.properties.in index 282892bb763a..d11b94e3a11a 100644 --- a/client/tomcatconf/catalina.properties.in +++ b/client/tomcatconf/catalina.properties.in @@ -44,8 +44,7 @@ package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache # "foo/*.jar": Add all the JARs of the specified folder as class # repositories # "foo/bar.jar": Add bar.jar as a class repository -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*jar - +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/cloudstack-mysql-ha/lib/*jar,${catalina.base}/conf # # List of comma-separated paths defining the contents of the "server" # classloader. Prefixes should be used to define what is the repository type. diff --git a/client/tomcatconf/context.xml.in b/client/tomcatconf/context.xml.in deleted file mode 100644 index a78215c7c215..000000000000 --- a/client/tomcatconf/context.xml.in +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - WEB-INF/web.xml - - - - - - - - diff --git a/client/tomcatconf/logging.properties.in b/client/tomcatconf/logging.properties.in index 68be2d7f4573..cb5ed6611153 100644 --- a/client/tomcatconf/logging.properties.in +++ b/client/tomcatconf/logging.properties.in @@ -13,33 +13,33 @@ # See the License for the specific language governing permissions and # limitations under the License. -handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler +handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler -.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler +.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ -1catalina.org.apache.juli.FileHandler.level = FINE -1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -1catalina.org.apache.juli.FileHandler.prefix = catalina. +1catalina.org.apache.juli.AsyncFileHandler.level = FINE +1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs +1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina. -2localhost.org.apache.juli.FileHandler.level = FINE -2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -2localhost.org.apache.juli.FileHandler.prefix = localhost. +2localhost.org.apache.juli.AsyncFileHandler.level = FINE +2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs +2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost. -3manager.org.apache.juli.FileHandler.level = FINE -3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -3manager.org.apache.juli.FileHandler.prefix = manager. +3manager.org.apache.juli.AsyncFileHandler.level = FINE +3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs +3manager.org.apache.juli.AsyncFileHandler.prefix = manager. -4host-manager.org.apache.juli.FileHandler.level = FINE -4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs -4host-manager.org.apache.juli.FileHandler.prefix = host-manager. +4host-manager.org.apache.juli.AsyncFileHandler.level = FINE +4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs +4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager. java.util.logging.ConsoleHandler.level = FINE -java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter +java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter ############################################################ @@ -48,17 +48,17 @@ java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter ############################################################ org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO -org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler -# For example, set the com.xyz.foo logger to only log SEVERE -# messages: -#org.apache.catalina.startup.ContextConfig.level = FINE -#org.apache.catalina.startup.HostConfig.level = FINE -#org.apache.catalina.session.ManagerBase.level = FINE -#org.apache.catalina.core.AprLifecycleListener.level=FINE +# For example, set the org.apache.catalina.util.LifecycleBase logger to log +# each component that extends LifecycleBase changing state: +#org.apache.catalina.util.LifecycleBase.level = FINE + +# To see debug messages in TldLocationsCache, uncomment the following line: +#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/client/tomcatconf/server-nonssl.xml.in b/client/tomcatconf/server-nonssl.xml.in old mode 100755 new mode 100644 index 4272a28428b4..c0970fdaf428 --- a/client/tomcatconf/server-nonssl.xml.in +++ b/client/tomcatconf/server-nonssl.xml.in @@ -20,14 +20,17 @@ Documentation at /docs/config/server.html --> - + - - - + + + + - - - - - - - - - - - - - - - - - + + - + - - - - - - + + + - - - - - - - + unpackWARs="true" autoDeploy="true"> - - + + diff --git a/client/tomcatconf/server-ssl.xml.in b/client/tomcatconf/server-ssl.xml.in old mode 100755 new mode 100644 index 595879fbfd10..baa80c1bc1c5 --- a/client/tomcatconf/server-ssl.xml.in +++ b/client/tomcatconf/server-ssl.xml.in @@ -20,14 +20,17 @@ Documentation at /docs/config/server.html --> - + - - - + + + + - - - - + + - - - - - - - - + - - - - - - - - - + + + - - - - - - - + unpackWARs="true" autoDeploy="true"> - - - - - + + diff --git a/client/tomcatconf/server7-nonssl.xml.in b/client/tomcatconf/server7-nonssl.xml.in deleted file mode 100755 index 6e6a7b28bc95..000000000000 --- a/client/tomcatconf/server7-nonssl.xml.in +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/client/tomcatconf/server7-ssl.xml.in b/client/tomcatconf/server7-ssl.xml.in deleted file mode 100755 index 2633bcad7601..000000000000 --- a/client/tomcatconf/server7-ssl.xml.in +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packaging/centos7/cloud-management.sysconfig b/client/tomcatconf/tomcat.conf.in similarity index 55% rename from packaging/centos7/cloud-management.sysconfig rename to client/tomcatconf/tomcat.conf.in index 961072abcce0..4455edcdc528 100644 --- a/packaging/centos7/cloud-management.sysconfig +++ b/client/tomcatconf/tomcat.conf.in @@ -5,9 +5,9 @@ # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -16,33 +16,22 @@ # under the License. # Required for a tocmat cloned service -SERVICE_NAME=cloudstack-management - -# Where your java installation lives -#JAVA_HOME="/usr/lib/jvm/java" +NAME=cloudstack-management # Where your cloudstack-management installation lives -CATALINA_BASE="/usr/share/cloudstack-management" -CATALINA_HOME="/usr/share/cloudstack-management" -JASPER_HOME="/usr/share/cloudstack-management" -CATALINA_TMPDIR="/usr/share/cloudstack-management/temp" - -JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:PermSize=512M -XX:MaxPermSize=800m" - -if [ -r "/etc/cloudstack/management/cloudmanagementserver.keystore" ] ; then - JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/etc/cloudstack/management/cloudmanagementserver.keystore -Djavax.net.ssl.trustStorePassword=vmops.com " -fi +CLOUD_BASE="@MSENVIRON@" +CLOUD_HOME="@MSENVIRON@" +JASPER_HOME="@MSENVIRON@" +CLOUD_TMPDIR="@MSENVIRON@/temp" -TOMCAT_USER="cloud" +JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=@MSLOGDIR@ -XX:PermSize=512M -XX:MaxPermSize=800m -Djava.net.preferIPv4Stack=true -Djavax.net.ssl.trustStore=/etc/cloudstack/management/cloudmanagementserver.keystore -Djavax.net.ssl.trustStorePassword=vmops.com" +CLOUD_USER="@MSUSER@" SECURITY_MANAGER="false" - SHUTDOWN_WAIT="30" - SHUTDOWN_VERBOSE="false" -# Set the TOMCAT_PID location -CATALINA_PID="/var/run/cloudstack-management.pid" - -CLASSPATH=/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup:/usr/share/java/mysql-connector-java.jar +# Set the PID location +CLOUD_PID="@PIDDIR@/@PACKAGE@-management.pid" +CLASSPATH=@MSENVIRON@/conf:/usr/share/cloudstack-common:@MSENVIRON@/bin diff --git a/client/tomcatconf/tomcat6-nonssl.conf.in b/client/tomcatconf/tomcat6-nonssl.conf.in deleted file mode 100644 index 3f08c9066603..000000000000 --- a/client/tomcatconf/tomcat6-nonssl.conf.in +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -# System-wide configuration file for tomcat6 services -# This will be sourced by tomcat6 and any secondary service -# Values will be overridden by service-specific configuration -# files in /etc/sysconfig -# -# Use this one to change default values for all services -# Change the service specific ones to affect only one service -# (see, for instance, /etc/sysconfig/tomcat6) -# - -# Where your java installation lives -#JAVA_HOME="/usr/lib/jvm/java" - -# Where your tomcat installation lives -CATALINA_BASE="@MSENVIRON@" -CATALINA_HOME="@MSENVIRON@" -JASPER_HOME="@MSENVIRON@" -CATALINA_TMPDIR="@MSENVIRON@/temp" - -# You can pass some parameters to java here if you wish to -#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" - -# Use JAVA_OPTS to set java.library.path for libtcnative.so -#JAVA_OPTS="-Djava.library.path=/usr/lib64" -JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=@MSLOGDIR@ -XX:PermSize=512M -XX:MaxPermSize=800m -Djava.security.properties=/etc/cloudstack/management/java.security.ciphers" - -# What user should run tomcat -TOMCAT_USER="@MSUSER@" -# Do not remove the following line -TOMCAT6_USER="$TOMCAT_USER" - -TOMCAT_LOG="@MSLOGDIR@/catalina.out" - -# You can change your tomcat locale here -#LANG="en_US" - -# Run tomcat under the Java Security Manager -SECURITY_MANAGER="false" - -# Time to wait in seconds, before killing process -SHUTDOWN_WAIT="30" - -# Whether to annoy the user with "attempting to shut down" messages or not -SHUTDOWN_VERBOSE="false" - -# Set the TOMCAT_PID location -CATALINA_PID="@PIDDIR@/@PACKAGE@-management.pid" - -# Connector port is 8080 for this tomcat6 instance -#CONNECTOR_PORT="8080" - -# We pick up the classpath in the next line - -dummy=1 ; . @MSCONF@/classpath.conf diff --git a/client/tomcatconf/tomcat6-ssl.conf.in b/client/tomcatconf/tomcat6-ssl.conf.in deleted file mode 100644 index e7c53ac9f8f4..000000000000 --- a/client/tomcatconf/tomcat6-ssl.conf.in +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# System-wide configuration file for tomcat6 services -# This will be sourced by tomcat6 and any secondary service -# Values will be overridden by service-specific configuration -# files in /etc/sysconfig -# -# Use this one to change default values for all services -# Change the service specific ones to affect only one service -# (see, for instance, /etc/sysconfig/tomcat6) -# - -# Where your java installation lives -#JAVA_HOME="/usr/lib/jvm/java" - -# Where your tomcat installation lives -CATALINA_BASE="@MSENVIRON@" -CATALINA_HOME="@MSENVIRON@" -JASPER_HOME="@MSENVIRON@" -CATALINA_TMPDIR="@MSENVIRON@/temp" - -# You can pass some parameters to java here if you wish to -#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" - -# Use JAVA_OPTS to set java.library.path for libtcnative.so -#JAVA_OPTS="-Djava.library.path=/usr/lib64" -JAVA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Djavax.net.ssl.trustStore=/etc/cloudstack/management/cloudmanagementserver.keystore -Djavax.net.ssl.trustStorePassword=vmops.com -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=@MSLOGDIR@ -XX:MaxPermSize=800m -XX:PermSize=512M -Djava.security.properties=/etc/cloudstack/management/java.security.ciphers" - -# What user should run tomcat -TOMCAT_USER="@MSUSER@" -# Do not remove the following line -TOMCAT6_USER="$TOMCAT_USER" - -TOMCAT_LOG="@MSLOGDIR@/catalina.out" - -# You can change your tomcat locale here -#LANG="en_US" - -# Run tomcat under the Java Security Manager -SECURITY_MANAGER="false" - -# Time to wait in seconds, before killing process -SHUTDOWN_WAIT="30" - -# Whether to annoy the user with "attempting to shut down" messages or not -SHUTDOWN_VERBOSE="false" - -# Set the TOMCAT_PID location -CATALINA_PID="@PIDDIR@/@PACKAGE@-management.pid" - -# Connector port is 8080 for this tomcat6 instance -#CONNECTOR_PORT="8080" - -# We pick up the classpath in the next line - -dummy=1 ; . @MSCONF@/classpath.conf diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 888cf5bc76ec..000000000000 --- a/debian/rules +++ /dev/null @@ -1,131 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -VERSION := $(shell mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v "\[") -PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1) -SYSCONFDIR = "/etc" -DESTDIR = "debian/tmp" - -%: - dh $@ --with python2 - -override_dh_auto_configure: - cp packaging/debian/replace.properties replace.properties.tmp - echo VERSION=${VERSION} >> replace.properties.tmp - -override_dh_auto_build: - mvn -T C1.5 clean package -Psystemvm -DskipTests -Dsystemvm \ - -Dcs.replace.properties=replace.properties.tmp \ - -Dmaven.repo.local=$(HOME)/.m2/repository - ${ACS_BUILD_OPTS} - -override_dh_auto_clean: - dh_auto_clean - rm -f replace.properties.tmp - -override_dh_auto_install: - # Common packages - mkdir -p $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE) - mkdir -p $(DESTDIR)/$(SYSCONFDIR)/init.d - mkdir -p $(DESTDIR)/var/cache/$(PACKAGE) - mkdir -p $(DESTDIR)/var/log/$(PACKAGE) - mkdir -p $(DESTDIR)/var/lib/$(PACKAGE) - mkdir -p $(DESTDIR)/usr/bin - mkdir -p $(DESTDIR)/usr/share - - # cloudstack-agent - mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent - mkdir $(DESTDIR)/$(SYSCONFDIR)/profile.d - mkdir $(DESTDIR)/var/log/$(PACKAGE)/agent - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent/plugins - install -D agent/target/cloud-agent-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar - install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ - install -D plugins/hypervisors/kvm/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ - install -D packaging/debian/init/cloud-agent $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-agent - install -D agent/target/transformed/cloud-setup-agent $(DESTDIR)/usr/bin/cloudstack-setup-agent - install -D agent/target/transformed/cloud-ssh $(DESTDIR)/usr/bin/cloudstack-ssh - install -D agent/target/transformed/cloudstack-agent-profile.sh $(DESTDIR)/$(SYSCONFDIR)/profile.d/cloudstack-agent-profile.sh - install -D agent/target/transformed/cloudstack-agent-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade - install -D agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ - install -D agent/target/transformed/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent - - # cloudstack-management - mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server - mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management - mkdir -p $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/ - mkdir -p $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/ - mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management - mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-management/setup - mkdir $(DESTDIR)/var/log/$(PACKAGE)/management - mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management - mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/work - mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/temp - mkdir $(DESTDIR)/var/log/$(PACKAGE)/ipallocator - mkdir $(DESTDIR)/var/lib/$(PACKAGE)/management - mkdir $(DESTDIR)/var/lib/$(PACKAGE)/mnt - cp -r client/target/utilities/scripts/db/* $(DESTDIR)/usr/share/$(PACKAGE)-management/setup/ - cp -r client/target/cloud-client-ui-$(VERSION)/* $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/ - cp server/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/ - cp client/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/ - - # nast hack for a couple of configuration files - mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-limits.conf $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/ - mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-sudoers $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/cloudstack - chmod 0440 $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/cloudstack - - ln -s tomcat6-nonssl.conf $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/tomcat6.conf - ln -s server-nonssl.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/server.xml - install -D packaging/debian/init/cloud-management $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-management - install -D client/target/utilities/bin/cloud-update-xenserver-licenses $(DESTDIR)/usr/bin/cloudstack-update-xenserver-licenses - ln -s /usr/share/tomcat6/bin $(DESTDIR)/usr/share/$(PACKAGE)-management/bin - # Remove configuration in /ur/share/cloudstack-management/webapps/client/WEB-INF - # This should all be in /etc/cloudstack/management - rm $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/WEB-INF/classes/*.* - ln -s ../../..$(SYSCONFDIR)/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/conf - ln -s ../../../usr/share/tomcat6/lib $(DESTDIR)/usr/share/$(PACKAGE)-management/lib - ln -s ../../../var/log/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/logs - ln -s ../../../var/cache/$(PACKAGE)/management/temp $(DESTDIR)/usr/share/$(PACKAGE)-management/temp - ln -s ../../../var/cache/$(PACKAGE)/management/work $(DESTDIR)/usr/share/$(PACKAGE)-management/work - - # cloudstack-common - mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-common - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/setup - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/lib - cp -r scripts/installer $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - cp -r scripts/network $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - cp -r scripts/storage $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - cp -r scripts/util $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - cp -r scripts/vm $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts - install -D client/target/utilities/bin/cloud-migrate-databases $(DESTDIR)/usr/bin/cloudstack-migrate-databases - install -D client/target/utilities/bin/cloud-set-guest-password $(DESTDIR)/usr/bin/cloudstack-set-guest-password - install -D client/target/utilities/bin/cloud-set-guest-sshkey $(DESTDIR)/usr/bin/cloudstack-set-guest-sshkey - install -D client/target/utilities/bin/cloud-setup-databases $(DESTDIR)/usr/bin/cloudstack-setup-databases - install -D client/target/utilities/bin/cloud-setup-management $(DESTDIR)/usr/bin/cloudstack-setup-management - install -D client/target/utilities/bin/cloud-setup-encryption $(DESTDIR)/usr/bin/cloudstack-setup-encryption - install -D client/target/utilities/bin/cloud-sysvmadm $(DESTDIR)/usr/bin/cloudstack-sysvmadm - install -D systemvm/dist/systemvm.iso $(DESTDIR)/usr/share/$(PACKAGE)-common/vms/systemvm.iso - # We need jasypt for cloud-install-sys-tmplt, so this is a nasty hack to get it into the right place - install -D agent/target/dependencies/jasypt-1.9.2.jar $(DESTDIR)/usr/share/$(PACKAGE)-common/lib - - # cloudstack-python - mkdir -p $(DESTDIR)/usr/share/pyshared - cp -r python/lib/cloud* $(DESTDIR)/usr/share/pyshared - - # cloudstack-usage - mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage - mkdir $(DESTDIR)/var/log/$(PACKAGE)/usage - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage - mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage/plugins - install -D usage/target/cloud-usage-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/$(PACKAGE)-usage.jar - install -D usage/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/ - cp usage/target/transformed/db.properties $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/ - cp usage/target/transformed/log4j-cloud_usage.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/log4j-cloud.xml - install -D packaging/debian/init/cloud-usage $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-usage - -override_dh_installinit: - dh_installinit -pcloudstack-management -pcloudstack-agent -pcloudstack-usage --onlyscripts --no-start - -override_dh_installdocs: - dh_installdocs -A tools/whisker/LICENSE tools/whisker/NOTICE INSTALL.md diff --git a/engine/service/pom.xml b/engine/service/pom.xml index ade15f97db19..ee5c7f7bbc50 100644 --- a/engine/service/pom.xml +++ b/engine/service/pom.xml @@ -84,7 +84,7 @@ engine - org.mortbay.jetty + org.eclipse.jetty jetty-maven-plugin 8.1.7.v20120910 diff --git a/framework/db/src/com/cloud/utils/db/TransactionLegacy.java b/framework/db/src/com/cloud/utils/db/TransactionLegacy.java index af834ca115e4..ee0495591db8 100644 --- a/framework/db/src/com/cloud/utils/db/TransactionLegacy.java +++ b/framework/db/src/com/cloud/utils/db/TransactionLegacy.java @@ -199,6 +199,11 @@ public boolean dbTxnStarted() { } public static Connection getStandaloneConnectionWithException() throws SQLException { + try{ + Class.forName("com.mysql.jdbc.Driver").newInstance(); + } catch (Exception e) { + s_logger.error("Error instantiating mysql jdbc driver: ", e); + } Connection conn = s_ds.getConnection(); if (s_connLogger.isTraceEnabled()) { s_connLogger.trace("Retrieving a standalone connection: dbconn" + System.identityHashCode(conn)); diff --git a/packaging/fedora21/cloud-usage.rc b/packaging/centos6/cloud-usage.rc similarity index 97% rename from packaging/fedora21/cloud-usage.rc rename to packaging/centos6/cloud-usage.rc index 774113745d75..51bf3c054168 100755 --- a/packaging/fedora21/cloud-usage.rc +++ b/packaging/centos6/cloud-usage.rc @@ -75,7 +75,7 @@ setJavaHome SCP="" DCP="" UCP=`ls /usr/share/cloudstack-usage/cloud-usage-*.jar`":"`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':'` -JCP="/usr/share/java/commons-daemon.jar":"/usr/share/java/mysql-connector-java.jar" +JCP="/usr/share/java/commons-daemon.jar" # We need to append the JSVC daemon and mysql-connector JAR to the classpath # AgentShell implements the JSVC daemon methods diff --git a/packaging/fedora20/cloud.spec b/packaging/centos6/cloud.spec similarity index 85% rename from packaging/fedora20/cloud.spec rename to packaging/centos6/cloud.spec index 26251ee86bda..cc73261a415c 100644 --- a/packaging/fedora20/cloud.spec +++ b/packaging/centos6/cloud.spec @@ -43,15 +43,11 @@ Group: System Environment/Libraries Source0: %{name}-%{_maventag}.tgz BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build -BuildRequires: java-1.7.0-openjdk-devel -BuildRequires: tomcat -BuildRequires: ws-commons-util BuildRequires: jpackage-utils BuildRequires: gcc BuildRequires: glibc-devel BuildRequires: /usr/bin/mkisofs BuildRequires: MySQL-python -#BuildRequires: maven => 3.0.0 %description CloudStack is a highly-scalable elastic, open source, @@ -59,8 +55,8 @@ intelligent IaaS cloud implementation. %package management Summary: CloudStack management server UI -Requires: tomcat -Requires: java-1.7.0-openjdk +Requires: redhat-lsb-core +Requires: java => 1.7.0 Requires: python Requires: bash Requires: bzip2 @@ -71,8 +67,6 @@ Requires: openssh-clients Requires: nfs-utils Requires: wget Requires: mysql -Requires: mysql-connector-java -Requires: ws-commons-util Requires: jpackage-utils Requires: sudo Requires: /sbin/service @@ -112,7 +106,7 @@ The Apache CloudStack files shared between agent and management server %package agent Summary: CloudStack Agent for KVM hypervisors Requires: openssh-clients -Requires: java-1.7.0-openjdk +Requires: java => 1.7.0 Requires: %{name}-common = %{_ver} Requires: libvirt Requires: bridge-utils @@ -124,12 +118,11 @@ Requires: ipset Requires: jsvc Requires: jakarta-commons-daemon Requires: jakarta-commons-daemon-jsvc +Requires: net-tools Requires: perl Requires: libvirt-python Requires: qemu-img Requires: qemu-kvm -Requires: libcgroup-tools -Requires: net-tools Provides: cloud-agent Obsoletes: cloud-agent < 4.1.0 Obsoletes: cloud-agent-libs < 4.1.0 @@ -152,7 +145,7 @@ The CloudStack baremetal agent %package usage Summary: CloudStack Usage calculation server -Requires: java-1.7.0-openjdk +Requires: java => 1.7.0 Requires: jsvc Requires: jakarta-commons-daemon Requires: jakarta-commons-daemon-jsvc @@ -173,8 +166,6 @@ Apache CloudStack command line interface %if "%{_ossnoss}" == "noredist" %package mysql-ha Summary: Apache CloudStack Balancing Strategy for MySQL -Requires: mysql-connector-java -Requires: tomcat Group: System Environmnet/Libraries %description mysql-ha Apache CloudStack Balancing Strategy for MySQL @@ -188,30 +179,31 @@ echo Doing CloudStack build %build -cp packaging/centos63/replace.properties build/replace.properties +cp packaging/centos6/replace.properties build/replace.properties echo VERSION=%{_maventag} >> build/replace.properties echo PACKAGE=%{name} >> build/replace.properties touch build/gitrev.txt echo $(git rev-parse HEAD) > build/gitrev.txt if [ "%{_ossnoss}" == "NOREDIST" -o "%{_ossnoss}" == "noredist" ] ; then - echo "Executing mvn packaging with non-redistributable libraries" - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn noredist packaging with simulator ..." - mvn -Psystemvm -Dnoredist -Dsimulator clean package - else - echo "Executing mvn noredist packaging without simulator..." - mvn -Psystemvm -Dnoredist clean package - fi + echo "Adding noredist flag to the maven build" + FLAGS="$FLAGS -Dnoredist" +fi + +if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then + echo "Adding simulator flag to the maven build" + FLAGS="$FLAGS -Dsimulator" +fi + +if [ "%{_servletengine}" == "jetty" ] ; then + echo "Building with Jetty" + FLAGS="$FLAGS -Djetty" else - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn default packaging simulator ..." - mvn -Psystemvm -Dsimulator clean package - else - echo "Executing mvn default packaging without simulator ..." - mvn -Psystemvm clean package - fi -fi + echo "Building with Tomcat" + FLAGS="$FLAGS -Dcatalina" +fi + +mvn -Psystemvm -DskipTests $FLAGS clean package %install [ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} @@ -224,8 +216,9 @@ mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management mkdir -p ${RPM_BUILD_ROOT}%{_initrddir} -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d +mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin # Common mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts @@ -234,13 +227,12 @@ mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/ mkdir -p ${RPM_BUILD_ROOT}%/usr/bin cp -r scripts/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts install -D systemvm/dist/systemvm.iso ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.iso -install -D systemvm/dist/systemvm.zip ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.zip install python/lib/cloud_utils.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py cp -r python/lib/cloudutils ${RPM_BUILD_ROOT}%{python_sitearch}/ python -m py_compile ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py python -m compileall ${RPM_BUILD_ROOT}%{python_sitearch}/cloudutils cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -cp packaging/centos63/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin +cp packaging/common/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco cp -r plugins/network-elements/cisco-vnmc/scripts/network/cisco/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco @@ -251,17 +243,17 @@ mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management +mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/run -# Specific for tomcat -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -ln -sf /usr/share/tomcat/bin ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin +# Servlet Engine Config +echo "%{_servletengine}" > ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/servlet-engine +/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/servlet-engine.out ln -sf /etc/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/conf -ln -sf /usr/share/tomcat/lib ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib ln -sf /var/log/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/logs ln -sf /var/cache/%{name}/management/temp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/temp ln -sf /var/cache/%{name}/management/work ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/work - -/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/catalina.out +cp -r client/target/conf/* ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/ +cp -r client/%{_servletengine}/target/cloudstack-%{_servletengine}-standalone/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/ install -D client/target/utilities/bin/cloud-migrate-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-migrate-databases install -D client/target/utilities/bin/cloud-set-guest-password ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-password @@ -273,36 +265,22 @@ install -D client/target/utilities/bin/cloud-setup-baremetal ${RPM_BUILD_ROOT}%{ install -D client/target/utilities/bin/cloud-sysvmadm ${RPM_BUILD_ROOT}%{_bindir}/%{name}-sysvmadm install -D client/target/utilities/bin/cloud-update-xenserver-licenses ${RPM_BUILD_ROOT}%{_bindir}/%{name}-update-xenserver-licenses -cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup +cp setup/db/*.* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup cp -r client/target/cloud-client-ui-%{_maventag}/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client # Don't package the scripts in the management webapp rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms -for name in db.properties log4j-cloud.xml tomcat6-nonssl.conf tomcat6-ssl.conf server-ssl.xml server-nonssl.xml \ - catalina.policy catalina.properties classpath.conf tomcat-users.xml web.xml environment.properties java.security.ciphers ; do - mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name -done - -ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \ - ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml - -mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client - install python/bindir/cloud-external-ipallocator.py ${RPM_BUILD_ROOT}%{_bindir}/%{name}-external-ipallocator.py install -D client/target/pythonlibs/jasypt-1.9.2.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar -install -D packaging/centos63/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator -install -D packaging/centos63/cloud-management.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-management -install -D packaging/centos63/cloud-management.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}-management -install -D packaging/centos63/tomcat.sh ${RPM_BUILD_ROOT}%{_initrddir}/tomcat.sh +install -D packaging/common/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator +install -D packaging/common/lsb-init/cloud-management.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-management +install -D server/target/conf/cloudstack-sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management +install -D server/target/conf/cloudstack-limits.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloudstack-limits.conf +install -D packaging/common/cloud-management.sh ${RPM_BUILD_ROOT}%{_initrddir}/cloudstack-management.sh -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work @@ -315,7 +293,7 @@ mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins -install -D packaging/centos63/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent +install -D packaging/common/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent install -D agent/target/transformed/agent.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties install -D agent/target/transformed/log4j-cloud.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/log4j-cloud.xml @@ -334,9 +312,11 @@ install -D usage/target/cloud-usage-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir install -D usage/target/transformed/db.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/db.properties install -D usage/target/transformed/log4j-cloud_usage.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/log4j-cloud.xml cp usage/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib/ -install -D packaging/centos63/cloud-usage.rc ${RPM_BUILD_ROOT}/%{_sysconfdir}/init.d/%{name}-usage +install -D packaging/centos6/cloud-usage.rc ${RPM_BUILD_ROOT}/%{_sysconfdir}/init.d/%{name}-usage +mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/run mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ + # CLI cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/ install cloud-cli/cloudapis/cloud.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py @@ -377,11 +357,6 @@ fi id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -c "CloudStack unprivileged user" \ -r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true -# set max file descriptors for cloud user to 4096 -sed -i /"cloud hard nofile"/d /etc/security/limits.conf -sed -i /"cloud soft nofile"/d /etc/security/limits.conf -echo "cloud hard nofile 4096" >> /etc/security/limits.conf -echo "cloud soft nofile 4096" >> /etc/security/limits.conf rm -rf %{_localstatedir}/cache/cloud rm -rf %{_localstatedir}/cache/cloudstack # user harcoded here, also hardcoded on wscript @@ -393,6 +368,8 @@ if [ -d "%{_sysconfdir}/cloud" ] ; then fi %post management +touch %{_localstatedir}/run/%{name}-management.pid +chown cloud. %{_localstatedir}/run/%{name}-management.pid if [ "$1" == "1" ] ; then /sbin/chkconfig --add cloudstack-management > /dev/null 2>&1 || true /sbin/chkconfig --level 345 cloudstack-management on > /dev/null 2>&1 || true @@ -505,6 +482,8 @@ if [ "$1" == "0" ] ; then fi %post usage +touch %{_localstatedir}/run/%{name}-usage.pid +chown cloud. %{_localstatedir}/run/%{name}-usage.pid if [ -f "%{_sysconfdir}/%{name}/management/db.properties" ]; then echo Replacing db.properties with management server db.properties rm -f %{_sysconfdir}/%{name}/usage/db.properties @@ -522,34 +501,35 @@ fi #No default permission as the permission setup is complex %files management %defattr(-,root,root,-) -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost/client %dir %{_datadir}/%{name}-management %dir %attr(0770,root,cloud) %{_localstatedir}/%{name}/mnt %dir %attr(0770,cloud,cloud) %{_localstatedir}/%{name}/management %dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/work -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/temp +%dir %attr(0770,cloud,cloud) %{_localstatedir}/cache/%{name}/management/work +%dir %attr(0770,cloud,cloud) %{_localstatedir}/cache/%{name}/management/temp %dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/management -%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-management +%config(noreplace) %{_sysconfdir}/sudoers.d/%{name}-management +%config(noreplace) %{_sysconfdir}/security/limits.d/cloudstack-limits.conf %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties %config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-nonssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-ssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/server-ssl.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/server-nonssl.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/commands.properties +%config(noreplace) %{_sysconfdir}/%{name}/management/ehcache.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat.conf +%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf %config(noreplace) %{_sysconfdir}/%{name}/management/catalina.policy %config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/server-nonssl.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/server-ssl.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/cloudmanagementserver.keystore +%config(noreplace) %{_sysconfdir}/%{name}/management/logging.properties %config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml %config(noreplace) %{_sysconfdir}/%{name}/management/web.xml %config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties %config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers %config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties %attr(0755,root,root) %{_initrddir}/%{name}-management -%attr(0755,root,root) %{_initrddir}/tomcat.sh +%attr(0755,root,root) %{_initrddir}/cloudstack-management.sh +%config(noreplace) %{_sysconfdir}/%{name}/management/servlet-engine %attr(0755,root,root) %{_bindir}/%{name}-setup-management %attr(0755,root,root) %{_bindir}/%{name}-update-xenserver-licenses @@ -567,7 +547,6 @@ fi %attr(0755,root,root) %{_bindir}/%{name}-sysvmadm %attr(0755,root,root) %{_bindir}/%{name}-setup-encryption %{_datadir}/%{name}-management/setup/*.sql -%{_datadir}/%{name}-management/setup/db/*.sql %{_datadir}/%{name}-management/setup/*.sh %{_datadir}/%{name}-management/setup/server-setup.xml %attr(0755,root,root) %{_bindir}/%{name}-external-ipallocator.py @@ -575,7 +554,7 @@ fi %dir %attr(0770,root,root) %{_localstatedir}/log/%{name}/ipallocator %{_defaultdocdir}/%{name}-management-%{version}/LICENSE %{_defaultdocdir}/%{name}-management-%{version}/NOTICE -%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/catalina.out +%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/servlet-engine.out %files agent %attr(0755,root,root) %{_bindir}/%{name}-setup-agent @@ -598,7 +577,6 @@ fi %attr(0755,root,root) %{_datadir}/%{name}-common/scripts %attr(0755,root,root) /usr/bin/cloudstack-sccs %attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.iso -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.zip %attr(0644,root,root) %{python_sitearch}/cloud_utils.py %attr(0644,root,root) %{python_sitearch}/cloud_utils.pyc %attr(0644,root,root) %{python_sitearch}/cloudutils/* @@ -635,6 +613,10 @@ fi %attr(0755,root,root) %{_bindir}/cloudstack-setup-baremetal %changelog +* Thu Jun 4 2015 Rafael da Fonseca 4.6.0 +- Big package refurbishment +- Embedded Tomcat and Jetty support + * Thu Apr 30 2015 Rohit Yadav 4.6.0 - Remove awsapi package diff --git a/packaging/centos63/replace.properties b/packaging/centos6/replace.properties similarity index 100% rename from packaging/centos63/replace.properties rename to packaging/centos6/replace.properties diff --git a/packaging/centos63/cloud-management.rc b/packaging/centos63/cloud-management.rc deleted file mode 100755 index 6d2874854ee7..000000000000 --- a/packaging/centos63/cloud-management.rc +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# cloudstack-management This shell script takes care of starting and stopping Tomcat -# -# chkconfig: - 80 20 -# -### BEGIN INIT INFO -# Provides: tomcat6 -# Required-Start: $network $syslog -# Required-Stop: $network $syslog -# Default-Start: -# Default-Stop: -# Description: Release implementation for Servlet 2.5 and JSP 2.1 -# Short-Description: start and stop tomcat -### END INIT INFO -# -# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot -# - heavily rewritten by Deepak Bhole and Jason Corley -# - -if [ -r /etc/rc.d/init.d/functions ]; then - . /etc/rc.d/init.d/functions -fi -if [ -r /lib/lsb/init-functions ]; then - . /lib/lsb/init-functions -fi - - -NAME="$(basename $0)" -export SERVICE_NAME="$NAME" -stop() { - SHUTDOWN_WAIT="30" - count="0" - if [ -f /var/run/${NAME}.pid ]; then - pid=`cat /var/run/${NAME}.pid` - kill $pid &>/dev/null - until [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ] || \ - [ "$count" -gt "$SHUTDOWN_WAIT" ] - do - sleep 1 - let count="${count}+1" - done - if [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ]; then - log_success_msg "Stopping ${NAME}:" - rm -f /var/run/${NAME}.pid - rm -f /var/lock/subsys/${NAME} - else - log_failure_msg "Stopping ${NAME}:" - fi - else - echo "Cannot find PID file of ${NAME}" - log_failure_msg "Stopping ${NAME}:" - fi -} - -set_ulimit() { - fd_limit=`ulimit -n` - if [ "$fd_limit" != "4096" ]; then - user=`whoami` - if [ $user == "root" ]; then - ulimit -n 4096 - fi - fi -} - -handle_pid_file() { - if [ "$1" -ne 0 ] && [ "$1" -ne 3 ]; then - echo "The pid file locates at /var/run/${NAME}.pid and lock file at /var/lock/subsys/${NAME}. - Starting ${NAME} will take care of them or you can manually clean up." - fi -} - -start() { - readpath=$(readlink -f $0) - source `dirname $readpath`/tomcat.sh -} - -# See how we were called. -case "$1" in - status) - status ${NAME} - RETVAL=$? - handle_pid_file $RETVAL - ;; - stop) - stop - ;; - restart) - stop - set start - set_ulimit - start - ;; - *) - set_ulimit - start -esac - -exit $RETVAL diff --git a/packaging/centos63/cloud-management.sysconfig b/packaging/centos63/cloud-management.sysconfig deleted file mode 100644 index cbc8b8b36c1c..000000000000 --- a/packaging/centos63/cloud-management.sysconfig +++ /dev/null @@ -1,23 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This file is loaded in /etc/init.d/vmopsmanagement -# ATM we only do two things here: - -dummy=1 ; export TOMCAT_CFG=/etc/cloudstack/management/tomcat6.conf ; . /etc/cloudstack/management/tomcat6.conf -#-------------------------- - diff --git a/packaging/centos63/cloud-usage.rc b/packaging/centos63/cloud-usage.rc deleted file mode 100755 index 774113745d75..000000000000 --- a/packaging/centos63/cloud-usage.rc +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: cloudstack-usage -# Required-Start: $network $local_fs -# Required-Stop: $network $local_fs -# Default-Start: 3 4 5 -# Default-Stop: 0 1 2 6 -# Short-Description: Start/stop Apache CloudStack Usage Monitor -# Description: This scripts Starts/Stops the Apache CloudStack Usage Monitor -## The CloudStack Usage Monitor is a part of the Apache CloudStack project and is used -## for storing usage statistics from instances. -## JSVC (Java daemonizing) is used for starting and stopping the usage monitor. -### END INIT INFO - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -. /etc/rc.d/init.d/functions - -SHORTNAME="cloudstack-usage" -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGDIR=/var/log/cloudstack/usage -LOGFILE=${LOGDIR}/usage.log -PROGNAME="CloudStack Usage Monitor" -CLASS="com.cloud.usage.UsageServer" -PROG="jsvc" -DAEMON="/usr/bin/jsvc" -USER=cloud - -unset OPTIONS -[ -r /etc/sysconfig/default/"$SHORTNAME" ] && source /etc/sysconfig/default/"$SHORTNAME" - -setJavaHome() { - # use $JAVA_HOME if defined - if [ -n "$JAVA_HOME" ] ; then - return - fi - - # try java first - java=$(which java 2>/dev/null || :) - - # try javac if java is not found - if [ -z "$java" ] ; then - java=$(which javac 2>/dev/null || :) - fi - - if [ -n "$java" ] ; then - JAVA_HOME=$(dirname $(dirname $(readlink -e $java))) - export JAVA_HOME - return - fi - - # didnt find java home. exiting with error - exit 1 -} - -setJavaHome - -SCP="" -DCP="" -UCP=`ls /usr/share/cloudstack-usage/cloud-usage-*.jar`":"`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':'` -JCP="/usr/share/java/commons-daemon.jar":"/usr/share/java/mysql-connector-java.jar" - -# We need to append the JSVC daemon and mysql-connector JAR to the classpath -# AgentShell implements the JSVC daemon methods -export CLASSPATH="$SCP:$DCP:$UCP:$JCP:/etc/cloudstack/usage" - -start() { - if [ -s "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then - echo "$PROGNAME apparently already running" - exit 0 - fi - - if hostname --fqdn >/dev/null 2>&1 ; then - true - else - echo "The host name does not resolve properly to an IP address. Cannot start $PROGNAME" - exit 1 - fi - - echo -n "Starting $PROGNAME" "$SHORTNAME" - - if daemon --pidfile $PIDFILE $DAEMON -home "$JAVA_HOME" -cp "$CLASSPATH" -pidfile "$PIDFILE" -user "$USER" \ - -errfile $LOGDIR/cloudstack-usage.err -outfile $LOGDIR/cloudstack-usage.out -Dpid=$$ $CLASS - RETVAL=$? - then - rc=0 - sleep 1 - if ! kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then - failure - rc=1 - fi - else - rc=1 - fi - - if [ $rc -eq 0 ]; then - success - else - failure - rm -f "$PIDFILE" - fi - echo -} - -stop() { - echo -n "Stopping $PROGNAME" "$SHORTNAME" - killproc -p $PIDFILE $DAEMON - if [ "$?" -eq 0 ]; then - success - else - failure - fi - rm -f "$PIDFILE" - echo -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p $PIDFILE $SHORTNAME - RETVAL=$? - ;; - restart | force-reload) - stop - sleep 3 - start - ;; - *) - echo "Usage: $0 {start|stop|restart|force-reload|status}" - RETVAL=3 -esac - -exit $RETVAL - diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec deleted file mode 100644 index a1940963f3e8..000000000000 --- a/packaging/centos63/cloud.spec +++ /dev/null @@ -1,644 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -%define __os_install_post %{nil} -%global debug_package %{nil} - -# DISABLE the post-percentinstall java repacking and line number stripping -# we need to find a way to just disable the java repacking and line number stripping, but not the autodeps - -Name: cloudstack -Summary: CloudStack IaaS Platform -#http://fedoraproject.org/wiki/PackageNamingGuidelines#Pre-Release_packages -%if "%{?_prerelease}" != "" -%define _maventag %{_ver}-SNAPSHOT -Release: %{_rel}%{dist} -%else -%define _maventag %{_ver} -Release: %{_rel}%{dist} -%endif - -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} - -Version: %{_ver} -License: ASL 2.0 -Vendor: Apache CloudStack -Packager: Apache CloudStack -Group: System Environment/Libraries -# FIXME do groups for every single one of the subpackages -Source0: %{name}-%{_maventag}.tgz -BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build - -BuildRequires: java-1.7.0-openjdk-devel -BuildRequires: tomcat6 -BuildRequires: ws-commons-util -BuildRequires: jpackage-utils -BuildRequires: gcc -BuildRequires: glibc-devel -BuildRequires: /usr/bin/mkisofs -BuildRequires: MySQL-python -#BuildRequires: maven => 3.0.0 - -%description -CloudStack is a highly-scalable elastic, open source, -intelligent IaaS cloud implementation. - -%package management -Summary: CloudStack management server UI -Requires: tomcat6 -Requires: java-1.7.0-openjdk -Requires: python -Requires: bash -Requires: bzip2 -Requires: gzip -Requires: unzip -Requires: /sbin/mount.nfs -Requires: openssh-clients -Requires: nfs-utils -Requires: wget -Requires: mysql -Requires: mysql-connector-java -Requires: ws-commons-util -Requires: jpackage-utils -Requires: sudo -Requires: /sbin/service -Requires: /sbin/chkconfig -Requires: /usr/bin/ssh-keygen -Requires: mkisofs -Requires: MySQL-python -Requires: python-paramiko -Requires: ipmitool -Requires: %{name}-common = %{_ver} -Obsoletes: cloud-client < 4.1.0 -Obsoletes: cloud-client-ui < 4.1.0 -Obsoletes: cloud-server < 4.1.0 -Obsoletes: cloud-test < 4.1.0 -Provides: cloud-client -Group: System Environment/Libraries -%description management -The CloudStack management server is the central point of coordination, -management, and intelligence in CloudStack. - -%package common -Summary: Apache CloudStack common files and scripts -Requires: python -Obsoletes: cloud-test < 4.1.0 -Obsoletes: cloud-scripts < 4.1.0 -Obsoletes: cloud-utils < 4.1.0 -Obsoletes: cloud-core < 4.1.0 -Obsoletes: cloud-deps < 4.1.0 -Obsoletes: cloud-python < 4.1.0 -Obsoletes: cloud-setup < 4.1.0 -Obsoletes: cloud-cli < 4.1.0 -Obsoletes: cloud-daemonize < 4.1.0 -Group: System Environment/Libraries -%description common -The Apache CloudStack files shared between agent and management server - -%package agent -Summary: CloudStack Agent for KVM hypervisors -Requires: openssh-clients -Requires: java-1.7.0-openjdk -Requires: %{name}-common = %{_ver} -Requires: libvirt -Requires: bridge-utils -Requires: ebtables -Requires: iptables -Requires: ethtool -Requires: vconfig -Requires: ipset -Requires: jsvc -Requires: jakarta-commons-daemon -Requires: jakarta-commons-daemon-jsvc -Requires: net-tools -Requires: perl -Requires: libvirt-python -Requires: qemu-img -Requires: qemu-kvm -Provides: cloud-agent -Obsoletes: cloud-agent < 4.1.0 -Obsoletes: cloud-agent-libs < 4.1.0 -Obsoletes: cloud-test < 4.1.0 -Group: System Environment/Libraries -%description agent -The CloudStack agent for KVM hypervisors - -%package baremetal-agent -Summary: CloudStack baremetal agent -Requires: tftp-server -Requires: xinetd -Requires: syslinux -Requires: chkconfig -Requires: dhcp -Requires: httpd -Group: System Environment/Libraries -%description baremetal-agent -The CloudStack baremetal agent - -%package usage -Summary: CloudStack Usage calculation server -Requires: java-1.7.0-openjdk -Requires: jsvc -Requires: jakarta-commons-daemon -Requires: jakarta-commons-daemon-jsvc -Group: System Environment/Libraries -Obsoletes: cloud-usage < 4.1.0 -Provides: cloud-usage -%description usage -The CloudStack usage calculation service - -%package cli -Summary: Apache CloudStack CLI -Provides: python-cloudmonkey -Provides: python-marvin -Group: System Environment/Libraries -%description cli -Apache CloudStack command line interface - -%if "%{_ossnoss}" == "noredist" -%package mysql-ha -Summary: Apache CloudStack Balancing Strategy for MySQL -Requires: mysql-connector-java -Requires: tomcat6 -Group: System Environmnet/Libraries -%description mysql-ha -Apache CloudStack Balancing Strategy for MySQL - -%endif - -%prep -echo Doing CloudStack build - -%setup -q -n %{name}-%{_maventag} - -%build - -cp packaging/centos63/replace.properties build/replace.properties -echo VERSION=%{_maventag} >> build/replace.properties -echo PACKAGE=%{name} >> build/replace.properties -touch build/gitrev.txt -echo $(git rev-parse HEAD) > build/gitrev.txt - -if [ "%{_ossnoss}" == "NOREDIST" -o "%{_ossnoss}" == "noredist" ] ; then - echo "Executing mvn packaging with non-redistributable libraries" - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn noredist packaging with simulator ..." - mvn -Psystemvm -Dnoredist -Dsimulator clean package - else - echo "Executing mvn noredist packaging without simulator..." - mvn -Psystemvm -Dnoredist clean package - fi -else - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn default packaging simulator ..." - mvn -Psystemvm -Dsimulator clean package - else - echo "Executing mvn default packaging without simulator ..." - mvn -Psystemvm clean package - fi -fi - -%install -[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} -# Common directories -mkdir -p ${RPM_BUILD_ROOT}%{_bindir} -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/ipallocator -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management -mkdir -p ${RPM_BUILD_ROOT}%{_initrddir} -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d - -# Common -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms -mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/ -mkdir -p ${RPM_BUILD_ROOT}%/usr/bin -cp -r scripts/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -install -D systemvm/dist/systemvm.iso ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.iso -install -D systemvm/dist/systemvm.zip ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.zip -install python/lib/cloud_utils.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py -cp -r python/lib/cloudutils ${RPM_BUILD_ROOT}%{python_sitearch}/ -python -m py_compile ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py -python -m compileall ${RPM_BUILD_ROOT}%{python_sitearch}/cloudutils -cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -cp packaging/centos63/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin - -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco -cp -r plugins/network-elements/cisco-vnmc/scripts/network/cisco/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco - -# Management -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/ -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management - -# Specific for tomcat -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -ln -sf /usr/share/tomcat6/bin ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin -ln -sf /etc/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/conf -ln -sf /usr/share/tomcat6/lib ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib -ln -sf /var/log/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/logs -ln -sf /var/cache/%{name}/management/temp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/temp -ln -sf /var/cache/%{name}/management/work ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/work - -/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/catalina.out - -install -D client/target/utilities/bin/cloud-migrate-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-migrate-databases -install -D client/target/utilities/bin/cloud-set-guest-password ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-password -install -D client/target/utilities/bin/cloud-set-guest-sshkey ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-sshkey -install -D client/target/utilities/bin/cloud-setup-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-databases -install -D client/target/utilities/bin/cloud-setup-encryption ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-encryption -install -D client/target/utilities/bin/cloud-setup-management ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-management -install -D client/target/utilities/bin/cloud-setup-baremetal ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-baremetal -install -D client/target/utilities/bin/cloud-sysvmadm ${RPM_BUILD_ROOT}%{_bindir}/%{name}-sysvmadm -install -D client/target/utilities/bin/cloud-update-xenserver-licenses ${RPM_BUILD_ROOT}%{_bindir}/%{name}-update-xenserver-licenses - -cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup -cp -r client/target/cloud-client-ui-%{_maventag}/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client - -# Don't package the scripts in the management webapp -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms - -for name in db.properties log4j-cloud.xml tomcat6-nonssl.conf tomcat6-ssl.conf server-ssl.xml server-nonssl.xml commons-logging.properties \ - catalina.policy catalina.properties classpath.conf tomcat-users.xml web.xml environment.properties java.security.ciphers; do - mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name -done - -ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \ - ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml - -mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client - -install python/bindir/cloud-external-ipallocator.py ${RPM_BUILD_ROOT}%{_bindir}/%{name}-external-ipallocator.py -install -D client/target/pythonlibs/jasypt-1.9.2.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar - -install -D packaging/centos63/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator -install -D packaging/centos63/cloud-management.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-management -install -D packaging/centos63/cloud-management.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}-management -install -D packaging/centos63/tomcat.sh ${RPM_BUILD_ROOT}%{_initrddir}/tomcat.sh - -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent - -# KVM Agent -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins -install -D packaging/centos63/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent -install -D agent/target/transformed/agent.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties -install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties -install -D agent/target/transformed/log4j-cloud.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/log4j-cloud.xml -install -D agent/target/transformed/cloud-setup-agent ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-agent -install -D agent/target/transformed/cloudstack-agent-upgrade ${RPM_BUILD_ROOT}%{_bindir}/%{name}-agent-upgrade -install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook -install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh -install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh -install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar -cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib - -# Usage server -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib -install -D usage/target/cloud-usage-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/cloud-usage-%{_maventag}.jar -install -D usage/target/transformed/db.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/db.properties -install -D usage/target/transformed/log4j-cloud_usage.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/log4j-cloud.xml -cp usage/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib/ -install -D packaging/centos63/cloud-usage.rc ${RPM_BUILD_ROOT}/%{_sysconfdir}/init.d/%{name}-usage -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ - -# CLI -cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/ -install cloud-cli/cloudapis/cloud.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py - -# MYSQL HA -if [ "x%{_ossnoss}" == "xnoredist" ] ; then - mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib - cp -r plugins/database/mysql-ha/target/cloud-plugin-database-mysqlha-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib -fi - -#License files from whisker -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE -if [ "x%{_ossnoss}" == "xnoredist" ] ; then - install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE - install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE -fi - -%clean -[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} - -%preun management -/sbin/service cloudstack-management stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-management > /dev/null 2>&1 || true - /sbin/service cloudstack-management stop > /dev/null 2>&1 || true -fi - -%pre management -id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -c "CloudStack unprivileged user" \ - -r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true - -# set max file descriptors for cloud user to 4096 -sed -i /"cloud hard nofile"/d /etc/security/limits.conf -sed -i /"cloud soft nofile"/d /etc/security/limits.conf -echo "cloud hard nofile 4096" >> /etc/security/limits.conf -echo "cloud soft nofile 4096" >> /etc/security/limits.conf -rm -rf %{_localstatedir}/cache/cloud -rm -rf %{_localstatedir}/cache/cloudstack -# user harcoded here, also hardcoded on wscript - -# save old configs if they exist (for upgrade). Otherwise we may lose them -# when the old packages are erased. There are a lot of properties files here. -if [ -d "%{_sysconfdir}/cloud" ] ; then - mv %{_sysconfdir}/cloud %{_sysconfdir}/cloud.rpmsave -fi - -%post management -if [ "$1" == "1" ] ; then - /sbin/chkconfig --add cloudstack-management > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-management on > /dev/null 2>&1 || true -fi - -if [ ! -f %{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util ] ; then - echo Please download vhd-util from http://download.cloud.com.s3.amazonaws.com/tools/vhd-util and put it in - echo %{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/ -fi - -# change cloud user's home to 4.1+ version if needed. Would do this via 'usermod', but it -# requires that cloud user not be in use, so RPM could not be installed while management is running -if getent passwd cloud | grep -q /var/lib/cloud; then - sed -i 's/\/var\/lib\/cloud\/management/\/var\/cloudstack\/management/g' /etc/passwd -fi - -# if saved configs from upgrade exist, copy them over -if [ -f "%{_sysconfdir}/cloud.rpmsave/management/db.properties" ]; then - mv %{_sysconfdir}/%{name}/management/db.properties %{_sysconfdir}/%{name}/management/db.properties.rpmnew - cp -p %{_sysconfdir}/cloud.rpmsave/management/db.properties %{_sysconfdir}/%{name}/management - if [ -f "%{_sysconfdir}/cloud.rpmsave/management/key" ]; then - cp -p %{_sysconfdir}/cloud.rpmsave/management/key %{_sysconfdir}/%{name}/management - fi - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/management/db.properties %{_sysconfdir}/cloud.rpmsave/management/db.properties.rpmsave -fi - -# Choose server.xml and tomcat.conf links based on old config, if exists -serverxml=%{_sysconfdir}/%{name}/management/server.xml -oldserverxml=%{_sysconfdir}/cloud.rpmsave/management/server.xml -if [ -f $oldserverxml ] || [ -L $oldserverxml ]; then - if stat -c %N $oldserverxml| grep -q server-ssl ; then - if [ -f $serverxml ] || [ -L $serverxml ]; then rm -f $serverxml; fi - ln -s %{_sysconfdir}/%{name}/management/server-ssl.xml $serverxml - echo Please verify the server.xml in saved folder, and make the required changes manually , saved folder available at $oldserverxml - else - if [ -f $serverxml ] || [ -L $serverxml ]; then rm -f $serverxml; fi - ln -s %{_sysconfdir}/%{name}/management/server-nonssl.xml $serverxml - echo Please verify the server.xml in saved folder, and make the required changes manually , saved folder available at $oldserverxml - - fi -else - echo "Unable to determine ssl settings for server.xml, please run cloudstack-setup-management manually" -fi - - -tomcatconf=%{_sysconfdir}/%{name}/management/tomcat6.conf -oldtomcatconf=%{_sysconfdir}/cloud.rpmsave/management/tomcat6.conf -if [ -f $oldtomcatconf ] || [ -L $oldtomcatconf ] ; then - if stat -c %N $oldtomcatconf| grep -q tomcat6-ssl ; then - if [ -f $tomcatconf ] || [ -L $tomcatconf ]; then rm -f $tomcatconf; fi - ln -s %{_sysconfdir}/%{name}/management/tomcat6-ssl.conf $tomcatconf - echo Please verify the tomcat6.conf in saved folder, and make the required changes manually , saved folder available at $oldtomcatconf - else - if [ -f $tomcatconf ] || [ -L $tomcatconf ]; then rm -f $tomcatconf; fi - ln -s %{_sysconfdir}/%{name}/management/tomcat6-nonssl.conf $tomcatconf - echo Please verify the tomcat6.conf in saved folder, and make the required changes manually , saved folder available at $oldtomcatconf - fi -else - echo "Unable to determine ssl settings for tomcat.conf, please run cloudstack-setup-management manually" -fi - -if [ -f "%{_sysconfdir}/cloud.rpmsave/management/cloud.keystore" ]; then - cp -p %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore %{_sysconfdir}/%{name}/management/cloudmanagementserver.keystore - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore.rpmsave -fi - -%preun agent -/sbin/service cloudstack-agent stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-agent > /dev/null 2>&1 || true - /sbin/service cloudstack-agent stop > /dev/null 2>&1 || true -fi - -%pre agent - -# save old configs if they exist (for upgrade). Otherwise we may lose them -# when the old packages are erased. There are a lot of properties files here. -if [ -d "%{_sysconfdir}/cloud" ] ; then - mv %{_sysconfdir}/cloud %{_sysconfdir}/cloud.rpmsave -fi - -%post agent -if [ "$1" == "1" ] ; then - echo "Running %{_bindir}/%{name}-agent-upgrade to update bridge name for upgrade from CloudStack 4.0.x (and before) to CloudStack 4.1 (and later)" - %{_bindir}/%{name}-agent-upgrade - if [ ! -d %{_sysconfdir}/libvirt/hooks ] ; then - mkdir %{_sysconfdir}/libvirt/hooks - fi - cp -a ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook %{_sysconfdir}/libvirt/hooks/qemu - /sbin/service libvirtd restart - /sbin/chkconfig --add cloudstack-agent > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-agent on > /dev/null 2>&1 || true -fi - -# if saved configs from upgrade exist, copy them over -if [ -f "%{_sysconfdir}/cloud.rpmsave/agent/agent.properties" ]; then - mv %{_sysconfdir}/%{name}/agent/agent.properties %{_sysconfdir}/%{name}/agent/agent.properties.rpmnew - cp -p %{_sysconfdir}/cloud.rpmsave/agent/agent.properties %{_sysconfdir}/%{name}/agent - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/agent/agent.properties %{_sysconfdir}/cloud.rpmsave/agent/agent.properties.rpmsave -fi - -%preun usage -/sbin/service cloudstack-usage stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-usage > /dev/null 2>&1 || true - /sbin/service cloudstack-usage stop > /dev/null 2>&1 || true -fi - -%post usage -if [ -f "%{_sysconfdir}/%{name}/management/db.properties" ]; then - echo Replacing db.properties with management server db.properties - rm -f %{_sysconfdir}/%{name}/usage/db.properties - ln -s %{_sysconfdir}/%{name}/management/db.properties %{_sysconfdir}/%{name}/usage/db.properties - /sbin/chkconfig --add cloudstack-usage > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-usage on > /dev/null 2>&1 || true -fi - -if [ -f "%{_sysconfdir}/%{name}/management/key" ]; then - echo Replacing key with management server key - rm -f %{_sysconfdir}/%{name}/usage/key - ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key -fi - -#No default permission as the permission setup is complex -%files management -%defattr(-,root,root,-) -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost/client -%dir %{_datadir}/%{name}-management -%dir %attr(0770,root,cloud) %{_localstatedir}/%{name}/mnt -%dir %attr(0770,cloud,cloud) %{_localstatedir}/%{name}/management -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/work -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/temp -%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/management -%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-management -%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-nonssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-ssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.policy -%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/server-nonssl.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/server-ssl.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/web.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers -%config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties -%attr(0755,root,root) %{_initrddir}/%{name}-management -%attr(0755,root,root) %{_initrddir}/tomcat.sh - -%attr(0755,root,root) %{_bindir}/%{name}-setup-management -%attr(0755,root,root) %{_bindir}/%{name}-update-xenserver-licenses -%{_datadir}/%{name}-management/webapps -%{_datadir}/%{name}-management/bin -%{_datadir}/%{name}-management/conf -%{_datadir}/%{name}-management/lib -%{_datadir}/%{name}-management/logs -%{_datadir}/%{name}-management/temp -%{_datadir}/%{name}-management/work -%attr(0755,root,root) %{_bindir}/%{name}-setup-databases -%attr(0755,root,root) %{_bindir}/%{name}-migrate-databases -%attr(0755,root,root) %{_bindir}/%{name}-set-guest-password -%attr(0755,root,root) %{_bindir}/%{name}-set-guest-sshkey -%attr(0755,root,root) %{_bindir}/%{name}-sysvmadm -%attr(0755,root,root) %{_bindir}/%{name}-setup-encryption -%{_datadir}/%{name}-management/setup/*.sql -%{_datadir}/%{name}-management/setup/db/*.sql -%{_datadir}/%{name}-management/setup/*.sh -%{_datadir}/%{name}-management/setup/server-setup.xml -%attr(0755,root,root) %{_bindir}/%{name}-external-ipallocator.py -%attr(0755,root,root) %{_initrddir}/%{name}-ipallocator -%dir %attr(0770,root,root) %{_localstatedir}/log/%{name}/ipallocator -%{_defaultdocdir}/%{name}-management-%{version}/LICENSE -%{_defaultdocdir}/%{name}-management-%{version}/NOTICE -%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/catalina.out - -%files agent -%attr(0755,root,root) %{_bindir}/%{name}-setup-agent -%attr(0755,root,root) %{_bindir}/%{name}-agent-upgrade -%attr(0755,root,root) %{_bindir}/%{name}-ssh -%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-agent -%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh -%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco -%config(noreplace) %{_sysconfdir}/%{name}/agent -%dir %{_localstatedir}/log/%{name}/agent -%attr(0644,root,root) %{_datadir}/%{name}-agent/lib/*.jar -%attr(0755,root,root) %{_datadir}/%{name}-agent/lib/libvirtqemuhook -%dir %{_datadir}/%{name}-agent/plugins -%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE -%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE - -%files common -%dir %attr(0755,root,root) %{python_sitearch}/cloudutils -%dir %attr(0755,root,root) %{_datadir}/%{name}-common/vms -%attr(0755,root,root) %{_datadir}/%{name}-common/scripts -%attr(0755,root,root) /usr/bin/cloudstack-sccs -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.iso -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.zip -%attr(0644,root,root) %{python_sitearch}/cloud_utils.py -%attr(0644,root,root) %{python_sitearch}/cloud_utils.pyc -%attr(0644,root,root) %{python_sitearch}/cloudutils/* -%attr(0644, root, root) %{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar -%{_defaultdocdir}/%{name}-common-%{version}/LICENSE -%{_defaultdocdir}/%{name}-common-%{version}/NOTICE - -%files usage -%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-usage -%attr(0644,root,root) %{_datadir}/%{name}-usage/*.jar -%attr(0644,root,root) %{_datadir}/%{name}-usage/lib/*.jar -%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/usage -%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/db.properties -%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/log4j-cloud.xml -%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE -%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE - -%files cli -%attr(0644,root,root) %{python_sitearch}/cloudapis.py -%attr(0644,root,root) %{python_sitearch}/cloudtool/__init__.py -%attr(0644,root,root) %{python_sitearch}/cloudtool/utils.py -%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE -%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE - -%if "%{_ossnoss}" == "noredist" -%files mysql-ha -%defattr(0644,cloud,cloud,0755) -%attr(0644,root,root) %{_datadir}/%{name}-mysql-ha/lib/* -%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE -%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE -%endif - -%files baremetal-agent -%attr(0755,root,root) %{_bindir}/cloudstack-setup-baremetal - -%changelog -* Thu Apr 30 2015 Rohit Yadav 4.6.0 -- Remove awsapi package - -* Fri Jul 04 2014 Hugo Trippaers 4.5.0 -- Add a package for the mysql ha module - -* Wed Oct 03 2012 Hugo Trippaers 4.1.0 -- new style spec file diff --git a/packaging/centos63/rhel7/cloudstack-management.conf b/packaging/centos63/rhel7/cloudstack-management.conf deleted file mode 100644 index 881af1a0dfcd..000000000000 --- a/packaging/centos63/rhel7/cloudstack-management.conf +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -f /var/run/cloudstack-management.pid 0644 cloud cloud - \ No newline at end of file diff --git a/packaging/centos63/tomcat.sh b/packaging/centos63/tomcat.sh deleted file mode 100644 index 0908da4696e3..000000000000 --- a/packaging/centos63/tomcat.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -. /etc/rc.d/init.d/tomcat6 start diff --git a/packaging/centos7/cloud-agent.rc b/packaging/centos7/cloud-agent.rc deleted file mode 100755 index 6cc6abc5e5f0..000000000000 --- a/packaging/centos7/cloud-agent.rc +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//') -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGDIR=/var/log/cloudstack/agent -LOGFILE=${LOGDIR}/agent.log -PROGNAME="Cloud Agent" -CLASS="com.cloud.agent.AgentShell" -JSVC=`which jsvc 2>/dev/null`; - -# exit if we don't find jsvc -if [ -z "$JSVC" ]; then - echo no jsvc found in path; - exit 1; -fi - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" - -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun" - -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME - -ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'` -PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'` - -# We need to append the JSVC daemon JAR to the classpath -# AgentShell implements the JSVC daemon methods -export CLASSPATH="/usr/share/java/commons-daemon.jar:$ACP:$PCP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts" - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - $JSVC -Xms256m -Xmx2048m -cp "$CLASSPATH" -pidfile "$PIDFILE" \ - -errfile $LOGDIR/cloudstack-agent.err -outfile $LOGDIR/cloudstack-agent.out $CLASS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - $JSVC -pidfile "$PIDFILE" -stop $CLASS - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL diff --git a/packaging/centos7/cloud-ipallocator.rc b/packaging/centos7/cloud-ipallocator.rc deleted file mode 100755 index d26287dcb3cf..000000000000 --- a/packaging/centos7/cloud-ipallocator.rc +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=`basename $0` -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGFILE=/var/log/cloudstack/ipallocator/ipallocator.log -PROGNAME="External IPAllocator" - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" -DAEMONIZE=/usr/bin/cloud-daemonize -PROG=/usr/bin/cloud-external-ipallocator.py -OPTIONS=8083 - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - daemon --check=$SHORTNAME --pidfile=${PIDFILE} "$DAEMONIZE" \ - -n "$SHORTNAME" -p "$PIDFILE" -l "$LOGFILE" "$PROG" $OPTIONS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - killproc -p ${PIDFILE} $SHORTNAME # -d 10 $SHORTNAME - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL - diff --git a/packaging/centos7/cloud-management.service b/packaging/centos7/cloud-management.service index 697ad119d932..39cca01ad267 100644 --- a/packaging/centos7/cloud-management.service +++ b/packaging/centos7/cloud-management.service @@ -16,8 +16,6 @@ # under the License. # Systemd unit file for CloudStack Management server -# -# clone tomcat service, see /usr/lib/systemd/system/tomcat.service [Unit] Description=CloudStack Management Server @@ -25,12 +23,11 @@ After=syslog.target network.target [Service] Type=forking -ExecStart=/usr/sbin/tomcat-sysd start -ExecStop=/usr/sbin/tomcat-sysd stop +ExecStart=/usr/sbin/cloudstack-management-sysd start +ExecStop=/usr/sbin/cloudstack-management-sysd stop SuccessExitStatus=143 User=cloud Group=cloud -EnvironmentFile=/etc/sysconfig/cloudstack-management [Install] WantedBy=multi-user.target diff --git a/packaging/centos7/cloud-management.sudoers b/packaging/centos7/cloud-management.sudoers deleted file mode 100644 index ad79cae27073..000000000000 --- a/packaging/centos7/cloud-management.sudoers +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -Cmnd_Alias CLOUDSTACK = /bin/mkdir, /bin/mount, /bin/umount, /bin/cp, /bin/chmod, /usr/bin/keytool, /bin/keytool - -Defaults:cloud !requiretty - -cloud ALL=(root) NOPASSWD:CLOUDSTACK diff --git a/packaging/centos7/cloud-usage.sysconfig b/packaging/centos7/cloud-usage.sysconfig index 4154fef9242b..cc879a338c7d 100755 --- a/packaging/centos7/cloud-usage.sysconfig +++ b/packaging/centos7/cloud-usage.sysconfig @@ -25,7 +25,7 @@ CLASS="com.cloud.usage.UsageServer" USER=cloud UCP=`ls /usr/share/cloudstack-usage/cloud-usage-*.jar`":"`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':'` -JCP="/usr/share/java/commons-daemon.jar":"/usr/share/java/mysql-connector-java.jar" +JCP="/usr/share/java/commons-daemon.jar" CLASSPATH="$UCP:$JCP:/etc/cloudstack/usage" diff --git a/packaging/centos7/cloud.limits b/packaging/centos7/cloud.limits deleted file mode 100644 index 7debeb290187..000000000000 --- a/packaging/centos7/cloud.limits +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cloud hard nofile 4096 -cloud soft nofile 4096 diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec index d9ed26e0a90d..96055e769e1a 100644 --- a/packaging/centos7/cloud.spec +++ b/packaging/centos7/cloud.spec @@ -43,15 +43,11 @@ Group: System Environment/Libraries Source0: %{name}-%{_maventag}.tgz BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build -BuildRequires: java-1.7.0-openjdk-devel -BuildRequires: tomcat => 7.0 -BuildRequires: ws-commons-util BuildRequires: jpackage-utils BuildRequires: gcc BuildRequires: glibc-devel BuildRequires: /usr/bin/mkisofs BuildRequires: MySQL-python -BuildRequires: maven => 3.0.0 %description CloudStack is a highly-scalable elastic, open source, @@ -59,7 +55,6 @@ intelligent IaaS cloud implementation. %package management Summary: CloudStack management server UI -Requires: tomcat => 7.0 Requires: java => 1.7.0 Requires: python Requires: bash @@ -71,8 +66,6 @@ Requires: openssh-clients Requires: nfs-utils Requires: wget Requires: mysql -Requires: mysql-connector-java -Requires: ws-commons-util Requires: jpackage-utils Requires: sudo Requires: /sbin/service @@ -137,7 +130,6 @@ Requires: java => 1.7.0 Requires: jsvc Requires: jakarta-commons-daemon Requires: jakarta-commons-daemon-jsvc -Requires: mysql-connector-java Group: System Environment/Libraries %description usage The CloudStack usage calculation service @@ -153,8 +145,6 @@ Apache CloudStack command line interface %if "%{_ossnoss}" == "noredist" %package mysql-ha Summary: Apache CloudStack Balancing Strategy for MySQL -Requires: mysql-connector-java -Requires: tomcat => 7.0 Group: System Environmnet/Libraries %description mysql-ha Apache CloudStack Balancing Strategy for MySQL @@ -179,10 +169,18 @@ if [ "%{_ossnoss}" == "NOREDIST" -o "%{_ossnoss}" == "noredist" ] ; then FLAGS="$FLAGS -Dnoredist" fi -if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then +if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then echo "Adding simulator flag to the maven build" FLAGS="$FLAGS -Dsimulator" -fi +fi + +if [ "%{_servletengine}" == "jetty" ] ; then + echo "Building with Jetty" + FLAGS="$FLAGS -Djetty" +else + echo "Building with Tomcat" + FLAGS="$FLAGS -Dcatalina" +fi mvn -Psystemvm -DskipTests $FLAGS clean package @@ -197,8 +195,8 @@ mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management mkdir -p ${RPM_BUILD_ROOT}%{_initrddir} -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin # Common mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts @@ -207,13 +205,12 @@ mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/ mkdir -p ${RPM_BUILD_ROOT}%/usr/bin cp -r scripts/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts install -D systemvm/dist/systemvm.iso ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.iso -install -D systemvm/dist/systemvm.zip ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.zip install python/lib/cloud_utils.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py cp -r python/lib/cloudutils ${RPM_BUILD_ROOT}%{python_sitearch}/ python -m py_compile ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py python -m compileall ${RPM_BUILD_ROOT}%{python_sitearch}/cloudutils cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -cp packaging/centos7/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin +cp packaging/common/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco cp -r plugins/network-elements/cisco-vnmc/scripts/network/cisco/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco @@ -226,16 +223,15 @@ mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/run -# Specific for tomcat -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -ln -sf /usr/share/tomcat/bin ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin +# Servlet Engine Config +echo "%{_servletengine}" > ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/servlet-engine +/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/servlet-engine.out ln -sf /etc/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/conf -ln -sf /usr/share/tomcat/lib ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib ln -sf /var/log/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/logs ln -sf /var/cache/%{name}/management/temp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/temp ln -sf /var/cache/%{name}/management/work ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/work - -/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/catalina.out +cp -r client/target/conf/* ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/ +cp -r client/%{_servletengine}/target/cloudstack-%{_servletengine}-standalone/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/ install -D client/target/utilities/bin/cloud-migrate-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-migrate-databases install -D client/target/utilities/bin/cloud-set-guest-password ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-password @@ -247,39 +243,22 @@ install -D client/target/utilities/bin/cloud-setup-baremetal ${RPM_BUILD_ROOT}%{ install -D client/target/utilities/bin/cloud-sysvmadm ${RPM_BUILD_ROOT}%{_bindir}/%{name}-sysvmadm install -D client/target/utilities/bin/cloud-update-xenserver-licenses ${RPM_BUILD_ROOT}%{_bindir}/%{name}-update-xenserver-licenses -cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup +cp setup/db/*.* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup cp -r client/target/cloud-client-ui-%{_maventag}/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client # Don't package the scripts in the management webapp rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms -for name in catalina.properties db.properties log4j-cloud.xml web.xml \ - server.xml commons-logging.properties environment.properties java.security.ciphers tomcat-users.xml -do - cp packaging/centos7/tomcat7/$name \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name -done - -#ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \ -# ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml - -mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client - install python/bindir/cloud-external-ipallocator.py ${RPM_BUILD_ROOT}%{_bindir}/%{name}-external-ipallocator.py install -D client/target/pythonlibs/jasypt-1.9.2.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar -install -D packaging/centos7/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator -install -D packaging/centos7/cloud-management.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}-management +install -D packaging/common/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator install -D packaging/centos7/cloud-management.service ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-management.service -install -D packaging/centos7/cloud-management.sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management -install -D packaging/centos7/cloud.limits ${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloud -touch ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name}-management.pid +install -D server/target/conf/cloudstack-sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management +install -D server/target/conf/cloudstack-limits.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloudstack-limits.conf +install -D packaging/common/cloud-management.sh ${RPM_BUILD_ROOT}/usr/sbin/%{name}-management-sysd -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work @@ -292,7 +271,7 @@ mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins -install -D packaging/centos7/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent +install -D packaging/common/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent install -D agent/target/transformed/agent.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties install -D agent/target/transformed/log4j-cloud.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/log4j-cloud.xml @@ -315,7 +294,6 @@ install -D packaging/centos7/cloud-usage.service ${RPM_BUILD_ROOT}%{_unitdir}/%{ install -D packaging/centos7/cloud-usage.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}-usage install -D packaging/centos7/cloud-usage-sysd ${RPM_BUILD_ROOT}/usr/sbin/%{name}-usage-sysd mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/run -touch ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name}-usage.pid mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ # CLI @@ -358,6 +336,8 @@ id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -c "CloudStack unprivileged us rm -rf %{_localstatedir}/cache/cloudstack %post management +touch %{_localstatedir}/run/%{name}-management.pid +chown cloud. %{_localstatedir}/run/%{name}-management.pid if [ "$1" == "1" ] ; then /usr/bin/systemctl on cloudstack-management > /dev/null 2>&1 || true fi @@ -415,6 +395,8 @@ if [ "$1" == "0" ] ; then fi %post usage +touch %{_localstatedir}/run/%{name}-usage.pid +chown cloud. %{_localstatedir}/run/%{name}-usage.pid if [ -f "%{_sysconfdir}/%{name}/management/db.properties" ]; then echo Replacing db.properties with management server db.properties rm -f %{_sysconfdir}/%{name}/usage/db.properties @@ -432,9 +414,6 @@ fi #No default permission as the permission setup is complex %files management %defattr(-,root,root,-) -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost/client %dir %{_datadir}/%{name}-management %dir %attr(0770,root,cloud) %{_localstatedir}/%{name}/mnt %dir %attr(0770,cloud,cloud) %{_localstatedir}/%{name}/management @@ -442,21 +421,29 @@ fi %dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/work %dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/temp %dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/management -%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-management +%config(noreplace) /usr/sbin/%{name}-management-sysd %config(noreplace) %{_sysconfdir}/sudoers.d/%{name}-management -%config(noreplace) %{_sysconfdir}/security/limits.d/cloud +%config(noreplace) %{_sysconfdir}/security/limits.d/cloudstack-limits.conf %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties %config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml +#%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml %config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties +%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.policy +%config(noreplace) %{_sysconfdir}/%{name}/management/cloudmanagementserver.keystore +%config(noreplace) %{_sysconfdir}/%{name}/management/logging.properties %config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml %config(noreplace) %{_sysconfdir}/%{name}/management/web.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/server.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat.conf +%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf +%config(noreplace) %{_sysconfdir}/%{name}/management/server-ssl.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/server-nonssl.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/ehcache.xml +%config(noreplace) %{_sysconfdir}/%{name}/management/commands.properties %config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties %config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers %config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties +%config(noreplace) %{_sysconfdir}/%{name}/management/servlet-engine %attr(0755,root,root) %{_unitdir}/%{name}-management.service -%attr(0755,cloud,cloud) %{_localstatedir}/run/%{name}-management.pid %attr(0755,root,root) %{_bindir}/%{name}-setup-management %attr(0755,root,root) %{_bindir}/%{name}-update-xenserver-licenses @@ -474,7 +461,6 @@ fi %attr(0755,root,root) %{_bindir}/%{name}-sysvmadm %attr(0755,root,root) %{_bindir}/%{name}-setup-encryption %{_datadir}/%{name}-management/setup/*.sql -%{_datadir}/%{name}-management/setup/db/*.sql %{_datadir}/%{name}-management/setup/*.sh %{_datadir}/%{name}-management/setup/server-setup.xml %attr(0755,root,root) %{_bindir}/%{name}-external-ipallocator.py @@ -482,7 +468,7 @@ fi %dir %attr(0770,root,root) %{_localstatedir}/log/%{name}/ipallocator %{_defaultdocdir}/%{name}-management-%{version}/LICENSE %{_defaultdocdir}/%{name}-management-%{version}/NOTICE -%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/catalina.out +%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/servlet-engine.out %files agent %attr(0755,root,root) %{_bindir}/%{name}-setup-agent @@ -505,7 +491,7 @@ fi %attr(0755,root,root) %{_datadir}/%{name}-common/scripts %attr(0755,root,root) /usr/bin/cloudstack-sccs %attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.iso -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.zip +#%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.zip %attr(0644,root,root) %{python_sitearch}/cloud_utils.py %attr(0644,root,root) %{python_sitearch}/cloud_utils.pyc %attr(0644,root,root) %{python_sitearch}/cloudutils/* @@ -522,7 +508,6 @@ fi %dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/usage %attr(0644,root,root) %{_sysconfdir}/%{name}/usage/db.properties %attr(0644,root,root) %{_sysconfdir}/%{name}/usage/log4j-cloud.xml -%attr(0644,cloud,cloud) %{_localstatedir}/run/%{name}-usage.pid %{_defaultdocdir}/%{name}-usage-%{version}/LICENSE %{_defaultdocdir}/%{name}-usage-%{version}/NOTICE @@ -545,6 +530,10 @@ fi %attr(0755,root,root) %{_bindir}/cloudstack-setup-baremetal %changelog +* Thu Jun 4 2015 Rafael da Fonseca 4.6.0 +- Big package refurbishment +- Embedded Tomcat and Jetty support + * Thu Apr 30 2015 Rohit Yadav 4.6.0 - Remove awsapi package diff --git a/packaging/centos7/cloudstack-agent.te b/packaging/centos7/cloudstack-agent.te deleted file mode 100644 index 4259e173a46f..000000000000 --- a/packaging/centos7/cloudstack-agent.te +++ /dev/null @@ -1,33 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -module cloudstack-agent 1.0; - -require { - type nfs_t; - type system_conf_t; - type mount_t; - type qemu_t; - class file unlink; - class filesystem getattr; -} - -#============= mount_t ============== -allow mount_t system_conf_t:file unlink; - -#============= qemu_t ============== -allow qemu_t nfs_t:filesystem getattr; diff --git a/packaging/centos7/cloudstack-sccs b/packaging/centos7/cloudstack-sccs deleted file mode 100644 index e05d372c7fe4..000000000000 --- a/packaging/centos7/cloudstack-sccs +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cat /usr/share/cloudstack-common/scripts/gitrev.txt diff --git a/packaging/centos7/tomcat7/catalina.properties b/packaging/centos7/tomcat7/catalina.properties deleted file mode 100644 index 282892bb763a..000000000000 --- a/packaging/centos7/tomcat7/catalina.properties +++ /dev/null @@ -1,81 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -# List of comma-separated packages that start with or equal this string -# will cause a security exception to be thrown when -# passed to checkPackageAccess unless the -# corresponding RuntimePermission ("accessClassInPackage."+package) has -# been granted. -package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans. -# -# List of comma-separated packages that start with or equal this string -# will cause a security exception to be thrown when -# passed to checkPackageDefinition unless the -# corresponding RuntimePermission ("defineClassInPackage."+package) has -# been granted. -# -# by default, no packages are restricted for definition, and none of -# the class loaders supplied with the JDK call checkPackageDefinition. -# -package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper. - -# -# -# List of comma-separated paths defining the contents of the "common" -# classloader. Prefixes should be used to define what is the repository type. -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. -# If left as blank,the JVM system loader will be used as Catalina's "common" -# loader. -# Examples: -# "foo": Add this folder as a class repository -# "foo/*.jar": Add all the JARs of the specified folder as class -# repositories -# "foo/bar.jar": Add bar.jar as a class repository -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*jar - -# -# List of comma-separated paths defining the contents of the "server" -# classloader. Prefixes should be used to define what is the repository type. -# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. -# If left as blank, the "common" loader will be used as Catalina's "server" -# loader. -# Examples: -# "foo": Add this folder as a class repository -# "foo/*.jar": Add all the JARs of the specified folder as class -# repositories -# "foo/bar.jar": Add bar.jar as a class repository -server.loader= - -# -# List of comma-separated paths defining the contents of the "shared" -# classloader. Prefixes should be used to define what is the repository type. -# Path may be relative to the CATALINA_BASE path or absolute. If left as blank, -# the "common" loader will be used as Catalina's "shared" loader. -# Examples: -# "foo": Add this folder as a class repository -# "foo/*.jar": Add all the JARs of the specified folder as class -# repositories -# "foo/bar.jar": Add bar.jar as a class repository -# Please note that for single jars, e.g. bar.jar, you need the URL form -# starting with file:. -shared.loader= - -# -# String cache configuration. -tomcat.util.buf.StringCache.byte.enabled=true -#tomcat.util.buf.StringCache.char.enabled=true -#tomcat.util.buf.StringCache.trainThreshold=500000 -#tomcat.util.buf.StringCache.cacheSize=5000 diff --git a/packaging/centos7/tomcat7/commons-logging.properties b/packaging/centos7/tomcat7/commons-logging.properties deleted file mode 100644 index 1e570d65f3b2..000000000000 --- a/packaging/centos7/tomcat7/commons-logging.properties +++ /dev/null @@ -1,30 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -# This is the logging properties that goes to the war, there are two logging conf kept at the -# svn, one for developement (one at src/test-resources) and other for producation - -# Uncomment the next line to disable all logging. -#org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog - -# Uncomment the next line to enable the simple log based logging -#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog - -# Uncomment the next line to enable log4j based logging -org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger diff --git a/packaging/centos7/tomcat7/db.properties b/packaging/centos7/tomcat7/db.properties deleted file mode 100644 index e6e57754e9ed..000000000000 --- a/packaging/centos7/tomcat7/db.properties +++ /dev/null @@ -1,101 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -db.usage.maxActive=100 -# distributed with this work for additional information - - -# to you under the Apache License, Version 2.0 (the -# with the License. You may obtain a copy of the License at -# "License"); you may not use this file except in compliance -# http://www.apache.org/licenses/LICENSE-2.0 -# software distributed under the License is distributed on an -# regarding copyright ownership. The ASF licenses this file -# Unless required by applicable law or agreed to in writing, -db.cloud.name=cloud -db.cloud.password=ENC(vlzQjmqOV4s5q7n+S1OMbA==) -# specific language governing permissions and limitations -# KIND, either express or implied. See the License for the - -# - - - -# in which the management server(Tomcat) is running -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# under the License. -# management server clustering parameters, change cluster.node.IP to the machine IP address - -# usage database tuning parameters - -db.usage.maxWait=10000 -db.cloud.port=3306 -# High Availability And Cluster Properties -db.usage.maxIdle=30 -# CloudStack database settings -cluster.node.IP=127.0.0.1 -db.cloud.testOnBorrow=true -db.cloud.maxIdle=30 -db.cloud.autoReconnectForPools=true -db.cloud.trustStore= -region.id=1 -cluster.servlet.port=9090 -db.cloud.host=localhost -db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true -# CloudStack database tuning parameters -db.usage.name=cloud_usage -db.cloud.poolPreparedStatements=false -db.ha.enabled=false -db.cloud.keyStorePassphrase=vmops.com -db.simulator.maxActive=250 -db.cloud.username=cloud -db.usage.port=3306 -db.cloud.maxWait=10000 -db.cloud.timeBetweenEvictionRunsMillis=40000 -db.cloud.keyStorePassword= -# usage database settings -db.cloud.queriesBeforeRetryMaster=5000 -db.cloud.validationQuery=SELECT 1 -db.usage.failOverReadOnly=false -db.cloud.maxActive=250 - -db.cloud.useSSL=false -db.usage.host=localhost -db.cloud.initialTimeout=3600 -# Encryption Settings -db.cloud.minEvictableIdleTimeMillis=240000 -db.cloud.testWhileIdle=true -# CloudStack database SSL settings -db.cloud.slaves=localhost,localhost -db.simulator.maxIdle=30 -db.cloud.keyStore= -db.cloud.encrypt.secret=ENC(zaGuSF5a4KyWayn2t0yyjDa0HjdToVtZ) -db.cloud.encryption.type=file -db.cloud.failOverReadOnly=false - -db.simulator.port=3306 -db.usage.password=ENC(cQEcN5aVucSYK+WUkPjDcw==) -db.usage.username=cloud -db.cloud.trustStorePassword= -db.simulator.username=cloud -db.usage.url.params= -db.usage.initialTimeout=3600 - -# Simulator database settings -db.cloud.reconnectAtTxEnd=true -db.usage.autoReconnect=true -#usage Database -db.simulator.maxWait=10000 -# cloud stack Database -db.simulator.password=cloud -db.usage.reconnectAtTxEnd=true -db.simulator.autoReconnect=true - -db.ha.loadBalanceStrategy=com.cloud.utils.db.StaticStrategy -db.cloud.autoReconnect=true -db.simulator.host=localhost -db.simulator.name=simulator -db.usage.queriesBeforeRetryMaster=5000 -db.usage.slaves=localhost,localhost -db.usage.secondsBeforeRetryMaster=3600 -db.usage.autoReconnectForPools=true -db.cloud.secondsBeforeRetryMaster=3600 diff --git a/packaging/centos7/tomcat7/environment.properties b/packaging/centos7/tomcat7/environment.properties deleted file mode 100644 index 3254cf64e182..000000000000 --- a/packaging/centos7/tomcat7/environment.properties +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# management server compile-time environment parameters - -paths.script=/usr/share/cloudstack-common -mount.parent=/var/cloudstack/mnt -cloud-stack-components-specification=components.xml diff --git a/packaging/centos7/tomcat7/java.security.ciphers b/packaging/centos7/tomcat7/java.security.ciphers deleted file mode 100644 index 986abf61e71d..000000000000 --- a/packaging/centos7/tomcat7/java.security.ciphers +++ /dev/null @@ -1,18 +0,0 @@ - # Licensed to the Apache Software Foundation (ASF) under one - # or more contributor license agreements. See the NOTICE file - # distributed with this work for additional information - # regarding copyright ownership. The ASF licenses this file - # to you under the Apache License, Version 2.0 (the - # "License"); you may not use this file except in compliance - # with the License. You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, - # software distributed under the License is distributed on an - # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - # KIND, either express or implied. See the License for the - # specific language governing permissions and limitations - # under the License. - -jdk.tls.disabledAlgorithms=DH keySize < 128, RSA keySize < 128, DES keySize < 128, SHA1 keySize < 128, MD5 keySize < 128, RC4 \ No newline at end of file diff --git a/packaging/centos7/tomcat7/log4j-cloud.xml b/packaging/centos7/tomcat7/log4j-cloud.xml deleted file mode 100644 index d03775cc41e4..000000000000 --- a/packaging/centos7/tomcat7/log4j-cloud.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packaging/centos7/tomcat7/server.xml b/packaging/centos7/tomcat7/server.xml deleted file mode 100644 index 124ff63bc7f2..000000000000 --- a/packaging/centos7/tomcat7/server.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packaging/centos7/tomcat7/tomcat-users.xml b/packaging/centos7/tomcat7/tomcat-users.xml deleted file mode 100644 index 81422a02892e..000000000000 --- a/packaging/centos7/tomcat7/tomcat-users.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - diff --git a/packaging/centos7/tomcat7/web.xml b/packaging/centos7/tomcat7/web.xml deleted file mode 100644 index 44b6eab07fe4..000000000000 --- a/packaging/centos7/tomcat7/web.xml +++ /dev/null @@ -1,1188 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - org.apache.catalina.servlets.DefaultServlet - - debug - 0 - - - listings - false - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jsp - org.apache.jasper.servlet.JspServlet - - fork - false - - - xpoweredBy - false - - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - / - - - - - - - - jsp - *.jsp - - - - jsp - *.jspx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 - - - - - - - - - - - - abs - audio/x-mpeg - - - ai - application/postscript - - - aif - audio/x-aiff - - - aifc - audio/x-aiff - - - aiff - audio/x-aiff - - - aim - application/x-aim - - - art - image/x-jg - - - asf - video/x-ms-asf - - - asx - video/x-ms-asf - - - au - audio/basic - - - avi - video/x-msvideo - - - avx - video/x-rad-screenplay - - - bcpio - application/x-bcpio - - - bin - application/octet-stream - - - bmp - image/bmp - - - body - text/html - - - cdf - application/x-cdf - - - cer - application/x-x509-ca-cert - - - class - application/java - - - cpio - application/x-cpio - - - csh - application/x-csh - - - css - text/css - - - dib - image/bmp - - - doc - application/msword - - - dtd - application/xml-dtd - - - dv - video/x-dv - - - dvi - application/x-dvi - - - eps - application/postscript - - - etx - text/x-setext - - - exe - application/octet-stream - - - gif - image/gif - - - gtar - application/x-gtar - - - gz - application/x-gzip - - - hdf - application/x-hdf - - - hqx - application/mac-binhex40 - - - htc - text/x-component - - - htm - text/html - - - html - text/html - - - hqx - application/mac-binhex40 - - - ief - image/ief - - - jad - text/vnd.sun.j2me.app-descriptor - - - jar - application/java-archive - - - java - text/plain - - - jnlp - application/x-java-jnlp-file - - - jpe - image/jpeg - - - jpeg - image/jpeg - - - jpg - image/jpeg - - - js - text/javascript - - - jsf - text/plain - - - jspf - text/plain - - - kar - audio/x-midi - - - latex - application/x-latex - - - m3u - audio/x-mpegurl - - - mac - image/x-macpaint - - - man - application/x-troff-man - - - mathml - application/mathml+xml - - - me - application/x-troff-me - - - mid - audio/x-midi - - - midi - audio/x-midi - - - mif - application/x-mif - - - mov - video/quicktime - - - movie - video/x-sgi-movie - - - mp1 - audio/x-mpeg - - - mp2 - audio/x-mpeg - - - mp3 - audio/x-mpeg - - - mp4 - video/mp4 - - - mpa - audio/x-mpeg - - - mpe - video/mpeg - - - mpeg - video/mpeg - - - mpega - audio/x-mpeg - - - mpg - video/mpeg - - - mpv2 - video/mpeg2 - - - ms - application/x-wais-source - - - nc - application/x-netcdf - - - oda - application/oda - - - - odb - application/vnd.oasis.opendocument.database - - - - odc - application/vnd.oasis.opendocument.chart - - - - odf - application/vnd.oasis.opendocument.formula - - - - odg - application/vnd.oasis.opendocument.graphics - - - - odi - application/vnd.oasis.opendocument.image - - - - odm - application/vnd.oasis.opendocument.text-master - - - - odp - application/vnd.oasis.opendocument.presentation - - - - ods - application/vnd.oasis.opendocument.spreadsheet - - - - odt - application/vnd.oasis.opendocument.text - - - ogg - application/ogg - - - - otg - application/vnd.oasis.opendocument.graphics-template - - - - oth - application/vnd.oasis.opendocument.text-web - - - - otp - application/vnd.oasis.opendocument.presentation-template - - - - ots - application/vnd.oasis.opendocument.spreadsheet-template - - - - ott - application/vnd.oasis.opendocument.text-template - - - pbm - image/x-portable-bitmap - - - pct - image/pict - - - pdf - application/pdf - - - pgm - image/x-portable-graymap - - - pic - image/pict - - - pict - image/pict - - - pls - audio/x-scpls - - - png - image/png - - - pnm - image/x-portable-anymap - - - pnt - image/x-macpaint - - - ppm - image/x-portable-pixmap - - - ppt - application/vnd.ms-powerpoint - - - pps - application/vnd.ms-powerpoint - - - ps - application/postscript - - - psd - image/x-photoshop - - - qt - video/quicktime - - - qti - image/x-quicktime - - - qtif - image/x-quicktime - - - ras - image/x-cmu-raster - - - rdf - application/rdf+xml - - - rgb - image/x-rgb - - - rm - application/vnd.rn-realmedia - - - roff - application/x-troff - - - rtf - application/rtf - - - rtx - text/richtext - - - sh - application/x-sh - - - shar - application/x-shar - - - - smf - audio/x-midi - - - sit - application/x-stuffit - - - snd - audio/basic - - - src - application/x-wais-source - - - sv4cpio - application/x-sv4cpio - - - sv4crc - application/x-sv4crc - - - svg - image/svg+xml - - - svgz - image/svg+xml - - - swf - application/x-shockwave-flash - - - t - application/x-troff - - - tar - application/x-tar - - - tcl - application/x-tcl - - - tex - application/x-tex - - - texi - application/x-texinfo - - - texinfo - application/x-texinfo - - - tif - image/tiff - - - tiff - image/tiff - - - tr - application/x-troff - - - tsv - text/tab-separated-values - - - txt - text/plain - - - ulw - audio/basic - - - ustar - application/x-ustar - - - vxml - application/voicexml+xml - - - xbm - image/x-xbitmap - - - xht - application/xhtml+xml - - - xhtml - application/xhtml+xml - - - xls - application/vnd.ms-excel - - - xml - application/xml - - - xpm - image/x-xpixmap - - - xsl - application/xml - - - xslt - application/xslt+xml - - - xul - application/vnd.mozilla.xul+xml - - - xwd - image/x-xwindowdump - - - vsd - application/x-visio - - - wav - audio/x-wav - - - - wbmp - image/vnd.wap.wbmp - - - - wml - text/vnd.wap.wml - - - - wmlc - application/vnd.wap.wmlc - - - - wmls - text/vnd.wap.wmlscript - - - - wmlscriptc - application/vnd.wap.wmlscriptc - - - wmv - video/x-ms-wmv - - - wrl - x-world/x-vrml - - - wspolicy - application/wspolicy+xml - - - Z - application/x-compress - - - z - application/x-compress - - - zip - application/zip - - - - - - - - - - - - - - - - index.html - index.htm - index.jsp - - - diff --git a/packaging/centos63/cloud-agent.rc b/packaging/common/cloud-agent.rc similarity index 100% rename from packaging/centos63/cloud-agent.rc rename to packaging/common/cloud-agent.rc diff --git a/packaging/centos63/cloud-ipallocator.rc b/packaging/common/cloud-ipallocator.rc similarity index 100% rename from packaging/centos63/cloud-ipallocator.rc rename to packaging/common/cloud-ipallocator.rc diff --git a/packaging/common/cloud-management.sh b/packaging/common/cloud-management.sh new file mode 100755 index 000000000000..4ee3b9d7b285 --- /dev/null +++ b/packaging/common/cloud-management.sh @@ -0,0 +1,57 @@ +#!/bin/bash + + . /etc/cloudstack/management/tomcat.conf +SERVLETENGINE=$(cat /etc/cloudstack/management/servlet-engine) +# For SELinux we need to use 'runuser' not 'su' +if [ -x "/sbin/runuser" ]; then + SU="/sbin/runuser -s /bin/sh" +else + SU="/bin/su -s /bin/sh" +fi + +touch $CLOUD_PID; +chown $CLOUD_USER. $CLOUD_PID +# CLASSPATH munging +if [ -n "$JSSE_HOME" ]; then + CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)" +fi +CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)" + +# Servlet specific startup config +if [ "$SERVLETENGINE" == "jetty" ] ; then + CLASSPATH="${CLASSPATH}:${CLOUD_HOME}/lib/jetty-runner.jar" + CLASS="org.eclipse.jetty.runner.Runner --classes /etc/cloudstack/management --path /client $CLOUD_HOME/webapps/client" +else + CLASSPATH="${CLASSPATH}:${CLOUD_HOME}/bin/bootstrap.jar" + CLASSPATH="${CLASSPATH}:${CLOUD_HOME}/bin/tomcat-juli.jar" + CLASS="org.apache.catalina.startup.Bootstrap start" + CLOUD_OPTS="${CLOUD_OPTS} -Djava.util.logging.config.file=${CLOUD_BASE}/conf/logging.properties" + CLOUD_OPTS="${CLOUD_OPTS} -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" + CLOUD_OPTS="${CLOUD_OPTS} -Djava.security.properties=${CLOUD_BASE}/conf/java.security.ciphers" +fi + +if [ "$1" = "start" ]; then + java $JAVA_OPTS $CLOUD_OPTS \ + -classpath "$CLASSPATH" \ + -D"$SERVLETENGINE".base="$CLOUD_BASE" \ + -D"$SERVLETENGINE".home="$CLOUD_HOME" \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Djava.io.tmpdir="$CLOUD_TMPDIR" \ + $CLASS \ + >> ${CLOUD_BASE}/logs/servlet-engine.out 2>&1 & + if [ ! -z "$CLOUD_PID" ]; then + echo $! > $CLOUD_PID + fi +elif [ "$1" = "stop" ]; then + java $JAVA_OPTS $CLOUD_OPTS \ + -classpath "$CLASSPATH" \ + -Dcatalina.base="$CLOUD_BASE" \ + -Dcatalina.home="$CLOUD_HOME" \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Djava.io.tmpdir="$CLOUD_TMPDIR" \ + org.apache.catalina.startup.Bootstrap stop \ + >> ${CLOUD_BASE}/logs/servlet-engine.out 2>&1 & +else + echo "Usage: $0 {start|stop}" + exit 1 +fi diff --git a/packaging/centos63/cloudstack-agent.te b/packaging/common/cloudstack-agent.te similarity index 100% rename from packaging/centos63/cloudstack-agent.te rename to packaging/common/cloudstack-agent.te diff --git a/packaging/centos63/cloudstack-sccs b/packaging/common/cloudstack-sccs similarity index 100% rename from packaging/centos63/cloudstack-sccs rename to packaging/common/cloudstack-sccs diff --git a/packaging/common/lsb-init/cloud-management.rc b/packaging/common/lsb-init/cloud-management.rc new file mode 100755 index 000000000000..00a1f8d04aaa --- /dev/null +++ b/packaging/common/lsb-init/cloud-management.rc @@ -0,0 +1,271 @@ +#!/bin/bash +# +# cloudstack-management This shell script takes care of starting and stopping Cloudstack Management +# +# chkconfig: - 80 20 +# + +## Source function library. +#. /etc/rc.d/init.d/functions +# Source LSB function library. +if [ -r /lib/lsb/init-functions ]; then + . /lib/lsb/init-functions +else + exit 1 +fi + +DISTRIB_ID=`lsb_release -i -s 2>/dev/null` + +NAME="$(basename $0)" +unset ISBOOT +if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then + NAME="${NAME:3}" + ISBOOT="1" +fi + +# For SELinux we need to use 'runuser' not 'su' +if [ -x "/sbin/runuser" ]; then + SU="/sbin/runuser -s /bin/sh" +else + SU="/bin/su -s /bin/sh" +fi + +# Get the tomcat config (use this for environment specific settings) +CLOUD_CFG="/etc//cloudstack/management/tomcat.conf" +if [ -r "$CLOUD_CFG" ]; then + . $CLOUD_CFG +fi + +# Path to the tomcat launch script +CLOUD_SCRIPT="/etc/init.d/cloudstack-management.sh" + +# Tomcat program name +CLOUD_PROG="${NAME}" + +# Define the tomcat username +CLOUD_USER="${CLOUD_USER:-cloud}" + +# Define the tomcat group +CLOUD_GROUP="${CLOUD_GROUP:-`id -gn $CLOUD_USER`}" + +# Define the tomcat log file +CLOUD_LOG="${CLOUD_LOG:-/var/log/${NAME}-initd.log}" + +# Define the pid file name +# If change is needed, use sysconfig instead of here +export CLOUD_PID="${CLOUD_PID:-/var/run/${NAME}.pid}" + +RETVAL="0" + +function parseOptions() { + options="" + options="$options $( + awk '!/^#/ && !/^$/ { ORS=" "; print "export ", $0, ";" }' \ + $CLOUD_CFG + )" + if [ -r "/etc/sysconfig/${NAME}" ]; then + options="$options $( + awk '!/^#/ && !/^$/ { ORS=" "; + print "export ", $0, ";" }' \ + /etc/sysconfig/${NAME} + )" + fi + CLOUD_SCRIPT="$options ${CLOUD_SCRIPT}" +} + +# rhbz 757632 +function version() { + parseOptions + $SU - $CLOUD_USER -c "${CLOUD_SCRIPT} version" >> ${CLOUD_LOG} 2>&1 || RETVAL="4" +} + +# See how we were called. +function start() { + + echo -n "Starting ${CLOUD_PROG}: " + if [ "$RETVAL" != "0" ]; then + log_failure_msg + return + fi + if [ -f "/var/lock/${NAME}" ]; then + if [ -f "${CLOUD_PID}" ]; then + read kpid < ${CLOUD_PID} +# if checkpid $kpid 2>&1; then + if [ -d "/proc/${kpid}" ]; then + log_success_msg + RETVAL="0" + return + fi + fi + fi + # fix permissions on the log and pid files + touch $CLOUD_PID 2>&1 || RETVAL="4" + if [ "$RETVAL" -eq "0" -a "$?" -eq "0" ]; then + chown ${CLOUD_USER}:${CLOUD_GROUP} $CLOUD_PID + fi + if [ "$?" != "0" ]; then + RETVAL="4" + fi + parseOptions + if [ "$RETVAL" -eq "0" -a "$SECURITY_MANAGER" = "true" ]; then + $SU - $CLOUD_USER -c "${CLOUD_SCRIPT} start-security" \ + >> ${CLOUD_LOG} 2>&1 || RETVAL="4" + else + + [ "$RETVAL" -eq "0" ] && $SU - $CLOUD_USER -c "${CLOUD_SCRIPT} start" >> ${CLOUD_LOG} 2>&1 || RETVAL="4" + fi + if [ "$RETVAL" -eq "0" ]; then + log_success_msg + touch /var/lock/${NAME} + else + log_failure_msg "Error code ${RETVAL}" + fi + if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then + echo + fi +} + +function stop() { + echo -n "Stopping ${CLOUD_PROG}: " + if [ -f "/var/lock/${NAME}" ]; then + parseOptions + if [ "$RETVAL" -eq "0" ]; then + touch /var/lock/${NAME} 2>&1 || RETVAL="4" + [ "$RETVAL" -eq "0" ] && $SU - $CLOUD_USER -c "${CLOUD_SCRIPT} stop" >> ${CLOUD_LOG} 2>&1 || RETVAL="4" + fi + if [ "$RETVAL" -eq "0" ]; then + count="0" + if [ -f "${CLOUD_PID}" ]; then + read kpid < ${CLOUD_PID} + until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \ + [ "$count" -gt "$SHUTDOWN_WAIT" ]; do + if [ "$SHUTDOWN_VERBOSE" = "true" ]; then + echo "waiting for processes $kpid to exit" + fi + sleep 1 + let count="${count}+1" + done + if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then + if [ "$SHUTDOWN_VERBOSE" = "true" ]; then + log_warning_msg "killing processes which did not stop after ${SHUTDOWN_WAIT} seconds" + fi + kill -9 $kpid + fi + log_success_msg + fi + rm -f /var/lock/${NAME} ${CLOUD_PID} + else + log_failure_msg + RETVAL="4" + fi + else + log_success_msg + RETVAL="0" + fi + if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then + echo + fi +} + +function status() +{ + checkpidfile + if [ "$RETVAL" -eq "0" ]; then + log_success_msg "${NAME} (pid ${kpid}) is running..." + elif [ "$RETVAL" -eq "1" ]; then + log_failure_msg "PID file exists, but process is not running" + else + checklockfile + if [ "$RETVAL" -eq "2" ]; then + log_failure_msg "${NAME} lockfile exists but process is not running" + else + pid="$(/usr/bin/pgrep -d , -u ${CLOUD_USER} -G ${CLOUD_GROUP} java)" + if [ -z "$pid" ]; then + log_success_msg "${NAME} is stopped" + RETVAL="3" + else + log_success_msg "${NAME} (pid ${kpid}) is running..." + RETVAL="0" + fi + fi + fi +} + +function checklockfile() +{ + if [ -f /var/lock/${NAME} ]; then + pid="$(/usr/bin/pgrep -d , -u ${CLOUD_USER} -G ${CLOUD_GROUP} java)" +# The lockfile exists but the process is not running + if [ -z "$pid" ]; then + RETVAL="2" + fi + fi +} + +function checkpidfile() +{ + if [ -f "${CLOUD_PID}" ]; then + read kpid < ${CLOUD_PID} + if [ -d "/proc/${kpid}" ]; then +# The pid file exists and the process is running + RETVAL="0" + return + else +# The pid file exists but the process is not running + RETVAL="1" + return + fi + else +# pid file does not exist and program is not running + RETVAL="3" + return + fi +} + +function usage() +{ + echo "Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status|version}" + RETVAL="2" +} + +# See how we were called. +RETVAL="0" +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + condrestart|try-restart) + if [ -f "/var/run/${NAME}.pid" ]; then + stop + start + fi + ;; + reload) + RETVAL="3" + ;; + force-reload) + if [ -f "/var/run/${NAME}.pid" ]; then + stop + start + fi + ;; + status) + status + ;; + version) + version +# ${CLOUD_SCRIPT} version + ;; + *) + usage + ;; +esac + +exit $RETVAL diff --git a/debian/changelog b/packaging/debian/changelog similarity index 100% rename from debian/changelog rename to packaging/debian/changelog diff --git a/debian/cloudstack-agent.install b/packaging/debian/cloudstack-agent.install similarity index 100% rename from debian/cloudstack-agent.install rename to packaging/debian/cloudstack-agent.install diff --git a/debian/cloudstack-agent.postinst b/packaging/debian/cloudstack-agent.postinst similarity index 100% rename from debian/cloudstack-agent.postinst rename to packaging/debian/cloudstack-agent.postinst diff --git a/debian/cloudstack-cli.install b/packaging/debian/cloudstack-cli.install similarity index 100% rename from debian/cloudstack-cli.install rename to packaging/debian/cloudstack-cli.install diff --git a/debian/cloudstack-common.install b/packaging/debian/cloudstack-common.install similarity index 100% rename from debian/cloudstack-common.install rename to packaging/debian/cloudstack-common.install diff --git a/debian/cloudstack-docs.install b/packaging/debian/cloudstack-docs.install similarity index 100% rename from debian/cloudstack-docs.install rename to packaging/debian/cloudstack-docs.install diff --git a/debian/cloudstack-management.install b/packaging/debian/cloudstack-management.install similarity index 90% rename from debian/cloudstack-management.install rename to packaging/debian/cloudstack-management.install index 4e016dfe292c..926ad02abd2a 100644 --- a/debian/cloudstack-management.install +++ b/packaging/debian/cloudstack-management.install @@ -22,19 +22,17 @@ /etc/cloudstack/management/ehcache.xml /etc/cloudstack/management/server-ssl.xml /etc/cloudstack/management/server-nonssl.xml -/etc/cloudstack/management/server.xml -/etc/cloudstack/management/classpath.conf /etc/cloudstack/management/db.properties -/etc/cloudstack/management/tomcat6-ssl.conf -/etc/cloudstack/management/tomcat6-nonssl.conf -/etc/cloudstack/management/tomcat6.conf +/etc/cloudstack/management/tomcat.conf +/etc/cloudstack/management/classpath.conf /etc/cloudstack/management/web.xml /etc/cloudstack/management/environment.properties /etc/cloudstack/management/java.security.ciphers /etc/cloudstack/management/log4j-cloud.xml /etc/cloudstack/management/tomcat-users.xml -/etc/cloudstack/management/context.xml +/etc/cloudstack/management/servlet-engine /etc/init.d/cloudstack-management +/etc/init.d/cloudstack-management.sh /etc/security/limits.d/cloudstack-limits.conf /etc/sudoers.d/cloudstack /var/cache/cloudstack/management diff --git a/debian/cloudstack-management.postinst b/packaging/debian/cloudstack-management.postinst similarity index 100% rename from debian/cloudstack-management.postinst rename to packaging/debian/cloudstack-management.postinst diff --git a/debian/cloudstack-usage.install b/packaging/debian/cloudstack-usage.install similarity index 100% rename from debian/cloudstack-usage.install rename to packaging/debian/cloudstack-usage.install diff --git a/debian/cloudstack-usage.postinst b/packaging/debian/cloudstack-usage.postinst similarity index 100% rename from debian/cloudstack-usage.postinst rename to packaging/debian/cloudstack-usage.postinst diff --git a/debian/compat b/packaging/debian/compat similarity index 100% rename from debian/compat rename to packaging/debian/compat diff --git a/debian/control b/packaging/debian/control similarity index 91% rename from debian/control rename to packaging/debian/control index f6e9be0bde42..d6d2dd1240f9 100644 --- a/debian/control +++ b/packaging/debian/control @@ -15,7 +15,7 @@ Description: A common package which contains files which are shared by several C Package: cloudstack-management Architecture: all -Depends: ${misc:Depends}, ${python:Depends}, cloudstack-common (= ${source:Version}), tomcat6 | tomcat7 | tomcat8, sudo, jsvc, python-mysqldb, libmysql-java, python-paramiko, augeas-tools, mysql-client, adduser +Depends: ${misc:Depends}, ${python:Depends}, cloudstack-common (= ${source:Version}), sudo, jsvc, python-mysqldb, python-paramiko, augeas-tools, mysql-client, adduser Conflicts: cloud-server, cloud-client, cloud-client-ui Description: CloudStack server library The CloudStack management server @@ -31,7 +31,7 @@ Description: CloudStack agent Package: cloudstack-usage Architecture: all -Depends: ${misc:Depends}, openjdk-7-jre | openjdk-8-jre, cloudstack-common (= ${source:Version}), jsvc, libmysql-java +Depends: ${misc:Depends}, openjdk-7-jre | openjdk-8-jre, cloudstack-common (= ${source:Version}), jsvc Description: CloudStack usage monitor The CloudStack usage monitor provides usage accounting across the entire cloud for cloud operators to charge based on usage parameters. diff --git a/debian/copyright b/packaging/debian/copyright similarity index 100% rename from debian/copyright rename to packaging/debian/copyright diff --git a/debian/dirs b/packaging/debian/dirs similarity index 100% rename from debian/dirs rename to packaging/debian/dirs diff --git a/packaging/debian/init/cloud-management b/packaging/debian/init/cloud-management deleted file mode 100755 index 90052c9bb158..000000000000 --- a/packaging/debian/init/cloud-management +++ /dev/null @@ -1,243 +0,0 @@ -#!/bin/sh -# -# /etc/init.d/tomcat6 -- startup script for the Tomcat 6 servlet engine - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -### BEGIN INIT INFO -# Provides: cloudstack-management -# Required-Start: $local_fs $remote_fs $network -# Required-Stop: $local_fs $remote_fs $network -# Should-Start: $named -# Should-Stop: $named -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start Tomcat (CloudStack). -# Description: Start the Tomcat servlet engine that runs the CloudStack Management Server. -### END INIT INFO - -PATH=/bin:/usr/bin:/sbin:/usr/sbin -NAME=cloudstack-management -DESC="CloudStack-specific Tomcat servlet engine" -DAEMON=/usr/bin/jsvc -CATALINA_HOME=/usr/share/cloudstack-management -DEFAULT=/etc/cloudstack/management/tomcat6.conf -JVM_TMP=/tmp/$NAME-temp - -# We have to explicitly set the HOME variable to the homedir from the user "cloud" -# This is because various scripts run by the management server read the HOME variable -# and fail when this init script is run manually. -HOME=$(echo ~cloud) - -if [ `id -u` -ne 0 ]; then - echo "You need root privileges to run this script" - exit 1 -fi - -# Make sure tomcat is started with system locale -if [ -r /etc/default/locale ]; then - . /etc/default/locale - export LANG -fi - -. /lib/lsb/init-functions -. /etc/default/rcS - - -# The following variables can be overwritten in $DEFAULT - -# Run Tomcat 6 as this user ID -TOMCAT6_USER=tomcat6 - -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not -# defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-sun" - -# Look for the right JVM to use -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME - -# Directory for per-instance configuration files and webapps -CATALINA_BASE=/usr/share/cloudstack-management - -# Use the Java security manager? (yes/no) -TOMCAT6_SECURITY=no - -# Default Java options -# Set java.awt.headless=true if JAVA_OPTS is not set so the -# Xalan XSL transformer can work without X11 display on JDK 1.4+ -# It also looks like the default heap size of 64M is not enough for most cases -# so the maximum heap size is set to 128M -if [ -z "$JAVA_OPTS" ]; then - JAVA_OPTS="-Djava.awt.headless=true -Xmx128M" -fi - -# End of variables that can be overwritten in $DEFAULT - -# overwrite settings from default file -if [ -f "$DEFAULT" ]; then - . "$DEFAULT" -fi - -if [ ! -f "$CATALINA_HOME/bin/bootstrap.jar" ]; then - log_failure_msg "$NAME is not installed" - exit 1 -fi - -[ -f "$DAEMON" ] || exit 0 - -POLICY_CACHE="$CATALINA_BASE/work/catalina.policy" - -JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$JVM_TMP" - -# Set the JSP compiler if set in the tomcat6.default file -if [ -n "$JSP_COMPILER" ]; then - JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER" -fi - -if [ "$TOMCAT6_SECURITY" = "yes" ]; then - JAVA_OPTS="$JAVA_OPTS -Djava.security.manager -Djava.security.policy=$POLICY_CACHE" -fi - -# Set juli LogManager if logging.properties is provided -if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then - JAVA_OPTS="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" "-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties" -fi - -# Define other required variables -CATALINA_PID="/var/run/$NAME.pid" -BOOTSTRAP_CLASS=org.apache.catalina.startup.Bootstrap -JSVC_CLASSPATH="/usr/share/java/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar:/etc/cloudstack/management:/usr/share/cloudstack-management/setup" - -# Look for Java Secure Sockets Extension (JSSE) JARs -if [ -z "${JSSE_HOME}" -a -r "${JAVA_HOME}/jre/lib/jsse.jar" ]; then - JSSE_HOME="${JAVA_HOME}/jre/" -fi -export JSSE_HOME - -case "$1" in - start) - if [ -z "$JAVA_HOME" ]; then - log_failure_msg "no JDK found - please set JAVA_HOME" - exit 1 - fi - - if [ ! -d "$CATALINA_BASE/conf" ]; then - log_failure_msg "invalid CATALINA_BASE: $CATALINA_BASE" - exit 1 - fi - - log_daemon_msg "Starting $DESC" "$NAME" - if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \ - --user $TOMCAT6_USER --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - - # Regenerate POLICY_CACHE file - umask 022 - echo "// AUTO-GENERATED FILE from /etc/tomcat6/policy.d/" \ - > "$POLICY_CACHE" - echo "" >> "$POLICY_CACHE" - if ls $CATALINA_BASE/conf/policy.d/*.policy > /dev/null 2>&1 ; then - cat $CATALINA_BASE/conf/policy.d/*.policy \ - >> "$POLICY_CACHE" - fi - - # Remove / recreate JVM_TMP directory - rm -rf "$JVM_TMP" - mkdir "$JVM_TMP" || { - log_failure_msg "could not create JVM temporary directory" - exit 1 - } - chown $TOMCAT6_USER "$JVM_TMP" - cd "$JVM_TMP" - - - # fix storage issues on nfs mounts - umask 000 - $DAEMON -user "$TOMCAT6_USER" -cp "$JSVC_CLASSPATH" \ - -outfile SYSLOG -errfile SYSLOG \ - -pidfile "$CATALINA_PID" $JAVA_OPTS "$BOOTSTRAP_CLASS" - - sleep 5 - if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \ - --user $TOMCAT6_USER --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - log_end_msg 1 - else - log_end_msg 0 - fi - else - log_progress_msg "(already running)" - log_end_msg 0 - fi - ;; - stop) - log_daemon_msg "Stopping $DESC" "$NAME" - if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \ - --user "$TOMCAT6_USER" --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - log_progress_msg "(not running)" - else - $DAEMON -cp "$JSVC_CLASSPATH" -pidfile "$CATALINA_PID" \ - -stop "$BOOTSTRAP_CLASS" - fi - rm -rf "$JVM_TMP" - log_end_msg 0 - ;; - status) - if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \ - --user $TOMCAT6_USER --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - - if [ -f "$CATALINA_PID" ]; then - log_success_msg "$DESC is not running, but pid file exists." - exit 1 - else - log_success_msg "$DESC is not running." - exit 3 - fi - else - log_success_msg "$DESC is running with pid `cat $CATALINA_PID`" - fi - ;; - restart|force-reload) - if start-stop-daemon --test --stop --pidfile "$CATALINA_PID" \ - --user $TOMCAT6_USER --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - $0 stop - sleep 1 - fi - $0 start - ;; - try-restart) - if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \ - --user $TOMCAT6_USER --startas "$JAVA_HOME/bin/java" \ - >/dev/null; then - $0 start - fi - ;; - *) - log_success_msg "Usage: $0 {start|stop|restart|try-restart|force-reload|status}" - exit 1 - ;; -esac - -exit 0 diff --git a/packaging/debian/init/cloud-usage b/packaging/debian/init/cloud-usage index e6129c26b6c0..5d114f479efe 100755 --- a/packaging/debian/init/cloud-usage +++ b/packaging/debian/init/cloud-usage @@ -84,7 +84,7 @@ PCP=`ls /usr/share/cloudstack-usage/plugins/*.jar 2>/dev/null | tr '\n' ':' | se # We need to append the JSVC daemon JAR to the classpath # AgentShell implements the JSVC daemon methods -export CLASSPATH="/usr/share/java/commons-daemon.jar:/usr/share/java/mysql-connector-java.jar:$UCP:$PCP:/etc/cloudstack/usage" +export CLASSPATH="/usr/share/java/commons-daemon.jar:$UCP:$PCP:/etc/cloudstack/usage" start() { if [ -s "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 000000000000..1454f7f2565f --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,136 @@ +#!/usr/bin/make -f +# -*- makefile -*- +ROOTDIR = ".." +VERSION := $(shell cd ${ROOTDIR};mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v "\[") +PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1) +SYSCONFDIR = "/etc" +DESTDIR = "debian/tmp" +%: + dh $@ --with python2 + +override_dh_auto_configure: + cp debian/replace.properties ${ROOTDIR}/build/replace.properties + echo VERSION=${VERSION} >> ${ROOTDIR}/build//replace.properties + +override_dh_auto_build: + cd ${ROOTDIR};mvn -T C1.5 clean package -Psystemvm -DskipTests -Dsystemvm \ + -Dcs.replace.properties=build/replace.properties \ + -Dmaven.repo.local=$(HOME)/.m2/repository -D$(SERVLETENGINE) + ${ACS_BUILD_OPTS} + +override_dh_auto_clean: + dh_auto_clean + rm -f ${ROOTDIR}/build/replace.properties.tmp + +override_dh_auto_install: + # Common packages + mkdir -p $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE) + mkdir -p $(DESTDIR)/$(SYSCONFDIR)/init.d + mkdir -p $(DESTDIR)/var/cache/$(PACKAGE) + mkdir -p $(DESTDIR)/var/log/$(PACKAGE) + mkdir -p $(DESTDIR)/var/lib/$(PACKAGE) + mkdir -p $(DESTDIR)/usr/bin + mkdir -p $(DESTDIR)/usr/share + + # cloudstack-agent + mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent + mkdir $(DESTDIR)/$(SYSCONFDIR)/profile.d + mkdir $(DESTDIR)/var/log/$(PACKAGE)/agent + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent/plugins + install -D ${ROOTDIR}/agent/target/cloud-agent-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar + install -D ${ROOTDIR}/plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ + install -D ${ROOTDIR}/plugins/hypervisors/kvm/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ + install -D ${ROOTDIR}/packaging/debian/init/cloud-agent $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-agent + install -D ${ROOTDIR}/agent/target/transformed/cloud-setup-agent $(DESTDIR)/usr/bin/cloudstack-setup-agent + install -D ${ROOTDIR}/agent/target/transformed/cloud-ssh $(DESTDIR)/usr/bin/cloudstack-ssh + install -D ${ROOTDIR}/agent/target/transformed/cloudstack-agent-profile.sh $(DESTDIR)/$(SYSCONFDIR)/profile.d/cloudstack-agent-profile.sh + install -D ${ROOTDIR}/agent/target/transformed/cloudstack-agent-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade + install -D ${ROOTDIR}/agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/ + install -D ${ROOTDIR}/agent/target/transformed/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent + + # cloudstack-management + mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server + mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management + mkdir -p $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/ + mkdir -p $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/ + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/bin + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/lib + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-management/setup + mkdir $(DESTDIR)/var/log/$(PACKAGE)/management + mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management + mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/work + mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/temp + mkdir $(DESTDIR)/var/log/$(PACKAGE)/ipallocator + mkdir $(DESTDIR)/var/lib/$(PACKAGE)/management + mkdir $(DESTDIR)/var/lib/$(PACKAGE)/mnt + cp ${ROOTDIR}/setup/db/*.* $(DESTDIR)/usr/share/$(PACKAGE)-management/setup/ + cp -r ${ROOTDIR}/client/target/cloud-client-ui-$(VERSION)/* $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/ + cp ${ROOTDIR}/server/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/ + cp ${ROOTDIR}/client/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/ + echo $(SERVLETENGINE) > $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/servlet-engine + # nast hack for a couple of configuration files + mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-limits.conf $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/ + mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-sudoers $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE) + chmod 0440 $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE) + + + ln -s server-nonssl.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/server.xml + install -D ${ROOTDIR}/packaging/common/lsb-init/cloud-management.rc $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-management + install -D ${ROOTDIR}/packaging/common/cloud-management.sh $(DESTDIR)/$(SYSCONFDIR)/init.d/cloudstack-management.sh + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-update-xenserver-licenses $(DESTDIR)/usr/bin/cloudstack-update-xenserver-licenses + cp -r ${ROOTDIR}/client/$(SERVLETENGINE)/target/cloudstack-$(SERVLETENGINE)-standalone/* $(DESTDIR)/usr/share/$(PACKAGE)-management/ + # Remove configuration in /ur/share/cloudstack-management/webapps/client/WEB-INF + # This should all be in /etc/cloudstack/management + ln -sf $(SYSCONFDIR)/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/conf + cp ${ROOTDIR}/client/target/conf/* $(DESTDIR)/usr/share/$(PACKAGE)-management/conf/ + ln -sf /var/log/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/logs + ln -sf /var/cache/$(PACKAGE)/management/temp $(DESTDIR)/usr/share/$(PACKAGE)-management/temp + ln -sf /var/cache/$(PACKAGE)/management/work $(DESTDIR)/usr/share/$(PACKAGE)-management/work + # Don't package the scripts in the management webapp + rm -rf $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/WEB-INF/classes/scripts + rm -rf $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/WEB-INF/classes/vms + + # cloudstack-common + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-common + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/setup + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/lib + cp -r ${ROOTDIR}/scripts/installer $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + cp -r ${ROOTDIR}/scripts/network $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + cp -r ${ROOTDIR}/scripts/storage $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + cp -r ${ROOTDIR}/scripts/util $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + cp -r ${ROOTDIR}/scripts/vm $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-migrate-databases $(DESTDIR)/usr/bin/cloudstack-migrate-databases + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-set-guest-password $(DESTDIR)/usr/bin/cloudstack-set-guest-password + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-set-guest-sshkey $(DESTDIR)/usr/bin/cloudstack-set-guest-sshkey + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-setup-databases $(DESTDIR)/usr/bin/cloudstack-setup-databases + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-setup-management $(DESTDIR)/usr/bin/cloudstack-setup-management + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-setup-encryption $(DESTDIR)/usr/bin/cloudstack-setup-encryption + install -D ${ROOTDIR}/client/target/utilities/bin/cloud-sysvmadm $(DESTDIR)/usr/bin/cloudstack-sysvmadm + install -D ${ROOTDIR}/systemvm/dist/systemvm.iso $(DESTDIR)/usr/share/$(PACKAGE)-common/vms/systemvm.iso + # We need jasypt for cloud-install-sys-tmplt, so this is a nasty hack to get it into the right place + install -D ${ROOTDIR}/agent/target/dependencies/jasypt-1.9.2.jar $(DESTDIR)/usr/share/$(PACKAGE)-common/lib + + # cloudstack-python + mkdir -p $(DESTDIR)/usr/share/pyshared + cp -r ${ROOTDIR}/python/lib/cloud* $(DESTDIR)/usr/share/pyshared + + # cloudstack-usage + mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage + mkdir $(DESTDIR)/var/log/$(PACKAGE)/usage + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage + mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage/plugins + install -D ${ROOTDIR}/usage/target/cloud-usage-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/$(PACKAGE)-usage.jar + install -D ${ROOTDIR}/usage/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/ + cp ${ROOTDIR}/usage/target/transformed/db.properties $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/ + cp ${ROOTDIR}/usage/target/transformed/log4j-cloud_usage.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/log4j-cloud.xml + install -D ${ROOTDIR}/packaging/debian/init/cloud-usage $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-usage + +override_dh_installinit: + dh_installinit -pcloudstack-management -pcloudstack-agent -pcloudstack-usage --onlyscripts --no-start + +override_dh_installdocs: + dh_installdocs -A ${ROOTDIR}/tools/whisker/LICENSE ${ROOTDIR}/tools/whisker/NOTICE ${ROOTDIR}/INSTALL.md diff --git a/debian/source/format b/packaging/debian/source/format similarity index 100% rename from debian/source/format rename to packaging/debian/source/format diff --git a/packaging/fedora20/cloud-agent.rc b/packaging/fedora20/cloud-agent.rc deleted file mode 100755 index 6cc6abc5e5f0..000000000000 --- a/packaging/fedora20/cloud-agent.rc +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//') -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGDIR=/var/log/cloudstack/agent -LOGFILE=${LOGDIR}/agent.log -PROGNAME="Cloud Agent" -CLASS="com.cloud.agent.AgentShell" -JSVC=`which jsvc 2>/dev/null`; - -# exit if we don't find jsvc -if [ -z "$JSVC" ]; then - echo no jsvc found in path; - exit 1; -fi - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" - -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun" - -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME - -ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'` -PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'` - -# We need to append the JSVC daemon JAR to the classpath -# AgentShell implements the JSVC daemon methods -export CLASSPATH="/usr/share/java/commons-daemon.jar:$ACP:$PCP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts" - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - $JSVC -Xms256m -Xmx2048m -cp "$CLASSPATH" -pidfile "$PIDFILE" \ - -errfile $LOGDIR/cloudstack-agent.err -outfile $LOGDIR/cloudstack-agent.out $CLASS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - $JSVC -pidfile "$PIDFILE" -stop $CLASS - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL diff --git a/packaging/fedora20/cloud-ipallocator.rc b/packaging/fedora20/cloud-ipallocator.rc deleted file mode 100755 index d26287dcb3cf..000000000000 --- a/packaging/fedora20/cloud-ipallocator.rc +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=`basename $0` -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGFILE=/var/log/cloudstack/ipallocator/ipallocator.log -PROGNAME="External IPAllocator" - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" -DAEMONIZE=/usr/bin/cloud-daemonize -PROG=/usr/bin/cloud-external-ipallocator.py -OPTIONS=8083 - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - daemon --check=$SHORTNAME --pidfile=${PIDFILE} "$DAEMONIZE" \ - -n "$SHORTNAME" -p "$PIDFILE" -l "$LOGFILE" "$PROG" $OPTIONS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - killproc -p ${PIDFILE} $SHORTNAME # -d 10 $SHORTNAME - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL - diff --git a/packaging/fedora20/cloud-management.rc b/packaging/fedora20/cloud-management.rc deleted file mode 100755 index 6d2874854ee7..000000000000 --- a/packaging/fedora20/cloud-management.rc +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# cloudstack-management This shell script takes care of starting and stopping Tomcat -# -# chkconfig: - 80 20 -# -### BEGIN INIT INFO -# Provides: tomcat6 -# Required-Start: $network $syslog -# Required-Stop: $network $syslog -# Default-Start: -# Default-Stop: -# Description: Release implementation for Servlet 2.5 and JSP 2.1 -# Short-Description: start and stop tomcat -### END INIT INFO -# -# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot -# - heavily rewritten by Deepak Bhole and Jason Corley -# - -if [ -r /etc/rc.d/init.d/functions ]; then - . /etc/rc.d/init.d/functions -fi -if [ -r /lib/lsb/init-functions ]; then - . /lib/lsb/init-functions -fi - - -NAME="$(basename $0)" -export SERVICE_NAME="$NAME" -stop() { - SHUTDOWN_WAIT="30" - count="0" - if [ -f /var/run/${NAME}.pid ]; then - pid=`cat /var/run/${NAME}.pid` - kill $pid &>/dev/null - until [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ] || \ - [ "$count" -gt "$SHUTDOWN_WAIT" ] - do - sleep 1 - let count="${count}+1" - done - if [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ]; then - log_success_msg "Stopping ${NAME}:" - rm -f /var/run/${NAME}.pid - rm -f /var/lock/subsys/${NAME} - else - log_failure_msg "Stopping ${NAME}:" - fi - else - echo "Cannot find PID file of ${NAME}" - log_failure_msg "Stopping ${NAME}:" - fi -} - -set_ulimit() { - fd_limit=`ulimit -n` - if [ "$fd_limit" != "4096" ]; then - user=`whoami` - if [ $user == "root" ]; then - ulimit -n 4096 - fi - fi -} - -handle_pid_file() { - if [ "$1" -ne 0 ] && [ "$1" -ne 3 ]; then - echo "The pid file locates at /var/run/${NAME}.pid and lock file at /var/lock/subsys/${NAME}. - Starting ${NAME} will take care of them or you can manually clean up." - fi -} - -start() { - readpath=$(readlink -f $0) - source `dirname $readpath`/tomcat.sh -} - -# See how we were called. -case "$1" in - status) - status ${NAME} - RETVAL=$? - handle_pid_file $RETVAL - ;; - stop) - stop - ;; - restart) - stop - set start - set_ulimit - start - ;; - *) - set_ulimit - start -esac - -exit $RETVAL diff --git a/packaging/fedora20/cloud-management.sysconfig b/packaging/fedora20/cloud-management.sysconfig deleted file mode 100644 index cbc8b8b36c1c..000000000000 --- a/packaging/fedora20/cloud-management.sysconfig +++ /dev/null @@ -1,23 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This file is loaded in /etc/init.d/vmopsmanagement -# ATM we only do two things here: - -dummy=1 ; export TOMCAT_CFG=/etc/cloudstack/management/tomcat6.conf ; . /etc/cloudstack/management/tomcat6.conf -#-------------------------- - diff --git a/packaging/fedora20/cloud-usage.rc b/packaging/fedora20/cloud-usage.rc deleted file mode 100755 index 774113745d75..000000000000 --- a/packaging/fedora20/cloud-usage.rc +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: cloudstack-usage -# Required-Start: $network $local_fs -# Required-Stop: $network $local_fs -# Default-Start: 3 4 5 -# Default-Stop: 0 1 2 6 -# Short-Description: Start/stop Apache CloudStack Usage Monitor -# Description: This scripts Starts/Stops the Apache CloudStack Usage Monitor -## The CloudStack Usage Monitor is a part of the Apache CloudStack project and is used -## for storing usage statistics from instances. -## JSVC (Java daemonizing) is used for starting and stopping the usage monitor. -### END INIT INFO - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -. /etc/rc.d/init.d/functions - -SHORTNAME="cloudstack-usage" -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGDIR=/var/log/cloudstack/usage -LOGFILE=${LOGDIR}/usage.log -PROGNAME="CloudStack Usage Monitor" -CLASS="com.cloud.usage.UsageServer" -PROG="jsvc" -DAEMON="/usr/bin/jsvc" -USER=cloud - -unset OPTIONS -[ -r /etc/sysconfig/default/"$SHORTNAME" ] && source /etc/sysconfig/default/"$SHORTNAME" - -setJavaHome() { - # use $JAVA_HOME if defined - if [ -n "$JAVA_HOME" ] ; then - return - fi - - # try java first - java=$(which java 2>/dev/null || :) - - # try javac if java is not found - if [ -z "$java" ] ; then - java=$(which javac 2>/dev/null || :) - fi - - if [ -n "$java" ] ; then - JAVA_HOME=$(dirname $(dirname $(readlink -e $java))) - export JAVA_HOME - return - fi - - # didnt find java home. exiting with error - exit 1 -} - -setJavaHome - -SCP="" -DCP="" -UCP=`ls /usr/share/cloudstack-usage/cloud-usage-*.jar`":"`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':'` -JCP="/usr/share/java/commons-daemon.jar":"/usr/share/java/mysql-connector-java.jar" - -# We need to append the JSVC daemon and mysql-connector JAR to the classpath -# AgentShell implements the JSVC daemon methods -export CLASSPATH="$SCP:$DCP:$UCP:$JCP:/etc/cloudstack/usage" - -start() { - if [ -s "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then - echo "$PROGNAME apparently already running" - exit 0 - fi - - if hostname --fqdn >/dev/null 2>&1 ; then - true - else - echo "The host name does not resolve properly to an IP address. Cannot start $PROGNAME" - exit 1 - fi - - echo -n "Starting $PROGNAME" "$SHORTNAME" - - if daemon --pidfile $PIDFILE $DAEMON -home "$JAVA_HOME" -cp "$CLASSPATH" -pidfile "$PIDFILE" -user "$USER" \ - -errfile $LOGDIR/cloudstack-usage.err -outfile $LOGDIR/cloudstack-usage.out -Dpid=$$ $CLASS - RETVAL=$? - then - rc=0 - sleep 1 - if ! kill -0 $(cat "$PIDFILE") >/dev/null 2>&1; then - failure - rc=1 - fi - else - rc=1 - fi - - if [ $rc -eq 0 ]; then - success - else - failure - rm -f "$PIDFILE" - fi - echo -} - -stop() { - echo -n "Stopping $PROGNAME" "$SHORTNAME" - killproc -p $PIDFILE $DAEMON - if [ "$?" -eq 0 ]; then - success - else - failure - fi - rm -f "$PIDFILE" - echo -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p $PIDFILE $SHORTNAME - RETVAL=$? - ;; - restart | force-reload) - stop - sleep 3 - start - ;; - *) - echo "Usage: $0 {start|stop|restart|force-reload|status}" - RETVAL=3 -esac - -exit $RETVAL - diff --git a/packaging/fedora20/cloudstack-agent.te b/packaging/fedora20/cloudstack-agent.te deleted file mode 100644 index 4259e173a46f..000000000000 --- a/packaging/fedora20/cloudstack-agent.te +++ /dev/null @@ -1,33 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -module cloudstack-agent 1.0; - -require { - type nfs_t; - type system_conf_t; - type mount_t; - type qemu_t; - class file unlink; - class filesystem getattr; -} - -#============= mount_t ============== -allow mount_t system_conf_t:file unlink; - -#============= qemu_t ============== -allow qemu_t nfs_t:filesystem getattr; diff --git a/packaging/fedora20/cloudstack-sccs b/packaging/fedora20/cloudstack-sccs deleted file mode 100644 index e05d372c7fe4..000000000000 --- a/packaging/fedora20/cloudstack-sccs +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cat /usr/share/cloudstack-common/scripts/gitrev.txt diff --git a/packaging/fedora20/replace.properties b/packaging/fedora20/replace.properties deleted file mode 100644 index 6a3101f9b576..000000000000 --- a/packaging/fedora20/replace.properties +++ /dev/null @@ -1,58 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -DBUSER=cloud -DBPW=cloud -DBROOTPW= -MSLOG=vmops.log -APISERVERLOG=api.log -DBHOST=localhost -COMPONENTS-SPEC=components-premium.xml -REMOTEHOST=localhost -AGENTCLASSPATH= -AGENTLOG=/var/log/cloudstack/agent/agent.log -AGENTLOGDIR=/var/log/cloudstack/agent/ -AGENTSYSCONFDIR=/etc/cloudstack/agent -APISERVERLOG=/var/log/cloudstack/management/apilog.log -BINDIR=/usr/bin -COMMONLIBDIR=/usr/share/cloudstack-common -CONFIGUREVARS= -DEPSCLASSPATH= -DOCDIR= -IPALOCATORLOG=/var/log/cloudstack/management/ipallocator.log -JAVADIR=/usr/share/java -LIBEXECDIR=/usr/libexec -LOCKDIR=/var/lock -MSCLASSPATH= -MSCONF=/etc/cloudstack/management -MSENVIRON=/usr/share/cloudstack-management -MSLOG=/var/log/cloudstack/management/management-server.log -MSLOGDIR=/var/log/cloudstack/management/ -MSMNTDIR=/var/cloudstack/mnt -MSUSER=cloud -PIDDIR=/var/run -PLUGINJAVADIR=/usr/share/cloudstack-management/plugin -PREMIUMJAVADIR=/usr/share/cloudstack-management/premium -PYTHONDIR=/usr/lib/python2.6/site-packages/ -SERVERSYSCONFDIR=/etc/sysconfig -SETUPDATADIR=/usr/share/cloudstack-management/setup -SYSCONFDIR=/etc/sysconfig -SYSTEMCLASSPATH= -SYSTEMJARS= -USAGECLASSPATH= -USAGELOG=/var/log/cloudstack/usage/usage.log -USAGESYSCONFDIR=/etc/sysconfig diff --git a/packaging/fedora20/tomcat.sh b/packaging/fedora20/tomcat.sh deleted file mode 100644 index 76ba7419a536..000000000000 --- a/packaging/fedora20/tomcat.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -service tomcat start diff --git a/packaging/fedora21/cloud-agent.rc b/packaging/fedora21/cloud-agent.rc deleted file mode 100755 index 6cc6abc5e5f0..000000000000 --- a/packaging/fedora21/cloud-agent.rc +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/bash - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=$(basename $0 | sed -e 's/^[SK][0-9][0-9]//') -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGDIR=/var/log/cloudstack/agent -LOGFILE=${LOGDIR}/agent.log -PROGNAME="Cloud Agent" -CLASS="com.cloud.agent.AgentShell" -JSVC=`which jsvc 2>/dev/null`; - -# exit if we don't find jsvc -if [ -z "$JSVC" ]; then - echo no jsvc found in path; - exit 1; -fi - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" - -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun" - -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME - -ACP=`ls /usr/share/cloudstack-agent/lib/*.jar | tr '\n' ':' | sed s'/.$//'` -PCP=`ls /usr/share/cloudstack-agent/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'` - -# We need to append the JSVC daemon JAR to the classpath -# AgentShell implements the JSVC daemon methods -export CLASSPATH="/usr/share/java/commons-daemon.jar:$ACP:$PCP:/etc/cloudstack/agent:/usr/share/cloudstack-common/scripts" - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - $JSVC -Xms256m -Xmx2048m -cp "$CLASSPATH" -pidfile "$PIDFILE" \ - -errfile $LOGDIR/cloudstack-agent.err -outfile $LOGDIR/cloudstack-agent.out $CLASS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - $JSVC -pidfile "$PIDFILE" -stop $CLASS - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL diff --git a/packaging/fedora21/cloud-ipallocator.rc b/packaging/fedora21/cloud-ipallocator.rc deleted file mode 100755 index d26287dcb3cf..000000000000 --- a/packaging/fedora21/cloud-ipallocator.rc +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# chkconfig: 35 99 10 -# description: Cloud Agent - -# WARNING: if this script is changed, then all other initscripts MUST BE changed to match it as well - -. /etc/rc.d/init.d/functions - -# set environment variables - -SHORTNAME=`basename $0` -PIDFILE=/var/run/"$SHORTNAME".pid -LOCKFILE=/var/lock/subsys/"$SHORTNAME" -LOGFILE=/var/log/cloudstack/ipallocator/ipallocator.log -PROGNAME="External IPAllocator" - -unset OPTIONS -[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME" -DAEMONIZE=/usr/bin/cloud-daemonize -PROG=/usr/bin/cloud-external-ipallocator.py -OPTIONS=8083 - -start() { - echo -n $"Starting $PROGNAME: " - if hostname --fqdn >/dev/null 2>&1 ; then - daemon --check=$SHORTNAME --pidfile=${PIDFILE} "$DAEMONIZE" \ - -n "$SHORTNAME" -p "$PIDFILE" -l "$LOGFILE" "$PROG" $OPTIONS - RETVAL=$? - echo - else - failure - echo - echo The host name does not resolve properly to an IP address. Cannot start "$PROGNAME". > /dev/stderr - RETVAL=9 - fi - [ $RETVAL = 0 ] && touch ${LOCKFILE} - return $RETVAL -} - -stop() { - echo -n $"Stopping $PROGNAME: " - killproc -p ${PIDFILE} $SHORTNAME # -d 10 $SHORTNAME - RETVAL=$? - echo - [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p ${PIDFILE} $SHORTNAME - RETVAL=$? - ;; - restart) - stop - sleep 3 - start - ;; - condrestart) - if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then - stop - sleep 3 - start - fi - ;; - *) - echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}" - RETVAL=3 -esac - -exit $RETVAL - diff --git a/packaging/fedora21/cloud-management.rc b/packaging/fedora21/cloud-management.rc deleted file mode 100755 index 6d2874854ee7..000000000000 --- a/packaging/fedora21/cloud-management.rc +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# cloudstack-management This shell script takes care of starting and stopping Tomcat -# -# chkconfig: - 80 20 -# -### BEGIN INIT INFO -# Provides: tomcat6 -# Required-Start: $network $syslog -# Required-Stop: $network $syslog -# Default-Start: -# Default-Stop: -# Description: Release implementation for Servlet 2.5 and JSP 2.1 -# Short-Description: start and stop tomcat -### END INIT INFO -# -# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot -# - heavily rewritten by Deepak Bhole and Jason Corley -# - -if [ -r /etc/rc.d/init.d/functions ]; then - . /etc/rc.d/init.d/functions -fi -if [ -r /lib/lsb/init-functions ]; then - . /lib/lsb/init-functions -fi - - -NAME="$(basename $0)" -export SERVICE_NAME="$NAME" -stop() { - SHUTDOWN_WAIT="30" - count="0" - if [ -f /var/run/${NAME}.pid ]; then - pid=`cat /var/run/${NAME}.pid` - kill $pid &>/dev/null - until [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ] || \ - [ "$count" -gt "$SHUTDOWN_WAIT" ] - do - sleep 1 - let count="${count}+1" - done - if [ "$(ps --pid $pid | grep -c $pid)" -eq "0" ]; then - log_success_msg "Stopping ${NAME}:" - rm -f /var/run/${NAME}.pid - rm -f /var/lock/subsys/${NAME} - else - log_failure_msg "Stopping ${NAME}:" - fi - else - echo "Cannot find PID file of ${NAME}" - log_failure_msg "Stopping ${NAME}:" - fi -} - -set_ulimit() { - fd_limit=`ulimit -n` - if [ "$fd_limit" != "4096" ]; then - user=`whoami` - if [ $user == "root" ]; then - ulimit -n 4096 - fi - fi -} - -handle_pid_file() { - if [ "$1" -ne 0 ] && [ "$1" -ne 3 ]; then - echo "The pid file locates at /var/run/${NAME}.pid and lock file at /var/lock/subsys/${NAME}. - Starting ${NAME} will take care of them or you can manually clean up." - fi -} - -start() { - readpath=$(readlink -f $0) - source `dirname $readpath`/tomcat.sh -} - -# See how we were called. -case "$1" in - status) - status ${NAME} - RETVAL=$? - handle_pid_file $RETVAL - ;; - stop) - stop - ;; - restart) - stop - set start - set_ulimit - start - ;; - *) - set_ulimit - start -esac - -exit $RETVAL diff --git a/packaging/fedora21/cloud-management.sysconfig b/packaging/fedora21/cloud-management.sysconfig deleted file mode 100644 index cbc8b8b36c1c..000000000000 --- a/packaging/fedora21/cloud-management.sysconfig +++ /dev/null @@ -1,23 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This file is loaded in /etc/init.d/vmopsmanagement -# ATM we only do two things here: - -dummy=1 ; export TOMCAT_CFG=/etc/cloudstack/management/tomcat6.conf ; . /etc/cloudstack/management/tomcat6.conf -#-------------------------- - diff --git a/packaging/fedora21/cloud.spec b/packaging/fedora21/cloud.spec deleted file mode 100644 index cad17ed67c61..000000000000 --- a/packaging/fedora21/cloud.spec +++ /dev/null @@ -1,645 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -%define __os_install_post %{nil} -%global debug_package %{nil} - -# DISABLE the post-percentinstall java repacking and line number stripping -# we need to find a way to just disable the java repacking and line number stripping, but not the autodeps - -Name: cloudstack -Summary: CloudStack IaaS Platform -#http://fedoraproject.org/wiki/PackageNamingGuidelines#Pre-Release_packages -%if "%{?_prerelease}" != "" -%define _maventag %{_ver}-SNAPSHOT -Release: %{_rel}%{dist} -%else -%define _maventag %{_ver} -Release: %{_rel}%{dist} -%endif - -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} - -Version: %{_ver} -License: ASL 2.0 -Vendor: Apache CloudStack -Packager: Apache CloudStack -Group: System Environment/Libraries -# FIXME do groups for every single one of the subpackages -Source0: %{name}-%{_maventag}.tgz -BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build - -BuildRequires: java-1.8.0-openjdk-devel -BuildRequires: tomcat -BuildRequires: ws-commons-util -BuildRequires: jpackage-utils -BuildRequires: gcc -BuildRequires: glibc-devel -BuildRequires: /usr/bin/mkisofs -BuildRequires: MySQL-python -#BuildRequires: maven => 3.0.0 - -%description -CloudStack is a highly-scalable elastic, open source, -intelligent IaaS cloud implementation. - -%package management -Summary: CloudStack management server UI -Requires: tomcat -Requires: java-1.8.0-openjdk -Requires: python -Requires: bash -Requires: bzip2 -Requires: gzip -Requires: unzip -Requires: /sbin/mount.nfs -Requires: openssh-clients -Requires: nfs-utils -Requires: wget -Requires: mysql -Requires: mysql-connector-java -Requires: ws-commons-util -Requires: jpackage-utils -Requires: sudo -Requires: /sbin/service -Requires: /sbin/chkconfig -Requires: /usr/bin/ssh-keygen -Requires: mkisofs -Requires: MySQL-python -Requires: python-paramiko -Requires: ipmitool -Requires: %{name}-common = %{_ver} -Obsoletes: cloud-client < 4.1.0 -Obsoletes: cloud-client-ui < 4.1.0 -Obsoletes: cloud-server < 4.1.0 -Obsoletes: cloud-test < 4.1.0 -Provides: cloud-client -Group: System Environment/Libraries -%description management -The CloudStack management server is the central point of coordination, -management, and intelligence in CloudStack. - -%package common -Summary: Apache CloudStack common files and scripts -Requires: python -Obsoletes: cloud-test < 4.1.0 -Obsoletes: cloud-scripts < 4.1.0 -Obsoletes: cloud-utils < 4.1.0 -Obsoletes: cloud-core < 4.1.0 -Obsoletes: cloud-deps < 4.1.0 -Obsoletes: cloud-python < 4.1.0 -Obsoletes: cloud-setup < 4.1.0 -Obsoletes: cloud-cli < 4.1.0 -Obsoletes: cloud-daemonize < 4.1.0 -Group: System Environment/Libraries -%description common -The Apache CloudStack files shared between agent and management server - -%package agent -Summary: CloudStack Agent for KVM hypervisors -Requires: openssh-clients -Requires: java-1.8.0-openjdk -Requires: %{name}-common = %{_ver} -Requires: libvirt -Requires: bridge-utils -Requires: ebtables -Requires: iptables -Requires: ethtool -Requires: vconfig -Requires: ipset -Requires: jsvc -Requires: jakarta-commons-daemon -Requires: jakarta-commons-daemon-jsvc -Requires: perl -Requires: libvirt-python -Requires: qemu-img -Requires: qemu-kvm -Requires: libcgroup-tools -Requires: net-tools -Provides: cloud-agent -Obsoletes: cloud-agent < 4.1.0 -Obsoletes: cloud-agent-libs < 4.1.0 -Obsoletes: cloud-test < 4.1.0 -Group: System Environment/Libraries -%description agent -The CloudStack agent for KVM hypervisors - -%package baremetal-agent -Summary: CloudStack baremetal agent -Requires: tftp-server -Requires: xinetd -Requires: syslinux -Requires: chkconfig -Requires: dhcp -Requires: httpd -Group: System Environment/Libraries -%description baremetal-agent -The CloudStack baremetal agent - -%package usage -Summary: CloudStack Usage calculation server -Requires: java-1.8.0-openjdk -Requires: jsvc -Requires: jakarta-commons-daemon -Requires: jakarta-commons-daemon-jsvc -Group: System Environment/Libraries -Obsoletes: cloud-usage < 4.1.0 -Provides: cloud-usage -%description usage -The CloudStack usage calculation service - -%package cli -Summary: Apache CloudStack CLI -Provides: python-cloudmonkey -Provides: python-marvin -Group: System Environment/Libraries -%description cli -Apache CloudStack command line interface - -%if "%{_ossnoss}" == "noredist" -%package mysql-ha -Summary: Apache CloudStack Balancing Strategy for MySQL -Requires: mysql-connector-java -Requires: tomcat -Group: System Environmnet/Libraries -%description mysql-ha -Apache CloudStack Balancing Strategy for MySQL - -%endif - -%prep -echo Doing CloudStack build - -%setup -q -n %{name}-%{_maventag} - -%build - -cp packaging/centos63/replace.properties build/replace.properties -echo VERSION=%{_maventag} >> build/replace.properties -echo PACKAGE=%{name} >> build/replace.properties -touch build/gitrev.txt -echo $(git rev-parse HEAD) > build/gitrev.txt - -if [ "%{_ossnoss}" == "NOREDIST" -o "%{_ossnoss}" == "noredist" ] ; then - echo "Executing mvn packaging with non-redistributable libraries" - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn noredist packaging with simulator ..." - mvn -Psystemvm -Dnoredist -Dsimulator clean package - else - echo "Executing mvn noredist packaging without simulator..." - mvn -Psystemvm -Dnoredist clean package - fi -else - if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then - echo "Executing mvn default packaging simulator ..." - mvn -Psystemvm -Dsimulator clean package - else - echo "Executing mvn default packaging without simulator ..." - mvn -Psystemvm clean package - fi -fi - -%install -[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} -# Common directories -mkdir -p ${RPM_BUILD_ROOT}%{_bindir} -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/ipallocator -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management -mkdir -p ${RPM_BUILD_ROOT}%{_initrddir} -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d - -# Common -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms -mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/ -mkdir -p ${RPM_BUILD_ROOT}%/usr/bin -cp -r scripts/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -install -D systemvm/dist/systemvm.iso ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.iso -install -D systemvm/dist/systemvm.zip ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/systemvm.zip -install python/lib/cloud_utils.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py -cp -r python/lib/cloudutils ${RPM_BUILD_ROOT}%{python_sitearch}/ -python -m py_compile ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py -python -m compileall ${RPM_BUILD_ROOT}%{python_sitearch}/cloudutils -cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts -cp packaging/centos63/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin - -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco -cp -r plugins/network-elements/cisco-vnmc/scripts/network/cisco/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco - -# Management -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/ -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management - -# Specific for tomcat -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -ln -sf /usr/share/tomcat/bin ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/bin -ln -sf /etc/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/conf -ln -sf /usr/share/tomcat/lib ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib -ln -sf /var/log/%{name}/management ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/logs -ln -sf /var/cache/%{name}/management/temp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/temp -ln -sf /var/cache/%{name}/management/work ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/work - -/bin/touch ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management/catalina.out - -install -D client/target/utilities/bin/cloud-migrate-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-migrate-databases -install -D client/target/utilities/bin/cloud-set-guest-password ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-password -install -D client/target/utilities/bin/cloud-set-guest-sshkey ${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-sshkey -install -D client/target/utilities/bin/cloud-setup-databases ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-databases -install -D client/target/utilities/bin/cloud-setup-encryption ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-encryption -install -D client/target/utilities/bin/cloud-setup-management ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-management -install -D client/target/utilities/bin/cloud-setup-baremetal ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-baremetal -install -D client/target/utilities/bin/cloud-sysvmadm ${RPM_BUILD_ROOT}%{_bindir}/%{name}-sysvmadm -install -D client/target/utilities/bin/cloud-update-xenserver-licenses ${RPM_BUILD_ROOT}%{_bindir}/%{name}-update-xenserver-licenses - -cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup -cp -r client/target/cloud-client-ui-%{_maventag}/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client - -# Don't package the scripts in the management webapp -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts -rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms - -for name in db.properties log4j-cloud.xml tomcat6-nonssl.conf tomcat6-ssl.conf server-ssl.xml server-nonssl.xml \ - catalina.policy catalina.properties classpath.conf tomcat-users.xml web.xml environment.properties java.security.ciphers ; do - mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/$name \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name -done - -ln -s %{_sysconfdir}/%{name}/management/log4j-cloud.xml \ - ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/log4j-cloud.xml - -mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/context.xml \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client - -install python/bindir/cloud-external-ipallocator.py ${RPM_BUILD_ROOT}%{_bindir}/%{name}-external-ipallocator.py -install -D client/target/pythonlibs/jasypt-1.9.2.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar - -install -D packaging/centos63/cloud-ipallocator.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator -install -D packaging/centos63/cloud-management.rc ${RPM_BUILD_ROOT}%{_initrddir}/%{name}-management -install -D packaging/centos63/cloud-management.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}-management -install -D packaging/centos63/tomcat.sh ${RPM_BUILD_ROOT}%{_initrddir}/tomcat.sh - -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost -chmod 770 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/Catalina/localhost/client -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management -chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent - -# KVM Agent -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins -install -D packaging/centos63/cloud-agent.rc ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/%{name}-agent -install -D agent/target/transformed/agent.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties -install -D agent/target/transformed/environment.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties -install -D agent/target/transformed/log4j-cloud.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/log4j-cloud.xml -install -D agent/target/transformed/cloud-setup-agent ${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-agent -install -D agent/target/transformed/cloudstack-agent-upgrade ${RPM_BUILD_ROOT}%{_bindir}/%{name}-agent-upgrade -install -D agent/target/transformed/libvirtqemuhook ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook -install -D agent/target/transformed/cloud-ssh ${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh -install -D agent/target/transformed/cloudstack-agent-profile.sh ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh -install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar -cp plugins/hypervisors/kvm/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib - -# Usage server -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib -install -D usage/target/cloud-usage-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/cloud-usage-%{_maventag}.jar -install -D usage/target/transformed/db.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/db.properties -install -D usage/target/transformed/log4j-cloud_usage.xml ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/log4j-cloud.xml -cp usage/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib/ -install -D packaging/centos63/cloud-usage.rc ${RPM_BUILD_ROOT}/%{_sysconfdir}/init.d/%{name}-usage -mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ - -# CLI -cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/ -install cloud-cli/cloudapis/cloud.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py - -# MYSQL HA -if [ "x%{_ossnoss}" == "xnoredist" ] ; then - mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib - cp -r plugins/database/mysql-ha/target/cloud-plugin-database-mysqlha-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib -fi - -#License files from whisker -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE -if [ "x%{_ossnoss}" == "xnoredist" ] ; then - install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE - install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE -fi - -%clean -[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} - -%preun management -/sbin/service cloudstack-management stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-management > /dev/null 2>&1 || true - /sbin/service cloudstack-management stop > /dev/null 2>&1 || true -fi - -%pre management -id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -c "CloudStack unprivileged user" \ - -r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true - -# set max file descriptors for cloud user to 4096 -sed -i /"cloud hard nofile"/d /etc/security/limits.conf -sed -i /"cloud soft nofile"/d /etc/security/limits.conf -echo "cloud hard nofile 4096" >> /etc/security/limits.conf -echo "cloud soft nofile 4096" >> /etc/security/limits.conf -rm -rf %{_localstatedir}/cache/cloud -rm -rf %{_localstatedir}/cache/cloudstack -# user harcoded here, also hardcoded on wscript - -# save old configs if they exist (for upgrade). Otherwise we may lose them -# when the old packages are erased. There are a lot of properties files here. -if [ -d "%{_sysconfdir}/cloud" ] ; then - mv %{_sysconfdir}/cloud %{_sysconfdir}/cloud.rpmsave -fi - -%post management -if [ "$1" == "1" ] ; then - /sbin/chkconfig --add cloudstack-management > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-management on > /dev/null 2>&1 || true -fi - -if [ ! -f %{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util ] ; then - echo Please download vhd-util from http://download.cloud.com.s3.amazonaws.com/tools/vhd-util and put it in - echo %{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/ -fi - -# change cloud user's home to 4.1+ version if needed. Would do this via 'usermod', but it -# requires that cloud user not be in use, so RPM could not be installed while management is running -if getent passwd cloud | grep -q /var/lib/cloud; then - sed -i 's/\/var\/lib\/cloud\/management/\/var\/cloudstack\/management/g' /etc/passwd -fi - -# if saved configs from upgrade exist, copy them over -if [ -f "%{_sysconfdir}/cloud.rpmsave/management/db.properties" ]; then - mv %{_sysconfdir}/%{name}/management/db.properties %{_sysconfdir}/%{name}/management/db.properties.rpmnew - cp -p %{_sysconfdir}/cloud.rpmsave/management/db.properties %{_sysconfdir}/%{name}/management - if [ -f "%{_sysconfdir}/cloud.rpmsave/management/key" ]; then - cp -p %{_sysconfdir}/cloud.rpmsave/management/key %{_sysconfdir}/%{name}/management - fi - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/management/db.properties %{_sysconfdir}/cloud.rpmsave/management/db.properties.rpmsave -fi - -# Choose server.xml and tomcat.conf links based on old config, if exists -serverxml=%{_sysconfdir}/%{name}/management/server.xml -oldserverxml=%{_sysconfdir}/cloud.rpmsave/management/server.xml -if [ -f $oldserverxml ] || [ -L $oldserverxml ]; then - if stat -c %N $oldserverxml| grep -q server-ssl ; then - if [ -f $serverxml ] || [ -L $serverxml ]; then rm -f $serverxml; fi - ln -s %{_sysconfdir}/%{name}/management/server-ssl.xml $serverxml - echo Please verify the server.xml in saved folder, and make the required changes manually , saved folder available at $oldserverxml - else - if [ -f $serverxml ] || [ -L $serverxml ]; then rm -f $serverxml; fi - ln -s %{_sysconfdir}/%{name}/management/server-nonssl.xml $serverxml - echo Please verify the server.xml in saved folder, and make the required changes manually , saved folder available at $oldserverxml - - fi -else - echo "Unable to determine ssl settings for server.xml, please run cloudstack-setup-management manually" -fi - - -tomcatconf=%{_sysconfdir}/%{name}/management/tomcat6.conf -oldtomcatconf=%{_sysconfdir}/cloud.rpmsave/management/tomcat6.conf -if [ -f $oldtomcatconf ] || [ -L $oldtomcatconf ] ; then - if stat -c %N $oldtomcatconf| grep -q tomcat6-ssl ; then - if [ -f $tomcatconf ] || [ -L $tomcatconf ]; then rm -f $tomcatconf; fi - ln -s %{_sysconfdir}/%{name}/management/tomcat6-ssl.conf $tomcatconf - echo Please verify the tomcat6.conf in saved folder, and make the required changes manually , saved folder available at $oldtomcatconf - else - if [ -f $tomcatconf ] || [ -L $tomcatconf ]; then rm -f $tomcatconf; fi - ln -s %{_sysconfdir}/%{name}/management/tomcat6-nonssl.conf $tomcatconf - echo Please verify the tomcat6.conf in saved folder, and make the required changes manually , saved folder available at $oldtomcatconf - fi -else - echo "Unable to determine ssl settings for tomcat.conf, please run cloudstack-setup-management manually" -fi - -if [ -f "%{_sysconfdir}/cloud.rpmsave/management/cloud.keystore" ]; then - cp -p %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore %{_sysconfdir}/%{name}/management/cloudmanagementserver.keystore - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore %{_sysconfdir}/cloud.rpmsave/management/cloud.keystore.rpmsave -fi - -%preun agent -/sbin/service cloudstack-agent stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-agent > /dev/null 2>&1 || true - /sbin/service cloudstack-agent stop > /dev/null 2>&1 || true -fi - -%pre agent - -# save old configs if they exist (for upgrade). Otherwise we may lose them -# when the old packages are erased. There are a lot of properties files here. -if [ -d "%{_sysconfdir}/cloud" ] ; then - mv %{_sysconfdir}/cloud %{_sysconfdir}/cloud.rpmsave -fi - -%post agent -if [ "$1" == "1" ] ; then - echo "Running %{_bindir}/%{name}-agent-upgrade to update bridge name for upgrade from CloudStack 4.0.x (and before) to CloudStack 4.1 (and later)" - %{_bindir}/%{name}-agent-upgrade - if [ ! -d %{_sysconfdir}/libvirt/hooks ] ; then - mkdir %{_sysconfdir}/libvirt/hooks - fi - cp -a ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook %{_sysconfdir}/libvirt/hooks/qemu - /sbin/service libvirtd restart - /sbin/chkconfig --add cloudstack-agent > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-agent on > /dev/null 2>&1 || true -fi - -# if saved configs from upgrade exist, copy them over -if [ -f "%{_sysconfdir}/cloud.rpmsave/agent/agent.properties" ]; then - mv %{_sysconfdir}/%{name}/agent/agent.properties %{_sysconfdir}/%{name}/agent/agent.properties.rpmnew - cp -p %{_sysconfdir}/cloud.rpmsave/agent/agent.properties %{_sysconfdir}/%{name}/agent - # make sure we only do this on the first install of this RPM, don't want to overwrite on a reinstall - mv %{_sysconfdir}/cloud.rpmsave/agent/agent.properties %{_sysconfdir}/cloud.rpmsave/agent/agent.properties.rpmsave -fi - -%preun usage -/sbin/service cloudstack-usage stop || true -if [ "$1" == "0" ] ; then - /sbin/chkconfig --del cloudstack-usage > /dev/null 2>&1 || true - /sbin/service cloudstack-usage stop > /dev/null 2>&1 || true -fi - -%post usage -if [ -f "%{_sysconfdir}/%{name}/management/db.properties" ]; then - echo Replacing db.properties with management server db.properties - rm -f %{_sysconfdir}/%{name}/usage/db.properties - ln -s %{_sysconfdir}/%{name}/management/db.properties %{_sysconfdir}/%{name}/usage/db.properties - /sbin/chkconfig --add cloudstack-usage > /dev/null 2>&1 || true - /sbin/chkconfig --level 345 cloudstack-usage on > /dev/null 2>&1 || true -fi - -if [ -f "%{_sysconfdir}/%{name}/management/key" ]; then - echo Replacing key with management server key - rm -f %{_sysconfdir}/%{name}/usage/key - ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key -fi - -#No default permission as the permission setup is complex -%files management -%defattr(-,root,root,-) -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost -%dir %attr(0770,root,cloud) %{_sysconfdir}/%{name}/management/Catalina/localhost/client -%dir %{_datadir}/%{name}-management -%dir %attr(0770,root,cloud) %{_localstatedir}/%{name}/mnt -%dir %attr(0770,cloud,cloud) %{_localstatedir}/%{name}/management -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/work -%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management/temp -%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/management -%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-management -%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-nonssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat6-ssl.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/Catalina/localhost/client/context.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.policy -%config(noreplace) %{_sysconfdir}/%{name}/management/catalina.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/classpath.conf -%config(noreplace) %{_sysconfdir}/%{name}/management/server-nonssl.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/server-ssl.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/tomcat-users.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/web.xml -%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties -%config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers -%config(noreplace) %{_sysconfdir}/%{name}/management/commons-logging.properties -%attr(0755,root,root) %{_initrddir}/%{name}-management -%attr(0755,root,root) %{_initrddir}/tomcat.sh - -%attr(0755,root,root) %{_bindir}/%{name}-setup-management -%attr(0755,root,root) %{_bindir}/%{name}-update-xenserver-licenses -%{_datadir}/%{name}-management/webapps -%{_datadir}/%{name}-management/bin -%{_datadir}/%{name}-management/conf -%{_datadir}/%{name}-management/lib -%{_datadir}/%{name}-management/logs -%{_datadir}/%{name}-management/temp -%{_datadir}/%{name}-management/work -%attr(0755,root,root) %{_bindir}/%{name}-setup-databases -%attr(0755,root,root) %{_bindir}/%{name}-migrate-databases -%attr(0755,root,root) %{_bindir}/%{name}-set-guest-password -%attr(0755,root,root) %{_bindir}/%{name}-set-guest-sshkey -%attr(0755,root,root) %{_bindir}/%{name}-sysvmadm -%attr(0755,root,root) %{_bindir}/%{name}-setup-encryption -%{_datadir}/%{name}-management/setup/*.sql -%{_datadir}/%{name}-management/setup/db/*.sql -%{_datadir}/%{name}-management/setup/*.sh -%{_datadir}/%{name}-management/setup/server-setup.xml -%attr(0755,root,root) %{_bindir}/%{name}-external-ipallocator.py -%attr(0755,root,root) %{_initrddir}/%{name}-ipallocator -%dir %attr(0770,root,root) %{_localstatedir}/log/%{name}/ipallocator -%{_defaultdocdir}/%{name}-management-%{version}/LICENSE -%{_defaultdocdir}/%{name}-management-%{version}/NOTICE -%attr(0644,cloud,cloud) %{_localstatedir}/log/%{name}/management/catalina.out - -%files agent -%attr(0755,root,root) %{_bindir}/%{name}-setup-agent -%attr(0755,root,root) %{_bindir}/%{name}-agent-upgrade -%attr(0755,root,root) %{_bindir}/%{name}-ssh -%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-agent -%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh -%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco -%config(noreplace) %{_sysconfdir}/%{name}/agent -%dir %{_localstatedir}/log/%{name}/agent -%attr(0644,root,root) %{_datadir}/%{name}-agent/lib/*.jar -%attr(0755,root,root) %{_datadir}/%{name}-agent/lib/libvirtqemuhook -%dir %{_datadir}/%{name}-agent/plugins -%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE -%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE - -%files common -%dir %attr(0755,root,root) %{python_sitearch}/cloudutils -%dir %attr(0755,root,root) %{_datadir}/%{name}-common/vms -%attr(0755,root,root) %{_datadir}/%{name}-common/scripts -%attr(0755,root,root) /usr/bin/cloudstack-sccs -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.iso -%attr(0644, root, root) %{_datadir}/%{name}-common/vms/systemvm.zip -%attr(0644,root,root) %{python_sitearch}/cloud_utils.py -%attr(0644,root,root) %{python_sitearch}/cloud_utils.pyc -%attr(0644,root,root) %{python_sitearch}/cloudutils/* -%attr(0644, root, root) %{_datadir}/%{name}-common/lib/jasypt-1.9.2.jar -%{_defaultdocdir}/%{name}-common-%{version}/LICENSE -%{_defaultdocdir}/%{name}-common-%{version}/NOTICE - -%files usage -%attr(0755,root,root) %{_sysconfdir}/init.d/%{name}-usage -%attr(0644,root,root) %{_datadir}/%{name}-usage/*.jar -%attr(0644,root,root) %{_datadir}/%{name}-usage/lib/*.jar -%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/usage -%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/db.properties -%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/log4j-cloud.xml -%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE -%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE - -%files cli -%attr(0644,root,root) %{python_sitearch}/cloudapis.py -%attr(0644,root,root) %{python_sitearch}/cloudtool/__init__.py -%attr(0644,root,root) %{python_sitearch}/cloudtool/utils.py -%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE -%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE - -%if "%{_ossnoss}" == "noredist" -%files mysql-ha -%defattr(0644,cloud,cloud,0755) -%attr(0644,root,root) %{_datadir}/%{name}-mysql-ha/lib/* -%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE -%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE -%endif - -%files baremetal-agent -%attr(0755,root,root) %{_bindir}/cloudstack-setup-baremetal - -%changelog -* Thu Apr 30 2015 Rohit Yadav 4.6.0 -- Remove awsapi package - -* Fri Jul 04 2014 Hugo Trippaers 4.5.0 -- Add a package for the mysql ha module - -* Wed Oct 03 2012 Hugo Trippaers 4.1.0 -- new style spec file diff --git a/packaging/fedora21/cloudstack-agent.te b/packaging/fedora21/cloudstack-agent.te deleted file mode 100644 index 4259e173a46f..000000000000 --- a/packaging/fedora21/cloudstack-agent.te +++ /dev/null @@ -1,33 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -module cloudstack-agent 1.0; - -require { - type nfs_t; - type system_conf_t; - type mount_t; - type qemu_t; - class file unlink; - class filesystem getattr; -} - -#============= mount_t ============== -allow mount_t system_conf_t:file unlink; - -#============= qemu_t ============== -allow qemu_t nfs_t:filesystem getattr; diff --git a/packaging/fedora21/cloudstack-sccs b/packaging/fedora21/cloudstack-sccs deleted file mode 100644 index e05d372c7fe4..000000000000 --- a/packaging/fedora21/cloudstack-sccs +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cat /usr/share/cloudstack-common/scripts/gitrev.txt diff --git a/packaging/fedora21/replace.properties b/packaging/fedora21/replace.properties deleted file mode 100644 index 6a3101f9b576..000000000000 --- a/packaging/fedora21/replace.properties +++ /dev/null @@ -1,58 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -DBUSER=cloud -DBPW=cloud -DBROOTPW= -MSLOG=vmops.log -APISERVERLOG=api.log -DBHOST=localhost -COMPONENTS-SPEC=components-premium.xml -REMOTEHOST=localhost -AGENTCLASSPATH= -AGENTLOG=/var/log/cloudstack/agent/agent.log -AGENTLOGDIR=/var/log/cloudstack/agent/ -AGENTSYSCONFDIR=/etc/cloudstack/agent -APISERVERLOG=/var/log/cloudstack/management/apilog.log -BINDIR=/usr/bin -COMMONLIBDIR=/usr/share/cloudstack-common -CONFIGUREVARS= -DEPSCLASSPATH= -DOCDIR= -IPALOCATORLOG=/var/log/cloudstack/management/ipallocator.log -JAVADIR=/usr/share/java -LIBEXECDIR=/usr/libexec -LOCKDIR=/var/lock -MSCLASSPATH= -MSCONF=/etc/cloudstack/management -MSENVIRON=/usr/share/cloudstack-management -MSLOG=/var/log/cloudstack/management/management-server.log -MSLOGDIR=/var/log/cloudstack/management/ -MSMNTDIR=/var/cloudstack/mnt -MSUSER=cloud -PIDDIR=/var/run -PLUGINJAVADIR=/usr/share/cloudstack-management/plugin -PREMIUMJAVADIR=/usr/share/cloudstack-management/premium -PYTHONDIR=/usr/lib/python2.6/site-packages/ -SERVERSYSCONFDIR=/etc/sysconfig -SETUPDATADIR=/usr/share/cloudstack-management/setup -SYSCONFDIR=/etc/sysconfig -SYSTEMCLASSPATH= -SYSTEMJARS= -USAGECLASSPATH= -USAGELOG=/var/log/cloudstack/usage/usage.log -USAGESYSCONFDIR=/etc/sysconfig diff --git a/packaging/fedora21/tomcat.sh b/packaging/fedora21/tomcat.sh deleted file mode 100644 index 76ba7419a536..000000000000 --- a/packaging/fedora21/tomcat.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -service tomcat start diff --git a/packaging/fedora2x b/packaging/fedora2x new file mode 120000 index 000000000000..2fdf3e8d9bb2 --- /dev/null +++ b/packaging/fedora2x @@ -0,0 +1 @@ +centos7 \ No newline at end of file diff --git a/packaging/package.sh b/packaging/package.sh index 5e7304aa429a..13a4a68a9aad 100755 --- a/packaging/package.sh +++ b/packaging/package.sh @@ -23,8 +23,9 @@ function usage() { echo "The commonly used Arguments are:" echo "-p|--pack oss|OSS To package with only redistributable libraries (default)" echo "-p|--pack noredist|NOREDIST To package with non-redistributable libraries" - echo "-d centos7|centos63|fedora20|fedora21 To build a package for a distribution" + echo "-d centos7|centos6|debian To build a package for a distribution" echo "-s simulator|SIMULATOR To build for Simulator" + echo "-j jetty To build with jetty (default is tomcat)" echo "" echo "Examples: ./package.sh -p|--pack oss|OSS" echo " ./package.sh -p|--pack noredist|NOREDIST" @@ -32,11 +33,49 @@ function usage() { exit 1 } -# packaging +# checkDeps +# $1 distribution name +function checkDeps(){ + # Check JDK + if [ "$1" == "debian" ] + then + JDK=$(dpkg -l | grep "openjdk-.-jdk") + for version in $JDK; do [ "${version:8:1}" -ge "7" ] && break; done; + else + JDK=$(rpm -qa | grep "java-1...0-openjdk-devel") + for version in $JDK; do [ "${version:7:1}" -ge "7" ] && break; done; + fi + if [ "$?" -gt "0" ] || [ -z "$JDK" ] ; then + echo -e "JDK-devel 1.7.0+ not found\nCannot retrieve version to package\nPackage Build Failed" + exit 2 + fi + # Check Maven + MVN=`which mvn` + if [ -z "$MVN" ] ; then + MVN=`locate bin/mvn | grep -e mvn$ | tail -1` + if [ -z "$MVN" ] ; then + echo -e "mvn not found\ncannot retrieve version to package\nPackage Build Failed" + exit 2 + fi + fi +} +# packageRPM/DEB # $1 redist flag # $2 simulator flag # $3 distribution name -function packaging() { +# $4 servlet engine name +function packageDEB() { + export OSSNOSS $1 + export SIM $2 + export SERVLETENGINE $3 + dpkg-buildpackage -uc -us + mkdir ../dist + mv ../*.deb ../dist + mv ../*.tar.gz ../dist + mv ../*.changes ../dist + mv ../*.dsc ../dist +} +function packageRPM() { CWD=`pwd` RPMDIR=$CWD/../dist/rpmbuild PACK_PROJECT=cloudstack @@ -46,16 +85,12 @@ function packaging() { if [ -n "$2" ] ; then DEFSIM="-D_sim $2" fi + if [ -n "$4" ] ; then + SERVLETENGINE="-D_servletengine $4" + fi DISTRO=$3 - MVN=`which mvn` - if [ -z "$MVN" ] ; then - MVN=`locate bin/mvn | grep -e mvn$ | tail -1` - if [ -z "$MVN" ] ; then - echo "mvn not found\n cannot retrieve version to package\n RPM Build Failed" - exit 2 - fi - fi + VERSION=`(cd ../; $MVN org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep --color=none '^[0-9]\.'` if echo $VERSION | grep -q SNAPSHOT ; then REALVER=`echo $VERSION | cut -d '-' -f 1` @@ -69,7 +104,8 @@ function packaging() { fi echo Preparing to package Apache CloudStack ${VERSION} - + echo ". cleaning up old dist folder" + rm -rf $RPMDIR mkdir -p $RPMDIR/SPECS mkdir -p $RPMDIR/BUILD mkdir -p $RPMDIR/RPMS @@ -83,7 +119,7 @@ function packaging() { echo ". executing rpmbuild" cp $DISTRO/cloud.spec $RPMDIR/SPECS - (cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" ${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} ${DEFSIM+"$DEFSIM"} -bb SPECS/cloud.spec) + (cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" ${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} ${DEFSIM+"$DEFSIM"} ${SERVLETENGINE+"$SERVLETENGINE"} -bb SPECS/cloud.spec) if [ $? -ne 0 ]; then echo "RPM Build Failed " @@ -95,13 +131,13 @@ function packaging() { } - TARGETDISTRO="" sim="" packageval="" - - SHORTOPTS="hp:d:" - LONGOPTS="help,pack:,simulator:distribution" +SERVLETENGINE="catalina" + + SHORTOPTS="hp:d:j" + LONGOPTS="help,pack:,simulator:distribution,jetty" ARGS=$(getopt -s bash -u -a --options $SHORTOPTS --longoptions $LONGOPTS --name $0 -- "$@") eval set -- "$ARGS" echo "$ARGS" @@ -142,6 +178,10 @@ packageval="" TARGETDISTRO=$2 shift ;; + -j | --jetty) + SERVLETENGINE=jetty + shift + ;; -) echo "Unrecognized option..." usage @@ -159,5 +199,10 @@ packageval="" usage exit 1 fi - - packaging "$packageval" "$sim" "$TARGETDISTRO" + checkDeps $TARGETDISTRO + if [ $TARGETDISTRO == "debian" ] + then + packageDEB "$packageval" "$sim" "$SERVLETENGINE" + else + packageRPM "$packageval" "$sim" "$TARGETDISTRO" "$SERVLETENGINE" + fi diff --git a/plugins/database/mysql-ha/pom.xml b/plugins/database/mysql-ha/pom.xml index 9964c99c1c56..fb91fe6faf56 100644 --- a/plugins/database/mysql-ha/pom.xml +++ b/plugins/database/mysql-ha/pom.xml @@ -22,7 +22,6 @@ mysql mysql-connector-java - provided diff --git a/plugins/hypervisors/hyperv/pom.xml b/plugins/hypervisors/hyperv/pom.xml index 7ab9f092d691..d0701bfb6ed9 100644 --- a/plugins/hypervisors/hyperv/pom.xml +++ b/plugins/hypervisors/hyperv/pom.xml @@ -42,9 +42,9 @@ ${project.version} - org.mortbay.jetty - jetty - 6.1.26 + org.eclipse.jetty + jetty-server + ${cs.jetty.version} org.apache.cloudstack diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java index 125a295eb903..db4c259f11fa 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsoleProxyLoadCommandWrapper.java @@ -49,6 +49,11 @@ public Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, fina final URL url = new URL(sb.toString()); final URLConnection conn = url.openConnection(); + // setting TIMEOUTs to avoid possible waiting until death situations + conn.setConnectTimeout(5000); + conn.setReadTimeout(5000); + + final InputStream is = conn.getInputStream(); final BufferedReader reader = new BufferedReader(new InputStreamReader(is)); final StringBuilder sb2 = new StringBuilder(); @@ -75,4 +80,4 @@ public Answer executeProxyLoadScan(final Command cmd, final long proxyVmId, fina return new ConsoleProxyLoadAnswer(cmd, proxyVmId, proxyVmName, success, result); } -} \ No newline at end of file +} diff --git a/pom.xml b/pom.xml index fa019ef7c318..2e6ed44e4457 100644 --- a/pom.xml +++ b/pom.xml @@ -101,6 +101,8 @@ 3.0.0 2.10.1 2.6.1 + 8.0.22 + 9.2.11.v20150529 @@ -196,7 +198,6 @@ mysql mysql-connector-java ${cs.mysql.version} - provided,test log4j @@ -1109,5 +1110,28 @@ tools/wix-cloudstack-maven-plugin + + tomcat + + + catalina + + + + client/catalina + + + + jetty + + + jetty + + + + client/jetty + + + diff --git a/python/lib/cloudutils/serviceConfigServer.py b/python/lib/cloudutils/serviceConfigServer.py index b928df4d49d9..53e740e4bffe 100644 --- a/python/lib/cloudutils/serviceConfigServer.py +++ b/python/lib/cloudutils/serviceConfigServer.py @@ -83,25 +83,19 @@ def checkHostName(): cfo = configFileOps("/etc/cloudstack/management/tomcat6.conf", self) cfo.add_lines("JAVA_OPTS+=\" -Djavax.net.ssl.trustStore=%s \""%keyPath) elif self.syscfg.env.svrMode == "HttpsServer": - if not os.path.exists("/etc/cloudstack/management/server-ssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-ssl.conf"): - raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-ssl.xml or /etc/cloudstack/management/tomcat6-ssl.conf, https enables failed") + if not os.path.exists("/etc/cloudstack/management/server-ssl.xml"): + raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-ssl.xml, https enables failed") if os.path.exists("/etc/cloudstack/management/server.xml"): bash("rm -f /etc/cloudstack/management/server.xml") - if os.path.exists("/etc/cloudstack/management/tomcat6.conf"): - bash("rm -f /etc/cloudstack/management/tomcat6.conf") bash("ln -s /etc/cloudstack/management/server-ssl.xml /etc/cloudstack/management/server.xml") - bash("ln -s /etc/cloudstack/management/tomcat6-ssl.conf /etc/cloudstack/management/tomcat6.conf") if not bash("iptables-save |grep PREROUTING | grep 6443").isSuccess(): bash("iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 6443") else: - if not os.path.exists("/etc/cloudstack/management/server-nonssl.xml") or not os.path.exists("/etc/cloudstack/management/tomcat6-nonssl.conf"): + if not os.path.exists("/etc/cloudstack/management/server-nonssl.xml"): raise CloudRuntimeException("Cannot find /etc/cloudstack/management/server-nonssl.xml or /etc/cloudstack/management/tomcat6-nonssl.conf, https enables failed") if os.path.exists("/etc/cloudstack/management/server.xml"): bash("rm -f /etc/cloudstack/management/server.xml") - if os.path.exists("/etc/cloudstack/management/tomcat6.conf"): - bash("rm -f /etc/cloudstack/management/tomcat6.conf") bash("ln -s /etc/cloudstack/management/server-nonssl.xml /etc/cloudstack/management/server.xml") - bash("ln -s /etc/cloudstack/management/tomcat6-nonssl.conf /etc/cloudstack/management/tomcat6.conf") bash("touch /var/run/cloudstack-management.pid") bash("chown cloud.cloud /var/run/cloudstack-management.pid") diff --git a/python/lib/cloudutils/syscfg.py b/python/lib/cloudutils/syscfg.py index 290f56ccdd67..467fcf190e3c 100755 --- a/python/lib/cloudutils/syscfg.py +++ b/python/lib/cloudutils/syscfg.py @@ -206,12 +206,10 @@ class sysConfigServerRedhat(sysConfigServer): def __init__(self, glbEnv): super(sysConfigServerRedhat, self).__init__(glbEnv) self.svo = serviceOpsRedhat() - self.services = [sudoersConfig(self), - firewallConfigServer(self)] + self.services = [firewallConfigServer(self)] class sysConfigServerUbuntu(sysConfigServer): def __init__(self, glbEnv): super(sysConfigServerUbuntu, self).__init__(glbEnv) self.svo = serviceOpsUbuntu() - self.services = [sudoersConfig(self), - ubuntuFirewallConfigServer(self)] + self.services = [ubuntuFirewallConfigServer(self)] diff --git a/server/conf/cloudstack-sudoers.in b/server/conf/cloudstack-sudoers.in index 069016434c76..908d2f4733f4 100644 --- a/server/conf/cloudstack-sudoers.in +++ b/server/conf/cloudstack-sudoers.in @@ -18,5 +18,8 @@ # The CloudStack management server needs sudo permissions # without a password. -@MSUSER@ ALL =NOPASSWD : /bin/chmod, /bin/cp, /bin/mkdir, /bin/mount, /bin/umount +Cmnd_Alias CLOUDSTACK = /bin/mkdir, /bin/mount, /bin/umount, /bin/cp, /bin/chmod, /usr/bin/keytool, /bin/keytool +Defaults:@MSUSER@ !requiretty + +@MSUSER@ ALL=(root) NOPASSWD:CLOUDSTACK diff --git a/setup/bindir/cloud-setup-databases.in b/setup/bindir/cloud-setup-databases.in index 08a3cc937c3a..03d4defc5bfd 100755 --- a/setup/bindir/cloud-setup-databases.in +++ b/setup/bindir/cloud-setup-databases.in @@ -388,7 +388,7 @@ for example: def processEncryptionStuff(self): def encrypt(input): - cmd = ['java','-classpath','"' + self.encryptionJarPath + '"','org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI', 'encrypt.sh', 'input=%s'%input, 'password=%s'%self.mgmtsecretkey,'verbose=false'] + cmd = ['java','-classpath','"' + self.encryptionJarPath + '"', "-Djava.security.egd=file:/dev/./urandom",'org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI', 'encrypt.sh', 'input=%s'%input, 'password=%s'%self.mgmtsecretkey,'verbose=false'] return runCmd(cmd).strip('\r\n') def saveMgmtServerSecretKey(): diff --git a/setup/db/deploy-db-dev.sh b/setup/db/deploy-db-dev.sh index 29ec4db60508..f149e9efd029 100755 --- a/setup/db/deploy-db-dev.sh +++ b/setup/db/deploy-db-dev.sh @@ -104,10 +104,6 @@ CP=./ CP=${CP}$PATHSEP$CATALINA_HOME/conf -# Add mysql jar from mysql-connector-java package to CP -# for Jenkins -CP=${CP}${PATHSEP}/usr/share/java/mysql-connector-java.jar - for file in $CATALINA_HOME/webapps/client/WEB-INF/lib/*.jar do CP=${CP}$PATHSEP$file diff --git a/tools/apidoc/pom.xml b/tools/apidoc/pom.xml index e309bccccda1..7e5483d92ede 100644 --- a/tools/apidoc/pom.xml +++ b/tools/apidoc/pom.xml @@ -23,7 +23,7 @@ ../../client/target/cloud-client-ui-${project.version}/WEB-INF/ ${client.config.base}/lib - ${client.config.base}/classes + ../../client/target/conf diff --git a/usage/pom.xml b/usage/pom.xml index c1cbb92086b2..81c02d06539f 100644 --- a/usage/pom.xml +++ b/usage/pom.xml @@ -43,7 +43,7 @@ mysql mysql-connector-java ${cs.mysql.version} - provided + runtime org.slf4j