Commit Graph

118 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
Paul Belanger 1f3da02ac1
Exclude epel element for diskimage-builder
In I2ffdd9f615ae6b00428c17249e4f216774991b99 we reworked the logic in
pip-and-virtualenv element to add epel as a dependency. We need to now
exclude epel since is it a dependency.

Change-Id: I43562f960cc100d4ec19b8a5e72c5929e24619ba
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-04-18 12:03:36 -04:00
Lukas Bezdicka e0a5293c2a Use ironic::pxe class to setup PXE
We should use puppet-ironic ironic::pxe class instead
of setting up PXE in ipxe element.

Depends-on: I8b83eff694316755e4dd2dbcde7b569472893bc5
Change-Id: I6c012f7d473c7c2433a6b03d9f8e06a76200458c
2016-09-02 11:52:14 +02:00
James Slagle 7301b39d28 Minimize element usage
Further reduces reliance on elements and moves more logic to puppet.
With this patch, the list of elements being used in the undercloud is
quite small and much easier to reason about logically.

This patch depends on a packaging update for instack-undercloud:
https://review.rdoproject.org/r/#/c/1074/

blueprint undercloud-elements
Change-Id: If6036e9eb68e0af1e1989918d310c8ddf57b9622
2016-05-20 12:53:23 -04:00
James Slagle a1a15201d5 Consolidate undercloud* elements
Consolidate undercloud-post-config and undercloud-stack-config into
undercloud-install element. All 3 of these elements have to be used
together anyway, so it makes sense to consolidate them all into one as
they're getting smaller. The consolidation will also make easier to
reason about what is remaining in the elements.

blueprint undercloud-elements
Change-Id: I50059a8a58b3082e929d0252d48c4144250c5784
2016-05-19 16:24:34 -04:00
James Slagle e779c6d769 Don't use os-net-config element
Manage the installation of os-net-config and openvswitch and the
execution of os-net-config via puppet instead of the bash element.

We do still generate the os-net-config configuration via os-apply-config
so, a template is added for that to the undercloud-install element.

As part of this switch, we lose some of the logic from
20-os-net-config[1], namely the configure_safe_defaults fallback
function for when os-net-config failes. However, in almost all cases
(possibly 100%), we never want this fallback on the undercloud anyway
because it will reconfigure the management interface to the undercloud,
which presumably is the interface that is already in use for out of band
management.

This change also requires a 2 step puppet apply, with the first step
running os-net-config.

[1] https://github.com/openstack/tripleo-image-elements/blob/master/elements/os-net-config/os-refresh-config/configure.d/20-os-net-config

blueprint undercloud-elements
Change-Id: Ic19b45e138206ca88ccee5cf261a85c1bfab5e08
2016-05-19 16:24:34 -04:00
James Slagle 7ea7d61285 Don't use ironic-conductor element
This removes usage of the ironic-conductor element in favor of using
puppet instead.

However, puppet-ironic does not yet have full support for configuring
ipxe and tftp, so we still need to make use of 88-setup-ipxe and
69-ironic-tftp-support. Since those bash scripts need to run after
puppet has installed all the needed packages, they are moved to be
os-refresh-config scripts instead. This should be fine since those
scripts are idempotent.

blueprint undercloud-elements
Change-Id: I1a8c97e56309940e0a4394b7ed8c20e8e0c3c9a9
2016-05-13 16:27:58 -04:00
James Slagle f439300db8 Use tripleo::selinux
Use the tripleo::selinux module to configure SELinux on the undercloud via
Puppet instead of the bash element.

For CentOS, SELinux is still permissive by defualt.
For RHEL, SELinux is still enforcing by defualt.

An additional hiera (CentOS.yaml/RedHat.yaml) file is added to the hierarchy to
capture this difference.

blueprint undercloud-elements
Change-Id: I0ee6648605fa10a2322edb8ec08514e5e0db1d02
Depends-On: If214005df733d41c2fa4e197df247d8a14baaa14
2016-05-13 16:27:53 -04:00
James Slagle 90bbff7e6e Don't use os-cloud-config/common-venv elements
Moves the os-cloud-config installation to be handled by puppet instead
of the element. Also removes usage of the common-venv element since it
was only ever needed when installing other elements from source.

