53 Commits

Author SHA1 Message Date
Sean McGinnis
712caeb6f9
Add py38 package metadata
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: Id12970d7cf493564ea0ceb339b8e429bf031ce95
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-05-02 07:48:13 -05:00
Andreas Jaeger
7ad3ef18c0 Cleanup py27 support
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
- Update classifiers
- Update requirements, no need for python_version anymore

Change-Id: I705a40cb3a19e16641a2b9de6891ab72fe2b98f0
2020-04-05 09:45:17 +02:00
Thomas Goirand
0d39f3535d Make it possible to use uwsgi easily
This patch adds a standard /usr/bin/magnum-api-uwsgi script, which we can
use from uwsgi. Without this patch, there's no way to load the application
correctly, with parameters on the command line.

Change-Id: Icdcd1255e7e08d68a5d31672b21127f781d6ac68
2019-11-22 11:05:50 +00:00
Diogo Guerra
3d17c6eb49 Drop python2 tests
OpenStack is dropping the py2.7 support in ussuri cycle.
magnum is ready with python 3 and ok to drop the
python 2.7 support.

https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html#completion-criteria

Depends-On: https://review.opendev.org/693631

Change-Id: I2ce19b3f976619853117231ae0dae24ebe68601f
Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch>
2019-11-21 15:58:32 +01:00
Spyros Trigazis
73dc57c319 Support Fedora CoreOS 30
Add fedora coreos driver. To deploy clusters with fedora coreos operators
or users need to add os_distro=fedora-coreos to the image. The scripts
to deploy kubernetes on top are the same with fedora atomic. Note that
this driver has selinux enabled.

The startup of the heat-container-agent uses a workaround to copy the
SoftwareDeployment credentials to /var/lib/cloud/data/cfn-init-data.
The fedora coreos driver requires heat train to support ignition.

Task: 29968
Story: 2005201

Signed-off-by: Spyros Trigazis <spyridon.trigazis@cern.ch>

Change-Id: Iffcaa68d385b1b829b577ebce2df465073dfb5a1
2019-10-16 09:44:19 +00:00
Corey Bryant
5823054627 Add Python 3 Train unit tests
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.

See the Train python3-updates goal document for details:
https://governance.openstack.org/tc/goals/train/python3-updates.html

Change-Id: I0ddfd7fde55302809a98bb8a6d745de4079b9a87
Story: #2005924
Task: #34219
2019-07-19 10:48:58 -04:00
Ghanshyam Mann
0d3ad907a6 Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2]
https://governance.openstack.org/tc/reference/runtimes/stein.html
https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: Id530578688faf2e97165b40abe18b863126cf89f
2019-04-14 23:05:06 +00:00
akhiljain23
2ccf639a39 Add framework for magnum-status upgrade check
This commit adds the functionality of magnum-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: Ia8a74fd8bd5a804e71bb04eb0615fa114a517bc4
Story: 2003657
Task: 26138
2019-01-27 04:26:30 +00:00
Nguyen Hai
6215887bc1 Follow the new PTI for document build
For compliance with the Project Testing Interface as described in:
https://governance.openstack.org/tc/reference/project-testing-interface.html
http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html

Remove the '[build_sphinx]' section as described in:
http://lists.openstack.org/pipermail/openstack-dev/2018-March/128594.html

Change-Id: Ibd6c6e9cca238821099ce190784d077ffe4c2dee
2018-04-25 12:11:07 +00:00
Chandan Kumar
53fa3accea Remove intree magnum tempest plugin
* It removes magnum tempest plugin reference in favour of using
  newly magnum-tempest-plugin.
* We removed tempest tests resides under functional.api.v1.test-*
  files as they are tempest tests and keeping the rest as they are
  used by functional tests.

