diff --git a/client/pom.xml b/client/pom.xml index 58ade0cf3f53..43bfd50a0dad 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -19,6 +19,7 @@ cloudstack 4.9.0 + org.apache.cloudstack diff --git a/debian/cloudstack-integration-tests.install b/debian/cloudstack-integration-tests.install new file mode 100644 index 000000000000..4b0138512264 --- /dev/null +++ b/debian/cloudstack-integration-tests.install @@ -0,0 +1,18 @@ +# 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. + +/usr/share/cloudstack-integration-tests/* diff --git a/debian/cloudstack-marvin.install b/debian/cloudstack-marvin.install new file mode 100644 index 000000000000..5dca252c9ad0 --- /dev/null +++ b/debian/cloudstack-marvin.install @@ -0,0 +1,18 @@ +# 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. + +/usr/share/cloudstack-marvin/Marvin*.tar.gz diff --git a/debian/cloudstack-marvin.postinst b/debian/cloudstack-marvin.postinst new file mode 100644 index 000000000000..5bdd85da2ee6 --- /dev/null +++ b/debian/cloudstack-marvin.postinst @@ -0,0 +1,23 @@ +#!/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. + +set -e + +pip install --upgrade http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df +pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz diff --git a/debian/control b/debian/control index 8d40059dccbf..0cf7a11403c5 100644 --- a/debian/control +++ b/debian/control @@ -45,3 +45,13 @@ Package: cloudstack-docs Architecture: all Depends: ${misc:Depends} Description: The CloudStack documentation + +Package: cloudstack-marvin +Architecture: all +Depends: ${misc:Depends}, python-pip, python-dev, libffi-dev +Description: The CloudStack Marvin library + +Package: cloudstack-integration-tests +Architecture: all +Depends: ${misc:Depends}, cloudstack-marvin (= ${source:Version}) +Description: The CloudStack Marvin integration tests diff --git a/debian/rules b/debian/rules index 05f9f34fcf11..f996699ef05f 100755 --- a/debian/rules +++ b/debian/rules @@ -13,7 +13,7 @@ override_dh_auto_configure: echo VERSION=${VERSION} >> replace.properties.tmp override_dh_auto_build: - mvn -T C1.5 clean package -Psystemvm -DskipTests -Dsystemvm \ + mvn -T C1.5 clean package -Psystemvm,developer -Dsystemvm \ -Dcs.replace.properties=replace.properties.tmp \ -Dmaven.repo.local=$(HOME)/.m2/repository \ ${ACS_BUILD_OPTS} @@ -125,6 +125,14 @@ override_dh_auto_install: 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 + # cloudstack-marvin + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-marvin + cp tools/marvin/dist/Marvin-*.tar.gz $(DESTDIR)/usr/share/$(PACKAGE)-marvin/ + + # cloudstack-integration-tests + mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests + cp -r test/integration/* $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests/ + override_dh_installinit: dh_installinit -pcloudstack-management -pcloudstack-agent -pcloudstack-usage --onlyscripts --no-start diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec index 285839519d88..583dced7c2ae 100644 --- a/packaging/centos63/cloud.spec +++ b/packaging/centos63/cloud.spec @@ -169,6 +169,24 @@ Group: System Environment/Libraries %description cli Apache CloudStack command line interface +%package marvin +Summary: Apache CloudStack Marvin library +Requires: python-pip +Requires: gcc +Requires: python-devel +Requires: libffi-devel +Requires: openssl-devel +Group: System Environment/Libraries +%description marvin +Apache CloudStack Marvin library + +%package integration-tests +Summary: Apache CloudStack Marvin integration tests +Requires: %{name}-marvin = %{_ver} +Group: System Environment/Libraries +%description integration-tests +Apache CloudStack Marvin integration tests + %if "%{_ossnoss}" == "noredist" %package mysql-ha Summary: Apache CloudStack Balancing Strategy for MySQL @@ -197,18 +215,18 @@ 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 + mvn -Psystemvm,developer -Dnoredist -Dsimulator clean package else echo "Executing mvn noredist packaging without simulator..." - mvn -Psystemvm -Dnoredist clean package + mvn -Psystemvm,developer -Dnoredist clean package fi else if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then echo "Executing mvn default packaging simulator ..." - mvn -Psystemvm -Dsimulator clean package + mvn -Psystemvm,developer -Dsimulator clean package else echo "Executing mvn default packaging without simulator ..." - mvn -Psystemvm clean package + mvn -Psystemvm,developer clean package fi fi @@ -344,6 +362,14 @@ mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/ install cloud-cli/cloudapis/cloud.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py +# Marvin +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin +cp tools/marvin/dist/Marvin-*.tar.gz ${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin/ + +# integration-tests +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests +cp -r test/integration/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests/ + # MYSQL HA if [ "x%{_ossnoss}" == "xnoredist" ] ; then mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib @@ -361,6 +387,10 @@ install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage 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 +install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE +install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE +install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE +install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{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 @@ -533,6 +563,10 @@ if [ -f "%{_sysconfdir}/%{name}/management/key" ]; then ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key fi +%post marvin +pip install --upgrade http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df +pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz + #No default permission as the permission setup is complex %files management %defattr(-,root,root,-) @@ -639,6 +673,16 @@ fi %{_defaultdocdir}/%{name}-cli-%{version}/LICENSE %{_defaultdocdir}/%{name}-cli-%{version}/NOTICE +%files marvin +%attr(0644,root,root) %{_datadir}/%{name}-marvin/Marvin*.tar.gz +%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE +%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE + +%files integration-tests +%attr(0755,root,root) %{_datadir}/%{name}-integration-tests/* +%{_defaultdocdir}/%{name}-integration-tests-%{version}/LICENSE +%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE + %if "%{_ossnoss}" == "noredist" %files mysql-ha %defattr(0644,cloud,cloud,0755) diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec index 8d2ddc404505..dc9eac769045 100644 --- a/packaging/centos7/cloud.spec +++ b/packaging/centos7/cloud.spec @@ -144,6 +144,24 @@ Group: System Environment/Libraries %description cli Apache CloudStack command line interface +%package marvin +Summary: Apache CloudStack Marvin library +Requires: python-pip +Requires: gcc +Requires: python-devel +Requires: libffi-devel +Requires: openssl-devel +Group: System Environment/Libraries +%description marvin +Apache CloudStack Marvin library + +%package integration-tests +Summary: Apache CloudStack Marvin integration tests +Requires: %{name}-marvin = %{_ver} +Group: System Environment/Libraries +%description integration-tests +Apache CloudStack Marvin integration tests + %if "%{_ossnoss}" == "noredist" %package mysql-ha Summary: Apache CloudStack Balancing Strategy for MySQL @@ -178,7 +196,7 @@ if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then FLAGS="$FLAGS -Dsimulator" fi -mvn -Psystemvm -DskipTests $FLAGS clean package +mvn -Psystemvm,developer -DskipTests $FLAGS clean package %install [ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} @@ -316,6 +334,14 @@ mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/ cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/ install cloud-cli/cloudapis/cloud.py ${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py +# Marvin +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin +cp tools/marvin/dist/Marvin-*.tar.gz ${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin/ + +# integration-tests +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests +cp -r test/integration/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests/ + # MYSQL HA if [ "x%{_ossnoss}" == "xnoredist" ] ; then mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib @@ -333,6 +359,10 @@ install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage 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 +install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE +install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE +install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE +install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{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 @@ -430,6 +460,10 @@ if [ -f "%{_sysconfdir}/%{name}/management/key" ]; then ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key fi +%post marvin +pip install --upgrade http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df +pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz + #No default permission as the permission setup is complex %files management %defattr(-,root,root,-) @@ -535,6 +569,16 @@ fi %{_defaultdocdir}/%{name}-cli-%{version}/LICENSE %{_defaultdocdir}/%{name}-cli-%{version}/NOTICE +%files marvin +%attr(0644,root,root) %{_datadir}/%{name}-marvin/Marvin*.tar.gz +%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE +%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE + +%files integration-tests +%attr(0755,root,root) %{_datadir}/%{name}-integration-tests/* +%{_defaultdocdir}/%{name}-integration-tests-%{version}/LICENSE +%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE + %if "%{_ossnoss}" == "noredist" %files mysql-ha %defattr(0644,cloud,cloud,0755) diff --git a/pom.xml b/pom.xml index 6cec46dc8afb..d06f2c2a9772 100644 --- a/pom.xml +++ b/pom.xml @@ -44,6 +44,13 @@ https://issues.apache.org/jira/browse/CLOUDSTACK + + + juniper-contrail + http://juniper.github.io/contrail-maven/snapshots + + + 1.7 UTF-8 diff --git a/tools/marvin/pom.xml b/tools/marvin/pom.xml index de71228f8623..9081345adca4 100644 --- a/tools/marvin/pom.xml +++ b/tools/marvin/pom.xml @@ -73,8 +73,8 @@ - install - install + package + package exec