Attached volumes already had support for explicit volume type,
availability zone, and instance locality. Extend this capability to
boot volumes.
(For posterity's sake, a summary of why other options related to
attached volumes were not in fact appropriate for boot volumes:
- volumes_per_node: there can only be one boot volume
- volumes_size: boot volume size given by flavor
- volume_mount_prefix: boot volume handled differently)
Change-Id: I009c0da4179c880fd87a7c1903c93825e8997a38
Story: 2004507
Task: 28229
There are a large number of unnecessary joins which are currently
duplicating data and increasing the number of rows for simple
SQL queries.
It is not very easy to add the lazyloading again without a big
change in the architecture due to the dependence of these
components. For those relationships that require to be there,
they will use `subquery` which will send much less data over
the line. For the relationships that can be lazyloaded,
it was dropped.
Change-Id: Iddaaf7168611763a6fa76818e3be9d1aa24d8021
Introduces a new field called anti_affinity_ratio.
Creates more server groups in case the
user defines the anti_affinity_ratio more than 1.
Default value of anti_affinity_ratio is kept 1.
Instances are placed in the server groups in round-robin
fashion.
Partially-Implements: blueprint improving-anti-affinity
Change-Id: I86bda256ea661fa0ba9d6d3819477edff080bcee
This patch implements designate integration. Added:
* 'use_designate' and 'nameservers' configs
* 'domain_name' column to Cluster and Cluster Templates and
'dns_hostname' to Instance in DB
* get_management_ip() method for Instance for properly setup
hostnames in cluster info and use it in ambari, cdh, mapr, spark,
storm and vanilla plugins
* method for change /etc/resolv.conf on all cluster instances
according to 'nameservers' config
* method for generate heat template for designate A and PTR records
* validation check for cluster template creation because now it
contains new field - 'domain_name'
* fix unit tests appropriatly and new tests added
* updated heat_template_version to '2016-04-08' (because we use
'str_split' method)
NOTE: in spec we proposed to use two domains: one for internal
resolution and another for external. But we decided to use only one
domain for both sides so an instance will have one hostname in the
domain and two appropriate A records because it's more convenient.
bp: designate-integration
Change-Id: I66525c0305450d8ba08840be1c95bfe79f21fff7
this change is only provides a basic implementation
of db objects related to plugin's api
Change-Id: I320a5b46f9d1e14cc3db81757808f062d6aa60a6
bp: plugin-management-api
this change implements basic things requried for
cluster verifications:
* API modifications;
* DB implementation and conductor ops;
* basic health checks;
* periodic job.
Partially implements blueprint: cluster-verification
Change-Id: I1b975c9a5e5241c660de66a04bf559fc8f960873
Currently only cinder volumes can be formatted and mounted.
This patch provides an ability of formatting and mounting
any attached storage devices. Also storage_paths method was
moved from node group objects to instance and corresponding
fixes in plugins was made.
Closes-bug: #1478899
Closes-bug: #1478904
Change-Id: If92d6fdea25e374d6d5c404be5ac3677cb60c057
The "oozie_job_id" column in table "job_executions" represents
oozie_job_id only when the edp engine is oozie. When it is spark
engin, oozie_job_id = pid@instance_id, when it is storm engine,
oozie_job_id = topology_name@instance_id.
Rename oozie_job_id to engine_job_id to aviod confusing.
Change-Id: I2671b91a315b2c7a2b805ce4d494252860a7fe6c
Closes-bug: 1479575
Adding new fields to support shared resources and
ability to prevent unintentional changes.
Partially-Implements: blueprint shared-protected-resources
Change-Id: I200944ac876e476ea0659d502a55e5f9b2a158ee
When using Ipv6 a column size of 15 is no big enough. We need to
increase these two columns to 45.
Closes-bug: 1470999
Change-Id: I5843878bb441748d80e2d7de02a232cf1d937d88
Adds API and operations for mounting Manila shares to clusters at
both the cluster and node group level.
Implements: blueprint mount-share-api
Change-Id: I98fd1b97f4639161396ab44ebcb1508fca648a06
This patch implements base recommendation provider for vanilla 2.6.0. Also
added new fields in database for cluster and node groups which will allow
to switch off autoconfiguration.
Partial-implements blueprint: recommend-configuration
Change-Id: I9abb6b9c04494f4aed9b72479c06e45fe289c1ff
This change adds an "interface" map to the API for job creation, such that
the operator registering a job can define a unified, human-readable way to
pass in all arguments, parameters, and configurations that the execution
of that job may require or accept. This will allow platform-agnostic
wizarding at the job execution phase and allows users to document use of
their own jobs once in a persistent, standardized format.
Change-Id: I59b9b679a650361ddcd30975891496fdfbabb93c
Partially Implements: blueprint unified-job-interface-map
Added ability to use placeholders in datasource URLs. Currently
supported placeholders:
* %RANDSTR(len)% - will be replaced with random string of
lowercase letters of length `len`.
* %JOB_EXEC_ID% - will be replaced with the job execution ID.
Resulting URLs will be stored in a new field at job_execution
table. Using 'info' field doesn't look as good solution since it
is reserved for oozie status.
Next steps:
* write documentation
* update horizon
Implements blueprint: edp-datasource-placeholders
Change-Id: I1d9282b210047982c062b24bd03cf2331ab7599e
Changes:
* Move updating provision progress to conductor;
* Remove redundant conductor ops;
* Improve all updates operations.
This change would improve complexity of all event log operations
and decrease number of updates of provisioning steps.
Also we remove unneeded fields in base, because we can calculate
it very easy from UI.
partially implements: bp event-log
Change-Id: I63c593d5ba27879edc2142a1e2ab310628ee045c
* 'is_default' field (default False) prevents update or deletion of templates
* 'ignore_default' flag (default False) on database operations defeats
the 'is_default' field on a template
Partial-implements: blueprint default-templates
Change-Id: I973df823981ca1a92d0dd116e32e1eacd79c56a7
API was extended and db schema was changed to support
instance locality
partially implements bp: volume-instance-locality
Change-Id: I245ebe7d7704013e8d11afc5893d46d7d9c74467
Changes:
* Endpoint clusters/<id>/progress was removed;
* Added flag to get progress directly from cluster;
* Event log testing skipped until new release of client
partially implements: bp event-log
Change-Id: I48b575acd0363fda3db91b69a3b952e0426c1f96
* Added "is_proxy_gateway" field to nodegroups
* Made floating IP not required for nodes if there is proxy gateway
* implemented access through proxy both for ssh and http connections
* introduced interactive ssh command for remote nc execution
Implements blueprint: indirect-vm-access
Change-Id: I9b5553e9e08e3df0f928effdace5946fdfc5aa68
Add a new 'volumes_availability_zone' option for node groups, that
enables creation of volumes in a specific Cinder AZ.
Change-Id: Ia17d1628c7d5d06f0924edc8f92a0d26fff143e0
Implements: blueprint support-cinder-availability-zones
Extend API to support Nova availability zone selection for node groups
and node group templates. This patch modifies the two provisioning
engines (direct and Heat) and includes changes to the DB schema.
DocImpact
Implements: blueprint support-nova-availability-zones
Change-Id: Id03848fd8d5949fa5ecbc494639fe59a70ddced3
+ Added validation check on scaling using other engine
Change-Id: I3f36b949d1388f809c33334be6fcd0bdb30ade7a
Implements: blueprint cluster-persist-sahara-configuration
Added ability to ask Sahara to create security group for node group. Feature
is only implemented in vanilla plugin 1.2.1 so far.
Partially implements: blueprint cluster-secgroups
Change-Id: I21d0196396bb966fe3d88f5445e98aebe90ad94b
1. Removed all error handling in provisioning engine and moved it
to ops.
2. Implemented general logic on handling with deleted cluster
Implements blueprint error-handling-in-provisioning
Change-Id: Ia161dea1c726bd95157a279eb0f2917af2516b07
Extended API to support list of security groups in node groups and
node group templates. Changed db schema and provisioning engines (both direct
and heat) accordingly.
Partially implements: blueprint cluster-secgroups
Change-Id: I49d3551f6987552ff6398e8c87e22388f914f287
Convert column type to
* Text for psql - unlimited size
* LongText for mysql - max size 2^32
Also fixed template for autogenerated migrations: added a blank line to
avoid pep8 violation.
Closes-Bug: #1338933
Change-Id: Ie4c4f57aeb7ff03aa7f6077629f6463a136f8f4b
Rename the subdirectory and replace all instances
of "import savanna" with "import sahara" and all
instances of "from savanna" with "from sahara".
* Replaced mock patches like mock.patch('savanna...
* Updated config generator script
* Renamed entry points in setup.cfg
* Hacking checks also fixed
* Manual renaming in alembic scripts to force work migrations
* Fix doc building
* Renamed itests directories
* Some changes in gitignore
* Removed locale dir after rebase
Co-Authored-By: Alexander Ignatov <aignatov@mirantis.com>
Change-Id: Ia77252c24046c3e7283c0a7b96d11636020b949c
Partially implements: blueprint savanna-renaming-service