Commit Graph

365 Commits

Author SHA1 Message Date
Alex Schultz 87abe05ba0 Retire instack-undercloud
instack-undercloud is no longer in use by the TripleO project. Removing
the code to avoid confusion. Stable branches will continue to be
maintained for their life however no new features should be added.

Change-Id: I63a813c7c1ffd30ca30017133d31a497b77a9a4d
Blueprint: remove-instack-undercloud
2018-10-30 12:16:18 +00:00
Alex Schultz 1a0714a864 Include missing config classes
If an operator wanted to configure something currently not available via
hieradata, they would only be able to do so for nova as it includes
::nova::config. This change addes the config classes for aodh, gnocchi,
keystone, neutron, swift, heat, ironic, mistral, and zaqar.

Change-Id: I3946e23cc5955d7c1a4dc4771d2708a6c8c2974b
Closes-Bug: #1793361
2018-09-19 12:06:57 -06:00
Rajesh Tailor b012ddaddc Expose nova.conf config lines to be used as hiera overrides
Included nova::config in undercloud puppet-stack-config
puppet manifest so that nova configuration parameters can
be overriden using hiera overrides.

Change-Id: I71bc5ed35cc41139481ceb51216183e6c703cf01
2018-09-11 12:16:41 +05:30
Emilien Macchi 8dcb08a4ec use the new puppet-nova parameter for sync_power_state_interval
Use the new sync_power_state_interval parameter from puppet-nova to
avoid any breakage in the future, like Puppet resource duplication
error.

Depends-On: Ie82d88f16b42d4405853153460e20f38ba42714a
Change-Id: Ia2cff1c5f4bee28ff1d2b513f2d0b061ab0bbe83
2018-09-04 08:23:12 -04:00
Zuul 26ce50fe5d Merge "Restart rsyslog after installing Swift" 2018-07-30 09:46:38 +00:00
Michele Baldessari c3ccb92d64 Configure keepalived before rabbitmq
Sometimes an undercloud could fail to install with the following error:
2018-05-29 12:53:17,588 INFO: May 29 12:53:08 foo.int.bar systemd[1]: Starting RabbitMQ broker...
2018-05-29 12:53:17,588 INFO: May 29 12:53:11 foo.int.bar rabbitmq-server[14327]: ERROR: epmd error for host foo: address (cannot connect to host/port)
2018-05-29 12:53:17,588 INFO: May 29 12:53:11 foo.int.bar systemd[1]: rabbitmq-server.service: main process exited, code=exited, status=1/FAILURE

1) The hostname of the box is
foo.int.bar foo

and in the hosts file we have the following entry: 192.168.248.2
192.168.248.2 foo.int.bar foo

Note: 192.168.248.2 is a VIP managed by keepalived because we configured this
undercloud to be an SSL one so we have:
undercloud_public_host = 192.168.248.2

2) At this stage we see rabbitmq-server being started:
Jan 27 06:46:31 foo.int.bar systemd[1]: Starting Flexible Branding Service...
Jan 27 06:46:31 foo.int.bar systemd[1]: epmd@0.0.0.0.socket failed to listen on sockets: Address already in use
Jan 27 06:46:31 foo.int.bar systemd[1]: Failed to listen on Erlang Port Mapper Daemon Activation Socket.
Jan 27 06:46:31 foo.int.bar systemd[1]: Unit epmd@0.0.0.0.socket entered failed state.
Jan 27 06:46:31 foo.int.bar systemd[1]: Starting Erlang Port Mapper Daemon Activation Socket.
Jan 27 06:46:31 foo.int.bar systemd[1]: Starting RabbitMQ broker...
Jan 27 06:46:34 foo.int.bar rabbitmq-server[14532]: ERROR: epmd error for host foo: address (cannot connect to host/port)

Now epmd might have already been up (and normally the failed message is
not particularly concerning). But the real problem is that we are trying
to connect to foo which maps to a VIP, but the VIP gets started only
later by keepalived:
3)
Jan 27 07:02:30 foo.int.bar Keepalived_vrrp[914]: VRRP_Instance(42) Sending/queueing gratuitous ARPs on br-ctlplane for 192.168.248.2
Jan 27 07:02:30 foo.int.bar Keepalived_vrrp[914]: Sending gratuitous ARP on br-ctlplane for 192.168.248.2

Let's make sure keepalived is up and running before rabbitmq in order to
fix this.

Change-Id: I010102b01e41610838c836a743a07be1965944d6
Closes-Bug: #1782814
2018-07-21 14:24:23 +02:00
Christian Schwede d3c6857a49 Restart rsyslog after installing Swift
This ensures that Swift logs end up in /var/log/swift/swift.log.

