556 Commits

Author SHA1 Message Date
OpenStack Proposal Bot
1a029b2bb1 Updated from OpenStack Ansible Tests
Change-Id: I42c6a13b6f9ac332cca916bddf9582e60d0713b2
2018-09-28 06:21:49 +00:00
Zuul
e3a4eb0ca1 Merge "Remove role used for upgrade tests" 2018-09-27 11:55:05 +00:00
Zuul
abc66a1979 Merge "zuul.d: Update jobs for package installations" 2018-09-27 05:59:15 +00:00
Zuul
2f41710768 Merge "add the project source code repository" 2018-09-27 04:40:54 +00:00
Zuul
13cc54e223 Merge "Add source code repository notes link to README" 2018-09-27 04:40:53 +00:00
Markos Chandras
e0fde62f4e zuul.d: Update jobs for package installations
Add Leap 15 distro_install job and replace Xenial with Bionic since the
former does not provide packages for recent OpenStack releases.

Change-Id: I946b225cc43f9195f63b064a33392476270f7d32
2018-09-25 08:17:19 +01:00
Markos Chandras
8916fc6214 SUSE: Add support for openSUSE Leap 15
Change-Id: I0b3cbe2b633afe9f3b7d7a1e506df6e4f985e92b
2018-09-20 16:12:23 +01:00
Zuul
eb1e16e26e Merge "Add the project source code repository in README" 2018-09-19 20:32:20 +00:00
Jesse Pretorius
9e8da77d84 Remove role used for upgrade tests
In https://review.openstack.org/601060 we removed everything
related to the upgrade tests, except the 'previous' role.

Change-Id: I99aad1c3c4ec342c2997b2e59289d60304f1c81a
2018-09-19 21:13:15 +01:00
Jesse Pretorius
cd17cb20d7 Remove python-keystoneclient package install
Now that we no longer use our own keystone module, but
instead make use of the ansible runtime venv's shade
library and upstream ansible modules, we can eliminate
this package/library being installed on the host.

To do this, we also ensure that the functional test
now uses the Ansible runtime venv for all OpenStack
modules, and we use the native Ansible OpenStack
modules instead of our own.

Change-Id: I0ecb55308a846ad0f1bb05c10b9e0aad3da15449
2018-09-18 13:19:28 +00:00
Zuul
70978b3cec Merge "Trivial: Fix the pep8 warning" 2018-09-17 04:21:18 +00:00
Jesse Pretorius
b122bf2192 Rename SUSE vars file to cater for any version
To make the transition between versions easier,
we rename the vars file. This also resolves
issues when meta-dependent role inclusions do
not pick up the correct file when using the
include_vars task with multiple search paths.

Depends-On: https://review.openstack.org/602924
Change-Id: I8d624cde558a9c332f8e90d3269ee4a010191f7e
2018-09-16 01:54:43 +00:00
Jesse Pretorius
386cdb51e2 Clean up role tests
Now that we're using the general templates, we can slim down
the role test definitions. We can also remove tests which are
not being watched, or which are fundamentally broken. With
this we can also remove unused scripts/plays.

We do the following:

1. We remove the 'upgrade' job, given that it's been broken
   all cycle due to the way the job executes and we need to
   regroup to figure out another way to do it. The associated
   scripts are also removed.
2. We remove the 'pypy' tox target. The job was removed some
   time ago, but the tox target left behind. The associated
   inventory is also removed.
3. We remove the 'multireg' jobs. The jobs have been failing
   for some time and are very complex. If multi-region tests
   are re-implemented, they should be done in a simpler way -
   probably best using multiple nodes, rather than trying to
   fudge it on a single host with containers. The associated
   scripts and inventory items are also removed.
4. We rename the 'func_swift3' tox target to 'swift3', and
   reconfigure the job appropriately. The verbose logging for
   ansible is also removed, given that we have ARA to provide
   decent diagnostic output.

