Cue has been retired in mid 2016 as official project and did not
continue developement, it's time to retire it completely.
Remove everything, update README.
Depends-On: https://review.openstack.org/551202
Change-Id: I1f4a71fbea8a90303036ad0adaec95fa15b6522f
updated taskflow related code to use newest version of taskflow
it seems like filtering logic in monitor_service does not work in py34,
changing to more verbose code that seem to work in both py27 and py34
rabbitmq-image build is broken and causing verification gates to fail,
applying fixes to get build to work and also updating to remove some
dependencies on tripleo-image-elements
Change-Id: Ic5fac635fa9f1ebdc6cb7498370c701de8172766
with this change, all unit and functional tests pass on Python 3.4.
* WSGI middleware: on Python 3, decode the error message from UTF-8.
* Replace json.dumps() with jsonutils.dump_as_bytes() of
oslo_serialization to get bytes on Python 3.
* monitor_service.py, test_monitor.py: Fix usage of tooz, pass byte
strings to the coordinator API.
* Fix nova and neutron fixtures: replace dict.values() with
list(dict.values()) to get list on Python 3.
* Fix urllib2_fixture: On Python 3, replace urllib2 with
urllib.request.
* test_create_cluster.py: don't sort exception types, but use a set
instead to compare them. On Python 3, comparison between exception
types now raises a TypeError.
* test_wsme_objects.py: catch also TypeError on wsme validation. On
Python 3, comparison between the new attribute value and the
minimum raises a TypeError which is not wrapped into a
InvalidInput exception of wsme. See also the change
I74103330ccb5cdc26aa3508fcefcc34310e00c27 which proposes to wrap
TypeError.
* install_rabbit.sh.tmpl: replace dict.iteritems() with dict.items().
* Replace generator.next() with next(generator).
* Replace reduce() with six.moves.reduce()
* Replace "str is 'URLError'" test with "str == 'URLError'", using is
to compare strings is not reliable.
Change-Id: I45e23b71218f5ff936b0fd1bd628f29210f984bb
The default values needed for cue'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: Ia179bbd7489ca128186990439a161903b7b4c28d
Closes-Bug: 1551836
cue cluster creation fails if the flavor disk size is too small
for the broker image.this fix validates the flavor disk size with
image metadata ,raising the exception from api instead of nova.
Change-Id: I18330c66cddf527d5fddfdbc29656e0313b04e16
The usage of assertEqual(True/False, ***) should be changed
to a meaningful format of assertTrue/False(***).
Change-Id: Ibc6da6ddf0966da2441711a0460ca837209ae274
Closes-Bug:#1512207
zookeeper runs out of heap space as the data we save to it
never gets deleted.this patch allows us to enable a flag in cue-config
to remove taskflow jobdetails from zookeeper/persistence backend.
Closes-Bug: 1514559
Change-Id: I64e72a7f4c917ec076a6d22c20e5aa6d91f6f75d
Each config option has limitation for type and value.
In production code, oslo.conf can ensure user's input
is valid, but in unit test, test methods can pass if
we use method CONF.set_override without parameter
enforce_type=True even we pass wrong type or wrong
value to config option. This commit makes sure calling
method CONF.set_override with enforce_type=True.
Closes-bug: #1517839
Change-Id: I7a4e00c0eb6423d0826eb1c1b1e1ad3da786fb52
While waiting for VMs to go ACTIVE during the create cluster flow,
if one or more VMs go into ERROR state the VM check task continues
until it times out. If one or more VM(s) go into ERROR state, the flow
should be abort instead of waiting for that VM to go into ACTIVE state.
Change-Id: I9e3768c5a55803afe05f75fad41ecf74471b4694
Closes-Bug: 1522633
keystoneauth was split out last cycle as a library specifically to deal
with doing auth functions so that people who do not need to do keystone
CRUD operations can just consume only the auth session parts. As part
of modernizing keystone interactions, use keystoneauth instead of
keystoneclient.
Change-Id: Ief82837103450de209fcbbd92d8f4e898949fac4
Replace urllib imports with six.moves.urllib to make modified code
compatible with Python 2 and Python 3.
This patch was generated by the urllib operation on the sixer tool.
The mock in cue.tests.functional.fixtures.urllib2_fixture is not
modified because it breaks functional tests on Python 2. It can be
fixed later.
Change-Id: Idd561fef168d234311a469c35f8672c518b90543
This adds the CORS support middleware to Cue, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly.
For cue, the middleware was added directly to the application
factory, including various default headers usually required by
keystone. Note that the CORS middleware must be the first one in
the middleware chain, so that it can annotate all responses -
even error responses - generated by other middleware.
oslo_config initialization was added to the functional test
initialization, in order to ensure that a fully initialized
config instance is available during tests.
OpenStack CrossProject Spec:
http://specs.openstack.org/openstack/openstack-specs/specs/cors-support.html
Oslo_Middleware Docs:
http://docs.openstack.org/developer/oslo.middleware/cors.html
OpenStack Cloud Admin Guide:
http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html
Change-Id: I7ff60a96f545ff991de06073a80a5750512ebd31
This patch corrects an error encountered when starting the cue app
with an empty config_dir commandline parameter.
Change-Id: I38dea66677d61819d76fb8a0c4ddfd98352ee4bb
since we moved policy checks into the API layer, we
can now use objects layer to access db records from
cue monitor.
When objects layer was doing policy checks we couldn't use
object layer without a valid conext object, and since cue
monitor doesn't have a conext object earlier we couldn't
use objects layer in cue monitor.
Closes-Bug: 1517174
Change-Id: I1a66b1fd5e66a807498d69ceb0ac9748f6547e2b
API layer talks to object layer to get DB records, it then
uses that DB record and context object to perform policy checks
to determine if the necessary API request has required
authorization to access the REST endpoint/resource.
Modified tests to use new methods in API which are doing
policy checks.
Closes-Bug: 1517177
Depends-On: I385c161bc10d6a22c6b46fa19dc7c195ff222f8b
Change-Id: I767f59061cc9aa1df20bde0b1fe33d069e01d751
Adding 'Record' to the name since these tasks are limited to updating
the respective Database records only.
Change-Id: I77c949d9282527f7b155a803ed8f18f869205f03
Cue's current implementation does not provide any additional information
to the user related to why a cluster went into ERROR state during
cluster creation. This patch adds error_detail field in the
clusters table and exposes this field through the API. The
update_cluster_task now extracts failure flow details and forwards this
information on cluster record update.
Partial-Bug: 1508730
(updates also required to Cue client and dashboard)
Closes-bug: 1516735
Change-Id: I440fec30bc3d051189585479b8d2c1219a98cf40
Cluster update task updates a cluster record in general, the previous
name implied it was only updating cluster status.
Change-Id: I912d829926e52ba11668f933481b364299f50fcc
* Replace unicode with six.text_type
* Replace (str, unicode) with six.string_types
This change makes modified code compatible with Python 3.
Move also imports in cue/api/controllers/v1/cluster.py to respect the
OpenStack coding style on imports.
The initial patch was generated by the unicode operation of the sixer
tool.
Change-Id: Ib53087f74d52fe60381e8cca2f0209d39f09e24d
This updates tox -egenconfig to correctly generate configuration
files for the various components of cue. Included are list_opts
invocations for all places where configuration is found, appropriate
setup.cfg hooks for generic oslo-config-generator invocations, and
explicit genconfig configuration files for the monitor, worker, and api.
Sample configurations have been regenerated from source.
Change-Id: Ib838269b3ba1e81587cd984933edb41d6d6a555a
Upstart seemed to be providing output from rabbitmqctl, which we
were depending on to tell whether rabbit was up, but systemd does
not do this. Changing the status check to use rabbitmqctl instead
so that status check works for both systemd and upstart.
Also moved the command to enable the management console to after
rabbitmq startup since the command was failing if rabbit was not
up.
Change-Id: I5f0c277a3201911b0bc998ff7f17d526dab6b33e
Checkin gates are failing (both coverage and integration/tempest)
Handling the case where testr fails by exiting and returning the
exit status. Newest 'coverage' package does not support 'ignore-errors'
in config section '[report]'.
Also updating devstack plugins/scripts to use updated keystone v3
compatible commands (openstack vs nova)
Change-Id: I06d4e1179f115220608bcb15bbcfccc96769e11e
Authentication field is used to provide broker credentials in
Cue create cluster requests.
This patch also includes:
- resolution to issue on retrieving base ubuntu image for build
Cue's Rabbitmq image.
implements: blueprint custom-default-user
Change-Id: Icfeac617e82a4213277209990551120b8caf8530