Closes-Bug: 1781350
Change-Id: Id5a6083f5dc3f8c569e0d0778722c1e52ff7cdef
2018-07-12 12:52:53 +02:00
Zuul 08e00ea71a Merge "Add the undercloud mistral user to the docker group" 2018-06-27 22:40:36 +00:00
Steve Baker 6f583eb113 Add the undercloud mistral user to the docker group
This is required for mistral actions to perform image prepare
operations (pull, build, push)

Change-Id: I301ea04e4dbb3809ce247c0c620b0f087dedb5f9
Blueprint: container-prepare-workflow
2018-06-25 23:06:00 +00:00
Sofer Athlan-Guyot aab11800fe Make sure we start nova-compute after ironic-conductor.
We need to ensure that ironic-conductor starts before nova-compute.
This is to workaround an issue where nova-compute tries and fails to
call plug_vifs, this in turn report a vm_state error which, in this
case is a false positive.  See lp#1777608 for more.

We ensure ordering by forcing puppet to restart nova-compute after
ironic-conductor in the case of undercloud upgrade/update.

Change-Id: Ifbada53f088258a397777a6fa18dd7c1b37c09d3
Closes-Bug: #1777475
2018-06-23 13:37:07 +02:00
yatin 176bc689f7 Remove usage of deprecated rabbit params
rabbit param removed from puppet-neutron in [1],
Required transport_url is taken care by puppet-stack-config.yaml.
This patch removes the usage of removed rabbit_hosts param.

[1] https://review.openstack.org/#/c/570307/

Closes-Bug: #1777616
Change-Id: I9d561aa2e2f71b8892580950e9664d62f956773d
2018-06-19 09:32:43 +00:00
Emilien Macchi 8c30db7218 puppet: deprecation message for non-containerized undercloud
Show a deprecation message in the Puppet catalog so people know we
deprecate underclouds deployed by instack-undercloud in Rocky.

Also add a release note for deprecation.

Change-Id: I4ca1478ea22060ada7f35bf74575fa08c8471d73
2018-05-10 03:47:37 +00:00
Emilien Macchi 0498f5a64e Always deploy NTP
No matter how many NTP servers we have in undercloud.conf, we need NTP
service running correctly, so the undercloud is always on time.
The default configuration already provide sane defaults
(X.centos.pool.ntp.org) so let's configure the service all the time.

Change-Id: I946f055b119ea878c893bd333ebb5f2c9d68ea6d
2018-04-20 19:05:57 +00:00
Zuul 2633e98788 Merge "Enable missing support for large objects in Swift" 2018-04-10 01:54:19 +00:00
Christian Schwede ea55f3de12 Enable missing support for large objects in Swift
The slo and dlo middlewares are required to enable support for large
objects (> 5GB). Also enabling the copy & versioned_writes middleware,
which enables object copying and versionining.

Change-Id: Iff73833f1d470750862873f70a4a9aaba50bd164
2018-04-09 15:22:26 +02:00
Juan Antonio Osorio Robles b1fe5c01bd Always include certmonger_user
This makes sure we always include the certmonger_user profile, which
installs the local CA (if that's the one we're using). This is necessary
for when we deploy TLS by default in the overcloud.

It also makes the setting of the certificate specification to be
optional and to depend on the generate_service_certificate flag.

Change-Id: I8b46ce3f9cd6e36d0b8f604b49e4113301461a4c
2018-04-04 12:44:50 +03:00
Zuul d9e00b42cd Merge "Add purge shadow tables to instack-undercloud" 2018-03-27 17:39:52 +00:00
Zuul 95da0b59b8 Merge "Use the new dnsmasq PXE filter in ironic-inspector" 2018-03-26 19:56:04 +00:00
Dmitry Tantsur 5e1a4d9f0b Use the new dnsmasq PXE filter in ironic-inspector
With the introduction of rotued networks there can be
a situation where baremetal nodes on remote segments
are unintentionally introspected. Using the dnsmasq
based PXE filtering driver in ironic inspector fixes
the issue.

Co-Authored-By: Harald Jensås <hjensas@redhat.com>
Closes-Bug: #1756075
Change-Id: I53d6c5718c7f9112d578ec6f73830830d2c71737
Depends-On: I056cdadc025f35d8b6fd22f510a7c0a8e259a1f0
2018-03-23 13:54:51 +01:00
Carlos Camacho f9b54b8a0b Add purge shadow tables to instack-undercloud
This will add the purge cron.

Change-Id: Ia99cd83dae1ed35b4cb6f035c445617f1e40f490
2018-03-22 13:56:33 +00:00
Oliver Walsh 122807b013 Set undercloud nova notification_format to 'unversioned'
Currently there is no consumer for the versioned notification queue, which
results in the queue growing infinitely large. Until we have a consumer set
the notification format to 'unversioned' only.

