This change adds relations necessary for registering a compute cell
with the superconductor. For a cell to be registered this charm
must have relations with the compute cells conductor, database and
message queue. Only when all these relations are complete can the
registration happen. Below are major changes included in this PR.
* Add nova-cell-api relation for communicating with the
nova-cell-conductor
* Add shared-db-cell relation for communicating with the
a compute cells database.
* Add amqp-cell relation for communicating with the
a compute cells message queue.
* Add methods for registering cells with the
superconductors database.
* Charm helper sync
Change-Id: I54f98c1d420b6a6b1dd8ed7dbd00a2362b584b81
Replace charm custom init control functions with `service_pause`
and `service_resume` functions from charm-helpers.
Change-Id: I235af30a19294316f65fba0e13fe10ae50164a42
Closes-Bug: #1765215
The comparison of bytes vs string of the CA certificate produces a
false negative. This leads to rewriting certificates and affecting
connectivity to services.
Read in the certificate as bytes as well for a bytes vs bytes
comparison.
Closes-Bug: #1762431
Change-Id: Ie2348a83671b9636bd94227e903b1a50bff7aecc
As of pip 10.0, --allow-unverified is not permitted.
Use of the flag in this repo was previously used to force
installation of python-apt to accommodate certain unit tests.
The unverified package, python-apt, is no longer necessary
for test execution.
Related-Bug: #1760720
Change-Id: I9d5b2d5139ed61ff9d7f116c33e3e145362b46e1
Ensure that only the elected leader can add compute hosts to the
cell in cloud-compute-relation-changed as database commands should
only be run by the elected leader.
Change-Id: I4806580f58e2a2feba82c74d9d5ff29dfb220c9e
Closes-Bug: #1752402
Sync in the charm-helpers to use the new VolumeAPIContext object
in order to determine the volume catalog info to use in the
configuration file.
This is simply an alternative implementation for commit 16ae06bf
which separates the concerns for volume endpoint context and
internal endpoint context.
Change-Id: I187bc8ef5644a59dc5a0b5f7ad66774812a78b78
Related-Bug: #1733566
map_instances only needs to be run during the transition from
Newton to Ocata to map existing instances into a cell. All
new Ocata instances will be automatically mapped to a call.
This change limits the slow running map_instances command to
just run for upgrades to Ocata
Change-Id: Ic2e2df530504284d28cfcab26a71d211342203fa
Closes-Bug: #1743357
nova-manage map_instances maps all instances into a cell in batches
of 50 if max-count is not set. Setting max-count causes the script
to run a single batch of size max-count. The return code of the
script shows if there are still more to do. This change runs
map_instances repeatedly with a batch size of 50000 while rc is 1
and then exists cleanly when a rc 0 is recieved.
Change-Id: Id1184778a5ae94bb3b57348b10d12077b093d6dd
Partial-Bug: #1742115
Add an amulet test to check pci-alias setting is propagated
properly into nova.conf. This is a prerequisite for work to support
setting multiple aliases.
Depends-On: I6ac49b0a2782df2ebc8f3d1fe299dec3cc078d7c
Change-Id: Ic8d51dfb3130670cd6810ca80378d6ef8c0d0346
Add an action for moving stale data to shadow tables using
nova-manage *1. This will speed up other operations such as
map_instances which no longer need to work against stale
data.
*1 https://docs.openstack.org/nova/pike/cli/nova-manage.html
Change-Id: I03f3d641b50cfc6f02262edb0f714ba6e9566775
Partial-Bug: #1742115
Drop support for deployment from Git repositories, as deprecated
in the 17.02 charm release. This feature is unmaintained and has
no known users.
Change-Id: I2fe15b648d485e5b03965a00dee6324669ebe9fa
Keystone now orders the elements of the username when constructing
a username for multiple services. Update amulet to expect the
new username (only actually affects icehouse).
Change-Id: I6ac49b0a2782df2ebc8f3d1fe299dec3cc078d7c
Closes-Bug: #1739409
Depends-On: I0f857d7c2d5c4abf4843bc3fe1a9848164048fe2
Remove postgresql DB support; This feature is untested as part
of the charms, is not in use and was deprecated as part of
the 1708 charms release.
Change-Id: I866559f519ace3476e0cc85661d99e5f5491227d
Support for the ZeroMQ messaging driver has bit-rotted over
the last few years across the OpenStack charms; drop support
for ZMQ inline with deprecation notices issued in 17.02 charm
release.
Change-Id: I39e464b289c9df842ca73e64c7576ba0531963ae
The default HAProxy timeout values are fairly strict. On a busy cloud
it is common to exceed one or more of these timeouts. The only
indication that HAProxy has exceeded a timeout and dropped the
connection is errors such as "BadStatusLine" or "EOF." These can be
very difficult to diagnose when intermittent.
This charm-helpers sync pulls in the change to update the default
timeout values to more real world settings. These values have been
extensively tested in ServerStack. Configured values will not be
overridden.
Partial Bug: #1736171
Change-Id: I0a3a8f0dd2dedcc8e02dd6af2f5486501698833e
volumev2 api is deprecated for >= Pike so switch
internal endpoint to v3 for Pike onwards.
Change-Id: Icb9861efbd650b079f507ca585818e95921dc42a
Partial-Bug: 1733566
Bionic, being the next LTS, is important to enable for dev
and test as early as possible ahead of 18.02.
Zesty goes EOL in Jan 2018. The next stable charms release (18.02)
will not provide Zesty series support, as it was an interim
(non-LTS) release.
Change-Id: I4052507a8ff6bf24a4699cd8ab6bcee950157835
nova mitaka doesn't have http_proxy_to_wsgi
but mitaka nova has issue related to this.
I backported commit 6051f30a, b609a3b32 to api-paste.ini.
Change-Id: Ibeb8f655504ecfc1763743faa52f7e3aa552c3c4
Related-Bug: #1573766
For >= Ocata the nova.conf template is adding filters
to an incorrect section unless additional filters are
defined due to a typo in the template. This patch
ensures that filters are always set in the
[filter_scheduler] section.
Change-Id: Iad5d830dd530ea27ddd3b92a39c15524e48af0aa
Closes-Bug: 1731319
Running the current unit tests you keep getting prompted
for root password because of a load of missing mocks.
This patch mocks out functions that there left unmocked
in unit tests that were not actually testing them.
Change-Id: I6d7dac4f900f133a4d1ac64e431ffcb6b2cfd58e
Fixes code that inadvertently interprets strings as
booleans resulting in them always being True.
PciPassthroughFilter will now only be added to
scheduler_default_filters if sriov is enabled.
Change-Id: Ie2c79e98d7880e8172ac7e77febb51af04732bec
Closes-Bug: 1730369
We already support configuring ram and cpu overcommit so
this patch adds the ability to control disk overcommit.
Change-Id: Ib172e8b48cb34de4beb9cec1a277dc43ded36eed
Closes-Bug: 1726346
Update all nova-manage commands to use subprocess.check_output()
and log subprocess.CalledProcessError.output on failure. This
will help capture nova-manage error details on first failure.
Specify cell1 uuid on discover_hosts call. This doesn't change
behavior, it is just more explicit and useful if we move to
multiple cells in the future.
Introduce an is_cellv2_init_ready() function that uses contexts to
check if cells_v2 is ready to initialize. This cleans up the
corresponding TODOs.
Move checks for cell v2 init readiness to update_cell_db_if_ready(),
also cleaning up corresponding TODOs.
Change-Id: I313edce84d3d249031e020a4fbb4baf216c01ddb
Related-Bug: 1720846
After the previous commit landed it was suggested on that it would
be cleaner to return early from identity-service-relation-joined
if the cluster was partially formed rather than use a long if/else
. This change makes that style update.
Change-Id: I9dab5d930e13dda6cfe2c6e11648587c87bdb955
Partial-Bug: #1544959
When an existing cluster of the service is scaled out the new unit
will join with keystone before it is fully clustered. In identity
joined hook the charmhelpers function canonical_url is called which
in turn uses another charmhelpers function, resolve_address.
resolve_address will only return the vip if the vip is set in config
AND the unit is clustered. This means that the units local address
is returned and that is then registered with keystone.
This change gates registering an endpoint if the cluster is
partially formed.
Change-Id: Ibe7d2286de130f045257ad6552f7a5b1279958b6
Partial-Bug: #1544959