Depends-On: Ibdddd26da9cfb0d08c2977660320b2c052d7261b
Change-Id: Ida2fa1ef5880ebead787e3b27ac7ebf5aa498f62
2017-12-14 15:48:47 +05:30
Hieu LE
c77e0c709a Register default magnum service and stat policies in code
This commit uses the existing policy-in-code module to move all
default policies for magnum service and stat into code. This commit
also adds helpful documentation about each API those policies protect,
which will be generated in sample policy files and completely remove
usage of policy.json file.

Co-authored-By: Dai Dang-Van <daidv@vn.fujitsu.com>
Implements: blueprint policy-in-code

Change-Id: I01a8ce964bf8bd569d4aa4e899cbcd9855281835
2017-10-23 02:57:29 +00:00
Hieu LE
e06004d9f5 Implement basic policy module in code
This change prepares the magnum project to start implementing
policies in code. Subsequent patches will register more magnum
policies in code and remove the corresponding entry from the
policy file maintained in source.

This is part of a community effort to provide better user
experience for those having to maintain RBAC policy. More
information on this effort can be found below:
https://governance.openstack.org/tc/goals/queens/policy-in-code.html

Change-Id: I0e2b34067ea1e4d5868df544a9f65ae3f1944c43
Co-authored-By: Dai Dang-Van <daidv@vn.fujitsu.com>
Implements: blueprint policy-in-code
2017-10-19 08:33:58 +07:00
Jesse Pretorius
3e6884ac97 Add default configuration files to data_files
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: If96de1416714490477ce03dbdf7f33ee1e78de87
Closes-Bug: #1718356
2017-09-21 15:14:07 +01:00
Jenkins
8f34a45c0a Merge "Update URL home-page in documents according to document migration" 2017-07-20 04:25:24 +00:00
Spyros Trigazis
b4386f83ad Add swarm-mode driver
* add swarm-mode config
* remove etcd, flannel, discovery_url, swift_registry
* add swarm-mode COE obj
* add functional test, create cluster, create/remove
  service and delete cluster.

Co-Authored-By: ArchiFleKs <kevin.lefevre@osones.io>
Implements: blueprint swarm-mode-support
Change-Id: Iba177be167cb3a3866441d5f42670171f26c5a86
2017-07-18 10:47:23 +02:00
Luong Anh Tuan
a7d4bb1221 Update URL home-page in documents according to document migration
Change-Id: I89b4f78a52718b5521561c8d946c4913c736afd4
2017-07-18 01:01:29 +00:00
Madhuri Kumari
e66720f063 Add warning-is-error in setup.cfg
Change-Id: Iaa73fa99c3fc6aee030735e853542339bbf05384
2017-07-13 05:56:02 +00:00
Cao Xuan Hoang
a26b2adc55 Remove support for py34
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: Id6d387d7e2cf6395a7ccff6291c9c73787984d51
2017-02-08 10:03:14 +07:00
OpenStack Proposal Bot
254eee752f Updated from global requirements
Change-Id: Ie082733777a9d784908bcba1e04859a164e9b8e7
2017-01-25 23:23:13 +00:00
Tovin Seven
32d088b2c1 Integrate OSProfiler in Magnum
* Add osprofiler wsgi middleware. This middleware is used for 2 things:
  1) It checks that person who wants to trace is trusted and knows
     secret HMAC key.
  2) It starts tracing in case of proper trace headers
     and adds first wsgi trace point, with info about HTTP request

* Add initialization of osprofiler at start of service
  Currently that includes oslo.messaging notifer instance creation
  to send Ceilometer backend notifications.

* Traces HTTP/RPC/DB API calls

Demo: https://hieulq.github.io/cluster-create-false-new-html.html

Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Implements: blueprint osprofiler-support-in-magnum
Change-Id: I7d68995aab81d365433950aada078ef1fcd5469b
2017-01-24 07:43:31 +07:00
yatin
af59ea68b8 Fix magnum-template-manage
After patch: https://review.openstack.org/#/c/374906/
magnum-template-manage didn't worked because load_entry_point
method moved to Driver class.
With this patch, magnum-template-manage can be used to list
all available drivers in magnum.

