8463 Commits

Author SHA1 Message Date
Martin André
e2f7392c4a Use Timesync service instead of Ntp
At the moment the 'OS::TripleO::Services::Timesync' service is
synonymous to 'OS::TripleO::Services::Ntp'. Let's use the more generic
Timesync service to pick up the new default in the event the value for
'OS::TripleO::Services::Timesync' changes.

This better aligns with the rest of the roles.

Change-Id: I44f706ce7dd1909ffd3805337fc6d9a5ce6de80f
2018-10-12 16:36:20 +02:00
Martin André
a9f3874217 Add OS::TripleO::Services::Rhsm to OpenShift roles
The OpenShift roles should include the OS::TripleO::Services::Rhsm
service for Red Hat Subscription Management so that the provisioned
nodes can register with a Satellite or CDN.

Add the Podman service to OpenShifAllInOne to be more consistent with
other roles.

Change-Id: I08862635c68eddbb0940863c43867ece1b289ee5
2018-10-12 16:36:20 +02:00
Martin André
429bc3ca70 Use different base virtual_router_id on openshift
With the default setting, the keepalived that we deploy on the master
node collides with the one that is setup on the undercloud. We simply
need to use a different virtual_router_id_base to prevent
virtual_router_id collision.

Change-Id: I92ef081a111f93ddce4ec42400bcb648b7f7def0
2018-10-11 11:53:20 +02:00
Martin André
73c3cd4181 Fix update tasks for openshift
While introducing the openshift-node service in 7373adc72e, some code
was moved around and that broke the OpenShift external_deploy_task
playbook in the case of a stack update due to undefined ansible
variable.

Rename the new_masters var into new_master_nodes and introduce the
has_new_nodes boolean var that indicates there is at least one new node
in the deployment.

Related-Bug: 1794824

Change-Id: I2f386b5507836deda0816616dd7add8a0b53dfd3
2018-10-11 11:53:20 +02:00
Flavio Percoco
a4b31b28e9 Use openshift-ansible container instead of RPMs
This allows us to deploy openshift without the need to install
openshift-ansible in the mistral container image or in the undercloud.

Co-Authored-By: Martin André <m.andre@redhat.com>
Depends-On: Ied75bfbeed71aca83962e60bfc801a2527f5dfba
Change-Id: I1e28e63c8a3a30dfe1e95924f9b4086fcf9513fb
2018-10-11 11:53:20 +02:00
Martin André
39df80b332 Use glusterfs for registry when deploying with CNS
The OCP documentation [1] recommends to use a dedicated GlusterFS
cluster for the image registry. Let it be the default when deploying
with CNS.

[1] https://docs.openshift.com/container-platform/3.10/install_config/persistent_storage/persistent_storage_glusterfs.html#install-advanced-installer

Change-Id: Ife73d7c50c304cff7cd05e08f74855cb107f3c46
2018-10-11 11:53:20 +02:00
Martin André
81ca843ee7 Deploy openshift all in one in scenario009
Previously we were only deploying a master node. This commit adds the
worker and infra service to the deployed node and configures it as an
all-in-one node. In order to do so, we need to disable HAproxy when
deploying in all-in-one as the HAproxy instance Openshift deploys on
the infra node conflicts with the one we normally set up. They both
bind ports 80 and 443.

Also removes the useless ComputeServices parameter that only makes
sense in a multinode environment.

Change-Id: I6c7d1b3f2fa5c7b1d9cf695c9e021a4192e5d23a
Depends-On: Ibc98e699d34dc6ab9ff6dce0d41f275b6403d983
Depends-On: I0aa878db62e28340d019cd92769f477189886571
2018-10-11 11:53:20 +02:00
Zuul
e3a17cb067 Merge "Add heat param for openshift prerequisites playbook" 2018-10-11 07:53:21 +00:00
Zuul
344e65815e Merge "Remove 3node from CI" 2018-10-10 17:11:03 +00:00
Zuul
cab8cd5556 Merge "Tag container image prepare tasks to allow running them for updates/upgrades" 2018-10-10 16:30:37 +00:00
Zuul
1f1c0f3dec Merge "Fix list concatenation of routes in bond-with-vlan" 2018-10-10 16:30:35 +00:00
Zuul
ec227891bd Merge "scenario010: enable Ceph RBD" 2018-10-08 20:18:08 +00:00
Zuul
535fce237c Merge "Use valid_interfaces instead of os_interface for placement" 2018-10-08 19:49:28 +00:00
Zuul
9db9411af0 Merge "Load openvswitch module from the host" 2018-10-08 19:49:26 +00:00
Zuul
53f6f57732 Merge "Load dm-multipath module from the host." 2018-10-08 19:49:24 +00:00
Zuul
bc0d490b8a Merge "Load ip_vs module from the host" 2018-10-08 19:47:03 +00:00
Zuul
50c76e2d72 Merge "Load iscsi_tcp module from the host." 2018-10-08 19:17:32 +00:00
Zuul
7fd52ebcc4 Merge "ironic: enable noop management interface by default" 2018-10-08 16:13:50 +00:00
Zuul
8fd90c2d45 Merge "Set virt queue size as 1024 for all OVS-DPDK roles" 2018-10-08 12:25:41 +00:00
Zuul
925c5ded54 Merge "Add role definition for ComputeOvsDpdkSriov role" 2018-10-08 12:18:25 +00:00
Martin André
46246e8745 Add heat param for openshift prerequisites playbook
Previously the path to the openshift-ansible's prerequisites playbook
was hardcoded to
/usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml. This
commit introduces the `OpenShiftPrerequisitesPlaybook` heat parameter
to make it configurable.

