Commit Graph

63 Commits

Author SHA1 Message Date
Ghanshyam Mann a43311b7ef 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: Ic209179b0be9c3746a702ccea2dd35e883e78bee
2024-02-24 11:43:49 -08:00
Joseph Tole b5b3160ef1
Updates for virtualenv on debian bullseye
Change-Id: I67af2b17f59cc4d05c4fa217861992123da97758
2022-03-15 16:20:14 -04:00
Joseph Tole bfbccfb823
Updated package maps for Debian Bullseye
Change-Id: Ic4f330f1a192b5cf920a9b0c28c07fd425a01580
2022-03-15 11:29:22 -04:00
Sorin Sbarnea c69ead8b45 Drop pbr version ceiling and add py39 testing
- Ceiling of pbr version can create installation conflicts with pip.
- Fixes tox default env list to be python version agnostic
- Updated template to use newer jobs (include testing with newer python)

Bug: #1921679
Change-Id: Ifd0d2f810799992faa1db41b80bf93bc97d5d19d
2021-03-30 10:57:41 +00:00
rabi 0601000e65 Create symlink for dib-run-parts
Looks like 'dib-run-parts' is not available in $PATH for 'os-refresh-config'
to use. This seems to be installed in the venv for os-refresh-config. Create
a symlink in /usr/local/bin like 'os-refresh-config'.

Change-Id: Ib6ad331292720ec418a176dd3f2e0df520e6b2bf
2017-08-03 19:59:30 +05:30
Steve Baker 866bf14ca2 Don't depend on os-collect-config element
Nothing in the os-refresh-config element actually depends on the
os-collect-config element.

Also the os-collect-config element is being replaced by the
tripleo-puppet-element overcloud-agent element.

Currently the os-collect-config (or overcloud-agent) elements are
specified explicitly by image builders in the root elements list, so
removing it here has no negative effect.

Change-Id: Iaf70003fdd8d1782dbcb9e0f01e6468887c6de27
2016-11-25 14:03:02 +13:00
Juan Antonio Osorio Robles 8688c2878a Set correct content-type for o-r-c curl calls
They contained json data, so they need application/json as the
content types. Else, some wsgi implementations will interpret the
contents in an undesired way, such as apache's mod_wsgi setting the
whole POST body as a POST parameter with no value.

Change-Id: Id988e8d286761550da4849c0695f5f5a37116a11
Closes-Bug: #1641589
2016-11-14 16:12:34 +02:00
Steven Hardy de7012df7c Don't send duplicate signals via 99-refresh-completed
Currently we send signals for every deployment, even those already
completed, so instead keep a record of already-signalled deployments
similar to how heat-config does, which will remove the annoying
SIGNAL_COMPLETE: Unknown events (and possibly be slightly faster too).

Partial-Bug: #1564627
Change-Id: I0ec7ed4cc4e58a43a91e8323cb9a1bcaaafc9752
2016-05-11 14:43:40 +00:00
Jenkins 5e4ec88423 Merge "Update pbr version to match global requirements" 2015-07-02 20:02:16 +00:00
Derek Higgins 85c68ffc75 Update pbr version to match global requirements
The version of pbr we were using was having trouble parsing a new version
identifier for python-qpid, We have the pbr version hardcoded in many
places so update it to match whats currently in global-requirements.

Fixes bug #1470871
Change-Id: Ia5aec472555ad1368684b224a55c29242ae40b58
2015-07-02 16:53:06 +01:00
Steven Hardy e6b9609473 Return derived config id when signalling deployments
Currently signalling via 99-refresh-completed only uses the legacy
curl data payload (e.g that for CFN compatible WaitConditions),
but now we're using it exclusively for signalling SoftwareDeployment
resources, which support a different payload, including deploy_stdout
which is accessible via a resource attribute.

Returning a payload for deploy_stdout containing the derived config ID
is potentially useful as it changes whenever the SoftwareConfig or any
inputs change, thus can be used as a unique identifier for dependent
resources which need to be re-triggered when some config is reapplied,
for example puppet manifests with a dependency on hieradata applied
via a SoftwareDeployment.

get_attr: [ControllerDeployment, deploy_stdout]

Partial-Bug: #1463092
Change-Id: Ic62b6303795f70f3b9ace46731a21d1c0e7fe6c7
2015-06-16 10:06:49 -04:00
James Slagle 25509120b4 Migrate os-*-config to package-installs v2
Migrate all the os-*-config elements to package-installs v2.

