1053 Commits

Author SHA1 Message Date
Zuul
b0e23c2b41 Merge "Use oslo_messaging_rpc_port for nova rpc healthchecks" 2019-04-18 11:06:52 +00:00
Zuul
2cee65b397 Merge "Handle any network name in ServiceNetMap" 2019-04-17 16:25:33 +00:00
Zuul
115421bf5a Merge "Add CinderEtcdLocalConnect parameter" 2019-04-17 16:25:31 +00:00
Zuul
6a36050778 Merge "Add Etcd to DistributedCompute roles" 2019-04-17 16:19:19 +00:00
Zuul
a5c221d0e4 Merge "Add OS::TripleO::NovaAZConfig" 2019-04-17 14:29:25 +00:00
Martin Schuppert
8ff04029f5 Use oslo_messaging_rpc_port for nova rpc healthchecks
With 405366fa32583e88c34417e5f46fa574ed8f4e98 the parameters RpcPort,
RpcUserName, RpcPassword and RpcUseSSL got deprecated and
nova::rabbitmq_port removed. As a result the healtcheck get called with
null parameter and fail.
We now get the global_config_settings from RabbitMQService and use
oslo_messaging_rpc_port for the healthcheck.

Change-Id: I1849926b1d6256de5f4d677de5a9b34d78aad5d0
Closes-Bug: #1824805
2019-04-17 09:35:20 +00:00
Zuul
fa04c6af09 Merge "Allow to disable Container Healthchecks" 2019-04-16 20:17:20 +00:00
Zuul
b3d0fce587 Merge "Allow NovaRbdPoolName to be role specific" 2019-04-16 00:28:26 +00:00
James Slagle
da5b57c7bb Handle any network name in ServiceNetMap
In commit, I737d5656b113f7e2238fe7bb555cc2d4cb13877c, support was added
to have the services fall back to the ctlplane network if the default
service network wasn't enabled.

The commit only worked for the hardcoded default network names though
(ItnernalApi, Storage, etc). Given that any network names can be used,
and that our spine/leaf examples show using non-default network names
(IternalApi0, Storage0, etc), the code needs to work for any network
name.

This commit updates the jinja2 logic to work for any network name. It
also handles service_net_map_replace in the jinja2 logic instead of
Heat, so that services can be correctly defaulted when the default
networks don't exist at all.

Change-Id: Icd8d49c0cf8c8ac43348813c502861fb0aa7091f
implements: blueprint split-controlplane-templates
Closes-Bug: #1824025
2019-04-15 17:46:22 -04:00
James Slagle
e701077c96 Add CinderEtcdLocalConnect parameter
The parameter, when set to true, will configure cinder-volume to connect
to Etcd through the node's own local IP on the Etcd network, instead of
a VIP on the network.

This is useful when deploying cinder-volume in an A/A configuration at
an edge site with the HCI roles. As Etcd and cinder-volume are both
running on the same node (typically 3 nodes configured the same), then
each node can just connect directly to Etcd without having to go through
a VIP. Additionally, we have no VIP management at the edge sites
presently.

Change-Id: I8a8825ecff9fc99b5de7390075470356397d85a2
implements: blueprint split-controlplane-templates
2019-04-15 17:46:22 -04:00
James Slagle
00f35055da Add Etcd to DistributedCompute roles
The Etcd service is needed for A/A management of the CinderVolume
service on these roles so it should be added to the roles by default.

Change-Id: I9d3d17fec857014f399b8339ce7c68f844d230a9
implements: blueprint split-controlplane-templates
2019-04-15 17:46:22 -04:00
James Slagle
0df81abe8e Add OS::TripleO::NovaAZConfig
This service is mapped to OS::Heat::None by default, but when enabled,
it uses external deploy tasks to create a new aggregate and zone in
Nova. All Compute nodes in the stack will be added to the zone by
default.

The zone name is the stack name by default, but can be overridden with
parameter values.

Change-Id: I0afb2265949f1222a86b350734e62da673e83aa9
Depends-On:I064f872e20537642880d5482cb9e0c2a801715ef
implements: blueprint split-controlplane-templates
2019-04-15 17:46:22 -04:00
Emilien Macchi
170cd2be9d Allow to disable Container Healthchecks
A new parameter, ContainerHealthcheckDisabled allows an operator to
disable the container healthcheck when Podman is enabled.

