36 Commits

Author SHA1 Message Date
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
Abhishek Chanda
3a10d159e2 Do not say we support py3
The py33 and py34 targets are failing currently. This can be
reverted once those are working.

Change-Id: I9d0376ed6771ed07b5c6f91a70843c129e38c20b
2014-11-19 10:59:53 -08:00
Steven Dake
14707dd546 Create a ReST API entrypoint
This creates a server entrypoint for running the Pecan+WSME
infrastructure.

Change-Id: I58bdeea7971f0f562e3d7a5542740283cb910a7b
2014-11-18 14:01:20 -07:00
digambar
9bd22e2c77 Initial commit from github (squashed)
These were the commits from github repo(s)

  84d943e Initial commit
  3d15bd1 Created the pecan project for containers for API
  b49297b Added rest functionality to the v2 apis
  227e1dd Added rest functionality to the v2 apis
  39500ae Added the base API call like POST, GET, PUT & DELETE.
  e404e94 adding wsme support to pecan
  f90f540 Added wsme support to the magnum apis
  c879329 added changes to api
  24ebc32 Fixed the bugs in the container apis
  01725ef Rename dir from containers to magnum
  1a1375a Add requirements and test-requirements
  f957e2e Add ASL2.0 license
  8f4c0ee Move tests to the proper location
  48dd100 Move setup files to proper directory
  86cc435 Fix the setup so the installation is sanitary
  b766d59 Make the installation and tox testing work
  c477236 This is a new project - start with v1 for api
  cf20cac Remove pep8 errors
  d23b325 Merge with code generated using OpenStack cookie-cutter
  b6b9f34 Ability to run pecan serve from command line

Had to update requirements.txt to get jobs working

Change-Id: I068389412d023c258bda40dfbdff5a40f2e7d175
Co-Authored-By: Digambar Patil <digambarpat@gmail.com>
Co-Authored-By: Steven Dake <sdake@redhat.com>
2014-11-18 09:23:37 -05:00