Commit Graph

115 Commits

Author SHA1 Message Date
Ghanshyam Mann 8325044e7a Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: Ib988f3b567e31c2b9402f41e5dd222b7fc006756
2024-02-24 11:41:49 -08:00
Dariusz Smigiel 6caa316959 Install updated CA certs for CentOS 7
During a process of building BMC image, CentOS 7 gets certificate
error.
It needs to be updated, before the process continues.

Change-Id: Id90883fbcc9410040fa7c7889b555ccc8da6db1c
2022-05-20 18:14:11 +00:00
Steve Baker 77782cf903 Add bmc host support for centos-9-stream
This change allows the BMC to install and run on centos9-stream.
centos-8 is skipped to reduce the required support matrix, centos-7
support can be removed once known OVB tooling is upgraded.

Then, pre-built image support can be restored, and also feature work
can be resumed in a modern python3 environment (such as implementing a
redfish endpoint).

Change-Id: I81565726f18d11c906ed23295d8acf5e18a9c2fe
2022-05-05 15:05:51 +12:00
Steve Baker f36b5cc6eb Simplify bmc repo setup and installation
This makes the following changes to simplify the install of pyghmi and
its dependencies:
- Bootstrap installing tripleo-repo by curling delorean.repo instead
  of a wget tree search to find the tripleo-repo rpm
- Install pyghmi from rpm, it has been packaged for years and
  installing by pip was intended to be temporary
- Do not install unused jq, git, pip

Change-Id: I43206770283cf9a8a6cc7ac2e71f7800238e1690
2022-03-22 16:58:14 +13:00
Steve Baker 01d82d7544 Explicitly support only centos-7 on the bmc host
This change removes the pre-built image support and explicitly
installs for centos-7 base images. There are likely no pre-built image
deployments in the wild, they all appear to use a base centos-7 image
(this includes the bmc-template image used in RDO CI).

This change is the first in a series to upgrade the BMC host to CentOS
versions 8 and 9-stream.

Change-Id: I136b16528b722a6d38235ffcd571f3591d29e679
2022-03-22 16:58:14 +13:00
Sagi Shnaidman fb6700fcdb Hide curl command with auth token from logs
Curl command contains auth token to cloud and it's printed in
console, let's hide it with "+x".

Change-Id: I3cd61678de85c487335802019d3308f4c854636e
2021-08-19 17:56:53 +03:00
Alex Schultz a953a5ebb4 Switch from openstackcli to openstacksdk
The openstackcli is super slow at scale (e.g. many nodes) so this change
inlines a python script ot leverage openstacksdk to query the network
and port information to writeout the bmc service files and os-net-config
configuration files.

Change-Id: I1e3d8934071cde12a6be7f1212eb6a85aa2eeafd
2020-08-24 15:22:14 +00:00
Harald Jensås b396d9d42b jq and -f json replace -f value in bmc script
The output format when using --format value has changed
with the recent version of openstacksdk. To fix this use
--format json instead and parse the json output using
jq

This is to workaround this bug(?) in openstacksdk.
https://storyboard.openstack.org/#!/story/2006659

Change-Id: Ie196ce1144eea76b8cb081c4cfe434c157510ae9
2020-03-10 03:02:18 +01:00
Sorin Sbarnea 4e9d78201e Removed deprecated --centos-mirror param
Replaces --centos-mirror with --mirror as we are going to remove
the old parameter completely. Deprecation was made a very long time ago.

Change-Id: Ieb2a2fb1b9fe5927d97409c0b626033c548fd92e
2019-07-05 16:49:28 +00:00
Ben Nemec f98369025f Test with rocky
Master deployments have been failing for me for a long time now.
Since rocky still works, I'm inclined to believe it's not a problem
with OVB.

Change-Id: I2f0f7867e6306e568a587e25ced21ca0cdf096ae
2019-03-19 15:54:43 -05:00
Ben Nemec 835f0c9aa6 Use newer 1901 image for testing
Change-Id: I0d2c3135e9befba139f91f38b93bba7ed32aad18
2019-03-19 15:54:12 -05:00
Ben Nemec 705a561f70 no_proxy 127.0.0.1 too
This is now required for the undercloud install to complete.

Change-Id: I0cd97a25a24a340c5cf065cb7cdecb24d4623cef
Related-Bug: 1815814
2019-02-13 15:47:27 -06:00
Ben Nemec a77c4c2fb2 Fix environment-generator
When the pep8 check that environments are up to date was added it
added a mandatory output_path parameter. This wasn't intentional
as it should have still defaulted to 'environments' and it broke the
genconfig tox target.

This change correctly makes the parameter optional so both the pep8
check and genconfig will work as expected.

Change-Id: I2e80956f3c433d2f09966364a7d53cf56114ea21
2019-02-12 16:28:00 -06:00
Ben Nemec 76e951436c Add pep8 check that generated environments are current
Like the tripleo-heat-templates commit
1c9553c37ab9f121cb4a74274496067312e9b65e

