Commit Graph

147 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
Chuck Short 5f36ef16b6 Replace assertRaisesRegexp with assertRaisesRegex
This replaces the deprecated (in python 3.2) unittest.TestCase
method assertRaisesRegexp() with assertRaisesRegex().

Change-Id: Ib2f53eaa039514bacf3dd0000e8400baf1ba659d
Signed-off-by: Chuck Short <chucks@redhat.com>
2018-08-27 10:38:00 -04:00
Ana Krivokapic a7b7f345a9 Call validations upload workflow instead of action
Change-Id: Ifcf813b51053c8e1ab57c1cc031a4c980f198c69
Partial-Bug: #1774185
Depends-On: I55be508ce5906c2f12068ae1713657eab2f658fd
2018-06-18 15:44:01 +02:00
Dmitry Tantsur 0c2c55c504 Remove support for classic drivers
They are deprecated and will be removed from Ironic. A similar change
was already done to the containerized undercloud.

Change-Id: If442f103adc03ec97f9e995d5e2bc47dfc097f90
2018-05-16 11:13:59 +00:00
Emilien Macchi 2ee1ebfd34 Introduce docker_insecure_registries parameter
Introduce docker_insecure_registries that is an array of host/port
combiniations of docker insecure registries. The default value will
be the previous parameter that were hardcoded, but now we can easily
override it in undercloud.conf.

Note: the feature is already supported for the containerized undercloud
but was only missing in instack-undercloud. This patch will be
backported.

Depends-On: I14fda3481ac88429648bed8edb2f4469b33be957
Change-Id: I402ebb80b1d755cdb0c3c28fd542121bc60cb144
Closes-Bug: #1767373
2018-04-28 21:59:56 +00:00
Dan Prince c64a1c823e Fix net_config_override validations
There is an issue with the _validate_no_ip_change function
where it doesn't work correctly with a custom net_config_override
file.

This patch resolves validation issue so that custom os-net-config
templates are taken into account. Additionally it makes it so
that the net_config_override can be empty, thus providing the
user a means of disabling os-net-config if they choose to do so.

Change-Id: Iada099a6bddc7927d26b19776e705b1ac231b2e5
Depends-On: I69eb812af2d653cb3eb29694ae29b57ebb2de53d
Closes-bug: #1764507
2018-04-24 08:57:34 -04:00
Dougal Matthews 6a016a6214 Use the default queue when calling create_deployment_plan
This change happened in tripleoclient[1], but never in instack-undercloud.
Using a uuid queue name means a queue is left in Zaqar but never used
- we don't consume the messages from it or delete the queue.

[1]: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=1bd1620eadf23f2ee755a32a8167d9a5386a392e

Closes-Bug: #1757387
Change-Id: I5d39200e7292a5c1750601ec0669f462e7b1c164
2018-04-02 07:42:47 +00:00
Zuul d19bf1ce59 Merge "Add Nova UI endpoints to the endpoint list" 2018-03-23 22:17:14 +00:00
Juan Antonio Osorio Robles 41f2694d13 Enable TLS by default
This enables TLS by defalut in the undercloud. This is done by setting
the generate_service_certificate option to True by default, although,
the deployer can turn it off if needed.

Change-Id: Id329081c06343373309d6880d464ba99aba0c7be
2018-03-21 09:33:17 +00:00
Zuul d500072bfa Merge "remove workaround for tuskar* packages" 2018-03-18 00:17:49 +00:00
Julie Pichon 20c4088afb Add Nova UI endpoints to the endpoint list
In addition to puppet-stack-config.yaml
(cf. I1de069a4d3786af030530a100982087c0784889e), the endpoints also
need to be specified in the main endpoints list.

Change-Id: I3701c34841b84c2272dcc24d982fc622ff6139b6
Partial-Bug: #1755560
2018-03-16 14:57:49 +00:00
Alex Schultz 1bc7a07dec Ensure mtu is set correctly on ctlplane
We were not passing the MTU when we create the ctlplane network so if
the local_mtu is less than 1500, 1500 is used by the ctlplane network in
neutron.

Change-Id: Ic7a4c5a62ff49b2f8964dd58bf5c97d9781c4ce1
Related-Bug: #1754036
2018-03-14 10:54:29 +05:30
Radoslaw Smigielski db01d14ef9 remove workaround for tuskar* packages
This change removes a workaround for remaining tuskar* packages after upgrade.
Original problem reported as: https://bugs.launchpad.net/tripleo/+bug/1691744
We have that workaround in L, M, N and O releases.
It's time to get rid of it and forget about tuskar.