blueprint undercloud-elements
Change-Id: I9488cebbb479c269901e9b310a1208b6d5ed9e76
2016-05-13 16:27:10 -04:00
James Slagle 06f98106e0 Create firewall rules with puppet
Replaces uses of add-rule with using the puppet-tripleo firewall class.
This removes additional dependencies on scripts provided by the elements
(add-rule).  There is still one usage of iptables directly in
10-iptables that will be cleaned up in a subsequent patch.

With this change, we can remove the iptables element from the json
files.

blueprint undercloud-elements
Change-Id: I5d496efe22c1a5e17a2b688ba6dfbcfd403349db
Depends-On: I0598007f90018f80a3266193bb24dbf112de49b7
2016-05-13 16:27:10 -04:00
James Slagle 3083c864c9 Use enable-packages-install element
There is already an element from tripleo-image-elements,
enable-packages-install, to switch the default install type to package
instead of source. This patch updates instack-undercloud to use
enable-packages-install and removes the duplicate
undercloud-package-install.

blueprint undercloud-elements
Change-Id: Iadc7940e56be19700977b0cdbd86aa010c105fb6
Depends-On: I8f47b495218a72f5a78d68b7c2610116a5b4984c
Depends-On: I8185aa56ea5225870bab50576023588af37ebedd
2016-05-05 08:54:22 -04:00
John Trowbridge 3bcf7fc99f Use puppet to configure ironic-inspector
This removes the ironic-inspector element from the
undercloud install, and instead uses the puppet module
to setup the ironic-inspector service.

Depends-On: I9b2917a2c3f6afe75dc295c81d09f7a12856007f
Change-Id: Ic3eca27515721000ed1c9d19a2427276e6b1af68
2015-10-09 13:39:41 -04:00
John Trowbridge e9a720ad1f Remove tuskar from the undercloud install
There is currently no liberty tuskar package, so installs using
the latest liberty packages are failing when trying to do
tuskar dbsync. This patch resolves the issue by not installing
tuskar in the undercloud.

