Update the keystone version check logic to use version
attribute to detect the keystone version. The current
check breaks the driver sync logic if the attribute
isn't present in the keystone client object.
Change-Id: I271f39b320aec080e84c47b41b53d32be6879af2
Closes-Bug: #1754589
Update the if check in nova sync code to return instance
flavor from powervc, if the call to get the same from db
failed for some reasons. Also, update the keystone version
check in the common package.
Change-Id: Iafc489ad723ef6732bddda029f1976204deef37d
Closes-Bug: #1742377
When process of powervc-drver connecting keystone failed, it would
give the error message in factory.py, but message objects do not
support str(), so it needs to be modified by using unicode.
Change-Id: I45bbb488300a5fe5c4e4f71265c3abacd775f41d
Closes-Bug: #1730356
This bug tracks the implementation for volume sync and create/attach/detach
for multiattach function. Host status update also fixed along with this bug.
Change-Id: I45a776775473818c75388c3554664982849c4fae
Closes-Bug: #1491723
PowerVC 1.2.3 added complex boot/data volume concepts and it's image
accessible storage connective group's volume type API will return all
volume types for boot and data volume, we expose the PowerVC storage
templates in image's image-topology property and that property need only
include the bootable storage templates based on PowerVC 1.2.3 introduced
boot/data volume concept as we just expose the volume only for boot
volume at this time. The fix is just to exclude the SCG accessible
storage template via it's
['extra_specs']['capabilities:volume_backend_name'] property, and only
include the the storage template with such property value in SCG's
boot_providers list which means that volume type is a bootable volume
types. If SCG does not have such boot_providers property, then we just
ignore such checking.
Close-Bug: #1460563
Change-Id: Ifa608a514ec70b831d04802b728dff14864578ab
There is something wrong with volume v1 api to get volume detail info,
need to use volume v2 client instead of v1 to get local volume.
Change-Id: I76d067d2b1ee13c363dd5c22332d99d277c83f47
Closes-Bug: #1453358
From the latest ICM, versions are stripped from image service,
only ip:port left, in this case only "CURRENT" status client can be
retrieved, that is to say, for image service only v2.3 url returned
but v1.1 is lost, this will fail glance sync progress as both of
v2.3 and v1.1 are necessary, add this workaround to fix the problem.
Change-Id: I2723ae80654a2daffe7e3f7af0dbf73843bbfea2
Closes-Bug: #1450974
Image not synced to latest PowerVC due to design changed.
boot volumes in images now have is_boot_volume = True set in
their metadata. The is_image_volume tag can be used to determine
if the volume is an image volume.
Change-Id: I99c8ad8bc4dc672aa0a35a5ea13c91c527a3cb9d
Closes-Bug: #1436142
To fix powervc resources name out of ascii range:
UnicodeEncodeError: 'ascii' codec can't encode characters in
position 17-18: ordinal not in range(128)
Closes-Bug: #1430179
Change-Id: Icd3bb2d17dbeedbd06e04395cfee97b1eadf129b
This is due to glanceclient update. The glanceclient.common.http.HTTPClient
requires a string, but after the changes commited above,
the tuple is returned and causes the parameter mismatch.
Searched all related potential errors and found only this one. Will fix this on kilo release.
Change-Id: I3afef5ceee57b0c1aeb57696c7f73262f3bf16f1
Closes-Bug: 1407567
oslo.messaging is exposing a new API allow creating listener by
supplying a pool name, then the listeners with that pool name will use
the queue name as the pool name, multiple listeners can be listening
with the same topic.
Change-Id: I220d50fad8cda6f6f50f31215a7a6b98523c35dc
Closes-Bug: #1388663
For better report the host status, I would like to merge the code
for get_host_stats() and get_available_resource(). As most of them
are similar, merge together to easily manage the code.
Change-Id: I1900da06576d2f066c6154306f77f7c721e64cdf
Closes-bug: 1387089
Add a nova cli "nova host-maintenance" to query and enable/disable
the host maintenance mode for a specified host.
For detail usage, please refer to: "nova help host-maintenance".
Change-Id: Ibc3f92521546a82672b1619f7b65416909d92dfc
Closes-Bug: 1386026
nova is switching to use oslo.i18n, oslo.utils, oslo.serialization with
change
d0e0ade702
nova.openstack.common removed some modules that has been replaced by the
ones from oslo.i18n, oslo.utils, oslo.serialization.
Closes-Bug: #1384039
Change-Id: I9fae9b61599a50b54fc40552b2c90fceb75d8522
Image updated failed when the glance-powervc did the periodic
sync , it is because of the code changes of the component
glanceclient in the openstack community.
Change-Id: I149faeb1631c0f996ff529325eb8a71d9d92efc0
Closes-Bug: #1379637
Fix the issue that neutron-powervc debug utility needs a conf file and
also remove other powervc python program needs to add config files
during startup, set the default configure file for ampq files if those
are not presented in CLI.
Closes-Bug: #1375618
Change-Id: Idfc1a43a5e583678106b8d1cbed2738c1863254c
Remove the log.isEnabledFor in message.py as neutron does not sync the
oslo-incubate as nova's level, there is no isEnabledFor at this time in
neutron openstack.common.log.
Closes-Bug: #1373416
Change-Id: I1abda8017f55785e807d20dfa4d574c0a7016f60
In order to select an SCG / Storage Template , we add an extra
propertity to image properties , UI could use this data to format
the data for user to select the specific SCG / Storage Template ,
and also, other components which consumes PowerVC images in
Openstack can also leverage this.
Change-Id: I4b9dba719dada3823dc159748d15a3266ca9efa3
Closes-Bug: #1362904
To support GET the "host maintenance mode" from PowerVC by
PowerVC Driver, and evacuation all host out of the maintenance
entered host by PowerVC Driver. The design finally goes to Implement a
new nova rest-API for Get/Set maintenance status, and evacuate
vm during maintenance.
Change-Id: I9fba6b47e143ae8ea2165573302448fcdc61406f
Closes-Bug: 1372730
glance client is not refreshing the keystone token after expiration with
it's commit:
dbb242b776,
we need to patch this in our glance client to refresh the auth_token in
it's session head.
Closes-Bug: #1370402
Change-Id: I9c7a6620a587e855d7f9df8ad83450489daa8247
This is based on Oslo messaging API that supports RPC and notifications over a
number of different messsaging transports.
* remove old powervc.common.messaging and create a new one to adapt to Oslo
messaging
* adapt all sync service managers to new messaging model
Change-Id: I0c9b4a9fa5bb5d0eaac1433e768a110871d8dab8
Closes-Bug: 1363618
* Extract and remove --config-file amqp_openstack.conf(or
amqp-openstack-neutron and --config-file amqp-powervc.conf from sys.argv to
create 2 AMQP cfg.ConfigOpts objects without conflicting with other options
parsing as before, particularly those OpenStack AMQP configurations in
[DEFAULT] section of nova.conf, cinder.conf.
* adapt all affected code to the new config strategy
Implements: blueprint
https://blueprints.launchpad.net/powervc-driver/+spec/new-configuration-strategy-needed-to-adapt-to-oslo-messaging
Closes-Bug: 1356225
Change-Id: I61a4fd0c28148e31a8cb85acea3793f40028dfb4
Because of the code change of glanceclient , the component of glance-
powervc could not do the image sync sucessfully.
Change-Id: If0b31e20ec645478584c2dc08ad0aa48bb8db392
Closes-Bug: #1369817
As a cloud admin, it is able to set the host managed by PowerVC to
"maintenance mode" and disable the "maintenance mode" support, through
PowerVC Driver.
1. If set maintenance mode to "true" it responses: "on_maintenance"
2. If set maintenance mode to "false" it responses: "off_maintenance"
3. If set maintenance mode to "true" when the host is already in
maintenance mode, it will report the error message from PowerVC to user.
Change-Id: I59ef830244202a4337ad72292e6341406b8464d3
Closes-Bug: #1363912
This is actually timing issue between openstack service endpoints becoming
active and powervc-driver's client initialization of those.
1. get_client() call with version_filter might runs into the 'None' client
error mentioned in the bug, which means *currently* only glance sync is
affected. When no version filtered, we do a rediscover for the svc_type.
2. get_client() call without version_filter or new_client() call just choose
the latest avaiable version service, so no 'None' client error, although the
chosen version might not be the real *latest* but the default hardcoded 'v1'
version, due to the timing issue mentioned in the bug. For the latter case,
unless there is an observation/notification mechanism or poll mechanism for
service versions update, based on current design, there is no perfect solution
as far as I can imagine.
Change-Id: I9ca0f906c8954ecd621be22445c12fd6a55a1ae7
Closes-Bug: 1358215
In Juno Release , "python-glanceclient" component changes code in the
dir "glanceclient/common" to replace the old http client implementation
in favor of a new one based on python-request. This leads to glance
driver image sync failed because of lack of http client attributes and
using the method that has never been in new httpclient.
Change-Id: I06419f792e949fed353277851f9f0f67ba38729d
Closes-Bug: #1349651
(cherry-picked from 20152f86f9)
Change-Id: I9c7f80b9f5849ac5d9d5f4b20d0ddd62074f2bfd
There are some flake8 issues in each component that are not based
on coding style rules .
And There are some unittest issues in some component that need to
be fixed
Change-Id: Ic9a3f2c3b779ced225a42f69a495a606cb62517e
Closes-Bug: #1350160
In Juno Release , "python-glanceclient" component changes code in the
dir "glanceclient/common" to replace the old http client implementation
in favor of a new one based on python-request. This leads to glance
driver image sync failed because of lack of http client attributes and
using the method that has never been in new httpclient.
Change-Id: I06419f792e949fed353277851f9f0f67ba38729d
Closes-Bug: #1349651
Current message listening thread will die when it received unsupported
message format (e.g. application/json). The issue will cause remote qpid
broker backup all messages for this listener forever. When such backlog
comes to a limit, qpid broker will refuse to put through new messages.
Fix changes this behavior with following changes:
1. Add logic to parse application/json format messages.
2. Add extra path to ignore unsupported message format
3. Catch unexpected exceptions in listener loop to avoid unexpected
listener termination.
Change-Id: I666c596f5725df25b548d82c733aa853fce7147c
Closes-Bug: #1349227
In keystone V3 client, the tenants attribute is replaced by projects.
Change the driver's usage to use this new attribute and be compatiable
with the V2 keystone at the same time.
Change-Id: Idf5c76d6dcdf866047b6b4ceb803149f6fbcfd8c
PowerVC driver will authenticate hosting openstack's keystone, and we
need to add some retry logic while creating the keystone client for the
hosting openstack.
Closes-bug: #1334508
Change-Id: Iae5936d1fdd75494ed8ec0057d8480c9626ed591
We need to supply the region_name while creating the various openstack
clients in the common client code, then the client will work well with
the multiple regions.
Closes-Bug: #1323172
Change-Id: Idb30739b84d3813dd970f735b5789c564eb0759d