Closes-Bug: 1755537
Change-Id: I895dcd880281be3d07310f5983a4fa9fdb9fc88f
2018-03-13 16:52:43 +00:00
Dougal Matthews e3c3e89b50 Only delete and re-create managed Mistral workflows
In Pike Mistral workflows in tripleo-common were tagged with
`tripleo-common-managed`. During the transition we needed to conder
installs with no tagged workflows. However, users of Queens and above
will already have this handled, so the extra code and the test case can
be removed.

Change-Id: I06b3bccf03c1e2851c0bc3b291cefbf24ff7dbff
2018-03-08 10:58:11 +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
Harald Jensas 52dbe134ab Make routed networks optional
Closes-Bug: #1749671
Change-Id: Ieabb2ded33ec0c0b68f21c9afa16a9baddc61393
2018-02-15 19:45:11 +01:00
Harald Jensas 46a5df2625 Tripleo routed networks ironic inspector, and Undercloud
* Enable the neutron segments service_plugin for routed
  provider networks.
* Update controlplane network code to create segments
  for each subnet.

A number of options related to ctlplane network is deprecated.
More details in release notes.

Implements: blueprint tripleo-routed-networks-ironic-inspector
Implements: blueprint tripleo-routed-networks-deployment

Depends-On: I33804bfd105a13c25d6057e8414e09957939e8af
Change-Id: I4b384bab2af9f6ba07a137a37f4098a00ce18bc0
2018-02-06 09:44:11 +01:00
Harald Jensas 983c2be88e Add per subnet masquerading
Masquerading for external access for each routed
network, if enabled.

Implements: blueprint tripleo-routed-networks-ironic-inspector
Implements: blueprint tripleo-routed-networks-deployment
Change-Id: I792b516314302e2c290e63c10fb0fe6881ce7236
2018-02-06 09:35:07 +01:00
Harald Jensas 1b83386162 Add per subnet network cidr nat rules
Change-Id: I904bbbac383f5fddbe6a88177ef65981d009d28c
Implements: blueprint tripleo-routed-networks-deployment
2018-02-06 09:34:44 +01:00
Harald Jensas 5353915e2c Create static routes for remote subnets
Add static routes to reach remote subnets via
router connected to locale ctlplane segment.

Implements: blueprint tripleo-routed-networks-ironic-inspector
Implements: blueprint tripleo-routed-networks-deployment
Change-Id: Ibfc4c1492377ea4c3966ffadfd440bd705c45d19
2018-02-05 19:24:02 -08:00
Harald Jensas a1d5484a18 Add support for multiple inspection subnets
Configure Inspector with the required tags and
per-subnet dhcp router options to enable
inspection of nodes reaching the undercloud via
DHCP-relay on remote networks.

Change-Id: Iba1cadf1d6eef6ba6c028f4ba1689da95047ccea
Implements: blueprint tripleo-routed-networks-ironic-inspector
2018-02-05 19:23:31 -08:00
Harald Jensas a10b9997b5 Update config to use per network groups
Use groups to specify control plane network data. When
we do routed networks we need to provide network data
for each controlplane network/subnet.

Implements: blueprint tripleo-routed-networks-ironic-inspector
Implements: blueprint tripleo-routed-networks-deployment
Change-Id: Ia95ff5c00433c89155727ea5551904c45197e6b0
2018-02-05 19:21:25 -08:00
Harald Jensas a7d289109d Move ctlplane network/subnet setup to python
For routed networks deployment we need to create multiple
subnets on the controlplane network. The logic to implement
this is more involved and so doing this in python makes sense.

This change moves the current network config from
98-undercloud-setup to a python implementation.

Change-Id: I0168991a0fbd9dacf708ba2bdbc13248414affbe
Implements: blueprint tripleo-routed-networks-deployment
2018-02-01 23:07:41 +00:00
Harald Jensas cea0211ea6 Refactor unit test to set up config fixture in setup class
Change-Id: I094771e5fc3d5ae102ddf99301822e1d122e414b
2018-01-15 23:51:31 +01:00
Carlos Camacho be3bd48214 Load undercloud DB password to a mistral environment
This patch adds a new variable to the mistral
environment 'tripleo.undercloud-config' allowing
to retrieve the root password for the MySQL
databases. Now this variable can be accessed from any
Mistral workflow.
Also, this patch adds the ability of checking if
the variables are not loaded properly due to
an upgrade, in that case we update the Mistral
environment to have all the variables in place.