An alternative would be to fix the liberty packaging to build
in delorean(https://review.gerrithub.io/#/c/249035), but it
seems like we would not want to do this if we are not going
to support tuskar in liberty.

Change-Id: I06e7d399bc1dab167aae67ad335c758cd8dd5ec6
2015-10-05 11:15:30 -04:00
John Trowbridge 3335f19a5b Rename ironic-discoverd element to ironic-inspector
The name of the the ironic discoverd project has
changed during the Liberty cycle. This change addresses
that name change as well as the config file re-structuring.

It also removes the outdated rdomanager-oscplugin element.

Partial-Bug: 1497004
Change-Id: I319f818deeeafc36968b73b8d249c5bbcaa0d2ea
2015-09-18 17:28:41 -04:00
James Slagle c22db108b4 Don't use os-collect-config
os-collect-config is not needed on the undercloud. In fact, after a
reboot it starts triggering os-refresh-config, which can cause delays in
system startup with bouncing services.

Change-Id: Ie58e33dd0308523d9e9b06a8e9917d8a42395afe
2015-05-13 08:48:56 -04:00
Lucas Alvares Gomes 0a60b5416c Ironic: Enable iPXE
This patch is enabling and configuring the envrironment for iPXE in
Ironic and ironic-discoverd.

Change-Id: Id16edb902b2af663c086c27157873e037a215246
2015-05-07 16:30:28 +01:00
James Slagle 829146178e Exclude openstack-clients element
openstack-clients is actually only being pulled in b/c of the ironic element
which we are already excluding, so we can exclude this one as well.

Change-Id: I85bad0c715f8a9d5d954bab1110b2afe92c12c0a
2015-04-13 20:21:11 -04:00
James Slagle c7b8ad7488 Merge "Add rdomanager-oscplugin element" 2015-03-30 20:43:30 +02:00
James Slagle 4191d514d4 Install Horizon via Puppet
Use the Horizon puppet module instead of the horizon element.

Change-Id: Iac21085a1ad3f3a9e40f660ee0f3934f10b18faa
2015-03-19 20:43:39 -04:00
Brad P. Crochet 88e374eae3 Add rdomanager-oscplugin element
This will install the python-rdomanager-oscplugin package.

Change-Id: Ie0fb1c7ddf4f287efe46497357f8433b778f3d6e
2015-03-19 15:18:45 -04:00
James Slagle be7cb52d33 Clean up json file
Now that Puppet is driving a large portion of the Undercloud installation, we
can clean up some previously used elements from the json-files.

We do have to provide some additional bits via the undercloud-install element,
such as simple dib-init-system script. This is much simpler than continuing to
use large elements from tripleo-image-elements that have other unintended
side-effects that we want to avoid.

Change-Id: I0c3626e3b4a2de3d7f1e1bc3274be4150b552a26
2015-03-17 16:15:55 -04:00
James Slagle 0c9b39baf1 Install via puppet
Migrate as much as we're initially able to over to be installed via Puppet
instead of elements from tripleo-image-elements. This change is rather large,
but it's all more or less inter-dependent so I wasn't able to break it up any
finer.

The bulk of the change is a new element, puppet-stack-config. That element
installs a puppet manifest at /etc/puppet/manifests/puppet-stack-config.pp that
is applied via puppet during the os-refresh-config phase of the installation.
When the manifest is applied, it uses a hiera data file from
/etc/puppet/hieradata/puppet-stack-config.yaml as input. That file is generated
from a template.

The Puppet modules require a handful of additional inputs for password and
secret items. These inputs are added to the instack.answers.sample file and
instack-install-undercloud.

We're able to remove many items from the static json we're writing out to
/var/lib/heat-cfntools/cfn-init-data, but we still need this for some
configuration as not everything is driven via a Puppet module (os-net-config)
for instance.

Also kemoves some particular hooks scripts that are no longer needed in
instack-undercloud.

This fix-undercloud-package-installs element is no longer needed. It's
addressing bugs that have already been fixed.

Change-Id: I9b93569f193c58d3e98063a1a90c3946a3a886db
2015-03-17 16:15:55 -04:00
James Slagle 13d8845fcd Remove unused json files
Source installs are no longer supported via instack-undercloud. The
default behavior going forward if you want latest code is to use
Delorean. If you want to install something from source instead of a
package, would be to install via Delorean, and then setup the component
you want to run from source manually, stopping any package supplied
services, etc.

This Fedora 20 json file has also bit rotted and no one should be using
it. When we do Fedora again, it would be for Fedora 21. Let's remove this file
to avoid confusion.

Change-Id: I563f01d5b59d2a20493700ead5d1312558633e42
2015-03-17 12:17:30 -04:00
James Slagle be540d0d14 Add CentOS 7 Support
Add support for running instack-install-undercloud on CentOS 7. The
selinux element from tripleo-image-elements fails when applying the
additional rabbitmq policy (depedencies are not met), so we add that
element to exclude_elements, and also inslucde selinux-permissive and
selinux-setenforce-0.

instack-setup-host-rhel7 is symlinked to an updated instack-setup-host and
supports both RHEL 7 and CentOS 7. We may like to consider removing the
rhos-release logic out of that script entirely and just document that
bit since rhos-release is solely for internal consumption.

Change-Id: I89a43f68632d8526b049be2b666c2426a5ccf603
2015-03-16 11:23:16 -04:00
James Slagle 7fbad0c6ab Update instack-setup-host-rhel7 to use Delorean
Changes instack-setup-host-rhel7 to setup the needed repositories to use with a
midstream Delorean instance. Also adds a git clone of the needed
tripleo-puppet-elements repository. Although this repository is not initially
needed, the work to install the Undercloud via Puppet and deploy the Overcloud
via Puppet will rely on it, so go ahead and add it. Note that
tripleo-puppet-elements is not yet packaged, which is why need to git clone.

- deletes the previous no longer relevant instack-setup-delorean script.
- Update rhel7rc to set $ELEMENTS_PATH to include tripleo-puppet-elements.
- Also updates $DIB_YUM_REPO_CONF and the cloud image to use RHEL 7.1.
- Remove os-cloud-config element
  This element is no longer needed as there one is available in
  tripleo-image-elements.
- Updates json file for RHEL 7
  - tuskar-ui is removed b/c of it's required role specificity
  - we must run the finalise hook b/c use-ephemeral now has a required
    hook script that runs in finalise
  - exclude pip-and-virtualenv
  - The finalise hook for use-ephemeral is not very well idempotent so, also
    add some additional steps to 00-cleanup before so we can rerun
    installations.
- Set additional install types to package

Change-Id: Ia0e365b15b4b4620c5a392c2a5e3e13d1683b5ef
2015-02-25 09:47:59 -05:00
James Slagle 5a0187499e Add a dnsmasq-forwarder element so that launched instances can install packages
from internal hosts.

Uses an environment.d file so that when setup-neutron gets run, the subnet will
get created with 192.0.2.1 as the nameserver.
2015-01-13 15:52:16 -05:00
James Slagle 0478387fb5 Include needed elements to set selinux to permissive on the undercloud 2015-01-12 16:47:01 -05:00
James Slagle 51fefbcac7 Merge branch 'stable/juno'
Conflicts:
	json-files/rhel-7-rhos-6-undercloud-packages.json
	scripts/instack-install-undercloud
	scripts/instack-prepare-for-overcloud
2015-01-12 08:22:30 -05:00
James Slagle b4284f335b Don't install tuskar elements. They have hard requirements on role specific
overcloud images that aren't going to exist.
2015-01-07 09:51:27 -05:00
James Slagle ca7b1fa144 Don't ever install python-pip and python-virtualenv on RHOS 6. For the
undercloud install, we can just blacklist the element in the json file. For
image builds, we need to instead use an override element that doesn't install
anything.
2015-01-06 17:12:33 -05:00
James Slagle 4e1784bde5 Add install-server element 2015-01-06 15:41:14 -05:00
James Slagle 6f10538387 Merge pull request #93 from d0ugal/tuskar-ui-extras
Add Tuskar UI Extras
2015-01-05 09:04:13 -05:00
Dougal Matthews 6f6bfcc3a6 Update JSON configs based on feedback.
Remove tuskar-ui-extras from Fedora and RHEL/RDO.
Create a new config for RHEL/RHOS.
2014-12-19 09:51:09 +00:00
Dougal Matthews 49139890b0 Add Tuskar UI Extras 2014-12-18 13:49:13 +00:00
Ben Nemec 0c76e55519 Blacklist registration on source installs too
This will almost certainly be necessary too.
2014-11-20 15:44:52 -06:00
Ben Nemec bc38b6e846 Blacklist 00-rhel-registration
The registration process has to be completed before instack is run,
so we don't need to run this script and it breaks if we try to.
2014-11-20 15:10:57 -06:00
Ben Nemec 43e991f0d5 Add rhel-7-undercloud-packages.json 2014-11-13 12:29:35 -06:00
James Slagle bb4f4b15d1 Remove workaround for python-swiftclient 2014-10-27 11:43:47 -04:00
James Slagle 3e03aeccb9 Exclude openvswitch-datapath element. We don't need it and it's breaking the live cd build for some reason 2014-10-23 08:21:29 -04:00
James Slagle 8325bbbf21 Add element for os-cloud-config so we can remove the req from the spec file 2014-10-22 08:08:09 -04:00
James Slagle 22e23953ef Use an element for python-futures workaround 2014-10-22 08:05:18 -04:00
James Slagle 61d0711bf7 Remove dib-run-parts-update element 2014-10-21 13:18:29 -04:00
James Slagle a4d3940adb Add workaround for tuskar/ironic packages 2014-10-20 13:47:17 -04:00
James Slagle 2685778f62 no longer use set-instack-root element 2014-10-20 12:39:05 -04:00
James Slagle 8fabb65df0 Remove some unneeded workarounds 2014-10-17 09:04:40 -04:00
James Slagle 214c698712 Rename delorean json file to just packages 2014-10-17 09:04:40 -04:00
Giulio Fidente f55b091b56 Allow customization of RDO release to use on RHEL7
By removing rdo-release-icehouse from the undercloud source JSON
we can customize which version of RDO to use exporting RDO_RELEASE.

The cleanup script is also updated to remove any version of the
rdo-release package found.
2014-10-10 17:49:06 +02:00
Ben Nemec e9f1e44d80 Set distro correctly for rhel7
We were still configuring the elements for fedora even when using
the rhel7 json file, which caused some necessary elements to be
missed.
2014-10-09 17:10:36 -04:00
James Slagle acfee6d99a Merge pull request #41 from Divius/ironic-discoverd
Switch Ironic hardware discovery to ironic-discoverd
2014-10-08 11:25:54 -04:00
James Slagle e4048aa779 Merge pull request #34 from gfidente/master
Add epel as requirement for RHEL7/RDO undercloud-source JSON
2014-10-07 12:03:55 -04:00