Change-Id: I411fcaac9a1ddf17996d771f13b2de7e775e4a60
2018-09-09 11:36:17 +01:00
Zuul
74acffff2d Merge "[Trivial Fix] Replace Chinese punctuation with English punctuation" 2018-09-09 08:08:28 +00:00
Zuul
b216283ed0 Merge "Update auth_uri option to www_authenticate_uri" 2018-09-08 21:39:31 +00:00
ZhijunWei
258bae87c3 use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: Id2bf058a0b3bceb216861ef21ffa3fcf7a46d32e
2018-09-08 14:36:16 +00:00
lvxianguo
bb31dd88be add the project source code repository
Change-Id: Ic7a24089fe71b072adaa09cd79fe0286ea93913f
2018-09-07 10:30:50 +08:00
inspurericzhang
670f64e426 [Trivial Fix] Replace Chinese punctuation with English punctuation
Curly quotes(Chinese punctuation) usually input from Chinese input method.
When read from english context, it makes some confusion.

Change-Id: Id3de03359f2bc10c709a2e5baec96f05409e4d83
2018-09-06 10:47:12 +08:00
Jesse Pretorius
7126647d7d Use a common python build/install role
In order to radically simplify how we prepare the service
venvs, we use a common role to do the wheel builds and the
venv preparation. This makes the process far simpler to
understand, because the role does its own building and
installing. It also reduces the code maintenance burden,
because instead of duplicating the build processes in the
repo_build role and the service role - we only have it all
done in a single place.

We also change the role venv tag var to use the integrated
build's common venv tag so that we can remove the role's
venv tag in group_vars in the integrated build. This reduces
memory consumption and also reduces the duplication.

This is by no means the final stop in the simplification
process, but it is a step forward. The will be work to follow
which:

1. Replaces 'developer mode' with an equivalent mechanism
   that uses the common role and is simpler to understand.
   We will also simplify the provisioning of pip install
   arguments when doing this.
2. Simplifies the installation of optional pip packages.
   Right now it's more complicated than it needs to be due
   to us needing to keep the py_pkgs plugin working in the
   integrated build.
3. Deduplicates the distro package installs. Right now the
   role installs the distro packages twice - just before
   building the venv, and during the python_venv_build role
   execution.

Depends-On: https://review.openstack.org/598957
Change-Id: Iecb64d28afe3acfbae7060af55c1a891310e5ef4
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
2018-09-03 11:07:02 +00:00
Zuul
5597d9066d Merge "fix tox python3 overrides" 2018-08-28 12:43:06 +00:00
huang.zhiping
7277007589 switch documentation job to new PTI
This is a mechanically generated patch to switch the documentation
jobs to use the new PTI versions of the jobs as part of the
python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: Ic2c970f3bc7baff38f72e4deaf9fc9c87271be71
Story: #2002586
Task: #24319
2018-08-21 13:22:04 +00:00
huang.zhiping
decc293e8e import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: If3249c7e89ca3a0f65fc340e84d4e2e2c82d16db
Story: #2002586
Task: #24319
2018-08-21 13:18:13 +00:00
Zuul
bf73564b70 Merge "Add bionic to galaxy_info metadata" 2018-08-21 10:14:21 +00:00
Zuul
a2e9ea6af9 Merge "Use the TESTING_BRANCH env var for constraints" 2018-08-21 10:14:21 +00:00
OpenStack Proposal Bot
bfd0db6fb8 Updated from OpenStack Ansible Tests
Change-Id: Iff0bcc1216f9c7b20d6eb32dd8cba50e04808821
2018-08-20 10:50:21 +00:00
Jonathan Rosser
b00baa0ac0 Add bionic to galaxy_info metadata
Change-Id: I2f5921320288f2ee2b01e94fa91008b600767759
2018-08-19 18:53:47 +00:00
Zuul
0960ad9352 Merge "Updated from OpenStack Ansible Tests" 2018-08-18 00:18:04 +00:00
Zuul
2b9e89f8b9 Merge "Move swift ring tasks before systemd tasks" 2018-08-17 19:55:25 +00:00
Byron McCollum
5e37f5bc40 Move swift ring tasks before systemd tasks
Ensure swift rings are present before setting up systemd units
and starting the swift services.

Change-Id: I2d3d1355d9624a5f5caa30e49e086326bed13976
2018-08-16 19:40:09 -05:00
Zuul
6cb0613568 Merge "Move centos tests to voting" 2018-08-16 22:44:17 +00:00
Jesse Pretorius
fa8b4d9af9 Use the TESTING_BRANCH env var for constraints
The TESTING_BRANCH environment variable is provided by the
run_tests.sh script and is derived from the .gitreview file.

This ensures that once the master branch becomes a stable
branch, the constraints from the stable branch in the
integrated repository will automatically get used once the
.gitreview file is updated.

To ensure that the required environment variables are present
we export them appropriately in run_tests.sh and modify the
tox configuration to pass them into the tox test.

Change-Id: Id3e0021ffe0ee8008bb0c16b7703ae8a5c34f9f4
Needed-By: https://review.openstack.org/579371
2018-08-16 18:25:27 +01:00
OpenStack Proposal Bot
0d4f905964 Updated from OpenStack Ansible Tests
Change-Id: Ie752549598f1793d9b0d9159b1ce2225aa883b7a
2018-08-15 13:42:07 +00:00
df4c66af1e Update reno for stable/rocky
Change-Id: I1c4cb0844a7cf50112bf11e84437853f6e5e1c87
2018-08-10 16:48:26 +00:00
Zuul
c3c1bffde9 Merge "Revert "Unblock gate: Provide default rabbitmq password"" 2018-08-07 19:46:35 +00:00
Jesse Pretorius (odyssey4me)
941febe046 Revert "Unblock gate: Provide default rabbitmq password"
This reverts commit 6ee96f224c795e8f4d24b394dc95ccb3bb6d8920.

This variable is no longer referenced anywhere, so we can remove it.

Change-Id: I70a262020918d51b20486cf819dc9131abfce7f1
2018-08-07 12:31:20 +00:00
Zuul
8d00c2823b Merge "vars: Add missing python-keystonemiddleware dependency" 2018-08-06 14:34:17 +00:00
Markos Chandras
495889d2a1 vars: Add missing python-keystonemiddleware dependency
The python-keystonemiddleware is needed by swift-proxy-server otherwise
the systemd service fails to start with the following error:

[...]
File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
  swift-proxy-server[11639]:     value = import_string(found_expr)
File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 22, in import_string
  swift-proxy-server[11639]:     return pkg_resources.EntryPoint.parse("x=" + s).load(False)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2321, in load
  return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2327, in resolve
  module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named keystonemiddleware.auth_token

Implements: blueprint openstack-distribution-packages
Change-Id: I2aaddc0c6b3bb5c28eb7f9b45e8d989f2824724d
2018-08-06 12:52:55 +01:00
Jesse Pretorius
ccc2f8cc49 Allow tags to be used for MQ tasks
The use of 'include_tasks' and a loop of variables creates
a situation where a user is unable to use tags to scope the
inclusion of only the MQ tasks when running the playbooks.

The use-case this is important for is when the rabbitmq
containers are destroyed and rebuilt in order to resolve
an issue with them, and the user wishes to quickly recreate
all the vhosts/users.

Ansible's 'include_tasks' is a dynamic inclusion, and dynamic
inclusions are not included when using tags. The nice thing
about dynamic inclusions is that they completely skip all
tasks when the condition does not apply, cutting down deploy
time. However, given the use-case, we should rather take on
the extra deployment time.

This patch changes the dynamic inclusion to a static one,
adds a 'common-mq' tag to cover all MQ implementations,
and re-implements the 'common-rabbitmq' tag for the tasks
that relate to RabbitMQ specifically.

