Commit Graph

15 Commits

Author SHA1 Message Date
Emilien Macchi 2f3554cdcb Remove extraconfig/services directory
... and move the services into the deployment directory.

The extraconfig/services directory was initially created for
experimental services using an interface that was work in progress but
is now stable enough, so the services can live among the others for
simplification.

Change-Id: I2bd0b169ed18ea2fccfea4475402dd73076924c8
2019-07-18 14:44:14 -04:00
Martin André 26c108b174 Let openshift-ansible configure the firewall
Openshift-ansible already sets the right firewall rules on the
provisioned nodes, there is no need to set up (some of) the rules by
ourselves.

Add the 'OS::TripleO::Services::TripleoFirewall' to all the OpenShift
roles so that the operator can still set additional rules if desired.

Change-Id: I1e8ca10069c3f1017207abfebb803cb7aa3835a8
2018-10-12 16:36:20 +02:00
Martin André 7373adc72e Refactor openshift services for composable roles
Introduce an openshift_node template that serves as base for all
openshift services. This reworks the inventory files so that hosts are
defined once and made part of the appropriate groups.

The master node can now be split from the infra node, or bundled
together with the Worker in the all-in-one role.

Provide environment files to enable the Master, Worker, Infra or
all-in-one role individually.

Change-Id: I9ad86185b01c88b609d320e2384c5644bd99bdae
2018-09-25 16:35:48 +02:00
Flavio Percoco e1912cd59b Move to openshift-ansible 3.10
This patch adds a new role called OpenShiftInfra which is required to
define infra nodes. We've been bundling infra nodes with compute and
master nodes and they ought to be independent.

With the new node label management introduced in openshift-ansible, it
sounds like this is a good time for us to unbundle these nodes.

Co-Authored-By: Martin André <m.andre@redhat.com>
Depends-On: I291b6ac65eaa1a015bca2ee2bc1be90b0ea0aadc
Change-Id: I4f8127a9e2d822057f3db8f0974ab1db0698985a
2018-09-04 18:05:53 +00:00
Jiri Stransky a87fcb1e3e Add tags to OpenShift external tasks to allow upgrading it separately
When running `openstack overcloud external-upgrade run`, all services
using external installers are upgraded. Tags are added to OpenShift
external deploy/upgrade tasks, to allow upgrading OpenShift by itself
via `openstack overcloud external-upgrade run --tags openshift`.

Change-Id: I7335849155080b7f6c32df85cd48d0d11d86d9e0
2018-08-10 08:49:27 +02:00
Flavio Percoco 99e933c7aa Replace raw_get with dict access syntax
We used `raw_get` because of a bug we found in ansible a while back.
This doesn't seem to be a problem anymore so we're switching back to
subscript syntax to remove a bit of boilerplate.

Change-Id: Ib5873ca617fbe38ffc6bc4d52cb4c936a94472c5
2018-07-11 07:42:01 +02:00
Flavio Percoco 99b8119d98 HA support for OpenShift
The OSA assisted HA deployment is not recommended for production
environments, besides it being limited. Therefore, we're relying on our
deployment of HAproxy + Keepalived to provide HA on top of OpenShift in
addition to adding more OpenShift nodes.

Depends-On: Ib573758b515264d1dda90cc9de61f4fa6659dc7d

Change-Id: I7ab677e4803e9df5f6641204cb0b6ccc5b1eb79f
2018-07-11 07:41:51 +02:00
Flavio Percoco 45f5361391 Add the ability to scaleup the openshift stack
Refactored the inventory generation to allow for scaling up the
openshift stack. They deployment process now checks whether the
origin-node container is already running in the openshift nodes. All
the nodes where origin-node is not present are considered as new.

The new_masters/new_nodes sections will be populated accordingly and
the `scaleup.yml` playbook will be used instead of the `deploy_cluster`
one *only* if the stack is being updated.

Unfortunately, openshift-ansible's implementation is not as idempotent
as TripleO's, which requires differentiating between deployments,
scaleup and between new and old nodes.

Change-Id: I15c4e855a3ccfba6ce8d516b5b59e7508c4885cc
2018-07-09 14:53:35 +02:00
Flavio Percoco c0cf926b65 Refactor the inventory generation
Avoid using templates and allow for easier manipulation of host groups.
This patch is a starting point for the scaleup patch that adds new
nodes (masters and workers) to the the inventory and requires a more
flexible node groups management.

Change-Id: Ib3d6c580d81dae648c5828582e24d20fc3668099
2018-07-03 14:13:42 +02:00
Martin André 4e30f51470 Update for openshift 3.9
This commit updates the openshift templates to deploy openshift 3.9
instead of 3.7.

Update the default playbook path to the one expected by
openshift-ansible 3.9.

Update the default openshift-ansible variables and move them in the
template where they belong. They can be overridden individually via the
OpenShiftGlobalVariables heat parameter.

Disable unbound on the openshift nodes in CI as it is listening on port
53 and is preventing openshift to start its own DNS service.

Co-Authored-By: Flavio Percoco <flavio@redhat.com>
Depends-On: I6f123cd71a23fb15aaa2005f7397fc98fdaf187a
Depends-On: I27ad9d168af575da8c4f5094152c94e2fa03987c
Change-Id: Ifc3d25fa590cfba1fa64ed0266c76c9342a7aa4f
2018-07-03 14:13:42 +02:00
Martin André cc046a757c Do not fail on non existent ansible group
When a role is defined but this role has a host count of 0, the ansible
tasks to generate the openshift inventory for the service would fail
with an undefined variable error.

Setting the value for non existent groups to empty array should get us
past the error.

Change-Id: Ib42708c095d28827f5decdb885ceb4f2a67b3a8b
2018-06-11 11:31:12 +02:00
Steven Hardy 487e0617d6 Decouple OpenShiftGlusterDisks from openshift-master.yaml
In the event you have different disks in nodes assigned to each role
you may need to pass role specific parameters, e.g like:

parameter_defaults:
  OpenShiftMasterParameters:
    OpenShiftGlusterDisks:
      - /dev/vdc
  OpenShiftWorkerParameters:
    OpenShiftGlusterDisks:
      - /dev/vdd

To enable that we create an inventory file per role, and pass the directory
of files to ansible.

Change-Id: I8b4d8698405ffb004b081e1f097f300216edfa77
2018-06-05 09:45:52 +01:00
Carlos Camacho 44ef2a3ec1 Change template names to rocky
The new master branch should point now to rocky.

So, HOT templates should specify that they might contain features
for rocky release [1]

Also, this submission updates the yaml validation to use only latest
heat_version alias. There are cases in which we will need to set
the version for specific templates i.e. mixed versions, so there
is added a variable to assign specific templates to specific heat_version
aliases, avoiding the introductions of error by bulk replacing the
the old version in new releases.

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky
Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
2018-05-09 08:28:42 +02:00
Carlos Camacho b13728cac3 Update templates alias to queens
There are still some templates with the wrong
alias name. This patch updates them with the
correct version.

Change-Id: I43549ac98f3736029d4aaad1ead745caf40f9299
2017-12-20 10:27:23 +01:00
Flavio Percoco 8dd99ba7fd Deploy OpenShift using OOO on the overcloud
Add external_deploy_tasks for OpenShift installation. This makes
OpenShift installation work with the config download mechanism.

Co-Authored-By: Jiri Stransky <jistr@redhat.com>
Depends-On: I9786f1a27cb7c765211dffe0ea06afd75f8e5275
Change-Id: I4c995dcfd97b5c9ccb751862ff77ab785ad0ac5b
2017-12-15 15:41:15 +00:00