The patch also renames magnum-template-manage cli to
magnum-driver-manage.
Drivers can now be listed using:-
magnum-driver-manage list-drivers
magnum-driver-manage list-drivers -d -p

DocImpact

Change-Id: I17ba94b0e2000486b5fcbf792991ad98183bd26c
Partially-Implements: blueprint bay-drivers
Closes-Bug: #1632630
2016-10-13 21:06:43 +05:30
murali allada
104501cfe6 Cluster Drivers
- Dynamically load drivers using stevedore
- Changed the entry points to reference drivers instead of
  template definitions
- Implement Create and update driver operations

Change-Id: I5c3259404c796e1935c872cf3109ffecae3cee02
Partially-Implements: blueprint bay-drivers
2016-10-06 08:57:52 -05:00
Hieu LE
1ab3eabd4f Init magnum centralize config
Initialize magnum centralize config folder and test cases.

Change-Id: Ib68e54701e127546fbaa91e3633f50d149a5b878
Implements: blueprint centralize-config-magnum
2016-09-20 10:12:33 +07:00
Jenkins
888e615bd7 Merge "modify the home-page info with the developer documentation" 2016-09-16 08:09:18 +00:00
Spyros Trigazis
2c635692ae Split k8s atomic vm and ironic drivers
The 2 k8s atomic drivers we currently support are added to the
same driver. This breaks ironic support with the stevedore
work I'm currently doing.

With stevedore, we can choose only one driver based on the
server_type, os and coe. We won't be able to pick a driver and
then choose an implementation bases on server_type.

Partially-Implements: blueprint magnum-baremetal-full-support
Co-Authored-By: Spyros Trigazis <strigazi@gmail.com>
Change-Id: Ic1b8103551f48f85baa2ed9ff32d5b70b1fab84e
2016-09-09 18:10:08 +02:00
OTSUKA, Yuanying
08531c1702 Fix ironic template
This is workaround fix to support baremetal.
Following items are remained to support.
* Documents
* Functional test

To test this template, there are some requirements and problem as below.

Requirements:
* `ephemeral_disk` on ironic baremetal flavor
  `ephemeral_disk` is used for docker storage instead of cinder volume.

* `fixed_subnet` must be setup with dns_nameservers like following.
    * `neutron subnet-update private-subnet --dns-nameserver 8.8.8.8`

* `fixed_subnet` must be IP version 4.
  if you use devstack, please add following configuration.
    * `IP_VERSION=4`

* Fedora 23 image including kubernetes, etcd, flannel.

Problem:
Ironic stores `instance_info` about nova instance.
`instance_info` contains config_drive data, but this data can be
too large to store ironic.nodes table.
Magnum uses large config drive data to setup k8s.
It means, we can not start ironic instance by Magnum.

Workaround fix is changing column type of ironic.nodes.instance_info.
Following sql will help you.

  `alter table ironic.nodes modify instance_info LONGTEXT;`

Partial-Implements: blueprint magnum-baremetal-full-support
Change-Id: Ica87610b9114bff4277b492de8fe528fe2860108
Closes-Bug: #1454895
Closes-Bug: #1472938
Co-Authored-By: Spyros Trigazis <strigazi@gmail.com>
2016-08-09 11:27:55 +02:00
gengchc2
b68427b385 modify the home-page info with the developer documentation
update home-page info

Change-Id: Ic74bf604b7a8b70b10dae8a1dce72abbdd13317f
2016-07-29 11:55:55 +08:00
Jenkins
8111e0c635 Merge "Add Python 3.5 classifier and venv" 2016-07-14 05:10:27 +00:00
Yatin Kumbhare
0a56f557d6 Add Python 3.5 classifier and venv
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: Ifd69012586ecb59faaab2a474f43efde9b244756
2016-07-12 17:20:05 +05:30
murali allada
f09f314da4 k8s coreos bay driver
This patch moves k8s-coreos specific templates and
template_definition class to the new drivers folder.

It also deletes the /magnum/templates folder
as everything has been moved to the drivers directory.