Change-Id: I684c941f8a4e1322d8ed361c9d8bab18724dfe51
2019-01-16 13:34:14 -06:00
Sorin Sbarnea 9a151e9b10 Fix ovb cloning location
Project was moved under openstack.

Change-Id: I666693dd2fb3517d53064c9b309c6760a5d79feb
2019-01-16 17:28:08 +00:00
Ben Nemec 799154590f Remove deprecate deploy scripts
These were replaced long ago by deploy.py and likely don't even work
now.
2019-01-11 17:16:49 -06:00
Ben Nemec a52aa22125 Add more necessary firewall rules to ovb-instack
Apparently the undercloud firewall configuration changed and no
longer works without explicit accept rules for the public network.
2018-12-14 17:08:14 +00:00
Ben Nemec a36b6b722f Signal after bmc configuration
Instead of having Heat fire-and-forget the bmc deployment, have the
bmc explicitly signal back to Heat. This way bmc failures can be
caught at env deployment time instead of the first time the
undercloud tries to make an IPMI call.
2018-12-14 17:08:14 +00:00
Ben Nemec 6581fcf01a Use openstackclient for bmc configuration
Openstackclient can do everything we need and should allow us to
clean up some of the cruft from incompatible versions of
neutronclient.
2018-12-14 17:08:13 +00:00
Ben Nemec 247c2d02d2 Remove non-port-security templates
OVB 2.0 won't support clouds that lack the port-security extension,
so these are no longer needed.
2018-12-12 22:31:13 +00:00
Ben Nemec e4edf35b64 Split routed-networks environment
This allows the path-specific registry entries to be static and
doesn't impose any requirements on where the environment containing
parameters lives. The documentation is also updated, which required
a newer version of sphinx to allow automatic references to headings.
2018-10-31 20:38:04 +00:00
Ben Nemec c445db26dd Test with local network templates
Previously the network templates were always pulled from github, but
that means changes involving the templates can't be tested easily.
This change copies the local version of the network templates to
the undercloud so they will be used for the deployment.
2018-10-31 15:42:31 +00:00
Ben Nemec 40db3d9834 Enable masquerading on undercloud
The default for this got changed in the move to routed networks, so
we need to enable it explicitly now.
2018-10-23 16:55:50 +00:00
Ben Nemec efc47f8a16 Update mirrors in ovb-instack
The rh1 mirror no longer exists. Use the rdo cloud one.
2018-10-02 16:31:18 -05:00
Ben Nemec 269bab222a Move envup to start-env and add stop-env
The env* name scheme was mildly annoying for tab completion because
it required four characters to be typed before the intended command
was disambiguated.  This rename drops that to three characters, which
I find much more usable.  It's also more consistent with the naming
of the other scripts.
2018-04-30 11:48:24 -05:00
Ben Nemec 968b577c8a Don't no_proxy unnecessarily
This was some copy-pasta from my more general deployment process.
In OVB test jobs we always use the default CIDR so there's only one
set of addresses we need to no_proxy.
2018-04-24 13:27:28 -05:00
Ben Nemec af0ea9b4b5 Set eth2 mtu to 1450
In many virtual environments this is necessary, and it shouldn't
hurt in ones where it isn't.
2018-03-16 10:49:44 -05:00
Ben Nemec c49adce5e3 Use ipmi driver in tests
Ironic is removing the pxe_ipmitool driver shortly, and the ipmi
driver should work fine today.  Explicitly start using it so we
don't break when the deprecated one goes away.
2018-03-16 10:47:51 -05:00
Ben Nemec dac9b5d0b7
Merge pull request #41 from frac/frac/fix_pep8
Fix tox pep8 errors and add parenthesis to print.
2018-03-14 14:43:12 -05:00
Adriano Petrich 8dde4a4945 Fix tox pep8 errors and add parenthesis to print. 2018-03-14 08:00:05 +00:00
Ben Nemec 577afb8564 Update base cloud image 2018-03-13 10:08:56 -05:00
Ben Nemec 3813c447ad Use tripleo-repos instead of rdo-release.rpm
After an upstream release, there is a period of time where the RDO
release of TripleO has not yet happened, and as a result the
rdo-release.rpm repo will not contain TripleO packages.  This breaks
the BMC because it relies on os-net-config.  Using the tripleo-repos
package to set up the RDO repos avoids this problem.
2018-03-12 09:42:37 -05:00
Ben Nemec 740d72b134 Add rebuild-baremetal script
This is a helper script to rebuild all baremetal instances in
environments where the Nova PXE boot patch is not applied.
2018-02-14 11:13:05 -06:00
Ben Nemec f10aadcaf9 Instrument ovb-instack
This will hopefully be useful when comparing runtimes of different
clouds.
2018-01-31 11:45:29 -06:00
Ben Nemec f4de643e98 Quote delimiter to avoid heredoc expansion
Previously if a user had a shell character like ` in, for instance,
a password, it would cause the install_openstackbmc.sh script to
fail because bash would attempt to expand such characters.  Quoting
the delimiter tells bash not to expand anything in the heredoc and
just use it verbatim.  This is what we want.
2018-01-24 16:18:33 -06:00
Ben Nemec 4a7d85318a Add envup script
This is just a simple helper script that restarts the undercloud and
bmc instances for a given environment.  I shut down my local cloud
when it isn't going to be used for a while, so when I bring it back
up I have to restart all the existing instances.  This saves a little
bit of typing.
2018-01-18 12:31:26 -06:00
Ben Nemec 4c0d88fb6c Update centos image in test script
The previous image being referenced was about six months old.
2018-01-18 12:30:28 -06:00
Ben Nemec cb2a180440 Limit use of tripleo.sh in ovb-instack
Ideally we would be testing directly against the TripleO commands
themselves instead of the wrapper script.  This change removes most
use of the wrapper script, with the exception of the ping test.
2017-12-18 10:12:51 -06:00
Ben Nemec 3bfe40dc56 Fix v1 test-jobs
One of the changes to enable net-iso testing added an unconditional
configuration that should have only been active in v2.
2017-08-17 11:05:52 -05:00
Ben Nemec 8e175252d6 Move v2 os-net-config call to where it is actually available
Until the undercloud is installed os-net-config isn't there.
2017-08-10 16:13:05 -05:00
Ben Nemec a616845d74 Add test-job-v2
This is added as a completely separate script so that we can keep
testing the previous style of deployment too.  The new script uses
the option environments for configuring the OVB stack instead of a
monolithic env file.  It also tests network isolation since that is
more common and provides more test coverage of things like the
overcloud network templates too.
2017-08-10 08:48:59 -05:00
Ben Nemec 36475ae72c Update to latest cloud image 2017-08-09 12:56:32 -05:00
Ben Nemec a0733893f6 Add index of all available sample environments
This should make it easier for users to see what options are
available for use.
2017-08-09 10:03:42 -05:00
Ben Nemec 93d2f4f56c Support deploying with multiple Heat environments
Big changes here.  This will make it easier to deploy some of the
more advanced OVB options like network-isolation.  Instead of users
having to figure out which lines in the sample env.yaml to uncomment
when deploying advanced options, they will simply be able to include
one environment file that contains all the appropriate parameters
to turn on the option.

This _should_ be backwards compatible with existing monolithic
env.yaml configurations.  If it is not, that is a bug.

To create the option environments, a slightly modified copy of the
sample environment generator from tripleo-heat-templates has been
copied into the project.  The sample environments should _not_ be
edited directly.  Instead, the definition in the sample-env-generator
directory should be altered and the tool re-run to update the
environment.
2017-08-09 10:03:38 -05:00
Ben Nemec ae02e88b98 Use more os-client-config to handle bmc auth
It turns out to be a giant PITA to do keystone v3 auth by hand, as
the bmc install script was trying to.  Different clouds require a
different combination of auth values set, and os-client-config
already exists to handle these variations.

To do this, the os-client-config data is passed directly into the
bmc install script as json, which is then written to clouds.yaml
so it can be used by the clients.  In theory this should mean that
the bmc can handle any cloud where we were able to deploy the heat
stack because it's using the exact same auth data.

In addition, this change makes os-client-config mandatory on the bmc
image.  This is not a meaningful change though because it was already
pulled in by the clients, so it should already exist on any bmc
images in the wild.

It also deprecates the old method of providing auth data to the bmc.
For the moment it should continue to work, but the os-client-config
method should be used going forward.  Note that by default the bmc
will now read auth parameters from the environment, which is
actually an improvement over how it worked before when running
interactively.
2017-07-20 15:39:44 -05:00
Ben Nemec 9cd9267c42 Add canary command to test-job
Even the new and improved ssh opts are not handling all of the
possible ways ssh'ing to the undercloud can fail, so let's just add
a retry loop that ensure it's responding before trying to do
anything else with it.
2017-07-19 11:54:09 -05:00
Ben Nemec 80c0e2eb15 Fix os-client-config package name
The package is actually python2-os-client-config.  This may not
matter though since os-client-config was already being pulled in
by the other packages.
2017-07-18 14:21:59 -05:00
Ben Nemec 607588c89f Always use os-client-config to create openstack clients
os-client-config can handle a lot of the complexity around this that
was previously in auth.py (and the auth.py version was not entirely
correct, so it didn't work in every case).  This reduces the amount
of code that has to live in OVB considerably and should be more
robust.

The one place we continue to support directly creating clients is
in openstackbmc because there may be existing images out there that
don't have os-client-config installed and I don't want to break them.
However, that path is now deprecated and may be removed at some
point in the future.  The preferred method there is still to use
os-client-config.
2017-07-18 11:21:03 -05:00
Ben Nemec c8f82710e9 Work around $OVB bug in tripleo.sh 2017-07-18 11:17:43 -05:00
Ben Nemec 319e4f7e9c Remove sleep and have ssh retry the connection
Instead of sleeping and hoping that the undercloud will be ready
afterward, allow ssh to retry the connection.
2017-07-05 11:55:04 -05:00