In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Removing the py36 centos8 job as well as
updating the python classifier also to reflect the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.htm
Change-Id: I269d1ca0b763d7806a3cec9d1be425d68f68fa67
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:
1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.
2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.
Also replace policy.json to policy.yaml ref from doc and tests.
CONF object needs to be initialized before policy enforcer(). That
need to remove cfg.CONF.unregister_opts from TestAuthUtils cleanup
as this is taken care by cfg.clear() with proper workflow otherwise
it end up with error
"oslo_config.cfg.ArgsAlreadyParsedError: arguments
already parsed: reset before unregistering options"
- https://b132754ee7062a9ab187-9add4719a9922a9385555a8552fc2366.ssl.cf5.rackcdn.com/768520/5/check/openstack-tox-py38/7964354/testr_results.html
[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html
Change-Id: I1b6c6485bc651fd0b87244a68204036dd4aa37f4
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete sections from setup.cfg
- Remove babel.cfg, this is not needed here at all
- Update requirements, no need for python_version anymore
- Use newer openstackdocstheme and Sphinx versions
- Remove install_command from tox.ini, the default is fine
- Use TOX_CONSTRAINTS_FILE, UPPER_CONSTRAINTS_FILE is obsolete
Change-Id: Ic40d3fdaac00791fb150c1dc68a35d53ec30043d
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: I3c7895d7fac75556d3038431ab6887221efb8654
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: Idcfd920e04fd56ed8de7b8906ba1e4e87f75d08c
This commit adds the functionality of murano-status CLI for performing
upgrade checks as part of the Stein cycle upgrade-checkers goal.
It only includes a sample check which must be replaced by real checks in
future.
Change-Id: If7987cdf5d9a686abbcad5960b8f391f8b9518a3
Story: 2003657
Task: 26143
In order to make it simpler to use the default
configuration files when deploying services
from source, the files are added to pbr's
data_files section so that the files are
included in the built wheels and therefore
deployed with the code. Packaging and deployment
tools can then more easily use the default files
if they wish to.
This pattern is already established with similar
files for neutron, designate and glance as has
been mentioned in the related bug report.
Change-Id: Ic0d69d726be397a19ea696a8b4f1ab350da1a8a4
Closes-Bug: #1718356
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: If76e5cdcf6443db9cad2c4391d416ccf19e8258d
This change removes the now unused "warnerrors" setting,
which is replaced by "warning-is-error" in sphinx.
Change-Id: If428dade4186946c748e27b00d345dafa4301b01
Adds a new yaql function 'decryptData' which pairs with 'encryptData' on
the dashboard side.
Requires a valid secret storage backend (e.g. Barbican) to be configured
via Castellan in murano.conf, e.g.
[key_manager]
auth_type = keystone_password
auth_url = <auth_url>
username = <username>
password = <password>
project_id = <project_id>
user_domain_name = <user_domain_name>
Murano will still work fine without this config but the encrypt/decrypt
functions will be unavailable.
Partially-Implements blueprint: allow-encrypting-of-muranopl-properties
Depends-On: I1be3a1e11e3f4c2170062927ad359bf679eb25d9
Change-Id: I09416b6d35ed2dafa823eca98262a4e23081e6eb
This commit sets warning-is-error for sphinx_build in setup.cfg and also
fixes multiple warnings to make the build pass
* Removed :option: see https://docs.openstack.org/contributor-guide/rst-conv/inline-markups.html#option
* Removed stale and unreferenced documents
* Marked telnet_example as orphan
* Added first-app to the index
* multiple code-block fixes
Change-Id: I9c659860fcb4f29fba5f7f07a6a952becfc354da
This adds the entry point and config file necessary for using the
oslo.policy sample generation script. It also adds a tox target to
simplify the usage of it. Finally, this commit adds
murano.common.policies.base.list_rules to
murano.common.polices (__init__.py) so that the base rules are
also included in the generated policy file.
Note that the policy sample is generated as a YAML which is
the standard adopted by Nova [0] and Keystone [1] and is now
the standard across OpenStack since Ocata [2]:
While the old json format policy file is still supported,
we recommend using the newer YAML format file, more intuitive
syntax.
The output from tox -egenpolicy will be:
murano.policy.sample.yaml in murano/etc.
The policy documentation was already updated in
I1a8581a559e4333a74d56a5bdce7e6d1f117907d
[0] e845d66a1b/etc/nova/nova-policy-generator.conf
[1] https://github.com/openstack/keystone/blob/master/config-generator/keystone-policy-generator.conf
[2] https://docs.openstack.org/ocata/config-reference/policy-yaml-file.html#older-json-format-policy
Change-Id: I2356ac0b2033bd83caaf2672189670fc300e55fd
Partially-Implements: blueprint policy-in-code
This patch add scripts for running API serces via WSGI.
The follow-up patch will add the devstack install support.
Change-Id: I3b836041559004a629f2cb2a506e53bf04fbdf23
Partially-Implements: blueprint murano-api-wsgi
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: Id2e67b9b8ffa696c75468801226143912f761c29
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.
Change-Id: Ied8b8b15761c282333c5a43ccdcc625be6930b9c
1) Create separate config use the separate config.py
to use: tox -egencfconfig
2) Create separate db for murano service broker
to use: tox -e venv murano-cfapi-db-manage \
--config-file etc/murano/murano-cfapi.conf upgrade
Change-Id: Ifd3551ace000e496d99725f46dbead62f7ef64b0
partial-implement: bp separate-service-broker-from-murano
Currently, murano's setup.cfg has a unique package "murano". This
patch adds murano_tempest_tests, so that the tempest plugin also
ends up being packaged in Debian / Ubuntu. This way, it's possible
to also run Murano's functional test suite in the Debian CI.
Closes-Bug: #1561966
Change-Id: Ia2f73883aaeeef92956daabb53fd3289ff1fc744
No config generator hooks should ever be registered with a name that
belongs to another project. In this case, using oslo.middleware.cors
means that *every other project* that loads the middleware gets this
application's defaults when the generator is run on a system with
everything installed (such as a dev box with devstack). Use the name
of the app instead, to ensure that the defaults are only set when this
app's sample config and documentation are being generated.
Change-Id: I6a8c7d44b9db9325003ff2fdb667b0ced7739e96
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The default values needed for murano's implementation of cors
middleware have been moved from paste.ini into the configuration
hooks provided by oslo.config. Furthermore, these values have been
added to the default initialization procedure. This ensures
that if a value remains unset in the configuration file, it will
fallback to using sane defaults. It also ensures that an operator
modifying the configuration will be presented with that same
set of defaults.
Change-Id: I50a204e27a43991d94cfb5f39c1dd3e904eb5696
Closes-Bug: #1551836
When we use `tox -egenconfig`, murano configuration file
is generated incorrectly. Some options in `[keystone_authtoken]`
section are missed. This is because keystonemiddleware now use
another function for oslo_config sample generation [1].
This function now returns a smaller list of options than before
without number of deprecated options and some options required
by murano.
This patch changes entrypoint for oslo-config-generator in order
to use older keystonemiddleware's function which lists all
neccesary options
1. https://review.openstack.org/#/c/267277/
Change-Id: I61b9c102e0e07e382237f2d09206df85322cc699
Closes-Bug: #1552226
- Add tempest plugin structure
- Add basic functional for tempest service broker REST client
- Add config opts for application catalog and service broker API services
- Add base for service broker tests
- Add service broker test for list applications
- Add tempest plugin configure function into devstack murano plugin
Change-Id: If4c8f95a9d69fccf6f261510b6e02eb67c738ee5
Targets: blueprint murano-cfapi-func-tests
Base class for modify actions.
Entry points based action registration.
Action manager loads and execute actions.
Out-of-the-box actions implementation.
Partially implements: blueprint policy-based-env-modification
Change-Id: Ib148c5f2b7efb1186d77f5461ef9324cca1287c2
In this commit we added new murano service called murano-cfapi.
It's Cloud Foundry Service Broker API implementation for OpenStack.
* add new entrypoint for murano-cfapi
* add provision/deprovision operations for Cloud Foundry.
partial-implement: bp cloudfoundry-api-support
Change-Id: I5cdb612774f5e46ec7fc787f961e5c7e16ed8501
This is a first commit os new murano testing framework.
This commit adds base io.murano.test.testFixture class.
All test classes are suppossed to be inherited from that class.
Test runner accepts only such kind of classes.
Also test cases should start with the 'test' prefix.
setUp method executes before each test case and tearDown - after.
To run tests, authorization params should be provided or murano config file.
Test runner params have a higher priority than the corresponding
params in config.
Package to test is a required parameter.
It's also allowed to specify class to execute tests in or
to specify test case name.
New murano-test-runner was added.
To run all tests from package, execute the following command:
murano-test-runner -p io.murano.test.MyTest1 -l /package/location/directory
Targets blueprint simulated-execution-mode-murano-engine
Change-Id: I6b9a94ab1a3942fec3ebb84a69dd548c134139df
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch is cut from the previous commit.
Change-Id: I53d22a6b9d3e058215432a507dfa56a0256548f4
Similarly with the way it was done in the murano-agent, added
the ability to use the oslo-config-generator for creating a sample
configuration file murano.conf.sample.
Now to create the file, you must run:
tox -egenconfig
Change-Id: I8b06336d75eccfd598ce9033333884f75f393a09
pbr pre-versioning causes current sdist to have versions leading up to 0.4.1,
but that is already released - we should be leading up to 2014.2.
Change-Id: Ie3ef33b1c8de8129c303d2271f56f7f80158757f
This commit migrates Murano database migration framework from
sqlalchemy-migrate to Alembic. sqlalchemy-migrate is considered abandoned. All
other OpenStack projects are in process of migration to Alembic or have
already finished migration.
This change doesn't preserve all the migration scripts, it merges them into a
single migration script. That's what we would do even without Alembic. It's a
common practice to squash migration scripts into a single one right after the
release.
NOTICE:
CLI command to run migrations changed. Now it looks like this:
$ murano-db-manage upgrade
Migration path:
1. Simple solution is just to re-create your database from scratch
2. You can stamp your database with revision to make Alembic think that it
already applied the first migration:
$ tox -e venv -- murano-db-manage --config-file etc/murano/murano.conf stamp --revision head
For usage instructions see:
murano/db/migraiton/alembic_migrations/README
This patch also adds opportunistic tests for migrations. These tests will run in
OpenStack Infrastructure jenkins slaves. It'll use real MySQL and Postgres databases.
Tests will run in a "snake walk" manner, which means that upgrade and downgrade path
will be tested.
Base for migration tests is copied from Nova. Please note, that at this moment we
cannot use code from oslo, because it is not documented and is not tested. Once
test_migrations_base appears in project 'oslo.db', we'll be able to remove our own
test_migrations_base and use the one from 'oslo.db'.
implements: blueprint alembic-migrations
Change-Id: I5aa978f7095efc57f2d6fad81b5553e1880ad931
There were two patches which broke our gate:
1. https://review.openstack.org/#/c/80690/
This one forces Devstack installation to fail if a project has dependencies
not listed in the global-requirements file. Fix description:
Devstack has two functions to install a project:
* setup_develop
* setup_package
The first one does the requirements check and fails on Murano installation.
The latter one doesn't perform any checks (it is called internally from the
first function right after the requirements check was performed). We will
use the latter one until all Murano requirements match global-requirements.
2. https://review.openstack.org/#/c/85032/
This one introduced a nosetests plugin for MuranoPL. Somehow (I have no
idea how) it breaks Tempest run in the gate. It causes our functional tests
to behave wierdly, not recognise tempest config file and throw exception:
"DuplicateOptError: duplicate option: use-syslog", see complete log at
http://logs.openstack.org/13/85113/7/check/gate-murano-devstack-dsvm/4939248/console.html
Fix description:
Temporarily disable nosetests plugin until we figure out how to enable
it and avoid Tempest problems in the gate.
Change-Id: I369f91fdabdc887d5ff3fb6e16d85a4d12de9f03
Implements simple plugin for nosetests and gives
ability to write tests for MuranoPL functions
and features on MuranoPL itself.
Change-Id: I899d5d89f391167ff34fa35777e85125bad431bf
This patch changes the way we initialize the DB with tables:
* there is new command - 'murano-manage db_sync'
* DB is no longer automatically populated
Change-Id: I1ae06448ddf4a832740e9a2bfccbfd725cb6c3f7
Added all missing parts to complete MuranoPL implementation:
- system classes
- base classes
- integration with oslo.messaging
- package entry-point & other things to run engine
Integrated engine with API
Note: some tests are marked to be skipped,
will be enabled via separate commit.
Partially-Implements: blueprint new-metadata-dsl
Change-Id: I3c1c2326b48da57647d55ea8edfba56f1657d7d6