Also add more explicit description for the other playbook path
parameters and update the default path for OpenShiftUpgradePlaybook
that was broken since the move to openshift-ansible 3.10.

Change-Id: I2260cb8b0cef9650c707d4db917a3281a697912d
2018-10-08 09:25:04 +02:00
Cédric Jeanneret
2b2e5a88ec Load openvswitch module from the host
Until now, it's loaded from within the container, this doesn't
work with SELinux separation.

Change-Id: I70ff5acd7913f9c5f5ead2d9dee83bab49f1f949
2018-10-08 08:37:59 +02:00
Cédric Jeanneret
c80ca5e7dc Load dm-multipath module from the host.
Until now, it's loaded from within the container, this doesn't
work with SELinux separation.

Change-Id: I3d63d1df7496d3b8a5883b07e9d40aa21153c086
Related-Bug: 1794550
2018-10-08 08:37:51 +02:00
Cédric Jeanneret
694b8d3756 Load ip_vs module from the host
Currently the ip_vs module is loaded from the keepalived container,
and if it works in a non-selinux separated env, it doesn't work with
podman.

Change-Id: I71e638bedde3836e05cffab53ad80bfd35313a31
Related-Bug: 1794550
2018-10-08 08:37:42 +02:00
Cédric Jeanneret
9aab4de972 Load iscsi_tcp module from the host.
Until now, it's loaded from within the container, this doesn't work
with SELinux separation.

Change-Id: Ia2cd08b9b7950ebca4d75938ae4329641c2d6f7c
Depends-on: Ic9076a0a1a8e1360495dcf0eb766118ec63dc362
Related-Bug: 1794550
2018-10-08 08:37:35 +02:00
Zuul
6adc2f3f85 Merge "Add config option for ODL IPv6 deployment" 2018-10-07 23:11:50 +00:00
Zuul
474b252358 Merge "ceilometer: Use new archive policies" 2018-10-07 09:06:33 +00:00
Zuul
4124ca7e27 Merge "Enable health check for OVN containers" 2018-10-07 08:42:39 +00:00
Zuul
17933be619 Merge "Fix TLS when using a containerized undercloud" 2018-10-07 00:52:09 +00:00
Zuul
94baf0b87d Merge "check mode: puppet host" 2018-10-07 00:52:05 +00:00
Zuul
94459f43d1 Merge "Add tripleo-heat-templates dir to Mistral volumes" 2018-10-07 00:36:11 +00:00
Zuul
ca47673df9 Merge "This file intorduces OVN as a controller. I've cloned the neutron-sfc.yaml file and added to the parameter_defaults NeutronSfcDriver:'ovn' There could be other param defaults needs to be added and i'm not aware of." 2018-10-07 00:36:08 +00:00
Zuul
8071badcb7 Merge "Revert "Allow a containerized logrotate to access docker"" 2018-10-07 00:36:04 +00:00
Zuul
ec67cd6afa Merge "Consolidate openshift-ansible global variables" 2018-10-06 15:21:02 +00:00
Zuul
5c6813a696 Merge "Make glusterfs the default sc when deploying with CNS" 2018-10-06 15:19:15 +00:00
Zuul
57e90388d5 Merge "Introduce OpenShiftGlusterNodeVars heat param" 2018-10-06 15:19:14 +00:00
Zuul
8e7cdb9fe4 Merge "Fix inventory files for newer openshift-ansible" 2018-10-06 15:02:30 +00:00
Michele Baldessari
c2139a7db2 Fix TLS when using a containerized undercloud
Since we moved to containerized UC, TLS Everywhere deployments are broken.
Namely we miss two things:

