keep_descriptions=False
include_path=.
recursive=True
+retain_anchors=True
[jenkins]
user=#odl_username#
- fluorine:
branch: 'master'
integration-test: fluorine
- extra-mvn-opts: -P!karaf -Dsft.heap.max=4g -Dskip.karaf.featureTest=true
+ extra-mvn-opts: -P!karaf -Pignore-lispflowmapping-integrationtest -Dsft.heap.max=4g
+ -Dskip.karaf.featureTest=true
- oxygen:
branch: 'stable/oxygen'
integration-test: oxygen
- extra-mvn-opts: -P!karaf -Dsft.heap.max=4g -Dskip.karaf.featureTest=true
+ extra-mvn-opts: -P!karaf -Pignore-lispflowmapping-integrationtest -Dsft.heap.max=4g
+ -Dskip.karaf.featureTest=true
project: releng/autorelease
project-name: autorelease
devstack-networking-sfc-plugin-repo: 'https://github.com/openstack/networking-sfc'
# lf-infra defaults
- jenkins-ssh-credential: opendaylight-jenkins-ssh
+ jenkins-ssh-credential: jenkins-ssh
gerrit-server-name: OpenDaylight
mvn-site-id: opendaylight-site
mvn-snapshot-id: opendaylight-snapshot
tenant-network-type: 'vxlan'
odl-sfc-driver: 'odl'
odl-snat-mode: 'controller'
+ enable-itm-direct-tunnels: 'false'
openstack_legacy_default_network_services: 'q-dhcp,q-meta,q-svc'
# openstack-infra-parameters defaults
-Subproject commit 2b4fca8ba1a2f7862ebd771d0111c7cbd4e442bf
+Subproject commit d0dddc7e5ea93df8e47b90bdf6afd2edfd966cb5
netconf-csit-3node-clustering-all-fluorine,
netconf-csit-3node-clustering-scale-all-fluorine,
netvirt-csit-1node-openstack-pike-upstream-stateful-fluorine,
+netvirt-csit-1node-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
netvirt-csit-1node-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
netvirt-csit-1node-openstack-queens-sfc-fluorine,
+netvirt-csit-1node-openstack-queens-upgrade-fluorine,
+netvirt-csit-1node-openstack-queens-upgrade-snat-conntrack-fluorine,
netvirt-csit-1node-openstack-queens-upstream-stateful-fluorine,
+netvirt-csit-1node-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
netvirt-csit-1node-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
netvirt-csit-3node-openstack-pike-upstream-stateful-fluorine,
+netvirt-csit-3node-openstack-pike-upstream-stateful-itm-direct-tunnels-fluorine,
netvirt-csit-3node-openstack-pike-upstream-stateful-snat-conntrack-fluorine,
netvirt-csit-3node-openstack-queens-upstream-stateful-fluorine,
+netvirt-csit-3node-openstack-queens-upstream-stateful-itm-direct-tunnels-fluorine,
netvirt-csit-3node-openstack-queens-upstream-stateful-snat-conntrack-fluorine,
netvirt-csit-hwvtep-1node-openstack-pike-upstream-stateful-fluorine,
netvirt-csit-hwvtep-1node-openstack-queens-upstream-stateful-fluorine,
netconf-csit-3node-cluster-stress-all-oxygen,
netconf-csit-3node-clustering-all-oxygen,
netconf-csit-3node-clustering-scale-all-oxygen,
+netvirt-csit-1node-openstack-pike-upstream-stateful-itm-direct-tunnels-oxygen,
netvirt-csit-1node-openstack-pike-upstream-stateful-oxygen,
netvirt-csit-1node-openstack-pike-upstream-stateful-snat-conntrack-oxygen,
netvirt-csit-1node-openstack-queens-sfc-oxygen,
+netvirt-csit-1node-openstack-queens-upstream-stateful-itm-direct-tunnels-oxygen,
netvirt-csit-1node-openstack-queens-upstream-stateful-oxygen,
netvirt-csit-1node-openstack-queens-upstream-stateful-snat-conntrack-oxygen,
+netvirt-csit-3node-openstack-pike-upstream-stateful-itm-direct-tunnels-oxygen,
netvirt-csit-3node-openstack-pike-upstream-stateful-oxygen,
netvirt-csit-3node-openstack-pike-upstream-stateful-snat-conntrack-oxygen,
+netvirt-csit-3node-openstack-queens-upstream-stateful-itm-direct-tunnels-oxygen,
netvirt-csit-3node-openstack-queens-upstream-stateful-oxygen,
netvirt-csit-3node-openstack-queens-upstream-stateful-snat-conntrack-oxygen,
netvirt-csit-hwvtep-1node-openstack-pike-upstream-stateful-oxygen,
DISABLE_OS_SERVICES: ${DISABLE_OS_SERVICES}
TENANT_NETWORK_TYPE: ${TENANT_NETWORK_TYPE}
SECURITY_GROUP_MODE: ${SECURITY_GROUP_MODE}
+ENABLE_ITM_DIRECT_TUNNELS: ${ENABLE_ITM_DIRECT_TUNNELS}
PUBLIC_PHYSICAL_NETWORK: ${PUBLIC_PHYSICAL_NETWORK}
ENABLE_NETWORKING_L2GW: ${ENABLE_NETWORKING_L2GW}
CREATE_INITIAL_NETWORKS: ${CREATE_INITIAL_NETWORKS}
esac
}
+# Involves just setting up the shared directory
+function setup_live_migration_control() {
+ local control_ip=$1
+ printf "${control_ip}:Setup directory Share with NFS"
+ cat > ${WORKSPACE}/setup_live_migration_control.sh << EOF
+sudo mkdir --mode=777 /vm_instances
+sudo chown -R jenkins:jenkins /vm_instances
+sudo yum install -y nfs-utils
+printf "/vm_instances *(rw,no_root_squash)" | sudo tee -a /etc/exports
+sudo systemctl start rpcbind nfs-server
+sudo exportfs
+EOF
+ scp ${WORKSPACE}/setup_live_migration_control.sh ${control_ip}:/tmp/setup_live_migration_control.sh
+ ssh ${control_ip} "bash /tmp/setup_live_migration_control.sh"
+}
+
+# Involves mounting the share and configuring the libvirtd
+function setup_live_migration_compute() {
+ local compute_ip=$1
+ local control_ip=$2
+ printf "${compute_ip}:Mount Shared directory from ${control_ip}"
+ printf "${compute_ip}:Configure libvirt in listen mode"
+ cat > ${WORKSPACE}/setup_live_migration_compute.sh << EOF
+sudo yum install -y libvirt libvirt-devel nfs-utils
+sudo crudini --verbose --set --inplace /etc/libvirt/libvirtd.conf '' listen_tls 0
+sudo crudini --verbose --set --inplace /etc/libvirt/libvirtd.conf '' listen_tcp 1
+sudo crudini --verbose --set --inplace /etc/libvirt/libvirtd.conf '' auth_tcp '"none"'
+sudo crudini --verbose --set --inplace /etc/sysconfig/libvirtd '' LIBVIRTD_ARGS '"--listen"'
+sudo mkdir --mode=777 -p /var/instances
+sudo chown -R jenkins:jenkins /var/instances
+sudo chmod o+x /var/instances
+sudo systemctl start rpcbind
+sudo mount -t nfs ${control_ip}:/vm_instances /var/instances
+sudo mount
+EOF
+ scp ${WORKSPACE}/setup_live_migration_compute.sh ${compute_ip}:/tmp/setup_live_migration_compute.sh
+ ssh ${compute_ip} "bash /tmp/setup_live_migration_compute.sh"
+}
# Add enable_services and disable_services to the local.conf
function add_os_services() {
cat > ${local_conf_file_name} << EOF
[[local|localrc]]
LOGFILE=stack.sh.log
-USE_SCREEN=True
-SCREEN_LOGDIR=/opt/stack/data/log
LOG_COLOR=False
+USE_SYSTEMD=True
RECLONE=${RECLONE}
# Increase the wait used by stack to poll for services
SERVICE_TIMEOUT=120
[[post-config|\$NEUTRON_CONF]]
[DEFAULT]
service_plugins = ${SERVICE_PLUGINS}
+log_dir = /opt/stack/logs
[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
[agent]
cat >> ${local_conf_file_name} << EOF
+[ml2_odl]
+# Trigger n-odl full sync every 30 secs.
+maintenance_interval = 30
+
[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
force_metadata = True
enable_isolated_metadata = True
+log_dir = /opt/stack/logs
[[post-config|/etc/nova/nova.conf]]
[DEFAULT]
force_config_drive = False
force_raw_images = False
+log_dir = /opt/stack/logs
[scheduler]
discover_hosts_in_cells_interval = 30
[[local|localrc]]
LOGFILE=stack.sh.log
LOG_COLOR=False
-USE_SCREEN=True
-SCREEN_LOGDIR=/opt/stack/data/log
+USE_SYSTEMD=True
RECLONE=${RECLONE}
# Increase the wait used by stack to poll for the nova service on the control node
NOVA_READY_TIMEOUT=1800
[DEFAULT]
use_neutron = True
force_raw_images = False
+log_dir = /opt/stack/logs
+[libvirt]
+live_migration_uri = qemu+tcp://%s/system
+virt_type = qemu
EOF
echo "Compute local.conf created:"
scp ${WORKSPACE}/local.conf_control_${!CONTROLIP} ${!CONTROLIP}:/opt/stack/devstack/local.conf
echo "Install rdo release to avoid incompatible Package versions"
install_rdo_release ${!CONTROLIP}
+ setup_live_migration_control ${!CONTROLIP}
echo "Stack the control node ${i} of ${NUM_OPENSTACK_CONTROL_NODES}: ${CONTROLIP}"
ssh ${!CONTROLIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
ssh ${!CONTROLIP} "ps -ef | grep stack.sh"
scp ${WORKSPACE}/local.conf_compute_${!COMPUTEIP} ${!COMPUTEIP}:/opt/stack/devstack/local.conf
echo "Install rdo release to avoid incompatible Package versions"
install_rdo_release ${!COMPUTEIP}
+ setup_live_migration_compute ${!COMPUTEIP} ${!CONTROLIP}
echo "Stack the compute node ${i} of ${NUM_OPENSTACK_COMPUTE_NODES}: ${COMPUTEIP}"
ssh ${!COMPUTEIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
ssh ${!COMPUTEIP} "ps -ef | grep stack.sh"
-v CONTROLLERFEATURES:"${CONTROLLERFEATURES}" \
-v CONTROLLER_USER:${USER} \
-v DEVSTACK_DEPLOY_PATH:/opt/stack/devstack \
+ -v ENABLE_ITM_DIRECT_TUNNELS:${ENABLE_ITM_DIRECT_TUNNELS} \
-v HA_PROXY_IP:${HA_PROXY_IP} \
-v HA_PROXY_1_IP:${HA_PROXY_1_IP} \
-v HA_PROXY_2_IP:${HA_PROXY_2_IP} \
-v OS_COMPUTE_4_IP:${OPENSTACK_COMPUTE_NODE_4_IP} \
-v OS_COMPUTE_5_IP:${OPENSTACK_COMPUTE_NODE_5_IP} \
-v OS_COMPUTE_6_IP:${OPENSTACK_COMPUTE_NODE_6_IP} \
+ -v CMP_INSTANCES_SHARED_PATH:/var/instances \
-v OS_USER:${USER} \
-v PUBLIC_PHYSICAL_NETWORK:${PUBLIC_PHYSICAL_NETWORK} \
-v SECURITY_GROUP_MODE:${SECURITY_GROUP_MODE} \
# Make sure pip itself us up-to-date.
pip install --upgrade pip
+pip3 install --upgrade pip
pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr pyhocon
pip install --upgrade robotframework-httplibrary \
# Module for backup-restore support library
pip install --upgrade jsonpatch
+#Module for elasticsearch python client
+#Module for elasticsearch python client
+pip3 install --user https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
+pip3 install --user https://files.pythonhosted.org/packages/b8/f7/3bb4d18c234a8ce7044d5ee2e1082b7d72bf6c550afb8d51ae266dea56f1/requests-2.9.1-py2.py3-none-any.whl
+pip3 install --user https://files.pythonhosted.org/packages/c3/e3/146b675e6d0138a49c4b817b4e68170eb9b75cee7e71fa3ec69624c4f467/elasticsearch-6.2.0-py2.py3-none-any.whl
+pip3 install --user https://files.pythonhosted.org/packages/75/5e/b84feba55e20f8da46ead76f14a3943c8cb722d40360702b2365b91dec00/PyYAML-3.11.tar.gz
+
# Print installed versions.
pip install --upgrade pipdeptree
pipdeptree
name: SECURITY_GROUP_MODE
default: '{security-group-mode}'
description: 'Security Group Mode to be used in netvirt aclservice config'
+ - string:
+ name: ENABLE_ITM_DIRECT_TUNNELS
+ default: '{enable-itm-direct-tunnels}'
+ description: 'Tunnel Configuration mode to be used in genius ifm config'
- string:
name: PUBLIC_PHYSICAL_NETWORK
default: '{public-physical-network}'
name: SECURITY_GROUP_MODE
default: '{security-group-mode}'
description: 'Security Group Mode to be used in netvirt aclservice config'
+ - string:
+ name: ENABLE_ITM_DIRECT_TUNNELS
+ default: '{enable-itm-direct-tunnels}'
+ description: 'Tunnel Configuration mode to be used in genius ifm config'
- string:
name: PUBLIC_PHYSICAL_NETWORK
default: '{public-physical-network}'
jobs:
- '{project-name}-distribution-check-{stream}':
mvn-version: 'mvn35'
- - '{project-name}-maven-javadoc-jobs'
+ - '{project-name}-maven-javadoc-jobs':
+ mvn-version: 'mvn33'
- odl-maven-jobs
stream: fluorine
jobs:
- '{project-name}-distribution-check-{stream}':
mvn-version: 'mvn35'
- - '{project-name}-maven-javadoc-jobs'
+ - '{project-name}-maven-javadoc-jobs':
+ mvn-version: 'mvn33'
- odl-maven-jobs
stream: oxygen
--- /dev/null
+---
+- project:
+ name: netvirt-csit-upgrade-openstack-integration-oxygen
+ jobs:
+ - inttest-csit-openstack
+
+ project: 'netvirt'
+ stream: 'fluorine'
+ branch: 'master'
+ testplan: '{project}-{topology}-openstack-upgrade.txt'
+ odl-ml2-driver-version: 'v2'
+ enable-openstack-services: 'placement-api,l2gw-plugin'
+ enable-openstack-compute-services: 'placement-client'
+ security-group-mode: 'stateful'
+ odl_system_flavor: odl-standard-8
+ openstack_system_flavor: odl-standard-8
+ openstack_system2_flavor: odl-standard-4
+
+ topology:
+ - 1node:
+ openstack_system2_count: 2
+ odl_system_count: 1
+ enable-haproxy: 'no'
+ install-features: 'odl-netvirt-openstack'
+
+ functionality:
+ - upgrade
+ - upgrade-snat-conntrack:
+ odl-snat-mode: 'conntrack'
+
+ openstack:
+ - queens:
+ openstack-branch: 'stable/queens'
+ odl-ml2-branch: 'stable/queens'
+ odl-ml2-port-binding: 'pseudo-agentdb-binding'
+ openstack_system_image: '{openstack_system_image_pike}'
+ openstack_system2_image: '{openstack_system_image_pike}'
functionality:
- upstream-stateful
+ - upstream-stateful-itm-direct-tunnels:
+ enable-itm-direct-tunnels: 'true'
- upstream-stateful-snat-conntrack:
odl-snat-mode: 'conntrack'
- gate-stateful
functionality:
- upstream-stateful
+ - upstream-stateful-itm-direct-tunnels:
+ enable-itm-direct-tunnels: 'true'
- upstream-stateful-snat-conntrack:
odl-snat-mode: 'conntrack'
- gate-stateful
- coe:
csit-list: >
coe-csit-1node-container-networking-all-{stream}
+ - itm-direct-tunnels:
+ csit-list: >
+ netvirt-csit-1node-openstack-{os-branch}-upstream-stateful-itm-direct-tunnels-{stream}
+ - upgrade:
+ csit-list: >
+ netvirt-csit-1node-openstack-{os-branch}-upgrade-{stream}
--- /dev/null
+---
+- project:
+ name: odltools
+ jobs:
+ - gerrit-tox-verify
+ - '{project-name}-rtd-jobs':
+ build-node: centos7-builder-2c-2g
+ doc-dir: .tox/docs/tmp/html
+ project-pattern: odltools
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/odltools/40832/
+ rtd-token: 225d4ef64e1efce4fe3ba4c9c4fe772355d3c8b2
+
+ stream:
+ - fluorine:
+ branch: 'master'
+
+ project: odltools
+ project-name: odltools
+ build-node: centos7-builder-2c-2g
+ build-timeout: 60
- string:
name: DOWNLOAD_URL
# yamllint disable-line rule:line-length
- default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.1/karaf-0.8.1.tar.gz'
+ default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
description: 'URL to ODL tarball artifact to repackage into RPM'
- string:
name: CHANGELOG_NAME
build-timeout: '{build-timeout}'
builders:
- # Test Oxygen SR1 release tarball
+ # Test Oxygen SR2 release tarball
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.1/karaf-0.8.1.tar.gz'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2191/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2209/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180531.192226-59.zip'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180620.055735-63.zip'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
build-timeout: '{build-timeout}'
builders:
- # Test Oxygen SR1 release tarball
+ # Test Oxygen SR2 release tarball
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.1/karaf-0.8.1.tar.gz'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2192/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2210/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.2-SNAPSHOT/karaf-0.8.2-20180524.145206-1.zip'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.3-SNAPSHOT/karaf-0.8.3-20180620.173319-5.zip'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2191/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2209/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180531.192226-59.zip'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180620.055735-63.zip'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
# Install RVM to help build recent version of Ruby
# The ruby_dep gem requires >=2.2.5, 2.0.0 is the latest pre-packaged for CentOS
-gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
+gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L get.rvm.io | bash -s stable
# Expected by RVM, seems required to make RVM functions (`rvm use`) available
# Silence absurdly verbose rvm output by temporally not echoing commands
---
- project:
- name: serviceutils-fluorine
+ name: serviceutils
jobs:
- '{project-name}-distribution-check-{stream}'
- '{project-name}-maven-javadoc-jobs'
rtd-token: 866f76be38ed7efc7027b9c52e7ad869e523e7c4
- odl-maven-jobs
- stream: fluorine
+ stream:
+ - fluorine:
+ branch: 'master'
+ - oxygen:
+ branch: 'stable/oxygen'
+
project: 'serviceutils'
project-name: 'serviceutils'
- branch: 'master'
build-node: centos7-builder-2c-2g
mvn-settings: 'serviceutils-settings'
mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'