Commit d263da52 authored by Thomas Goirand's avatar Thomas Goirand

Merge branch 'debian/rocky' into debian/stein

parents 36001f65 32319183
octavia (4.0.0-2) UNRELEASED; urgency=medium
* Fix octavia-agent binary in init/service file.
-- Thomas Goirand <zigo@debian.org> Tue, 30 Apr 2019 12:09:24 +0200
octavia (4.0.0-1) experimental; urgency=medium
* New upstream release.
......@@ -14,6 +20,12 @@ octavia (4.0.0~rc1-1) experimental; urgency=medium
-- Thomas Goirand <zigo@debian.org> Fri, 29 Mar 2019 15:53:42 +0100
octavia (3.0.0-3) unstable; urgency=medium
* Add an octavia-agent package.
-- Thomas Goirand <zigo@debian.org> Mon, 21 Jan 2019 17:28:54 +0100
octavia (3.0.0-2) unstable; urgency=medium
* Add install-missing-files.patch.
......
......@@ -89,14 +89,47 @@ Build-Depends-Indep:
python3-testtools,
python3-webob,
python3-wsme,
python-yaml,
Standards-Version: 4.3.0
Vcs-Browser: https://salsa.debian.org/openstack-team/services/octavia
Vcs-Git: https://salsa.debian.org/openstack-team/services/octavia.git
Homepage: https://github.com/openstack/octavia
Package: octavia-agent
Architecture: all
Depends:
adduser,
cryptsetup,
haproxy,
haveged,
ipvsadm,
keepalived,
octavia-common (= ${binary:Version}),
python3-openstackclient,
q-text-as-data,
${misc:Depends},
${ostack-lsb-base},
${python3:Depends},
Description: OpenStack Load Balancer as a Service - Agent
Openstack Load Balancer as a Service, codenamed Octavia was borne
out of the Neutron LBaaS project. Its conception influenced
the transformation of the Neutron LBaaS project, as Neutron LBaaS
moved from version 1 to version 2. Starting with the Liberty
release of OpenStack, Octavia has become the reference implementation
for Neutron LBaaS version 2.
.
Octavia accomplishes its delivery of load balancing services by
managing a fleet of virtual machines, containers, or bare metal
servers—collectively known as amphorae— which it spins up on demand.
This on-demand, horizontal scaling feature differentiates Octavia from
other load balancing solutions, thereby making Octavia truly
suited “for the cloud.”.
.
This package contains the Octavia Agent that needs to be installed in the
Amphorae base image.
Package: octavia-api
Architecture: all
Section: python
Depends:
adduser,
octavia-common (= ${binary:Version}),
......@@ -295,6 +328,7 @@ Depends:
python3-tenacity,
python3-webob,
python3-wsme,
python-yaml,
${misc:Depends},
${python3:Depends},
Description: OpenStack Load Balancer as a Service - Python libraries
......
### BEGIN INIT INFO
# Provides: octavia-agent-certs-ramfs
# Required-Start: $remote_fs $syslog $network cloud-config
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Creates an encrypted ramfs for Octavia certs
# Description: Creates an encrypted ramfs for Octavia TLS
# certificates and key storage.
### END INIT INFO
# Using the lsb functions to perform the operations.
. /lib/lsb/init-functions
# Process name ( For display )
NAME=certs-ramfs
case $1 in
start)
log_daemon_msg "Starting the process" "$NAME"
modprobe brd
passphrase=$(head /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 32 | head -n 1)
certs_path=$(awk "/base_cert_dir / {printf \$3}" /etc/octavia/amphora-agent.conf)
mkdir -p "${certs_path}"
echo -n "${passphrase}" | cryptsetup luksFormat /dev/ram0 -
echo -n "${passphrase}" | cryptsetup luksOpen /dev/ram0 certfs-ramfs -
mkfs.ext2 /dev/mapper/certfs-ramfs
mount /dev/mapper/certfs-ramfs "${certs_path}"
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping the process" "$NAME"
certs_path=$(awk "/base_cert_dir / {printf \$3}" /etc/octavia/amphora-agent.conf)
umount "${certs_path}"
cryptsetup luksClose /dev/mapper/certfs-ramfs
log_end_msg 0
;;
restart)
# Restart the daemon.
$0 stop && sleep 2 && $0 start
;;
*)
# For invalid arguments, print the usage message.
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 2
;;
esac
[Unit]
Description=Creates an encrypted ramfs for Octavia certs
After=cloud-config.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'modprobe brd; passphrase=$$(head /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 32 | head -n 1); certs_path=$$(awk "/base_cert_dir / {printf \\$$3}" /etc/octavia/amphora-agent.conf); mkdir -p "$${certs_path}"; echo -n "$${passphrase}" | cryptsetup luksFormat /dev/ram0 -; echo -n "$${passphrase}" | cryptsetup luksOpen /dev/ram0 certfs-ramfs -; mkfs.ext2 /dev/mapper/certfs-ramfs; mount /dev/mapper/certfs-ramfs "$${certs_path}"'
ExecStop=/bin/sh -c 'certs_path=$$(awk "/base_cert_dir / {printf \\$$3}" /etc/octavia/amphora-agent.conf); umount "$${certs_path}"; cryptsetup luksClose /dev/mapper/certfs-ramfs;'
RemainAfterExit=yes
TimeoutSec=0
[Install]
WantedBy=amphora-agent.service
#!/bin/sh
### BEGIN INIT INFO
# Provides: octavia-agent
# Required-Start: $network $local_fs $remote_fs $syslog
# Required-Stop: $remote_fs
# Should-Start: postgresql mysql keystone rabbitmq-server ntp octavia-agent-certs-ramfs
# Should-Stop: postgresql mysql keystone rabbitmq-server ntp octavia-agent-certs-ramfs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Octavia Agent
# Description: Octavia Agent
### END INIT INFO
# Author: Thomas Goirand <zigo@debian.org>
DESC="OpenStack Octavia Agent (octavia-agent)"
PROJECT_NAME=octavia
NAME=amphora-agent
SYSTEM_USER=root
SYSTEM_GROUP=root
......@@ -81,6 +81,13 @@ ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
dh_sphinxdoc -O--buildsystem=python_distutils
endif
override_dh_missing:
dh_missing --fail-missing
# We use override_dh_installmenu because it's done in the sequence with dh,
# and we already override dh_installinit in pkgos.make.
# Obviously, we will never use a Desktop menu in such a package, so that's
# not a problem.
override_dh_installmenu:
dh_installinit --name=octavia-agent
dh_installinit --name=octavia-agent-certs-ramfs
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment