207 Commits

Author SHA1 Message Date
Zuul
77dc9fbd95 Merge "Install DIB binary dependencies from bindep.txt" 2019-06-21 12:36:57 +00:00
Michael Johnson
f1542afba0 Add a note about nova hardware architectures
This patch adds a note to the diskimage-create README that
reminds users to set the hardware architecture property on the
amphora image if the cloud has multiple architectures available
in nova.
It also sets this property in our devstack plugin to provide an
example/reminder.

Change-Id: I15c2cabb1bced0a5646a3e1aed50bece78afcdce
2019-06-17 10:37:57 -07:00
German Eichberger
686303e79d Amphora logging
Configure rsyslog to forward logs to a target host

Co-Authored-By: Michael Johnson <johnsomor@gmail.com>
Story: 1665069
Task: 33646

Change-Id: I00703f86555cbb574b943794b14a36fbc644f1b2
2019-06-14 09:02:26 -07:00
melissaml
3ee0f52151 Rename review.openstack.org to review.opendev.org
There are many references to review.openstack.org, and while the
redirect should work, we can also go ahead and fix them.

Change-Id: I02b3758e707319489e03a6cd00766b0b9381dc12
2019-05-29 00:21:34 +00:00
Adit Sarfaty
f9455cd94f Remove tests/tempest path from devstack and tox
Commit I3082962841d3b645f3cbd1a6b41fc7fb28dcf7e6 removed
octavia/tests/tempest directory
This patch removed other references to this path.

Change-Id: I665503aa4f69308ff31be53824b26faea13d2ad1
2019-05-15 17:51:14 +03:00
Zuul
987a6b3f1d Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-05-14 01:58:30 +00:00
caoyuan
1910f024a3 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I291eb706df84489398b4f4b2736d7c5ab2e84747
2019-05-13 19:59:59 +00:00
Adam Harwell
29d4340e9f Remove v1 API and associated code
Includes some updates to docs and configs and related files to remove
references to neutron-lbaas. Also remove handlers.

Change-Id: I3082962841d3b645f3cbd1a6b41fc7fb28dcf7e6
2019-05-11 14:39:17 -07:00
Zuul
c6eb595796 Merge "Set octavia available in tempest config" 2019-03-12 12:37:36 +00:00
Michael Johnson
8997def2b5 Updates Octavia to support octavia-lib
This is the base patch that updates octavia to use the new octavia-lib.
It is backwards compatible by using debtcollector moves.

It adds a new controller process called the "driver-agent".

This patch also adds unit test coverage for a few additional modules.

Depends-On: https://review.openstack.org/#/c/641180/

Change-Id: I438e1548ec0fb6111d1ab85b05015007d9d0a006
2019-03-07 14:40:22 +01:00
Zuul
c00faa7edd Merge "Trivial: Remove unused OCTAVIA_AMP_SUBNET_ID" 2019-03-06 21:00:27 +00:00
Kenichi Omichi
309ef2fb43 Trivial: Remove unused OCTAVIA_AMP_SUBNET_ID
OCTAVIA_AMP_SUBNET_ID is not used at all anywhere as
http://codesearch.openstack.org/?q=OCTAVIA_AMP_SUBNET_ID&i=nope&files=&repos=
In addition, near OCTAVIA_AMP_NETWORK_ID also is unused.
So let's remove them for cleanup.

Change-Id: I3c52ed2154aac9ba4476c718ae921c7f2fbe4fba
2019-03-06 00:48:11 +00:00
Michael Johnson
b6bf419885 Set octavia available in tempest config
This patch updates the octavia devstack plugin to set the
"[service_available]" octavia = True.

Change-Id: Ia6d31e0ba1c569af7ab6d1ec39fe691c2a491ea8
2019-02-25 08:39:13 -08:00
Nir Magnezi
ae7c87f54a Encrypt certs and keys
Octavia creates certificates and keys to manage encrypted
communication channel to amphorae.
When debug is enabled, the python taskflow module will log
all the information we provide to tasks (and sub-flows)
when we create amphorae or handle with anything related to
certificates and keys management (rotations, etc).

There are ways to tell taskflow to exclude specific things
from being logged (e.g., I136081045787c1bbe3ee846d5845a34201c57864).
While this handles some information in specific flows from being
logged, it is susceptive to code changes.

To avoid an everlasting whack-a-mole game, this patch will merely
encrypt sensitive information so we can safely log it and decrypts
it only when we need to use it.

Change-Id: I06d329ca53bc36bd27f7870ae7c7ca0cf18575b2
2019-02-24 15:41:20 +02:00
Carlos Goncalves
5fb4683544 Install DIB binary dependencies from bindep.txt
This patch will ensure DIB binary dependencies are installed at an early
phase of deployment. As result, we prevent DIB from failing due to unmet
binary dependencies later on while building amphora images as seen in
[1].

[1] http://logs.openstack.org/81/600381/9/check/octavia-v2-dsvm-\
scenario-fedora-latest/ced40d4/controller/logs/dib-build/amphora\
-x64-haproxy.qcow2_log.txt.gz#_2019-01-18_23_15_52_244

Depends-On: https://review.openstack.org/#/c/630889
Change-Id: I6b7244b6a1398994d1c537f358086e22d1e781c1
2019-02-09 20:20:21 +00:00
Carlos Goncalves
cb2c5fc1a5 Fix grenade job to clone Octavia from base branch
The job was cloning Octavia always from stable/queens while all other
enabled services were being cloned from $BASE_DEVSTACK_BRANCH.

http://logs.openstack.org/64/602564/15/check/octavia-grenade/39f9e96/ \
logs/grenade_localrc.txt.gz

http://logs.openstack.org/64/602564/15/check/octavia-grenade/39f9e96/ \
logs/grenade.sh.txt.gz#_2019-01-02_13_27_29_587

Change-Id: I3bc85588c4cac6bba24648f2793940fddc17f4a2
2019-01-02 19:00:33 +01:00
Carlos Goncalves
9bb4c5c1c4 Set same debug log level as per DevStack local.conf
Change-Id: Idbfad56a01aecb15a7508378158e6f07ea77e97b
2018-12-19 10:55:42 +01:00
Zuul
5848b26e47 Merge "Add auditing support to the Octavia API" 2018-12-13 14:02:25 +00:00
Michael Johnson
256a3f9ce8 Prepare for new multi-node jobs
This patch makes the following changes in preparation for the new
multi-node gates:
1. Resolves some issues in the devstack plugin in multi-node mode.
2. Removes the legacy non-voting multi-node gates and playbooks.
3. Removes the lxd legacy playbook as the jobs were removed in a previous
   patch.

Change-Id: I3fb303a67cc66ec44a4ef4d09a16ed6470cbbaff
2018-12-12 08:52:20 -08:00
Michael Johnson
e60cd189fb Add auditing support to the Octavia API
This patch adds Cloud Auditing Data Federation (CADF) auditing support to the
Octavia API. This is implemented using the keystonemiddleware audit filter.

Change-Id: I87a7e15171dfaf28b6ed97ca71d4423d18fbdbea
2018-12-11 23:32:58 +00:00
Zuul
37622044ad Merge "Fix devstack plugin for /var/log/dib-build exists" 2018-12-07 22:53:57 +00:00
Michael Johnson
1e4940f37e Fix the grenade gate
After the upgrade Apache seems unable to reach the Octavia API.
It appears that the devstack plugin.sh enables the octavia-wsgi site,
but fails to restart the Apache server to pick up this change.

This patch corrects that by restarting Apache after any Apache site
changes.

Change-Id: I972c7d7934268131765ce5eebab1d81cc326fd49
2018-12-05 15:21:02 -08:00
Michael Johnson
c62031f909 Fix devstack plugin for /var/log/dib-build exists
The recent change to log the DIB output assumes the /var/log/dib-build
directory does not exist. This is not the case on dev systems.
This patch now handles the case where an old /var/log/dib-build exists.

Change-Id: If4116e2c9b13db64b07ffbc3fd6af13e2373b860
2018-11-21 21:16:54 +01:00
Zuul
c07612aba1 Merge "devstack: Define packages for (open)SUSE" 2018-11-19 00:52:10 +00:00
Ian Wienand
5bec6f70c2 Redirect disk-image-builder logs, make verbose
Update the diskimage-create.sh to have a "-l" option to pass into
dib's "--logfile" option.  In the devstack job, use this to redirect
the dib output to a separate logfile.  Turn on verbose logging by
default for this log.

Copy this in the v1 jobs.  v2 jobs are covered by a similar change in
octavia-tempest-plugin: I5bc0d9a3b071733cbe31d618f7236a3c2285b3e5

Depends-On: https://review.openstack.org/612865
Change-Id: Ie639af4266152d4626f8312b1849deeba5048348
2018-10-30 11:39:12 +01:00
Michael Johnson
e644b9fdce Remove deprecated API settings
We moved "bind_host", "bind_port", "auth_strategy", and "api_handler"
into the api_settings section in the configuration file. These settings
have now reached the end of their deprecation cycle and are being removed.

Change-Id: I323a7bdceae5a8d0e3025800beaf1d0a13c12ef8
2018-10-18 19:42:21 +00:00
Michael Johnson
951f018efe Pass through DIB_LOCAL_ELEMENTS from localrc
This patch allows us to specify special DIB elements via the localrc.
An octavia-tempest-plugin patch[1] linked to this will use this
setting in the gates to configure DIB to use the infra package mirrors.