A. The NAT iptables rule for the nova metadata service to be reachable
B. The setting 'service_metadata_proxy=false' needs to be set for nova
   metadata otherwise the curl calls to setup ipa will fail with the
   following:
[root@overcloud-controller-0 log]# curl http://169.254.169.254/openstack/2016-10-06
<html>
 <head>
  <title>400 Bad Request</title>
 </head>
 <body>
  <h1>400 Bad Request</h1>
  X-Instance-ID header is missing from request.<br /><br />
 </body>
</html>

A. Is fixed by adding a conditional iptables rule that is only triggered
   when deploying an undercloud (where we set MetadataNATRule to true)

B. Is fixed by setting NeutronMetadataProxySharedSecret to '' on the
   undercloud and then setting the corresponding hiera keys only when
   the parameter != ''. We tried alternative simpler approaches like
   setting NeutronMetadataProxySharedSecret to null but that will break
   heat as the parameter is required and setting it to null breaks heat
   validation (we also tried to make the parameter optional with a
   default: '', but that broke as well)

While we're at it we also remove the neutron metadata service from the
undercloud as it is not needed.

Tested by deploying an undercloud with this change and observing:
A.
Chain PREROUTING (policy ACCEPT 106 packets, 6698 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REDIRECT   tcp  --  br-ctlplane *       0.0.0.0/0            169.254.169.254      multiport dports 80 state NEW /* 999 undercloud nat ipv4 */ redir ports 8775

B.
grep -ir ^service_metadata_proxy /var/lib/config-data/puppet-generated/nova/etc/nova/nova.conf
service_metadata_proxy=False

Also a deployment of a TLS overcloud was successful.

Change-Id: Id48df6db012fb433f9a0e618d0269196f4cfc2c6
Co-Authored-By: Martin Schuppert <mschuppe@redhat.com>
Closes-Bug: #1795722
2018-10-06 13:25:18 +00:00
Zuul
5d2b9a420e Merge "Configure haproxy for openshift infra" 2018-10-06 12:46:01 +00:00
Zuul
7495f12a7c Merge "Fix error in Tenant network routes definition" 2018-10-06 02:04:11 +00:00
John Fulton
977de9821b Ensure ceph-ansible source directory is present
Docker doesn't complain when a directory doesn't exist
in a bind mount, while Podman does complain. Ensure the
directory is present in the mistral-executor container
host prep tasks.

Change-Id: I32993c6dfbd561c16ef1fdce508bf899aff1d940
Fixes-Bug: #1796188
2018-10-05 19:40:58 +00:00
Alex Schultz
7d35d24164 Remove 3node from CI
This job is continually broken and just eats up resources. Let's remove
this for now.

Change-Id: I0f734a27c62e0ee0801001c522b1903354b1de4e
2018-10-05 10:55:31 -06:00
Janki Chhatbar
53b2cc0b56 Add config option for ODL IPv6 deployment
Add a flag to specify which IP version to
deploy ODL on via Puppet-ODL.

Change-Id: Idd257cf4666b853eb4c52861f9f400b6dbdeeadb
Closes-Bug: #1783196
2018-10-05 07:49:51 +00:00
Zuul
051f4e0059 Merge "Remove parameter reference to non-exisingt parameter" 2018-10-05 01:37:25 +00:00
Juan Antonio Osorio Robles
f4b4a33860 Use valid_interfaces instead of os_interface for placement
os_interface is deprecated, we should switch.

Change-Id: I911576df939e6bc957f6c4422792d66a540129b6
2018-10-04 16:01:02 +03:00
Juan Antonio Osorio Robles
f2e72352b1 Fix placement region setting
We were using a deprecated interfce to set this value. This uses the
correct one.

Closes-Bug: #1793665
Change-Id: Ib7717911aba3267f855ac6682b0144bfe92034fb
2018-10-04 15:58:50 +03:00
Zuul
9f93bb7a9e Merge "Convert with_dict tasks to use loop and be less chatty" 2018-10-03 22:25:57 +00:00
Zuul
5c3ed37336 Merge "Configure http/https on OVN Metadata service to talk to Nova" 2018-10-03 19:30:17 +00:00
Zuul
01475936bd Merge "Chunk up ceph-ansible output to prevent clogging the CLI" 2018-10-03 19:29:26 +00:00
Martin André
c67c345541 Consolidate openshift-ansible global variables
Merge openshift/global_defaults.yml into openshift/global_vars.yml file
since they serve the exact same purpose.

Also remove duplicated variables that were set in inventory file for
glusterfs nodes.

Change-Id: Ic0fb84fb7c711d4706b75885e69cbd052cd56f42
2018-10-03 18:49:44 +00:00