Change-Id: I972dd8513c6706d03c328c961bd77eea2672bba2
Resolves-Bug: #1734185
2018-03-21 09:45:13 +00:00
Alex Schultz 998230da5c Remove cloud-init and disable os-collect-config
A user uses a guest image for the undercloud, cloud-init may be
installed which can also cause other services like os-collect-config to
be running. We should ensure that cloud-init is removed and that the
os-collect-config service is disable to prevent it from interfering with
overcloud deployments.

Change-Id: I58f6fc4b299c8f1f561205ac9a2de75c46467ba8
Closes-Bug: #1754426
2018-03-08 11:07:33 -07:00
Zuul af71ac6de7 Merge "Remove ceilometer expirer from instack" 2018-03-06 21:30:31 +00:00
Pradeep Kilambi b29abfb1df Remove ceilometer expirer from instack
This service has been removed in queens, clean up the code.

Closes-bug: #1753749

Change-Id: If1b35ce32addfb923151b0d557de6dec58327891
2018-03-06 08:20:04 -05:00
Harald Jensas 28ff631ef0 Install and enable neutron baremetal ML2 and L2 agent
Ironic use binding:vnic_type baremetal for flat interfaces.
The baremetal mechanism driver is required to bind this
vnic_type correctly.

The L2 agent populates segmenthostmapping data in neutron
which is a requirement for routed-networks.

Implements: blueprint tripleo-routed-networks-deployment
Change-Id: I8e192df9068c3f5d6657f5ea92e7e2f44646c290
2018-03-06 11:14:32 +01:00
Emilien Macchi b82b8d4984 Remove dnsmasq-ironic.conf management
Which shouldn't be needed since https://review.openstack.org/#/c/172040/
was merged long time ago.

Change-Id: Icaba1150ee4984e100317c10dfd0f95e22a32378
2018-03-04 16:51:11 +00:00
Zuul 34979944bc Merge "Revert "Add option to install the Octavia client"" 2018-03-01 23:29:53 +00:00
Alex Schultz bfb758b5e7 Fix bootstrap NAT
Docker will switch the FORWARD filter to DROP if it sets the ip_forward
to 1. Previously we were doing this in a post configuration element
rather than in the puppet run itself. This change moves the ip_forward=1
to puppet so it runs prior to docker being installed. Additionally we
are ensuring that the full set of network rules are being added to the
FORWARD filter because previously we were only setting half of them.
This would allow us to actually not have to use ACCEPT as the default
for the FORWARD filter but this would require additional testing.

Previously we had tried switching the default policy back to ACCEPT,
however given that docker is not configuring the iptables rule until
it's installed and started, the puppet rules do not actually apply on
the installation of the undercloud. The puppet management of the
defaults for the FORWARD chain only gets updated on a subsequent run of
the installer which will not work.

Change-Id: Ieae6a74f7269bd64606fd80a2a08b2058c24d2c5
Closes-Bug: #1750194
Closes-Bug: #1750874
2018-02-27 07:16:41 -07:00
Zuul 42e9be0ede Merge "Enable CORS for nova" 2018-02-20 05:06:01 +00:00
Carlos Goncalves 720fc49010 Revert "Add option to install the Octavia client"
Other OpenStack services clients are being installed as dependencies of
Heat. Octavia support in Heat was included during Queens development
cycle [1]. TripleO deployments will include python-octaviaclient as
requirement of Heat. This means the Octavia client will be installed in
the undercloud and overcloud regardless.

This reverts commit fef5be332e.

[1] https://review.openstack.org/#/q/topic:bug/1737567+(status:open+OR+status:merged)

Change-Id: I727503b6c1acf1953a0ad864ae6288021a745193
2018-02-19 16:30:29 +01:00
Zuul 8a7609ec48 Merge "docker: use ensure_resource" 2018-02-14 02:20:43 +00:00
Honza Pokorny e86ba84691 Enable CORS for nova
Change-Id: Ic6df58947bb2cb1e183b5c88ed8d287191e5ee07
Depends-On: I2ec2f8d2146e8a067aadc97f5997aa40ad8d4812
2018-02-13 14:18:42 -04:00
Carlos Goncalves fef5be332e Add option to install the Octavia client
Allow installation of the Octavia client in the Undercloud by setting
new option enable_octavia=True in the undercloud.conf. Default is not to
enable.

Change-Id: I2b27dac2f30a126e6519d19cc135ea6eea59e8a9
2018-02-12 21:41:20 +01:00
Emilien Macchi f6ab30c2ac docker: use ensure_resource
... so we can have a duplicate resource in puppet-tripleo, and move
these resources to puppet-tripleo only at some point.
Right now, we can't move the resource to puppet-tripleo otherwise we
would have a duplicate resource issue.