Change-Id: I822c3d96b5805909656d8e92e963b851f3bd77de
2017-12-19 14:08:32 +00:00
Dmitry Tantsur 58701fe014 Support more hardware types and deprecate enabled_drivers
Ironic is going to deprecate classic drivers in Queens and remove them in Rocky.
This change enables hardware types ilo and idrac that correspond to already
enabled classic drivers pxe_ilo and pxe_drac. It also adds support for other
common hardware types, but does not enable them by default.

The enabled_drivers option is deprecated.

Partial-Bug: #1690185
Change-Id: Ib505f3512627c49d17d6adcdc2622bdfe580a84f
2017-11-14 13:12:14 +01:00
Zuul 6939ac649d Merge "Remove legacy ceilometer api from undercloud" 2017-10-31 23:22:17 +00:00
Zuul d8ecf364e5 Merge "Handle utf-8 when running python commands" 2017-10-28 03:23:56 +00:00
Zuul 031fa7ea3e Merge "Remove Pike-only migration step" 2017-10-25 02:54:27 +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
Zuul 52cb07dd06 Merge "Handle relative hieradata_override" 2017-10-20 03:10:10 +00:00
Thomas Herve 342109b9a6 Handle utf-8 when running python commands
The openstack commands can be localized, and won't work when using
subprocess.check_output as-is. Pass PYTHONIOENCODING to make it work.

Change-Id: Ia4b015da432398d46878cff4ee58dd87f304e8b4
Closes-Bug: #1722792
2017-10-17 21:45:49 +02:00
Zuul 3fe99d45a8 Merge "Stop using deprecated create_default_deployment_plan workflow" 2017-10-17 18:09:26 +00:00
Julie Pichon f488b516ec Remove Pike-only migration step
In Pike, plans were migrated from using Mistral environments for
storing parameters values to using a plan-environment.yaml file stored
together with the plan in Swift. New plans created from THT have this
file included automatically from Pike, and the migration step is no
longer necessary starting in Queens.

As of now, fast-forward upgrades will involve upgrading the undercloud
from N to N+1 until N+3 is reached so removing the step isn't an issue.

Change-Id: I4227df5c692ab09b88f84ad60bf241c0b8251f80
2017-10-17 11:15:43 +00:00
Thomas Herve 19f983db77 Handle relative hieradata_override
It fixes an issue with hieradata_override when the path is relative.
It also aligns the behavior for undercloud_service_certificate.

Change-Id: Id7a49617712c5d4c15fcce8c552026f88ca39625
Closes-Bug: #1722489
2017-10-17 10:16:16 +02:00
yatin 2d72ba5117 Use keystone v3 session with novaclient
Keystone v2.0 is removed so we have to use keystone v3.
Use already defined keystone v3 session for creating
novaclient instance.

Also, remove the version check for novaclient 6 as we now
having novaclient >9.0.0.

Change-Id: I4a98e9dad0e2a7601145c9155191c876f920abfd
Closes-Bug: #1721366
2017-10-09 19:06:57 +05:30
Jenkins 99319f9ec3 Merge "Enable convergence engine on the undercloud" 2017-10-07 03:36:58 +00:00
Jenkins 721400682d Merge "Fix invalid /etc/hosts edit" 2017-10-05 20:46:27 +00:00
Ben Nemec 9295d50fc3 Enable convergence engine on the undercloud
We want to turn this on for Queens, and we might as well do it early
in the cycle so we have a chance to address any issues that may come
up.

We also want to migrate any existing stacks to use the convergence
engine to reduce the support matrix.  This patch includes a post-config
step do so.

Change-Id: I96952f78cb95252d2bc6c0df64561d07df51dc5a
2017-09-27 19:43:59 +00:00
Ana Krivokapic 83db861aae Stop using deprecated create_default_deployment_plan workflow
Use create_deployment_plan instead.

Closes-bug: #1718429
Change-Id: I9e36e6710bd15406e9262610c398e4ee0456cba5
2017-09-21 16:13:07 +02:00
Marios Andreou 21c0ed76e6 Revert "Revert "Adds execution of post-upgrade validations on undercloud upgrade""
Posting the revert of the revert :) so we can eventually land this.
Not clear yet how these validations are causing this
https://bugs.launchpad.net/tripleo/+bug/1713832