[1] https://review.openstack.org/#/c/601332

Change-Id: I7444e8941c7175d92c50f1714a87b4181b983829
2018-09-24 16:35:33 -07:00
ckji
756a17ce3a Updates README-Vagrant.md to use OSC commands
Change-Id: I255520474a38147722bc75f868ef6c7fccbcba97
2018-09-17 16:58:08 +08:00
Michal Rostecki
06142d11f9 devstack: Define packages for (open)SUSE
Add devstack/files/rpms-suse/octavia file with a list of
dependencies than need to be installed on (open)SUSE to create an
image based on Ubuntu by diskimage-builder.

Change-Id: Iae54c0342f9040ba13eae9ad36426baeb98dd392
Signed-off-by: Michal Rostecki <mrostecki@suse.de>
2018-09-04 13:53:09 +02:00
Carlos Goncalves
88649d9547 Fix DIB_REPOREF_amphora_agent not set on Git !=1.8.5
Setting DIB_REPOREF_amphora_agent with git -c does not work. The option
-c is for passing key-value configurations and git -C option was
introduced in git v1.8.5 which some distros do not include (e.g. CentOS
7.5 ships with git v1.8.3.1). As a result, DIB_REPOREF_amphora_agent is
not set on any git version !=1.8.5.

The alternative that works across all tested Git versions is: git
--git-dir=/.git sub-command

Change-Id: I41993fa0f8bfde4b7ca9509872de5b54e2ed5680
Story: 2003067
Task: 23114
2018-07-25 08:38:57 +00:00
Carlos Goncalves
fa7308554a Allow setting load balancer topology in Devstack
Load balancer topology options are SINGLE and ACTIVE_STANDBY. We default
to SINGLE as it is the default in-code too.

Change-Id: Id5af2397122ca3c031e9a5becccfcdd75506876f
2018-07-10 14:05:58 +00:00
Carlos Goncalves
13eab152fb Add grenade support
Zuul v3 does not yet offer native grenade base jobs. Workaround it by
creating a legacy grenade-devstack-octavia playbook.

Change-Id: Ib81557ee75ff2ea365ca8403dcfe6e6724657f75
2018-06-14 09:43:04 +01:00
Kobi Samoray
77b6e1bf56 Octavia devstack plugin API mode
For API drivers which only use API service, devstack needs:
- To skip creation of o-oh0 interface, as there's no amphora VMs
- Create endpoint, roles

Change-Id: I168b9ccc968a680ed2db326435f7523c35e7a020
2018-05-30 09:48:16 +03:00
Michael Johnson
6e2668dbff Increase devstack neutron secgroups quota to 100
When running tempest with a high concurrency the service account
will run out of security group quota. This patch increases the
service account security group quota to 100 when using the octavia
devstack plugin.

Change-Id: I1483745963b858463c45db7e85438920f90ca447
2018-05-18 17:01:11 -07:00
Kobi Samoray
931a531317 Devstack plugin: Check for IPv6 support
Some Neutron backends lack IPv6 support.
Address failures with such networking platforms.

Change-Id: If6c9d79bf4c8a2626902de471ff914353c824ea4
2018-05-10 15:21:53 +03:00
Michael Johnson
f935a51fe4 Switch to ubuntu-minimal for default amphora image
Previously we were using the "ubuntu" diskimage-builder base element as the
default base OS to build the amphora image.
The "ubuntu" element is based on the ubuntu cloud image. This image includes
packages we do not need for the amphora image. At this point it's not clear
that Ubuntu will ship an 18.04 LTS cloud image in the format the "ubuntu"
element requires.
This patch switches the default Ubuntu amphora image to build with the
"ubuntu-minimal" diskimage-builder element.

This patch also moves the amphora agent into a virtual environment inside
the amphora.

It also sets up support for Ubuntu 18.04 (bionic beaver) and HAProxy 1.8.

Change-Id: I84a85ca1363bce2e0f13da64540ec7ba3575e818
2018-04-16 18:07:31 -07:00
Michał Dulko
f66f08ff9c Install client from pip if not in LIBS_FROM_GIT
It shouldn't be a requirement to put python-octaviaclient into
LIBS_FROM_GIT in local.conf. This commit makes Octavia's DevStack plugin
install it from pip if it's not present in LIBS_FROM_GIT.

Story: 2001830
Task: 12587
Change-Id: I37014a766e27f6117c96aef976fa1e0b5a9ca031
2018-04-12 11:45:29 +02:00
Michael Johnson
ae1ab563e5 Move o-hm0 dhcp config under /etc/dhcp
Apparmor will block dhclient from accessing the o-hm0 configuration file
under /etc/octavia. This patch moves our dhclient.conf under /etc/dhcp/octavia
to allow the dhclient to access the file when apparmor is running.

