Age | Commit message (Collapse) | Author | Files | Lines |
|
It turns out that reducing number of rabbitmq queues in cluster
significantly improves performance of cluster especially in the case of
failover recovery time. Right now the cluster uses ha-all mode for rabbitmq
queues.
It is best to change this to "ha-exactly" mode and reduce the number
of queue copies to ceil(N/2) where N is number of controllers in the
cluster - so in typical scenario of 3 controller It would be 2 by
default.
It does not make much sense to keep the copies of queues over whole
cluster since if the quorum of nodes is lost then the rest of cluster
nodes will be stopped anyway. We let the user override this with a
parameter.
I.e. for a 3 node controlplane cluster we will go from this:
pcs resource show rabbitmq
Resource: rabbitmq (class=ocf provider=heartbeat type=rabbitmq-cluster)
Attributes: set_policy="ha-all ^(?!amq\.).* {"ha-mode":"all"}"
To this:
pcs resource show rabbitmq
Resource: rabbitmq (class=ocf provider=heartbeat type=rabbitmq-cluster)
Attributes: set_policy="ha-all ^(?!amq\.).* {"ha-mode":"exactly","ha-params":2}"
According to Marin Krcmarik's testing recovery time from failure was
reduced significantly.
Co-Authored-By: Marian Krcmarik <mkrcmari@redhat.com>
Change-Id: Ib62001c03e1e08f58cf0c6e0ba07a8879a584084
Partial-Bug: #1628998
|
|
Back in the Mitaka cycle via the change If6b43982c958f63bc78ad997400bf1279c23df7e
we made sure that the default start and stop timeouts for pacemaker
systemd resources is 200s (>= twice the default 90s DefaultTimeoutStopSec
in systemd). We did this change by setting puppet resource defaults for
the Pacemaker::Resource::Service class:
Pacemaker::Resource::Service {
op_params => 'start timeout=200s stop timeout=200s',
}
The problem is that after the composable services rework, this does not
work anymore and the pacemaker systemd resources that still exist do not
have these timeouts set.
We want to move away from resource defaults for this because its results
are dependent on the inclusion order which in tripleo is not guaranteed
any longer (https://docs.puppet.com/puppet/latest/reference/lang_scope.html#scope-lookup-rules)
The only services affected in Newton are: cinder-volume,
cinder-backup, manila-share, haproxy. I preferred fixing all the
pacemaker resources because it seems the cleanest and most logical
commit.
Change-Id: If89a95706514e536a7a2949871a0002c79b6046e
Closes-Bug: #1629366
|
|
|
|
|
|
This change adds rspec testing for the ceilometer profiles. While
writing these tests, the tripleo::profile::base::ceilometer::collector
class needed to have the hiera lookups moved to class parameters to
allow for testing the possible options around the database backend.
These tests add coverage for ipv4 and ipv6 configurations for the
collector profile as well as excluding mongodb on the backend.
Change-Id: I1abae040104e8492a9fe266de74080e1e7701731
|
|
Normalize coordination_url for Telemetry services, so we can deploy them
with IPv6.
Change-Id: Ic6de09acf0d36ca90cc2041c0add1bc2b4a369a5
Partial-Bug: #1629279
Depends-On: I038e2bac22e3bfa5047d2e76e23cff664546464d
|
|
|
|
This patch moves the various DB syncs into the MySQL role.
Database creation needs to occur on the MySQL server to
avoid permission issues.
This patch also moves database creation to step 2 so we can
guarantee that all per-service databases exist at this time.
This avoids complex ordering needed during step 3 where
services, on different hosts, can run their own db sync's
in a distributed fashion.
Change-Id: I05cc0afa9373429a3197c194c3e8f784ae96de5f
Partial-bug: #1620595
|
|
|
|
|
|
|
|
having an actual name for that configuration will allow us to pass a
more proper name via t-h-t.
Change-Id: Iea4bd67074824e5dc6732fd7e408743e693d80b3
|
|
|
|
It used to be hardcoded that the bind-address was always coming from
the $::hostname fact. This is wrong, as it disregards where we have
configured the mysql address. This commit actually makes it
configurable, so we'll be able to set it via hieradata.
On the other hand, we use the hiera key that we already set
'mysql_bind_host' as a default; if, for some reason, that's
unavailable then we fall back to $::hostname.
Related-Bug: #1627060
Change-Id: I316acfd514aac63b84890e20283c4ca611ccde8b
|
|
swift proxy has already been updated to use updated
ceilometermiddleware as indicated here [1]. Include
it in the proxy class.
[1] https://github.com/openstack/puppet-swift/commit/e8ad981eff0f97c24a53197c42caf350627d3c9f
Change-Id: Ie49f4a750368ff174b23b8d6baa743d0956d727e
|
|
In puppet-manila it is the api service performing db sync, not
scheduler. This change moves ::manila::db::mysql (which creates
the empty database and users) in the tripleo manila/api profile.
Also moves rabbit config into a general manila base profile as
that would be needed by the scheduler service as well.
Change-Id: I2b537f735b8d1be8f39e8c274be3872b193c1014
|
|
The mistral puppet did not have support for configuring the rabbit hosts.
This change adds that support.
Change-Id: I6cb2cbf4a2abf494668d24b8c36b0d525643f0af
|
|
|
|
1) swift/ringbuilder: seed must be a String
Because we use validate_re in puppet-swift and puppet4 requires the
regex to be a string, not an integer.
2) Fix Swift package name
In puppet4, we need the resource title, not the resource name.
Change-Id: I50cea96d45e0eb46c19040d9a7105ab72c2dbef7
|
|
|
|
In the case of memcache servers are IPv6, make sure brackets set in the
way we construct the list of memcache server + memcache port parameter.
Also add unit-tests to test that the output is what we want in the
configuration.
Depends-On: I8d361ce9cfcfe6a3f8592b2b7991971a3c748c75
Closes-Bug: 1625335
Change-Id: I9fb8168d8fb56c9d8465d58a45fd8c6edfee6fdd
|
|
The puppet-tripleo side for manila-cephfs landed without specifying
defaults for all class params [1] so when cephfs isn't enabled
e.g. only generic, then you will get errors for those params. See
review comments at [2] for reports of this.
This will fixup the manila-cephfs puppet-tripleo side to be more
in line with the tidy up adding netapp at [3]. The config is all
moved tripleo-heat-templates side. The tht review for this
is at https://review.openstack.org/#/c/358525/ and that will now
depend on this review.
[1] https://review.openstack.org/#/c/354047/
[2] https://review.openstack.org/#/c/354019/
[3] https://review.openstack.org/#/c/354014/
Change-Id: I918f6f23ae0bd3542bcfe1bf0c797d4e6aa8f4d9
|
|
|
|
|
|
|
|
|
|
Sometimes the mongodb_replset resource fails with:
Could not evaluate: Can't find master host for replicaset tripleo.
This issue is intermittent so the fix cannot be perfectly verified, but
the assumption is that if we wait for MongoDB to be reachable on all
nodes, it will assure that the members will appear to the puppet module
as alive when creating or verifying the replset. If the validation
fails, it should help us uncover which of the members was causing
trouble.
Change-Id: I0bcd0d063a7a766483426fdd5ea81cbe1dfaa348
Closes-Bug: #1624420
|
|
Add brackets to IPv6 addresses before forming $object from $base
Change-Id: I4568d538561a0102b69f331a122d4989333a3bfa
Closes-Bug: #1623096
|
|
|
|
This adds support for the manila-netapp backend. The backend
specific config is set tht side. So this change also
tidies up the manila generic config, which is unnecessarily
being duplicated here
( see https://review.openstack.org/#/c/354019/ )
Change-Id: Ic6f8e8d27ca20b9badddea5d16550aa18bff8418
|
|
This commit ensures the tripleo-ui configuration files are present and
are matching the environment.
Change-Id: I0deeffa9026b1f5cd36a9810aaee7832e31c3c93
|
|
Don't add brackets on mysql_bind_host parameter in Galera config.
Having brackets from this parameter works with old version of
Galera but not newest one.
So let's remove them at all, so we can safely upgrade Galera in RDO.
Change-Id: Ic904d4efda162f18ec8dffb91c2f383f54361f41
Closes-Bug: #1622755
|
|
Installing the undercloud with generate_service_certificate=True
fails if HAProxy is not pre-installed. This is due to missing
dependency setting on our puppet manifests. We need to specify that
the PEM file needs to be written only if the haproxy user and group
exist (which comes from the package) and that the haproxy frontend
configuration needs to be notified if there are changes in the
certificates.
Change-Id: Iba3030e4489eb31f9c07ab49913687d8b595a91b
Closes-Bug: #1623805
|
|
This adds the tripleo::profile::base::validations profile which sets up
the `validations` user and installs the openstack-tripleo-validations
package.
Change-Id: Ib2b1ddcda3a41cb7263171d3024f05ba8bfd2f28
|
|
|
|
This patch allows to spefify the iscsi_protocol in the iSCSI cinder
backend when we want to use iSCSI Extensions for RDMA (iSER).
The default value remains 'iscsi'.
Change-Id: I6d2c4d71fb3ab1f7749d6e1defb59e86b9364cc1
|
|
Gnocchi statsd and metricd require Keystone resources to be in place
when using Swift backend, because those services will try to access to
Swift containers.
To do so, we want to move the service start at step 5 instead of 4 and
also require Keystone resource to be managed before starting the
services.
Change-Id: Ie5bc1481a8700c7cd080a76d0978146a84825767
Closes-Bug: #1621164
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Configure drac, ilo and ssh drivers out of box.
Remove deprecated ironic::drivers::deploy.
This change brings the default driver list closer to one of undercloud.
Change-Id: I8b9a136a0ff22916d7c468bbb0df7248bc35a5c2
Partially-Implements: blueprint ironic-integration
|
|
|
|
|
|
|
|
Extra settings that need to be applied for plumgrid where compute
nodes are running.
Change-Id: Ided5483f0f36f0efd5a09112832d07f028a2a7f9
|
|
Currently we have some hard-coded mangling in t-h-t but we
instead need to build the array based on the nodes running swift
storage, combined with the SwiftRawDisks parameter.
This will enable running SwiftStorage on nodes other than Controller
and SwiftStorage roles, and is required for custom-roles due to
the hard-coded stuff in the role templates and overcloud.yaml
Change-Id: I11deed1df712ecccf85d36a75b3bd2e9d226af36
Partially-Implements: blueprint custom-roles
|
|
|