Depends-On: Ic3dd492405b11ec482ff86e1513149c3eceb370f
Change-Id: Id8d7e21d58cf5ab155404db597d96665b94d7c2a
2019-04-12 17:59:15 -04:00
Martin Schuppert
983d17e023 Increase DockerNovaComputeUlimit default value
With large number of OSDs, where each OSD need a connection, the default
nofile (1024) of nova_compute is too small. This changes the default
DockerNovaComputeUlimit to 131072 what is the same for cinder.

Change-Id: Id19da6e8b7bfbe0e47b191e92c08fc34d1853a63
2019-04-12 13:56:29 +02:00
Piotr Kopec
e4901745eb Allow NovaRbdPoolName to be role specific
Currently, TripleO does not support to create Compute roles
using different Ceph pools as Nova Ephemeral backends.
An admin should be allowed to have groups of compute nodes
using different Ceph's Ephemeral pools improving
availability, reliability and performance.

The change is straight forward adding the
role_specific tag to the parameter NovaRbdPoolName.

Closes-Bug: 1821039

Change-Id: I7c1ac7c0d3a987c8c9c1e070ea773875aa684d88
2019-04-11 15:51:41 +02:00
Brent Eagles
f4460a580d Run octavia-api under httpd
octavia-api's cli app doesn't behave well with haproxy so let's run
under apache and save ourselves some grief. Also adds cleanup for the
octavia-api tls proxy in update and upgrade tasks if it was previously
deployed.

Also updates zuul layout for multinode job to track changes to new
flattened octavia service files.

Closes-Bug: #1815811

Change-Id: Ied7cb31fbf1222694250e4769573bcbb82ba5bea
2019-04-09 18:01:37 -02:30
Zuul
6aa93d0825 Merge "Provide option to disable EMC in puppet-vswitch" 2019-04-09 00:07:19 +00:00
Martin Schuppert
b4e4878b83 Deprecate nova-consoleauth service
As of Rocky [1], the nova-consoleauth service has been deprecated and
cell databases are used for storing token authorizations. All new consoles
will be supported by the database backend and existing consoles will be
reset. Console proxies must be run per cell because the new console token
authorizations are stored in cell databases.

Lets deprecate it also in tripleo that it can be removed in a later
release.

[1] https://docs.openstack.org/releasenotes/nova/rocky.html

Change-Id: I68485a6c4da4476d07ec0ab5e7b5a4c528820a4f
2019-04-08 12:03:49 +00:00
Zuul
c297ec2a3e Merge "Deprecate messaging params replaced by global oslo params" 2019-04-03 11:25:15 +00:00
Martin Schuppert
ffa6810e49 Add novnc proxy to cellsv2 multicell controller
With cellsv2 multicell in each cell there needs to be a novnc proxy as the
console token is stored in the cell conductor database. This change adds
the NovaVncProxy service to the CellController role and configures the
endpoint to the local public address of the cell.

Closes-Bug: #1822607
Depends-On: https://review.openstack.org/649265

Change-Id: Ia3a36d369fdc18685f4c965a9e371ca3143967bf
2019-04-02 11:52:35 +02:00
Andrew Smith
405366fa32 Deprecate messaging params replaced by global oslo params
Depends-On: I03900b39ab257a9563db37e403254b54f846c056
Change-Id: Ib55c72c0bab9aa0ffc05752a680f573cc351ae17
2019-03-28 12:13:07 -06:00
Marc Methot
1a802f3ddb Adding configurability to the amphora image format
By adding parameter `OctaviaAmphoraImageFormat`, it adds flexibility to
select amphora image format without forcing to use the use of
`NovaEnableRbdBackend` parameter.

Change-Id: I61ae421058fa9a944b2bbbbeeccef6b738c22a7e
Closes-Bug: #1817777
2019-03-28 11:33:19 +00:00
Yogananth Subramanian
dbe516df0a Provide option to disable EMC in puppet-vswitch
This patch disables EMC by setting emc-insert-inv-prob to 0.

Depends-On: https://review.openstack.org/647955
Change-Id: I36bc91064df224cfdaf01fb38e74ee8a9e4bf407
2019-03-28 09:30:51 +05:30
Zuul
97f0a5c0c9 Merge "mistral: configure heartbeat parameters to avoid action timeout" 2019-03-26 17:47:38 +00:00
Zuul
bb89de950f Merge "Add external_resource_vip_id property to network_data.yaml" 2019-03-26 03:46:56 +00:00
Zuul
cf25304879 Merge "Use get_attr to set %network%InterfaceDefaultRoute" 2019-03-25 21:52:55 +00:00
Emilien Macchi
374fafd66a mistral: configure heartbeat parameters to avoid action timeout
This patch configures and increases the defaults heartbeat parameters in
Mistral so we don't hit timeouts when an action in a workflow takes
times to reply back in Mistral, when deploying an Overcloud.

