diff --git a/deployment_scripts/puppet/manifests/tacker.pp b/deployment_scripts/puppet/manifests/tacker.pp index ba04105..bbd768d 100644 --- a/deployment_scripts/puppet/manifests/tacker.pp +++ b/deployment_scripts/puppet/manifests/tacker.pp @@ -62,6 +62,7 @@ class { 'tacker': rabbit_userid => $rabbit_userid, bind_port => $bind_port, bind_host => $bind_host, + service_provider => 'systemd', service_name => $service_name, debug => $debug, opendaylight_host => $management_vip, diff --git a/metadata.yaml b/metadata.yaml index 755070b..87163cf 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -3,11 +3,11 @@ name: tacker # Human-readable name for your plugin title: Tacker VNF manager # Plugin version -version: '0.2.0' +version: '1.0.0' # Description description: Tacker VNF manager # Required fuel version -fuel_version: ['9.0'] +fuel_version: ['10.0'] # Specify license of your plugin licenses: ['Apache License Version 2.0'] # Specify author or company name @@ -25,7 +25,7 @@ is_hotpluggable: false # The plugin is compatible with releases in the list releases: - os: ubuntu - version: mitaka-9.0 + version: newton-10.0 mode: ['ha'] deployment_scripts_path: deployment_scripts/ repository_path: repositories/ubuntu diff --git a/pre_build_hook b/pre_build_hook index 3167a52..cdb04a2 100755 --- a/pre_build_hook +++ b/pre_build_hook @@ -38,7 +38,7 @@ function build_pkg { ubuntu) pushd "${DIR}/repositories/${1}/" download $TOSCA_PARSER python-tosca-parser_0.1.0-3_all.deb - fpm --force -s python -t deb --deb-upstart "${DIR}/tacker_package/tacker-server" --after-install "${DIR}/tacker_package/tacker-post" --no-python-fix-name --python-install-bin /usr/bin --python-install-lib /usr/lib/python2.7/dist-packages ${TMP_DIR}/tacker/setup.py + fpm --force -s python -t deb --deb-systemd "${DIR}/tacker_package/systemd/tacker-server" --after-install "${DIR}/tacker_package/tacker-post" --no-python-fix-name --python-install-bin /usr/bin --python-install-lib /usr/lib/python2.7/dist-packages ${TMP_DIR}/tacker/setup.py fpm --force -s python -t deb --python-install-lib /usr/lib/python2.7/dist-packages ${TMP_DIR}/tacker-horizon/setup.py fpm --force -s python -t deb --python-install-lib /usr/lib/python2.7/dist-packages ${TMP_DIR}/python-tackerclient/setup.py popd diff --git a/tacker_package/systemd/tacker-server b/tacker_package/systemd/tacker-server new file mode 100644 index 0000000..0cf09f3 --- /dev/null +++ b/tacker_package/systemd/tacker-server @@ -0,0 +1,16 @@ +# Author: George Paraskevopoulos +# Original Upstart script author: Michal Skalski + +[Unit] +Description=Tacker VNF Manager +Requires=multi-user.target +After=multi-user.target + +[Service] +WorkingDirectory=/var/run +Restart=always +RestartSec=5 +LimitNOFILE=65535 +ExecStartPre=/var/lib/tacker/systemd/tacker-pre-service +ExecStart=/var/lib/tacker/systemd/tacker-run-service + diff --git a/tacker_package/tacker-post b/tacker_package/tacker-post index 5e7eead..473365c 100644 --- a/tacker_package/tacker-post +++ b/tacker_package/tacker-post @@ -1,6 +1,31 @@ #!/bin/sh -set -e +set -uxe + +adduser --quiet --system --group --home /var/lib/tacker tacker +mkdir -p /var/lib/tacker/systemd + +cat > /var/lib/tacker/systemd/tacker-pre-service < /var/lib/tacker/systemd/tacker-run-service << EOF +#!/bin/sh +[ -x "/usr/bin/tacker-server" ] || exit 0 +DAEMON_ARGS="--verbose --log-file=/var/log/tacker/tacker-server.log" +exec start-stop-daemon --start --chdir /var/lib/tacker \ + --chuid tacker:tacker --make-pidfile --pidfile /var/run/tacker/tacker-server.pid \ + --exec /usr/bin/tacker-server -- --config-file=/etc/tacker/tacker.conf \${DAEMON_ARGS} + +EOF + +chmod +x /var/lib/tacker/systemd/tacker-pre-service +chmod +x /var/lib/tacker/systemd/tacker-run-service -adduser --quiet --system --group --no-create-home --home /var/lib/tacker tacker mv /usr/local/etc/tacker /etc/ chown -R tacker:tacker /etc/tacker + diff --git a/tacker_package/tacker-server b/tacker_package/upstart/tacker-server similarity index 100% rename from tacker_package/tacker-server rename to tacker_package/upstart/tacker-server