Change-Id: I6b2ca49e4d7d5fcfb96d0abc373d6476fd907358
Paritially-Implements: blueprint bay-drivers
2016-07-11 12:35:06 -05:00
Vijendar Komalla
a5ae8b37aa Bay driver: k8s Fedora Atomic
Change-Id: I1fae89e902ef73fe18ef78733a18e3690b67f312
Paritially-Implements: blueprint bay-drivers
2016-07-11 10:50:06 -05:00
Spyros Trigazis
242cbe00da Mesos-Ubuntu bay driver implementation
Moves templates and template_definitions to the new
directory structure.

Change-Id: I42e4d2bd056f3d8082ef51ef599d917f2fe82960
Paritially-Implements: blueprint bay-drivers
2016-07-06 21:50:14 +02:00
Murali Allada
4080d4a84c Bay driver implementation
Moved all the swarm templates and template_definition code
to the magnum/drivers folder.

Moved base template_definition classes to drivers/common
folder

Change-Id: Ieff57f0f47835c35d9f17c3d7d1b7e6a40907462
Partially-Implements: blueprint bay-drivers
Co-Authored-by: Spyros Trigazis <strigazi@gmail.com>
2016-07-05 22:30:31 +02:00
Madhuri Kumari
5f193f2e0e Add x509keypair_cert_manager to store certs in DB
x509keypair_cert_manager stores certs in Magnum DB.

Change-Id: Id8106d7bd5c270679bc189fc0dc17bcbde367d73
Implements: blueprint  blueprint barbican-alternative-store
2016-06-23 09:08:52 +05:30
Doug Hellmann
165b5cf30e register the config generator default hook with the right name
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>
2016-03-11 15:29:09 -05:00
Michael Krotscheck
a5883fd3af Moved CORS middleware configuration into oslo-config-generator
The default values needed for magnum'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: I7d8f8708d53bbab117600070982ac80482fa0a77
Closes-Bug: 1551836
2016-03-09 13:02:07 -08:00
dimtruck
63de8e5540 Migration to utilize tempest plugin
This is a migration step to utilize tempest plugin
system instead of directly calling functional api tests.

This is the approach used by a number of other projects as well
as an approved process by openstack-qa.

The difference in execution is that we will need to execute tempest's
tox instead of our own:

tox -eall-plugin magnum.tests.functional.api.v1 --  --concurrency=1

Implements: blueprint magnum-tempest
Change-Id: Ic3eadae7fb5d88b776f9ded9589ef25279a2e1be
2015-12-22 22:53:35 -06:00
houming-wang
8ee9d4bf31 Remove Python 2.6 classifier
OpenStack Mitaka release does not support Python 2.6 anymore. And
Magnum do not run any test against py26. So remove the classifier.

Change-Id: I2ab904f3f35455e2d50cd64ac84a52c6ed3d31a9
Closes-Bug: 1522620
2015-12-03 18:20:19 -05:00
OTSUKA, Yuanying
1727c1728f Add CertManager to store CA and client certificate
To implement TLS support, we should store CA and client cert for each
bay. This patch adds common library to store cert to Barbican.
Magnum uses service admin privilege to store the cert, this means that
end user can't retrieve CA cert and private key from Barbican
directly.

This patch is copied from neutron-lbaas project.
*  I435189b2637e32803a13ebd4951e61fac4ab234d

Change-Id: I519228d9749ad610db3e0c698caa1144813f9d52
Partial-Implements: blueprint magnum-as-a-ca
2015-09-05 16:25:57 +09:00
OTSUKA, Yuanying
45a2c4d1ff Unify using of migration tools
Currently magnum has two type of migration tools, one is oslo.db
migration_cli, other is calling alembic migration tool directly.
This fixes to get more consistency.