Parameters added:

  MistralMaxMissedHeartbeats:
    type: number
    default: 15
    description: >
        The maximum amount of missed heartbeats to be allowed.
        If set to 0 then this feature is disabled. See check_interval for more
        details.
    constraints:
      - range: { min: 0 }
  MistralCheckInterval:
    type: number
    default: 20
    description: >
        How often (in seconds) action executions are checked.
        For example when check_interval is 10, check action
        executions every 10 seconds. When the checker runs it will
        transit all running action executions to error if the last
        heartbeat received is older than 10 * max_missed_heartbeats
        seconds. If set to 0 then this feature is disabled.
    constraints:
      - range: { min: 0 }
  MistralFirstHeartbeatTimeout:
    type: number
    default: 3600
    description: >
        The first heartbeat is handled differently, to provide a
        grace period in case there is no available executor to handle
        the action execution. For example when
        first_heartbeat_timeout = 3600, wait 3600 seconds before
        closing the action executions that never received a heartbeat.
    constraints:
      - range: { min: 0 }

Configuration applied to Undercloud:
Maximum missed heartbeats: 30 seconds
Time between interval checks: 40 seconds
First Heartbeat timeout after 7200 seconds

Depends-On: I7a2313bed58485e077ae210d222902f4f997f0f0
Change-Id: Id8663e76b61c9e09547c228da226b706383a3e20
Closes-Bug: #1821611
2019-03-25 20:29:24 +00:00
James Slagle
c7a97ce997 Add external_resource_vip_id property to network_data.yaml
Adds the external_resource_vip_id property, which can be used to set an
external_id for the port resource for the network VIP.

Since the same template resource, port.network.j2.yaml is used for both
VIP and normal ports on a network, we can't simply add jinja to that
template that conditionally adds the external_id attribute because we
don't know during the jinja2 phase if the template is for a VIP or not.

Instead, we need to map the VIP resources to an entirely new template
resource (external_resource_port.network.j2.yaml) so that we can set the
external_id attribute just for the VIP ports.

Change-Id: I27d3eeb11277004b00aa4d6a66014d5c71081c26
implements: blueprint split-controlplane-templates
2019-03-25 10:48:40 -04:00
Zuul
9e70a6f1fb Merge "Make nfs version for nova ephemeral storage configurable" 2019-03-24 04:03:31 +00:00
Zuul
c09ff4d9b3 Merge "nova: Deprecate the nova-placement service" 2019-03-21 20:24:51 +00:00
Harald Jensås
ce9a83c8cd Use get_attr to set %network%InterfaceDefaultRoute
For networks in role.default_route_networks use get_attr
to fetch the gateway_ip of the port's subnet and pass
it to the nic-config template.

Changes the default in nic-config templates to ''.

Closes-Bug: #1821046
Change-Id: Ic07a3166fafba3aa307a9e1953b3e3be2594a6f5
2019-03-21 00:26:26 +01:00
Zuul
0a841e3433 Merge "Remove UndercloudCtlplaneSubnets defaults in UC env" 2019-03-20 12:31:43 +00:00
Lee Yarwood
7985f02b82 nova: Deprecate the nova-placement service
This will be replaced by an extracted Placement API service in Train.

Change-Id: Ic904aba7c19eda0a0a22dd2d13b9d4182b4595c4
2019-03-20 10:28:46 +00:00
Sergii Golovatiuk
2a8fcc4ddf Remove UpgradeRemoveUnusedPackages
UpgradeRemoveUnusedPackages is not used anymore. All packages are
supposed to be removed on undercloud upgrade to 14.

Change-Id: Ie6b739390ec0ae0c5773a5a6c63b49422195623a
2019-03-19 13:40:02 +00:00
Martin Schuppert
393e89bfb6 Make nfs version for nova ephemeral storage configurable
New parameter ``NovaNfsVersion`` allow configuring the NFS version
used for nova storage (when NovaNfsEnabled is true). Since NFSv3
does not support full locking a NFSv4 version need to be used. To
not break current installations the default is the previous hard
coded version 4.

Change-Id: I810478ed82ee6dc056d9652be91dc45b123e78cf
2019-03-19 11:42:32 +00:00
Harald Jensås
ea80847f96 Remove UndercloudCtlplaneSubnets defaults in UC env
The defaults in environments/undercloud.yaml will be
merged with what the was defined in undercloud.conf.
If the 'ctlplane-subnet' is not used in undercloud.conf
the default is merged, and we end up with an additional
subnet that was not requested by the undercloud installed.