Change-Id: I9e48a021faa3dde7789a788618e96612e85eb0c4
2015-04-30 16:12:40 -04:00
Martin André 81894bafcc Add pkg-map for os-*-config
These packages are called python-os-*-config on Debian and derivates.

Change-Id: I69f462e92a2cff6d82c7b363340336bfaa95e821
2015-02-09 17:16:50 +09:00
Steven Hardy 93e05f569e Signal all o-a-c deployments in 99-refresh-completed
Currently we have a TripleO specific template pattern, where all
deployment resources are configured NO_SIGNAL, regardless of what
DefaultSignalTransport is set to, and only one signal for all
deployments is sent via the *AllNodesDeployment resources, by adding
the heat-generated deploy_signal_id to the structured config data
consumed by os-apply-config (as "completion-signal").

This is inconsistent with all signalling done via heat-config (e.g
everything other than o-a-c, which is triggered via a hook via
55-heat-config, this transparently consumes the heat-generated
deploy_signal_id and signals heat after each deployment hook is
run.

To allow per-deployment signalling for os-apply-config configs,
this adds logic which looks in the deployment data processed by
os-apply-config and signals all deployments deploying a config with
group "os-apply-config" (everything else should be handled by 55-heat-config)

Note that if the deployment is configured NO_SIGNAL, no deploy_signal_id
will be set, thus this will do nothing, and currently this won't work with
HEAT_SIGNAL, only CFN_SIGNAL (which is the default for deployments with no
signal_transport specified).  In future it would be good to add support for
HEAT_SIGNAL to break the dependency on heat-api-cfn.

This is backwards compatible, but after it's merged we can remove all the
NO_SIGNAL's in the templates, and the completion-signal key from the
allNodesConfig, which should in future allow more flexible control of
the ordering of metadata update for configs applied via o-a-c (as well
as better visibility of progres during deployment).

Co-Authored-By: Dan Prince <dprince@redhat.com>

Change-Id: I72ea524effd07deeb432fb38ee7da5f3dc7990a7
Closes-Bug: #1389178
2015-01-23 13:00:28 +00:00
Derek Higgins db59165428 Switch to the default os-refresh-config base dir
The default os-refresh-config base dir changed over 6 months
ago in I98e93d91685ae25ae74a5470483a1cc8b97da4e5.
Using the deprecated default may cause problems in the future,
instead query os-refresh-config for the default directory.

Change-Id: Ia5b8fceb83ebd32d9a537d793a80cd2b8341c8ec
2014-11-10 14:23:26 +00:00
Gregory Haynes dad3c0ccf1 Migrate to package-installs scripts
Migrating install-packages commands to package-installs-* scripts where
possible.

This patch is broken up into multiple parts to minimize impact and
review overhead.

Change-Id: Idd1be32149e7238d53d04a34170c5029dda83f1f
2014-11-05 01:38:05 -08:00
Gregory Haynes a5941bf329 Remove pip install --pre
We were installing some packages with support for prerelease versions in
expectation of needing it in our CI. This turns out to not be needed so
we should remove it.

Change-Id: I7ae440d3534e33144942c2230a88cf54f8a153d3
2014-10-23 08:01:17 -07:00
Brian Hou 5ecd3c7101 Revert "Fix argparse issue for RHEL 6.5."
This reverts commit d088fde2ea.

Since the underlying problem with argparse has been resolved 
in python 2.7 and filtering out argparse for python 2.6 has been removed,
there is no longer a need to explicitly install argparse for python 2.6.

Closes-bug: #1346364
Change-Id: If9534bf5a4400f5f72475c67a8e6e14da08f9562
2014-08-09 06:47:37 +00:00
Om Kumar d088fde2ea Fix argparse issue for RHEL 6.5.
Since RHEL 6.5 uses Python 2.6, which lacks argparse,
they need to be installed to ensure that os-apply-config
and os-refresh-config work properly.

Change-Id: I80dcce56d00fc6f1240a5fcccd425cc2b4db29d5
2014-07-15 19:38:01 +05:30
Steve Baker dfbb0549fe Prepare os-*-config for CI
Specify pip install --pre so that local git built packages will be
installed if available. It should be possible to always specify
--pre since public repos do not have snapshot release packages for
these tools

Change-Id: Id2e539ba72ac2ef8d39a3ab694991e9b8bf724d7
2014-06-25 16:02:28 +12:00
Jenkins d2573bcc88 Merge "indent using 4 spaces (3/3)" 2014-05-28 12:24:59 +00:00
Gonéri Le Bouder 0a71316726 indent using 4 spaces (3/3)
As advised in I072cf8bf6748d0c910fecffdf2282bcc4656d038, code should
use 4 spaces for indentation.
This commit enforces the use of 4 spaces indentation.
In order to simplify the review process, this patch only cover the
following elements:
 - os-apply-config
 - os-collect-config
 - os-refresh-config
 - os-svc-install
 - pacemaker
 - pypi-mirror
 - qpidd
 - rabbitmq-server
 - snmpd
 - stackuser
 - tripleo-cd

Change-Id: I3f365f6a1cd6fd9e56402ad3bd6572192b85d798
2014-05-23 00:32:41 +02:00
Gregory Haynes 0bd3fa87d6 Error out when complete waitcondition fails
When we curl to the complete waitcondition url we don't consider heat
returning an error as reason to exit with error. This prevents us from
attempting to re-run the configuration and thus we never signal heat
again.

Change-Id: I915825d76ec889bc09b81ad93f70b34d909262b0
Closes-bug: #1306294
2014-05-16 16:09:17 +12:00
Gonéri Le Bouder 9481784a11 sort the element-deps to please dib-lint
Since I43fd90647acba400cea11c665fb587856514b0ee dib-lint
ensure the elment-deps file is properly sorted.

Change-Id: Ie0347951d99a227fe60530645eeda0f4aa55c325
2014-04-24 15:38:03 +02:00
Jenkins dce11152e3 Merge "Activate venvs in os-*-config elements source install" 2014-04-10 15:51:55 +00:00
Coleman Corrigan 2e1730b16f Activate venvs in os-*-config elements source install
This updates the source install scripts for os-apply collect and
  refresh config elements to activate their virtualenvs before
  performing pip installs,  as without this specifing a manifest for
  e.g. os-apply-config breaks devtest build

Closes-bug: #1305151
Change-Id: I3c42de180f76fb122637c801541f14e50169de89
2014-04-09 17:37:37 +01:00
Michael Kerrin 721cedc2e6 refresh-completed always failing
99-refresh-completed is always failing for me know.

The review I69d9103b07100f700fb71a2cbbf267042625e7a7 was failing the
non-voting CI but was merged in any ways. This patch tried to put
all the if logic on one line but was too smart for its own good as
kept getting the following error in os-collect-config:

+ curl -X PUT -H Content-Type: --data-binary '{"Status" : "SUCCESS","Reason" : "Configuration Complete","UniqueId" : "i-00000001","Data" : "Finished os-refresh-config."}' 'http://192.0.2.1:8000/v1/waitcondition/arn%3Aopenstack%3Aheat%3A%3A5cb53cbf0dad47cf9fcc4761e79a6a53%3Astacks%2Fundercloud%2F6411748e-ee64-4467-a81f-a4d0e8bb097b%2Fresources%2FnotCompute0CompletionHandle?Timestamp=2014-04-09T14%3A56%3A50Z&SignatureMethod=HmacSHA256&AWSAccessKeyId=50006a08504d41c39402ae0423cab992&SignatureVersion=2&Signature=A89ZrnQr6ZE8caXcn4uDY8sNE%2FbjmcsyXESzaQdG6fg%3D'
<resource>notCompute0CompletionHandle</resource>+ '[' -n '' ']'
[2014-04-09 15:03:23,550] (os-refresh-config) [ERROR] during post-configure phase. [Command '['dib-run-parts', '/opt/stack/os-config-refresh/post-configure.d']' returned non-zero exit status 1]

Change-Id: I0bf2ecfdad299b27b47a27496f9a833efa039206
2014-04-09 11:25:05 -04:00
Clint Byrum b277adeddf Add support for "signals" to os-refresh-config
The new software config / deployments resources use signals.

A subtle difference between wait condition handles and signals in Heat
is that signals use POST, but wait conditions use PUT. This has
historical reasons that mostly are due to Amazon compatibility. We need
to continue to support both until we can eliminate all use of wait
conditions.

Change-Id: I69d9103b07100f700fb71a2cbbf267042625e7a7
2014-04-01 10:12:17 -07:00
Jon-Paul Sullivan 1c998eb93f Create pip manifest files of installed packages
Create the pip-manifest element to encapsulate the saving and use
of pip manifest files.

Ensure that it installs prior to any elements that should be able
to use it.

Write pip manifest files for installs in:
    * os-svc-install
    * os-apply-config
    * os-collect-config
    * os-refresh-config
    * openstack-clients

Enable using a manifest file to reinstall exact versions of
packages in a subsequent run through the DIB_PIP_MANIFEST_*
environment variables.

Change-Id: I4d4ab5921c534727b48cb9969ec8ecfd2c26e6ed
2014-03-25 12:22:59 +00:00
Gregory Haynes aa62d27972 Explicitly install pbr via pip
When a pypi mirror is used with certain conditions installing pbr as a
dependency fails.  This is a temporary fix until the underlying cause
is resolved.

This is also required for a wheels based pip mirror to work.

Change-Id: Ia08eb16b96d9897fa2f86239ea264b145ef0b9b5
Closes-Bug: #1293812
2014-03-24 12:43:01 -07:00
James Polley 15bdcfe5c0 Make os-refresh-config install.d hook run later
os-refresh-config relies on being able to run virtualenv, which is only
guaranteed to be possible after running 01-install-pip from the
pip-and-virtualenv element.

To guarantee this ordering, move
install.d/os-refresh-config-source-install/01-os-refresh-config to
install.d/os-refresh-config-source-install/10-os-refresh-config

And for consistency in script execution timing, move
install.d/os-refresh-config-package-install/01-os-refresh-config to
install.d/os-refresh-config-package-install/10-os-refresh-config

Change-Id: I3b0a127c0c6eca16854f84a3c733cbd54c8a4880
Closes-Bug: #1292514
2014-03-20 21:19:30 +00:00
James Slagle 9f8e1c5f98 os-*-config package install support
Package install support for:
* os-collect-config
* os-refresh-config
* os-apply-config

This change requires a corresponding change to dib to move the install
type enablement out of source-repositories since the os-*-config
packages do not use source-repositories:
cccdcb904d485fce92443edbb088740e074c3046

Change-Id: I22672a4312152ab594de2a149e16866c7564e3d4
2014-03-18 12:09:26 -04:00
Michael Kerrin 09e1abdfdc Install latest version of pip and virtualenv
We install pip with get-pip.py and use this to install virtualenv. This
is done as part of the new pip-and-virtualenv element. All elements that
need pip or virtualenv should use this element to install them.

Our motivation is that we need to talk to a pypi mirror generated with
a recent http://github.com/openstack-infra/pypi-mirror This mirror
caches some 'wheels' that the previous version of pip & virtualenv
can't install.

virtualenv contains its own version of pip that is used for all
virtualenv environments.

Change-Id: I282fd8fffc8d5707a078f78f2b4571138d7266f3
2014-03-10 10:06:59 +00:00
James Slagle 4c60c96172 Add set -eux
This script should be set -e. Also added -ux for good measure. On RHEL,
os-refresh-config was failing to run due to a missing requirements.txt line on
argparse (separate patch), however the failure was not failing the image build
b/c this script was not -e.

Change-Id: Id36d61442d8104cada8346f47e63858cf7f08096
2014-02-27 07:27:21 -05:00
Tom Hancock 43cfbfd677 Fixes for use behind proxy
Need to use setuptools>=1.0 in order to get fixes which
allow fetches of dependencies from pypi to work correctly
when operating behind a proxy.
Ref: https://bitbucket.org/pypa/setuptools/issue/52/ssl-errors-with-https-proxy
and also some prior fixes to bug #1201253 in change id
I7cca000857f7691d4cb723d0a0c22a202da703f8

Change-Id: I3f11b4b9b8d2bd59f32c5d4de5ee58f1423287f5
Fixes: bug #1201253
2014-01-17 12:00:03 +00:00
Derek Higgins 31359af924 Don't install git-core
This was used required back when the pip install referenced a
git+https://... url and is no longer required.

Change-Id: Id4243712ece3c847ad26d585448bff20b2aae8fe
2014-01-13 16:05:06 +00:00
Derek Higgins 8a2a8c7174 Install os-refresh-config from release into a venv
We had been installing this from a git repository into the global site-packages.
Which is inconsistent with how we install os-apply-config.

Change-Id: I1a2167d3e71cc97bd387191b44eb4d59b62ce00c
2014-01-13 15:12:35 +00:00
JUN JIE NAN beb0633894 Correct os-refresh-config README.md typo and format
Replace `run-parts' with `dib-run-parts' since os-refresh-config is
using it. Correct markdown code block format.

Change-Id: If0184b80d0f35bc30f9799135bd4f659889bcbbd
2013-11-28 09:44:04 +08:00
Derek Higgins bf2de45122 Add default to metadata in 99-refresh-completed
This metadata isn't present on the seed, causing the calls to
os-apply-config to fail.

Change-Id: Ia2978599013ccd3f39a06e0d8163b62a887c1f6e
2013-11-26 13:26:24 +00:00
Clint Byrum 7abf14ab18 Make generic waitcondition for os-refresh-config
Most of the time we will find it useful to pass a wait condition in for
os-refresh-config to signal when it has completed successfully.

This supersedes the notcompute element's completion-handle, so we can
remove that element. It should be removed from tripleo-incubator and
tripleo-ci as well.

Change-Id: Iff65da3dd0a1db496cfd33b4a55abb13c68c9558
2013-11-25 19:24:04 -08:00
Roman Podoliaka 30d363f8de Use openstack git repos when possible
We now prefer git.openstack.org to github.com. Use
openstack git repo URIs in source-repository-*
files of projects we host.

Change-Id: I81c393461efee80f9aa8f540369fdfe32f0d159b
2013-11-15 10:48:11 +02:00
Ghe Rivero 124329a40e Fix dir install location in o-r-c README
Change-Id: I1f1b9574cafe14a66aeecb64e499f0a4beecd078
2013-09-05 09:30:44 +00:00
Monty Taylor 8b75bcf581 Update stackforge references to openstack
Change-Id: Ie0290e9ab3e7fe8f02ee5e207ae1a419b0abf3cd
2013-08-17 22:57:21 -04:00
Clint Byrum 37f5a9b454 Replace cfn-hup cron job with os-collect-config
Os-collect-config is meant as a replacement for cfn-hup. The @reboot job
can go because os-collect-config will be run when the system is booted.
The periodic job is handled by os-collect-config's default behaviour of
running its command (by default, os-refresh-config) whenever any of its
metadata sources change.

Change-Id: Id768927ddfc4e7b4873fac347905e44458fd341a
2013-08-05 00:57:51 -07:00
Jenkins a7ede4152d Merge "Do not automatically start os-refresh-config." 2013-07-22 08:14:15 +00:00
Derek Higgins 84cd541e04 Use source-repository interface in orc element
Change-Id: I5d50cec88acc1f2e407a7d9f8fee0dbbdd34abdb
2013-07-17 11:23:35 +01:00
Clint Byrum 0d78da501f Do not automatically start os-refresh-config.
cfn-hup needs to be the only thing running os-refresh-config. Otherwise
the other orc scripts will race with cfn-hup writing out new metadata.
The exception introduced here is to also let crond (which runs cfn-hup)
run os-refresh-config @reboot to seed the configuration.

Without a need to start up automatically, there doesn't seem to be any
good reason to use an upstart job / systemd service unit. Instead we
can just pipe os-refresh-config output to logger.

Also because we have several places to run os-refresh-config, we
need to move the locking into os-refresh-config itself. Please see
https://review.openstack.org/37319 for that change.

Change-Id: Ic35eca943ba76d421b61710b9fff018e17fb40bf
2013-07-16 21:02:16 -07:00
Derek Higgins c0dcb8430f Put some order on os-refresh-config systemd
cloud-init is populating the file /var/lib/cloud/data/cfn-init-data
with metadata and needs to happen before os-refresh-config is run
which in turn needs to happen before the cfn-hup cronjob.

Change-Id: I07fc60c4a165a42eeae1a8e5a20609a6e17fd790
2013-07-07 00:22:47 +01:00
Derek Higgins b599c280e7 Pass exception into string formatting
Fixing a small typo in a error message

Change-Id: Ia3fcab0f470166108cc24589f0040e14727710df
2013-07-03 15:14:50 +01:00
Lucas Alvares Gomes 01061a1d7d Fix systemd services.
Systemd services should be created at /lib/systemd/system instead of
/etc/systemd/system, once the service is enabled systemd will create a
link from /lib/systemd... to /etc/systemd...

Also systemd services should contain the absolute path to the executables.

Change-Id: I741fe249de8ecc7b2af100ca6cf55c51f86f84b0
2013-06-17 17:49:34 +01:00