Change-Id: I3153f8bd9237470f406a9edeb4e2a0767fc747b8
Story: 1673269
Task: 5434
2018-04-10 09:55:45 -07:00
Zuul
b07faa03e0 Merge "Add a devstack variable for legacy RBAC" 2018-04-09 07:12:10 +00:00
Vadim Ponomarev
2a94e10f3a Change used keystone token provider in devstack
This patch changes used keystone token provider from 'uuid' to 'fernet'
in devstack creation script new-octavia-devstack.sh, because the uuid
type deprecated. Changes in keystone:
I76d5c29f6b1572ee3ec7f2b1af63ff31572de2ce

Change-Id: Ia42d8afe62413aa086d9a3751171d42042a700a8
Blueprint: removed-as-of-rocky
Story: 2001732
2018-03-25 12:15:48 +03:00
Michael Johnson
949261f342 Add a devstack variable for legacy RBAC
This patch adds the OCTAVIA_USE_LEGACY_RBAC variable to our devstack plugin.
When set to True it will install the legacy Admin/Owner RBAC policy.json file
for the devstack Octavia install.
This is useful for tempest testing the neutron-lbaas proxy driver that passes
neutron LBaaSv2 API requests through to the Octavia API.

Change-Id: I5f112131b9c57e394349f29fa1b675643784b867
2018-03-16 11:43:27 -07:00
Zuul
be26842229 Merge "Split up extra init steps and start processes" 2018-03-16 10:27:04 +00:00
Adam Harwell
53dc41d06f Devstack plugin image build option quoting fix
Options that are unset should not use '' as their default because it
actually puts them literally into the command which will cause it to
skip parsing args after any empty quotes.

Change-Id: I54c0170bad28adb26df87024bd16f31827702f1e
2018-03-14 05:13:37 +00:00
Zuul
fbd48859a9 Merge "Rename q- to neutron- services" 2018-03-13 01:21:47 +00:00
Daniel Mellado
6eb4c1f332 Rename q- to neutron- services
We were using neutron lib/neutron-legacy on our devstack plugin as we
were enabling legacy services. This commit changes it so we rely on
lib/neutron.

Co-Authored-By: Carlos Goncalves <cgoncalves@redhat.com>

Change-Id: I159dd4b371b870dc752fa01f738a2910263e3918
2018-03-12 10:48:26 +01:00
Carlos Goncalves
303b339836 Split up extra init steps and start processes
By spliting them up, we can now start Octavia without going through the
extra initialization steps, which are not idempotent (or meant to be
anyway), exiting with error code and preventing from continuing the
so desired start process of Octavia. The split-up will allow Grenade to
call out octavia_start solely for the purpose of starting Octavia
services.

This patch also fixes awk from matching itself when stopping Octavia.
This keeps awk from showing itself in the output, grabbing only relevant
PIDs. Otherwise awk PID is added to PID list resulting in kill command
exiting with error as awk is no longer running. This is equially
important and required grenading Octavia, else an exit error would be
thrown.

Change-Id: I1b53076953eaf1a6c6934a10439d00977c875fec
2018-03-11 18:26:52 +00:00
Adam Harwell
1020a3bceb Fix kvm-centos.7 gate
Somehow it was pulling in barbican-tempest-plugin incorrectly, and
didn't have image size set right for centos.

Also fix the devstack plugin to size the flavor correctly based on the
image size variable.

Change-Id: I724f5064309d07fe05f86fcf2c7a488d9319e54c
2018-03-08 12:54:37 -08:00
Bar RH
bf9dffc815 Update configuration samples (QoS)
Enable QoS support.
We rely on Neutron's devstack plugin script to set the correct
configuration.

Change-Id: Idd99af81cafd4c8fc541ca8664c844b5473bb39a
2018-02-26 18:31:30 +00:00
Nir Magnezi
662485e2d2 Update devstack plugin and examples
The devstack plugin should only use the openstackclient to
interact with OpenStack services via CLI.

This patch fixes both the devstack plugin and the examples.

Task: 5678
Task: 5680
Task: 5698
Story: 2001183

Change-Id: Id30ab0484edb350f0a424a0fc90c381357614b8e
2017-11-26 23:20:33 +02:00
Vu Cong Tuan
b2d5604203 Remove SCREEN_LOGDIR from devstack
SCREEN_LOGDIR has already been deprecated [1]
[1] https://review.openstack.org/#/c/499186

Change-Id: I0f2100008cb866da99e117cab6b41c872e2e8b73
2017-10-05 17:08:57 +07:00