| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Story: 2008358
Task: 41263
Change-Id: I529a07d50c0659af0c9821a8570f7548e8521805
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Support "version_number" for creating configuration.
* Fixed a bug for deleting datastore version, the config parameters should be
deleted first.
* Support "--version" for trove-manage datastore_config_parameters
sub-commands.
Change-Id: Ieb0def81f2347c06a05eb354ad36b4fa807f7621
Story: 2008358
Task: 41264
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove basestring check.
Remove six Replace the following items with Python 3 style code.
- six.string_types
- six.int2byte
- six.indexbytes
- six.add_metaclass
- six.StringIO
- six.text_type
- six.integer_types
- six.binary_type
- six.BytesIO
- six.reraise
Change-Id: I4fb9033d152963c504ceb4d5c4d08f934ee4accb
|
|
|
|
|
|
|
| |
CLI:
trove-manage db_remove_datastore_config_parameters mysql 5.7.29
Change-Id: Ia8b5828dfabd595d0ac33a2fdf1d9959f2d1d9ba
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Significant changes:
* Using docker image to install datastore.
* Datastore image is common to different datastores.
* Using backup docker image to do backup and restore.
* Support MariaDB replication
* Set most of the functional jobs as non-voting as nested
virtualization is not supported in CI.
Change-Id: Ia9c97a63a961eebc336b70d28dc77638144c1834
|
|
|
|
|
|
|
|
|
|
| |
* Hard delete the datastore_configuration_parameters table record.
* Make 'datastore_version_id' nullable for 'instances' table.
* Check if the datastore version is still being used before removal.
Story: 2007563
Task: 39451
Change-Id: I84e4a31f14f9327cc01ff2d699167d91112e1565
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The users need to specify the network to create Trove instance, but
trove-taskmanager will create port in that network for Nova instance
creation. Using port gives Trove more capabilities to define how the
database service is exposed.
- Deprecate ICMP protocol for the instance.
- Restrict 'nics' parameter for creating instance.
- Add 'access' parameter for creating instance.
- Add 'public_network_id' option in order to create floating IP for the
instance.
- Do not create records for security groups, but Trove can still delete
existing instances for backward compatibility.
- Delete unreasonable Host, Account, Storage API.
Story: 2006500
Task: 36468
Task: 36466
Change-Id: I80827e1ad5e6b130cbf94c2bb7a909c44d5cf1e5
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update try to fix some problems:
1. define the 'id' both in _data_fields and _auto_generated_attrs.
2. some of tables don't have the 'id' field.
3. _data_fields of DBInstance miss some table fields.
4. Change the key of persisted_models as the same of table name to
make it more readable.
Change-Id: I0ad96824e8de978ff5b6766085549b1e1a2509cf
Signed-off-by: zhanggang <zhanggang@cmss.chinamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to discussions on the ML, log messages should not be
translated any more. This patch also:
* removes all usage of _LI, _LW, _LE, _LC;
* updates log translation hacking rule.
ML discussions:
http://lists.openstack.org/pipermail/openstack-i18n/2016-November/002574.html
http://lists.openstack.org/pipermail/openstack-dev/2017-March/113365.html
The original commit messages are kept as following to make a historic
note:
remove unwanted log translations
recent discussions on the ML have led to the decision to eliminate all
translations for messages that are destined for log files but retain
them for messages that are going to be returned as exceptions and
potentially shown to end users via an API. see [1], [2].
This change does that as follows.
1. If a string is being used to generate an exception, it will still
be translated. Still Trove used both _LE and _ for these translations,
there are some cases where _LE has been simply changed to _, and not
removed.
2. If a string is used for a logging message, remove the use of _,
_LE, _LW, _LI.
Also, I have long felt that we have had a creep of checks in the pep8
tests that apparently make the code easier to read. I strongly believe
that these kinds of "easier to read" things make sense if they are
followed across all projects and not just gratuitously added one
project at a time.
I've taken this opportunity to reduce the merge mess caused by this
change, to sync up our ignore flags with a long list of ignores from
Nova. When they made the change for removing log translation, they
could do it in an automated-way like I have because they didn't have
to deal with under and overindented lines for visual edit (E127). Same
for Cinder.
Changes 448443 [3] and 447839 [4] were inadequate because they only
addressed a little part of the problem, namely removing the use of
_LE, _LI, and _LW, and I think this is a change we don't need to
dribble in a few files at a time. The changes are straightforward and
should be taken in a single lump to make it easy to deal with the
merges coming.
[1] http://lists.openstack.org/pipermail/openstack-operators/2017-March/012887.html
[2] http://lists.openstack.org/pipermail/openstack-dev/2017-March/113365.html
[3] https://review.openstack.org/448443
[4] https://review.openstack.org/447839
Co-Authored-By: Amrith Kumar <amrith@amrith.org>
Co-Authored-By: Valencia Serrao <vserrao@us.ibm.com>
Change-Id: I5f86c982469e625997fc8bd15c6fae0fc77a8c64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
oslo_utils.timeutils is deprecating isotime(). In reality they are
deprecating some other things as well but Trove doesn't (currently)
use any of those things.
Much has been written on the subject of this deprecation. I think the
proposal to merely replace isotime with datetime.datetime.isoformat()
is a little simplistic. Well intentioned, but nonetheless I believe
that it is simplistic.
The primary issue I could find with oslo_utils.timeutils.isotime() was
the fact that it was naive. I think it could well have been fixed in
oslo_utils but for whatever reason(s) oslo decided not to want to go
that route.
The primary challenge from Trove's perspective is that I want to
respect the existing API contract while at the same time get an
implementation of time handling that is not identical in its flaws
with oslo_utils.timeutils.isotime().
This change set attempts to address that by making
trove.common.timeutils.isotime() that is aware. It also implements a
utcnow_aware() function that is aware.
ISO 8601 allows for four representations of timezone and those are
<time>Z
<time>[+-]hh:mm
<time>[+-]hhmm
<time>[+-]hh
Trove conventionally used the first one, even if the time wasn't
really a UTC time. That's one of the things being fixed here.
In review cp16net asked whether this change removes the 'Z' at the end
of time strings generated by the isotime() function. The answer is
NO. The new isotime() function performs identical to the old and now
deprecated function in oslo_utils.timeutils for UTC (Z) times.
There was a utcnow() function in trove.common.utils which just wrapped
datetime.datetime.utcnow(). That has been moved now to
trove.common.timeutils with the other new time related functions.
There were a couple of places in Trove where code was using
datetime.now() which was not ideal. Those have been corrected now as
well.
Unit tests have been proposed for the new routines.
Closes-Bug: #1532120
Change-Id: Ic5abf6669edd4f1a9fd62e61f437565aa887aebe
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following directories were checked in this commit:
- conductor/
- configuration/
According to OpenStack Guideline[1], logged string message should be
interpolated by the logger.
[1]: http://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages
Change-Id: Ib46b6a5c947e250ec549ed9be1b8a7862f528d52
Related-Bug: #1642552
|
|/
|
|
|
|
|
| |
Use the mask_dict_password util on the configuration view.
Change-Id: Ifbc2f317d217497ce6aad05423f5af7dc883721c
Closes-Bug: #1645792
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement configuration attach and detach API for clusters.
Implement rolling strategy for applying configuration changes
(both attach and detach follow the same pattern).
1. Persist the changes on all nodes (leaving nodes in RESTART_REQUIRED state).
2. Update Trove records.
3. Apply changes dynamically via one or all node(s) if possible
(and remove RESTART_REQUIRED flag from all nodes).
Notes:
The single instance implementation has been restructured (similar to above)
such that it always leaves the instance in one of the three states:
a) Unchanged
b) Changes persisted but not applied
(Instance has configuration attached but requires restart.
It is safe restart manually or detach the group to avoid
any changes)
c) Changes persisted and applied (if possible)
This implemenation should always leave the cluster (and each instance)
in a consistent state.
Runtime configuration will not be changed until it is first persisted
on all nodes.
If there is a failure during step 1) the cluster is still running
the old configuration. Some instances may have new configuration
persisted, but not applied.
The cluster will not have configuration attached unless it can
be applied to all nodes.
The individual nodes will have configuration attached as soon as it is
persisted on the guest.
It is safe to retry, reapplying the same configuration on a node is
noop.
It is safe to detach. Removing configuration from nodes without one
is a noop.
It is safe to detach the configuration from individual nodes via
single-instance API.
It is safe to attach the configuration to remaining nodes via
single-instance API and rerun cluster attach to update Trove records.
If 3) fails for whatewer reason the instances are left
in RESTART_REQUIRED state.
It is safe to retry or detach configuration or restart the
instances manually.
Also fixed various minor cluster issues.
Implements: blueprint cluster-configuration-groups
Change-Id: I7c0a22c6a0287128d0c37e100589c78173fd9c1a
|
|/
|
|
|
|
|
|
|
| |
This is 1 of 3 patches to add translation to the extensions
directory and some other files.
Custom hacking rules will be added later to enforce this style.
Change-Id: Iddd738c2d9a7c9a57fcd445650d087123dbccfc4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Oslo Policy library provides support for RBAC policy
enforcement across all OpenStack services.
Update the devstack plugin to copy the default policy file
over to /etc/trove in the gate environments.
Note: Not adding a rule for 'reset-password' instance
action as that API was discontinued years ago
and is now just waiting for removal (Bug: 1645866).
DocImpact
Co-Authored-By: Ali Adil <aadil@tesora.com>
Change-Id: Ic443a4c663301840406cad537159eab7b0b5ed1c
Implements: blueprint trove-policy
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Slow query time should be configurable on per-instance basis
via the existing configuration group mechanism (see the bug).
We need to deprecate the existing global conf property first.
The property has been deprecated on all datastores.
Validation rules have been updated on those that
support log retrieval as well:
- MySQL: long_query_time
- Percona: long_query_time
- Percona XtraDB Cluster: long_query_time
- PostgreSQL: log_min_duration_statement
- MariaDB: long_query_time
The logging settings will be saved with lower 'priority' than
any user settings. This will ensure the user settings
(if present) always override the global value.
Once the deprecated options go away we can again apply
the logging settings at the system level.
Change-Id: I9c28ceb933b6819b8e96556584b2e26cab2155fb
DocImpact: Document deprecated properties
Partial-Bug: 1542485
|
|/
|
|
|
|
|
|
| |
Currently has some use # noqa because out 79 - character limit,
in order to conform the pep8 specification, I think we can make
some changes
Change-Id: Ia91ec8175521854e0b413441a2e05a23330aa8c3
|
|\ |
|
| |
| |
| |
| |
| | |
Change-Id: I57a77fdac4674c5e82bb870916d74a31ba5503d1
Close-Bug: #1529541
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced basestring with six.string_types
Replaced (int, long) with six.integer_types
Replaced unicode with six.text_type
This patch is generated by the following tool using
'basestring', 'long' and 'unicode' options.
Manually replaced unicode(ex) with oslo_utils.encodeutils(ex)
https://github.com/haypo/sixer
Command:
python sixer.py -w 'basestring,long,unicode' trove/
Partially implements: blueprint trove-python3
Change-Id: I6fa42674060067663ef819247ea793ef3d8aa0da
|
|
|
|
|
|
|
|
| |
Replaced dict.iteritems with dict.items
Replaced dict.iterkeys with key in dict
Partially implements: blueprint trove-python3
Change-Id: I24c3fdea4f40ef92dd6cd564ee34eab8c03b2520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines and implements create|end|error notifications for
all state-changing Trove API calls. Adds a notification to
the TroveContext to transfer the notification to the guest
and conductor so that errors on asynchronous commands can
be forwarded to the Conductor to be transferred to the
control plane bus.
Also did some cleanup on the existing notifications to bring
them all under a common framework in trove/common/notifications.py.
The trove.instance.exists notification was not integrated into
the new framework due to its close-coupling with the Nova
notification code.
Reworked the cluster action mechanism to move routing
functionality from the strategy to the Cluster base
class. This was done to support tying notifications
to cluster specific actions.
Implements Blueprint: ceilometer-integration
Change-Id: I9c57d24f80d8d3116fc0cc8948094087a0495135
|
|
|
|
|
|
|
|
|
|
|
| |
The logic to find the pagination limit is
repeated several times and is not in one
function. This patch creates a function that
is called in various locations replacing
repetitive code.
Change-Id: I3eced6a4236e4189e57ea5a1589e8f0d411cc4e3
Closes-Bug: #1308285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Convert configuration casts into blocking calls and move them
from the task manager to the API. Update the Trove records
only after a successful update on the guestagent.
* Change the way how we apply the configuration changes.
- On attach: Apply the values dynamically only if all of them
can be applied at once. Put the instance into
the 'RESTART_REQUIRED' state otherwise.
- On detach: Apply the values dynamically only if:
a) Default values for all of them are
available in the configuration template.
b) All values can be applied at once.
Put the instance into the 'RESTART_REQUIRED'
state otherwise.
* Remove override template resolution. Pass override values in a
Python dict (like it is for 'apply_overrides').
The user-provided configuration values do not get resolved and
are applied as supplied by the user - hence no need for a template.
It also avoids the need to double-parse the overrides in
guestagents that do not support configuration imports.
* Moved MySQL-specific value conversions (K, M, G suffixes)
down to the MySQL guestagent.
* Update the MySQL 'update_overrides' methods to accept both
Python dicts and rendered strings. This is for backwards
compatibility with older task managers that send overrides as
a string.
* Remove deprecated methods from the taskmanager.
Closes-Bug: 1468488
Change-Id: Ie125131945ad82afe6663e6c5a5d70c6e949c60b
|
|
|
|
|
|
|
|
| |
Remove the log module of oslo-incubator.
Move the WritableLogger wrapper to the base_wsgi module.
Add oslo.log to the requirements.
Change-Id: I724fa6090cebf40e7d7c78cc6b8458dfba9508a8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Facilitate code reuse by implementing a manager class
that could be used by all guestagents to manage their configuration
files and overrides.
ConfigurationManager is responsible for management of
datastore configuration.
Its base functionality includes reading and writing configuration files.
It is responsible for validating user inputs and requests.
When supplied an override strategy it allows the user to manage
configuration overrides as well.
ConfigurationOverrideStrategy handles configuration files.
The strategy provides functionality to enumerate, apply and remove
configuration overrides (revisions).
The patch set also includes functionality for reading and writing
files and implements codecs for serialization and
deserialization of common configuration formats. The implemented
codecs get reused in the existing configuration parsers.
Includes a couple of little fixes to the taskmanager that will
be required by other datastores.
- Do not validate value ranges if min/max is not specified in the
validation rules.
- Do not attempt to parse non-string configuration values in the
taskmanager.
Implements: blueprint guestagent-configuration-manager
Change-Id: I1c940c96deb20ca722d9fd400a6ef757b2ba249f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patchset helps reducing the ignored pep8 errors.
Fixed some ignored hacking rules, as listed follows:
- E111 indentation is not a multiple of four
- E122 continuation line missing indentation or outdented
- E123 closing bracket does not match indentation of opening bracket's line
- E128 continuation line under-indented for visual indent
- E251 unexpected spaces around keyword / parameter equals
- E265 block comment should start with '# '
- E713 test for membership should be 'not in'
- H105 Don't use author tags
- H306 imports not in alphabetical order
Change-Id: Iadf2af4f6ec90420153ad63b5a41650392ef2cbd
|
|
|
|
|
| |
Closes-Bug: #1390317
Change-Id: I6e8517308e51b4a8a03ad4fc27166934a6104841
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
trove-manage db_load_datastore_config_parameters will fail if
the datastore_version on which it's being run is marked as
inactive (aka active is set to 0).
this is not correct, because it's completely reasonable to want
to update/refresh a datastore_version's configuration-group's
parameters even if it's inactive.
examples:
- you're working on rolling out a new datastore_version, so
you have it marked as active=0 until the go-live date.
- you've rolled out a new datastore_version and want to
mark the old version as inactive. instances built prior
to the inactivation are still on the old version, and
can still utilize their still-assigned configuration-groups,
hence the parameters should be updateable by the
administrator.
Change-Id: I7682fe240c5737438b084d813cf7ce80b4ecca9b
Closes-Bug: #1379563
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is part of a multi-part change set to handle obsolete and
graduated oslo modules. This commit handles the gettextutils module
which is now oslo.i18n. The change here is to remove it from
openstack-common.conf and point all people who used to use that at
oslo.i18n. requirements.txt has been updated to point to this
dependency.
We aren't deleting gettextutils.py from openstack/common because it is
used by other oslo-incubator modules.
This change has been rebased on https://review.openstack.org/#/c/129668/
Change-Id: I39fd288fb29a8317f896812a2f64bcd69a6b8e21
Partial-Bug: #1380789
blueprint: retire-unused-oslo-incubator-modules
|
|
|
|
|
|
|
|
|
|
| |
the configuration parameters payload was originally just 'max'
and 'min' for the range and was changed to 'max_value' and
'min_value' in the output. Reverting this back to the original
v1 spec of 'max' and 'min'.
Closes-Bug: #1390317
Change-Id: I9628313e4154048a6aa9a089a6e3ec18f9af1d33
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Updated _validate_configuration
- Updated from querying the database every parameter to fetching
all the db rules in one call and passing them as a parameter.
- Check for empty rules set and raise a 422
- New error response: Configuration groups are not supported for this
datastore: mysql 5.5.
- Updated invalid parameter to raise a 422 instead of the previous
404 that the load_parameters_by_name call used to raise.
- New error response message for parameter not found: "The configuration
parameter auto_increment_offset is not support for this datastore:
mysql 5.5.
- Added unit tests covering the _validation_configuration method
- Modified test_configurations_create_invalid_values integration test
to handle new error status code 422 instead of 404 for invalid
configuration values
Closes-Bug: 1367107
Change-Id: I9cc873745afe19336c1fe5ef35ffdd3efde127b3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a break to the previous version of the configuration
paramenters API when the configurations parameters were moved to
the database. The actual type of the restart_required parameter
should be a JSON boolean value, and not a string to be compatible
with the previous configuration parameters API.
Change-Id: If45944e25a55813ddf8f80010811da04d667ca19
Closes-Bug: #1379665
|
|/
|
|
|
|
|
|
|
| |
The output of the configuration-parameters-list/show was
inadvertently changed when the parameters were moved into
the database in Juno.
Change-Id: Ic7d215482f5a9ab8ba2059cae7b91a99b35f2795
Closes-Bug: #1379665
|
|
|
|
|
|
|
|
|
|
| |
It is a pain to load the configuration parameters when setting up
a new environment. Since theres no way to get the uuid of the
datastore version that is created you must get it by looking in
the database.
Closes-Bug: #1371297
Change-Id: If8cea0aaf38878bb04abe6e27b9bfd77d5684bce
|
|
|
|
|
|
|
|
|
|
| |
Changes:
Add datastore configuration paramters to configuration model
Add ability to CRUD configuration parameters
adding a manage cmd to import the config params
partially implements blueprint configuration-parameters-in-db
Change-Id: I51d5281ba8922dc19c74e7c6e972f40e45416d50
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Adjust log messages to conform to logging standards.
Change-Id: I16e48928d7a710e2ba31524be02d358b4e1dd713
Partial-Bug: #1324206
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reasons:
- Both ConfigurationView and DetailedConfigurationView
for configuration-groups return only the Datastore
Version ID and not human the readable Datastore Name / Version
Changes:
- adding datastore version name to:
- configuration-create;
- configuration-list;
- configuration show responses.
- tests;
Change-Id: I8fbefd57d40838dafcead0077bfbc6b49c27a8eb
Closes-Bug: #1326584
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds created and updated timestamps to the configuration
groups list and details calls. It also adds instance_count to the
configuration details call. Timestamps on configuration groups can
serve as a secondary indicator for making config edits, as well as a
potential time marker for correlating when detrimental config changes
were made. It will also help to see how many instances use a
particular config and users will be able to see up front how many
instances the config changes will affect.
Note that instance_count is generated on the fly and not stored in the
config db, hence the getattr() usage.
Change-Id: I0138a28e9fb4c0c045a1a26df3f8a282d80a7274
Implements: blueprint minor-config-edits
Docimpact: change to configuration payloads
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for flake8 H402: one line docstring needs punctuation.
Reasons:
- H402 is disabled in tox.ini, it needs to be enabled to make code
more flake8 compliant.
Changes:
- Updated tox.ini to enable H402 rule.
- Updated code for H402 violation.
- Updated one word docstrings to be more meaningful.
Change-Id: I5e67b641717c9704ef4b9f6267390561e4840fff
|
|
|
|
|
|
|
|
|
|
| |
According to the OpenStack translation policy available at
https://wiki.openstack.org/wiki/LoggingStandards debug messages
should not be translated. Like mentioned in several changes in
Nova by garyk this is to help prioritize log translation.
Change-Id: Ia38a426a1a3154302b19f2dc603487175566c863
Closes-Bug: #1318384
|
|
|
|
|
|
|
|
|
|
| |
boolean configuration-group parameters at the moment require a
min/max value of 0/1 to work around some faulty logic that is
meant to validate integer values, but instead validates integer
and boolean values.
Closes-Bug: #1288507
Change-Id: I2d7556621e891b22291c7ef9e9c523e1ce98a047
|
|
This allows users to make custom configurations groups and apply them to
multiple instances. Configuration parameters that can be set are listed
in the validation_rules.json file.
implements blueprint configuration-management
Change-Id: I99b0bfe51c131ace30774e75e30d620101ed2e0b
|