This change set the default to {} in:
  environments/undercloud.yaml

Also add's a comment to hightlight that there should be
a empty dict default.

Closes-Bug: #1820330
Change-Id: Idc17154b2e1e143ba4e84b9b96f5355fc9230172
2019-03-18 18:32:29 +01:00
Martin Schuppert
c62247fa8b Run chown for nova log files on every run to fix wrong permissions
If nova-manage command was triggered on a host for the first time as root
(usually manual runs) the nova-manage.log gets created as root user. On
overcloud deploy runs the nova-manage command is run as nova user. In such
situation the overcloud deploy fails as the nova user can not write to the
nova-manage.log. With this change we run the chown of the logs files on
every overcloud deploy to fix the nova-manage.log file permissions.

Closes-Bug: #1820590

Change-Id: Iaa8db09712da6c0d9553fab39d7d5b50fa7cf287
2019-03-18 12:11:23 +01:00
Zuul
b80abea3b4 Merge "Manage system timezone with ansible" 2019-03-14 00:15:40 +00:00
Alex Schultz
866a7f79e4 Manage system timezone with ansible
Switch to use ansible's timezone module for timezone management of the
overcloud and undercloud systems. This change deprecates using puppet to
manage the timezone configuration.

Change-Id: Ie1a92ca5677833f302daa71cba42c5091302b2aa
2019-03-13 08:21:35 -04:00
Zuul
84ac7282cd Merge "Support ctlplane subnet host routes from undercloud.conf" 2019-03-13 11:53:46 +00:00
Emilien Macchi
5ff6f7416d Switch ContainerCli to podman by default
The plan is:

- Docker is deprecated in Stein
- Podman is the default in Stein
- Docker will be removed in Train

Change-Id: I8f00d3e539abc4a169d6b48b8ce697e54aa2eae9
2019-03-12 11:17:15 -04:00
Harald Jensås
42b0bc930a Support ctlplane subnet host routes from undercloud.conf
Change: I692fcc4a494b2cda1911814a53a0c6ec2f99f807 in
python-tripleoclient added support to define host routes
for the subnets in undercloud.conf.

Update the undercloud ctlplane network post script so
that it add's these routes to the host_routes property
of the undercloud ctlplane subnets.

THT already uses the data in the subnets host_routes, it
is passed as ControlPlaneStaticRoutes to NetworkConfig
unless ControlPlaneStaticRoutes was statically overriden
in the environment.

Closes-Bug: #1819464
Depends-On: I692fcc4a494b2cda1911814a53a0c6ec2f99f807
Change-Id: I46b7c7175f542ad4d375a20f133c05064e7b7222
2019-03-12 16:01:22 +01:00
Zuul
61de5331a5 Merge "Remove Congress" 2019-03-12 01:05:56 +00:00
Zuul
db7ed1646e Merge "Add kek_rewrap functionality to Barbican" 2019-03-11 20:03:29 +00:00
Zuul
5ff45134ac Merge "Support cinder-volume running active-active" 2019-03-08 03:18:29 +00:00
Emilien Macchi
3e62d483fc Rename docker_puppet_tasks to container_puppet_tasks
Change-Id: I23c539555fe1f9db96cd9b84fdcb4240473d55df
2019-03-05 12:07:09 -05:00
Ade Lee
80e2dad367 Add kek_rewrap functionality to Barbican
Add the ability to rewrap keks when the master key is updated
by simply doing an update.  Also, provide some needed ordering
in the steps involving MKEK and HMAC creation, sync and update.

Change-Id: I5e5a099173e82c04f4e0157049df08c8c7c47045
2019-03-05 12:00:46 -05:00
Zuul
47f04b1e67 Merge "flatten database service Redis" 2019-03-05 02:25:08 +00:00
Alan Bishop
5b11bb39da Support cinder-volume running active-active
Add the ability to run the cinder-volume service in an active-active
configuration via a new CinderVolumeCluster parameter. The cinder-volume
service runs A/A only when configured with a cluster name.

Change-Id: Ic76742d3835d93bf16f5d9c13a2786fd7a373423
Depends-On: I615af64086d46356f322094d9f3b4e29557ed899
2019-03-04 14:58:51 -05:00
Zuul
e7db158840 Merge "Rename /var/lib/docker-puppet to /var/lib/container-puppet" 2019-03-04 17:16:34 +00:00