Closes-Bug: #1487248
Change-Id: I705dd2cc65c1f879ce1e2ebaaf2015dc6dc24c64
2015-08-26 17:54:14 +09:00
Hongbin Lu
4fc17a1f66 Add template definition of Mesos bay
After this commit, users should be able to create a Mesos bay.
To do that, they need to create a baymodel first. The baymodel
should have a coe attribute with value 'mesos'. Then they can
create a Mesos bay by using the baymodel.

Change-Id: I19eaa7abf028ab81070bea18991940462ad509ad
Partial-Implements: blueprint mesos-bay-type
2015-07-15 10:56:13 -04:00
Andrew Melton
6d64188d50 Add Swarm TemplateDefinition
This change will allow deployers to select either Kubernetes
or Swarm to be the CoE used in Magnum's bays. A Swarm bay uses
a subset of the BayModel parameters used for Kubernetes.
Node discovery is provided via Docker's public discovery
endpoint, but operators and users can override this with
Bay's discovery_url argument.

Implements: bp multiple-bay-templates

Change-Id: I5278e6d477298085d07673810e5d8813d21b7730
2015-04-17 12:19:27 -07:00
Andrew Melton
3a8ab855a8 Add Template Definitions
The idea here is to provide a way for magnum to discover and interact
with templates meant to build bays. Template definition discovery is
done through python entry_points, and each class lists the bay_types
it can provide. Each template definition contains a mapping of magnum
object attributes and heat template parameters/outputs.

This will be useful for not only allowing different CoEs, OSes, and
platforms. But can also provide the discovery mechanism for templates
once they are pulled into their own repository.

Partial-Implements: bp multiple-bay-templates

Change-Id: Ia596657856cd861c94e58dcd65acae0677a36d73
2015-04-09 08:47:15 -07:00
Steven Dake
9d46b771c5 Rename backend to conductor
The backend is a bad name for a process, so instead call it the conductor.

Change-Id: Iaeb574b9754fe2635a2b082a99216337130a19f9
2014-12-11 16:51:08 -07:00
Steven Dake
54411f6265 Remove conductor
Remove conductor.  The backend will replace the conductor as the process
name to be more consistent with other OpenStack projects.

Change-Id: If69557b7ca02e48c65372cbb200d2f648613778e
2014-12-11 13:04:04 -07:00
Steven Dake
bb2546f0eb Copy Ironic's database model codebase
The Ironic codebase is pretty simple for database access.  This work
leads into the introduction of versioned object technology from nova
and ironic that will be entering oslo:

https://review.openstack.org/#/c/127532/

This will drastically speed up the process of implementing moving the
RPC objects across the network.

Change-Id: I38aa451b658b66f5b6f10ced03ea2e0355af4ecd
2014-12-02 15:04:31 -07:00
Abhishek Chanda
a71f6c7d10 Enable automatic sample config generation
- Added an entry_point for oslo config generator
- Added a script to enumerate config options
- Added a tox target to invoke config generator

Change-Id: I16a2e622db18f8ac4deeecc17e87bb2b5edf3826
2014-11-24 12:34:07 -08:00
Steven Dake
9442e40702 Add backend processor for AMQP
Backend processors execute the ReST API using a specific backend.  For
example, docker implements the container backends.  k8s implements the pod
and services backends.  If at some later date, someone wants to implement
a fully native backend, that would be possible.  In the short term (next 4-6
weeks) I'd like to focus on backends using k8s and docker only rather then
trying to get native to work.

Change-Id: I77abde65dfe03e12f2931854da52a69f5e618d93
2014-11-22 18:42:47 -07:00
Steven Dake
ea8cbaa077 Add initial conductor API and service
Add an initial conductor API and service.  This service allows
operation on the four object types -> bays, pods, services, and
containers and allows the ability to list, read, write, or delete
those objects in the database.  The implementation of the
list/read/write/delete is incomplete and should come in a follow-up
patch.

Change-Id: I60e9070e4b5aeaeddba67233b99dd0e3a3cffe22
2014-11-21 06:24:46 -05:00
Jenkins
94f3ede485 Merge "Do not say we support py3" 2014-11-19 19:35:22 +00:00