Change-Id: I212da7757eceb8445578f2793d55c3d2bf265746
2018-02-12 08:09:09 -08:00
Dougal Matthews 3e702f3bdf Increase the Mistral cron_trigger interval
Reducing the frequency of the Mistral cron trigger subsystem greatly reduces
the load that is has on the system. Previously it would query the
database every second, now it will only do this every 10 minutes.

Closes-Bug: #1747386
Depends-On: I6445ff1b6691a098f15e8402ae9d971e751f5552
Depends-On: I9060253bc416be28af4ef81f3edf694059d92066
Change-Id: I18ae5bc0b2192a393959186ba756d1e6a6c62d83
2018-02-09 04:13:20 +00:00
Zuul fa8c1a7fcf Merge "Add missing include of ironic::drivers::ansible" 2017-12-20 05:51:40 +00:00
Dmitry Tantsur 8b365d1827 Add missing include of ironic::drivers::ansible
This manifest enables additional configuration of the ansible deploy,
and also ensures that required packages are installed.

Implements: blueprint ansible-deploy
Change-Id: I3a9d81cbae70a115c02b5bff8a62c30b38abd38a
2017-12-12 11:27:12 +01:00
Zuul f57c9ef8de Merge "Run the swift object expirer in the undercloud" 2017-12-09 03:05:38 +00:00
Zuul 5565e25bed Merge "Add support for oVirt via the staging-ovirt hardware type" 2017-12-06 15:35:27 +00:00
Dmitry Tantsur 0064ff2d98 Add support for oVirt via the staging-ovirt hardware type
Depends-On: Ibef8f33f306b9d3b598698345ce3b0978f62a2ad
Depends-On: Iebf31db70dfd800d47399c69d7b2255467a87a1d
Change-Id: I3e5d0a72e2ba22537ce2c0eb30000c29f429dc3f
Implements: blueprint ovirt-driver
2017-11-24 13:43:18 +01:00
Zuul 78fe1956c2 Merge "Fix the expirer cron task to run correctly" 2017-11-13 22:23:47 +00:00
Chandan Kumar 8e37c44fbf Removing reference of puppet-tempest
* As in tripleo deployment, we use python-tempestconf to generate
  tempest.conf. on setting enable_tempest to true it will auto
  install openstack-tempest so removing reference of puppet-tempest
  from it.

Change-Id: I65856cfbc8363394f5b01444fbb12f7e541aac1e
2017-11-10 19:34:00 +05:30
Pradeep Kilambi ad53878d79 Fix the expirer cron task to run correctly
We need to escape % for cron to run correctly. Without
this the cron task fails with syntax error.

Change-Id: I8eac2d978380ccc1c6998929c8aa6a440ed4bcce
2017-11-07 18:01:45 -05:00
Juan Antonio Osorio Robles d60cd84502 Only enable keystone notifications if telemetry is enabled
This will get rid of the unnecessary notifications that were being
produced and help with the undercloud's memory consumption.

Change-Id: If4d97e5069ca678edbcd2270a75f6faf67364420
Closes-Bug: #1729293
2017-11-01 17:28:48 +02:00
Zuul 6939ac649d Merge "Remove legacy ceilometer api from undercloud" 2017-10-31 23:22:17 +00:00
Emilien Macchi d5f6b8ea0f heat-dbsync: increase timeout to 15 minutes
Increasing the heat db-sync from 5 to 15 minutes.
During an undercloud upgrade, the database can be very big and the
dbsync needs at least 10 minutes to run. So we override the Puppet
default value of 5 minutes to have a timeout of 15 minutes for
production deployments.

Change-Id: I7720bd68a3d6044287ccdebf77086a86c51ddd8f
Closes-Bug: #1726959
2017-10-30 16:03:31 +00:00
Pradeep Kilambi 64e6e17f03 Remove legacy ceilometer api from undercloud
Ceilometer API is deprecated and disabled in pike. Lets remove
this starting queens as its not supported anymore.

Change-Id: I738e8743a315cc2865ba6d1e64c23498e911a283
2017-10-23 21:43:08 +00:00
Pradeep Kilambi da02a5e748 Drop legacy ceilometer collector
Collector was moved to legacy mode in pike and
not supported anymore. Lets drop collector
starting queens.

Change-Id: I952103e39f63d278988a73035d7194b9e351ad31
2017-10-21 14:37:09 +00:00
Juan Antonio Osorio Robles 0df50b7eae Run nova_api over httpd
This, to match what we do in the overcloud.

Change-Id: I055ee9107ab7b7ae61cc4126e16064b1bbbb9612
2017-10-13 07:50:28 +03:00
Thomas Herve 17e80bf88c Run the swift object expirer in the undercloud
This includes the expirer module to enable the service, otherwise swift
objects are never cleaned up in the undercloud.

Change-Id: I65b906aaa7ea4f79e2c041009cf7055d2d1fe403
Closes-Bug: #1722279
2017-10-09 16:21:50 +02:00