This reverts commit 6c3ca0cf57.

Change-Id: I9e85ccefffa5edcee0dca58a53d782a5428c3d18
2017-09-09 21:46:15 +00:00
Honza Pokorny 19c96cd859 Add an hourly cron trigger for tripleo-ui logging
After tripleo-common workbooks are loaded, we create a new cron trigger in
Mistral.  This will run the `publish_ui_logs_to_swift` workflow every hour.

Also makes sure that we are deleting the cron-triggers before deleting
the workflows

Change-Id: Ic60be51e46b56cbae9c4b5071ec8bfd908cccd5d
Depends-On: I2affd39e85ccfdbaa18590de182104715cfbbed4
Depends-On: I636873c0db4b3dbf66a0c5a856fee4dcb644ac3c
Depends-On: Ifa7d6eb43ea86e97ef5707d378901d3e2c074a7a
Implements: blueprint websocket-logging
2017-09-08 10:14:47 +01:00
Dougal Matthews d6c0636421 Only delete workflows with the tripleo-common-managed tag
The new workflow tag allows us to detect tripleo-common workflows. It is
safe to delete and reload these. Workflows that come from other places
shouldn't be removed.

There is some upgrade logic here that handles the O -> P upgrade, as on
the first run the workflows will not have the tripleo-common-managed
tag. If the tag isn't found, we revert to the current behaviour and then
on future undercloud installations this wont be a problem.

The new test is a duplication of a previous test but with multiple
workflows that have tripleo in the name. Only the one with the tag is
deleted.

Depends-On: Ieeb51f8e705b8988fb4d0f5d17d7fce6b5b04f36
Closes-Bug: #1715389
Change-Id: I84d441daedcafe686b9576d47b037977b493dbc7
2017-09-07 09:28:01 +01:00
Emilien Macchi 6c3ca0cf57 Revert "Adds execution of post-upgrade validations on undercloud upgrade"
There is a race condition that makes overcloud deployment
randomly failing. See the bug report.

Reverting for now because the gate is failing too much
times on it and we don't have a proper solution.

Partial-Bug: #1713832
This reverts commit dd3398f214.

Change-Id: I18a55efc78b6dc5fcb83248961eee078cdd6e89d
2017-08-30 00:17:48 +00:00
Jenkins 1d8ad41db9 Merge "Switch to scheduling based on resource classes" 2017-08-22 16:18:50 +00:00
Dmitry Tantsur 16961722c5 Switch to scheduling based on resource classes
This is needed for upgrade. In the future we may support custom
resource classes, but let's at least make sure we have one.

Depends-On: I027ee4ccf5db51729f036aceab047f2b65d0b368
Change-Id: I5d0ef61e1527927882802f01c4f5c82b1f495cdd
Closes-Bug: #1708653
2017-08-16 17:53:30 +02:00
marios dd3398f214 Adds execution of post-upgrade validations on undercloud upgrade
Wires up the tripleo.validations.v1.run_groups mistral workflow
into the instack undercloud upgrade. This will start the
post-upgrade validations and wait for them to complete. If there
is an error it is logged but not raised so these validations
will not fail the upgrade.

At this time there are three "post-upgrade" validations - see
I31075498a9d395603ed5e40d65ea3db6d89adc6a for more info but
they are service status (subset of services from static list),
checking the heat stack status and trying to query the overcloud
endpoints (keystone/horizon).

The existing enable_validations parameter is used to determine
if these post-upgrade validations are executed or not.

Change-Id: I32330a05fa142fc92d73f68103429c4c2c1816ab
2017-08-16 14:38:52 +03:00
James Slagle 04ac069f4b Fix invalid /etc/hosts edit
When the hostname was written to /etc/hosts, it resulted in an invalid
/etc/hosts file due to 127.0.0.1 being specified twice on different lines.

That issue is now corrected such that the hostnames will be added to the
existing line for 127.0.0.1, which results in valid syntax for /etc/hosts.

Change-Id: I8cd262b26708bd282e1b8623317e9e48f37e527d
Closes-Bug: #1709460
2017-08-08 15:52:31 -04:00
Jenkins 353e949174 Merge "Add UI config endpoints for Ironic Inspector" 2017-07-14 12:37:07 +00:00
Jenkins c59631e881 Merge "Load Mistral workbooks via Python instead of Bash" 2017-07-13 21:29:50 +00:00