It also implements conditionals for each task set so that
the rpc/notify tasks can be skipped if a vhost/user is not
required for that purpose (eg: swift does not use RPC, and
most roles will not use notifications by default).

Depends-On: https://review.openstack.org/588191
Change-Id: I994ccc0d20e4ec72955e625119a35856a7171ba3
2018-08-03 09:59:38 +00:00
Zuul
9df587fa4d Merge "Execute service setup against a delegated host using Ansible built-in modules" 2018-08-01 15:00:03 +00:00
Jonathan Rosser
0c81b6058f Move centos tests to voting
These are now passing so should be voting again to prevent regressions.

Change-Id: Ic696746772ca1b707ea12085917bf72f96e8cac3
2018-08-01 09:35:32 +01:00
Jesse Pretorius
fc6c1935d7 Execute service setup against a delegated host using Ansible built-in modules
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.

The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone client library is not required any more now that we're
using the upstream modules. As there are no required packages left, the task
to install them is also removed.

Depends-On: https://review.openstack.org/582359
Depends-On: https://review.openstack.org/587376
Change-Id: I68f3a0bf2b7a3a12cbf40d7d6a853d5b4c6dd0f3
2018-07-31 17:37:02 +00:00
Jesse Pretorius
6ee96f224c Unblock gate: Provide default rabbitmq password
The integrated build has no value for swift_rabbitmq_password
and yet the oslomsg vars reference it. Given that the integrated
gate is quite hard to merge anything into right now - set a
default value here temporarily until we can merge a fix there.

Change-Id: I8c13fe063cd5ec454196bc630cb6362f97c4f146
2018-07-31 13:23:55 +01:00
Zuul
5c561b6d24 Merge "Switch to using project-templates" 2018-07-30 18:55:09 +00:00
Jonathan Rosser
c86e949b84 Switch to using project-templates
In order to have more centralized configuration, switch the role
to use the project-template instead.

Change-Id: I5d3a265ee6fd71c9f47dcd6226b1698eae3c470a
2018-07-30 13:05:16 +01:00
Jean-Philippe Evrard
92766000ed Fix usage of "|" for tests
With the more recent versions of ansible, we should now use
"is" instead of the "|" sign for the tests.

This should fix it.

Change-Id: Ia1c412489554ab629a8ffa8e385a9b634f471861
2018-07-30 08:39:35 +00:00
Zuul
d97fa0fd53 Merge "Move MQ vhost/user creation into role" 2018-07-28 08:20:19 +00:00
Zuul
c18d210eee Merge "Remove httplib" 2018-07-26 19:10:43 +00:00
Jesse Pretorius
1ddd7590cf Move MQ vhost/user creation into role
There is no record for why we implement the MQ vhost/user creation
outside of the role in the playbook, when we could do it inside the
role.

Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.

In this patch we implement the new variable:
- swift_oslomsg_notify_setup_host

This is used in the role to allow delegation of the MQ vhost/user
setup for each type to any host, but they default to using the first
member of the applicable oslomsg host group.

We also adjust some of the defaults to automatically inherit existing
vars set in group_vars form the integrated build so that we do not
need to do the wiring in the integrated build's group vars. We still
default them in the role too for independent role usage.

Depends-On: https://review.openstack.org/584630
Change-Id: I3d5e00e090d37ea7aa95460965749ef066b63b23
2018-07-26 09:43:10 +00:00
Zuul
30ac51d857 Merge "Remove pypy job" 2018-07-25 08:59:21 +00:00
Jean-Philippe Evrard
9379dc8aee Remove httplib
The 'httplib2' package is a legacy Ansible requirement for the
get_url/get_uri module which is no longer needed.

Change-Id: I420dfd74e78963486ed9d5a66b8c3b72372b5ae6
2018-07-25 07:39:18 +00:00