Commit Graph

269 Commits

Author SHA1 Message Date
OpenDev Sysadmins 4dad7184b0 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:49:51 +00:00
zhangchi 38741d8b2e update trio2o image filter
1. what is the problem?
    right now trio2o image filter can not suppport  tags or created ..

2. What is the solution to the problem?

   update image filter function

3. What the features to be implemented in the Trio2o to realize the solution?

   none

   Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
   co-Authored-By: tangzhuo <ztang@hnu.edu.cn>er the commit message for your changes. Lines starting

Change-Id: Ie87c8eb3f0c4355d672175b2fc911da076683314
2019-03-27 10:45:15 +08:00
zhangchi 4ae40a5b86 make trio2o novaapi gw get nova server info more details .
1. What is the problem?

make trio2o get info more detail

2. What is the solution to the problem?
perfect nova apigw get nova server info more detail

Change-Id: I93a01e2e97ad8cee26aee9af2e6567143cd7244c
Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
Co-Authored-By: tangzhuo <ztang@hnu.edu.cn>
2018-12-29 16:56:27 +08:00
zhangchi eed5dcbc76 Add response from nova apigw delete flavor
1. What is the problem?
right now FlavorManageController delete flavor has no response

2. What is the solution to the problem?
add response from delete flavor

Change-Id: Id04bb814d9bfd814ad261890a72649ee671ce380
Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
Co-Authored-By: tangzhuo <ztang@hnu.edu.cn>
2018-11-30 10:19:33 +08:00
zhangchi bf3d738762 Make Trio2o nova apigw get image infos more detail
1. What is the problem?

right now trio2o apigw get image information not complete

2. What is the solution to the problem?
perfect the information for trio2o nova apigw get image infos

Change-Id: Ia41f3546aa751c3ee78528fb5707edd941fbe3f8
Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
Co-Authored-By: tangzhuo <ztang@hnu.edu.cn>
2018-11-29 08:43:35 +00:00
zhangxiaohan 87993cd26a Server external event notify response expection
1. What is the problem?

when create vm, neutron notify to nova about network-vif-unplugged event.
trio2o response list to neutron rather than dict.

2. What is the solution to the problem?

The response data is returned in server external event post processing
using {' events' : event_list}

Change-Id: Id6b4c5447cd1408c6f8e9d2fffbedd8c8a584d5d
Signed-off-by: zhang xiaohan <zhangxiaohan@szzt.com.cn>
Co-Authored-By: tangzhuo <ztang@hnu.edu.cn>
2018-09-30 11:22:39 +08:00
BruceChiZhang fdc50d86d9 Pod1 and RegionOne already exits after devstack installation
1. what is the problem?
    https://bugs.launchpad.net/trio2o/+bug/1795117
    Region Pod1 and RegionOne already exists after devstack installation

2. What is the solution to the problem?

   fix the bug in doc/source file installation guide

3. What the features to be implemented in the Trio2o to realize the solution?

   none

   Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
   co-Authored-By: tangzhuo <ztang@hnu.edu.cn>

Change-Id: I8e127353e94b275981fbb654259325e8035ee2ea
2018-09-29 08:08:03 +00:00
BruceChiZhang 3ea5c24e99 devstack install trio2o service endpoint with port 19996
1. what is the problem?
    trio2o endpoint with port 19996 not create
    https://bugs.launchpad.net/trio2o/+bug/1793517

2. What is the solution to the problem?

   fix the bug in devstack plugin.sh create_trio2o_accounts script  

3. What the features to be implemented in the Trio2o to realize the solution?

   none

   Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
   co-Authored-By: tangzhuo <ztang@hnu.edu.cn>

Change-Id: Ic71debedbf14e4f94a346d5fbca5ca5617040c1a
2018-09-21 01:07:35 +00:00
BruceChiZhang 974c08d081 add delete flavor test case for trio2o
1. what is the problem?

   flavors case  has not finished

2. What is the solution to the problem?

   complete the test finished create  all flavors

3. What the features to be implemented in the Trio2o to realize the solution?

   Signed-off-by: zhangchi <zhangchi@szzt.com.cn>
   co-Authored-By: tangzhuo <ztang@hnu.edu.cn>

Change-Id: I16873ecd4002abdaf214b29c6bec199e7958b443
2018-09-04 07:24:49 +00:00
zhangxiaohan d2814db497 Trio2o work with the new OpenStack version
1. What is the problem?

Since trio2o stops updating after version M, it is adjusted accordingly
to adapt to the latest version openstack.

2. What is the solution to the problem?
Adjust the new compute and volume endpoint.
Add the server_external_event forward and os-service fetch.
Some bugs were fixed.

Change-Id: I9d0a1deb011a33750985e88c72fe4fad71a32be2
Signed-off-by: zhang xiaohan <zhangxiaohan@szzt.com.cn>
Co-Authored-By: tangzhuo <ztang@hnu.edu.cn>
2018-08-29 17:34:00 +08:00
Nam Nguyen Hoai f4d2d5458f Use generic user for both zuul v2 and v3
Zuul v2 uses 'jenkins' as user, but Zuul v3 uses 'zuul'.
Using $USER solves it for both cases.

Change-Id: I7e13aeb40cbb1800623c7a261a44b3096c5ef243
2017-10-18 14:03:38 +07:00
Jenkins 7987a895ee Merge "Implement force detach volume" 2017-05-25 02:11:54 +00:00
Chandan Kumar acaf62fd4d Fixed trio2o tempest plugin config
The trio2o tempest plugin is using the trio2o project config
which overrides the tempest config while running tempest plugin tests
with tempest. It leads to the failure of tempest command. We need to
use oslo_config for specifiying tempest plugin config for trio2o
to avoid overriding and avoid the above failure.

Change-Id: Ia8a165d496c6520313f1454d11f98adb8830d027
Closes-Bug: #1692291
2017-05-21 12:48:10 +05:30
wenxiong zou bc3c4b1699 [urgent]Adapt new Keystone URL
1. What is the problem?
Now Keystone uses uwsgi with proxy[1], and this is the default mode
in DevStack. In this case, the original URL with 5000/35357 port can
no longer be accessed, this change will lead to Trio2o gate/check
test always failure if no adaption is made in Trio2o configuration.

2. What is the solution to the problem?
Change Keystone public URL Trio2o uses from
http://host:5000/v3 to http://host/identity and
change Keystone admin URL Trio2o uses from
http://host:35357/v3 to http://host/identity

For tempest test, change http://host:5000/v2.0/
to http://host/identity and change identity version
from 2 to 3 in post_test_hook.sh.
In post_test_hook.sh, add admin_domain_name option.

This patch also fixes a mistake which was hidden before this Keystone
change. While generating Trio2o apache configuration file in our
DevStack script, TRIO2O_BIN in the template is not replaced by
the real value. So the directory access right is not correctly granted.
Before this Keystone change, Keystone apache configuration file will
grant right on the same directory, so we didn't notice this problem.

3. What features need to be implemented to the Trio2o
to realize the solution?
N/A

[1] https://github.com/openstack-dev/devstack/commit/
    6ed53156b6198e69d59d1cf3a3497e96f5b7a870
[2] https://github.com/openstack/neutron/commit/
    46d1a890e700dfa6e921387569f87f793ca4e8e9

Change-Id: I4e1e38b1c07f453fcf2cfed39a16342f235c06b1
2017-05-15 19:08:53 +08:00
hejiawei 98940f1b24 Implement force detach volume
1.what is the problem?
In Trio2o, when a volume is in a stuck 'attaching' or 'detaching', Pod
can not detaching it by nova-apigw 'detach volume', so that this volume can
not reuse by ohther Pod. In addition, it may cause un-synchronization between
the Cinder database and the backend storage.
   There is an user case in nova[1]. It may also occur on a trio2o Pod.
We don't need to worry about its security, because the Cinder api
'os-force-detach' is for safe cleanup. More user case and information
about 'force detach' in this document[2].

2.what is the solution to the problem?
We use Cinder api "os-force-detach" to detach it.

3. What the features need to be implemented to the Trio2o
   to realize the solution?
Implement the force detach server action.

[1] https://blueprints.launchpad.net/nova/+spec/add-force-detach-to-nova
[2] https://github.com/openstack/cinder-specs/blob/master/specs/liberty/implement-force-detach-for-safe-cleanup.rst

Change-Id: Iea15c4d9ce469fb640e7e98c1859a18fe12ce7f3
2017-05-02 19:46:14 +08:00
Jenkins b2c436bfca Merge "The framework of dynamic pod binding" 2017-04-14 07:07:10 +00:00
Dongfeng Huang 5cbf4c74e6 Synchronized patch: Nova API-Gateway Server Action Support(part2)
1. What is the problem
Originally this patch was committed to the Tricircle and provided
server action support, but after Tricircle narrowed its scope to
networking automation across Neutron, these API-Gateway features
implemented in this patch were no longer used. However Trio2o needs
these functions, so we plan to synchronize this patch from Gerrit
to Trio2o. You can find the old patch on Gerrit here[1].

The current Nova API-Gateway does not support following server actions:
   reboot: Reboot a server
   resize: Resize a server
   confirmResize: Confirm a pending resize action for a server
   revertResize: Cancel and revert a pending resize action for a server
   os-resetState: Reset the state of a server

2. What is the solution to the problem
Implement the above server actions.

3. What the features need to be implemented to the Trio2o
to realize the solution
Add the above server actions.

[1] https://review.openstack.org/#/c/369958

Change-Id: If0feb3d31fc7877ead84424c7329051857f23628
2017-04-12 19:46:28 +08:00
Dongfeng Huang 84396eb456 The framework of dynamic pod binding
1. What is the problem?
Originally this patch was committed to the Tricircle and provided
dynamic pod binding support. After splitting this feature should be
put in Trio2o. So we plan to synchronize this patch from Gerrit
to Trio2o. You can find the old patch on Gerrit here[1].

In the Trio2o, each tenant is bound to multiple pods, where it creates
various types of resources. However such a binding relationship should
be dynamic instead of static. For instance, when some resources in a pod
are exhausted, tenant needs to be bound to a new pod in the same AZ.

2. What is the solution to the problem?
To deal with the above problem, the Trio2o dynamically binds tenants
to pod which has available resources. We call this feature dynamic pod
binding, which is explained in the spec[2] in detail. In this patch, we
only try to bind a tenant to a pod dynamically, when she tries to create
a VM.

3. What the features need to be implemented to the Trio2o to realize
the solution?
When a tenant creates a VM, the Trio2o first selects all available
pods for her. Then by filtering and weighing the pods, the Trio2o
selects the most suitable pod for the tenant. Next, the Trio2o queries
database for current binding relationship of the tenant. If the tenant
is not bound to any pod, we create a new binding relationship, which
binds the tenant to the selected pod. If the tenant is already bound to
a pod, and the pod is not the one selected by the Trio2o, we update
current binding relationship, which binds the tenant to a new pod. If
the tenant is already bound to a pod, and the pod is exactly the one
selected by the Trio2o, the Trio2o does nothing.

[1] https://review.openstack.org/#/c/356187
[2] https://review.openstack.org/#/c/306224

Change-Id: I1c884ce47ace919f732d98ee154bdd59ed22cd74
2017-04-12 15:01:52 +08:00
southeast02 5e0b634248 Synchronized patch: Nova API-Gateway Server Action Support(part1)
1. What is the problem
Originally this patch has been committed to the Tricircle and provided
server action support, but after Tricircle narrowed its scope to
networking automation across Neutron, these API-Gateway features
implemented in this patch were no longer used. However Trio2o needs
these functions, so we plan to synchronize this patch from Gerrit
to Trio2o. You can find the old patch on Gerrit here[1].

The current Nova API-Gateway does not support following server actions:
   os-start: Start server
   os-stop: Stop server
   lock: Lock server
   unlock: Unlock server
   pause: Pause server
   unpause: Unpause server
   resume: Resume a suspended server and change its status to ACTIVE
   suspend: Suspend a server
   shelve: Shelves a server
   unshelve: Unshelves a server
   shelveOffload: Shelf-offloads or removes a shelved server
   migrate: Migrate a server to a host. The scheduler chooses the host
   forceDelete: Force-delete a server before deferred cleanup
   trigger_crash_dump: Trigger a crash dump in a server

2. What is the solution to the problem
Implement the above server actions.

3. What the features need to be implemented to the Trio2o
to realize the solution
Add the above server actions.

[1] https://review.openstack.org/#/c/366606/

Change-Id: Ie364735106f742e326b2aef5d961c418d55376c1
2017-04-12 09:51:31 +08:00
southeast02 20a52de7ea Synchronized patch: Support policy control on Admin-API request
1.What is the problem
Originally this patch had been committed to the Tricircle and provided
policy control support. After splitting Trio2o needs these functions, too.
So we plan to synchronize this patch from Gerrit to Trio2o. You can find
the old patch on Gerrit here[1].

Currently Admin-API is to manage pod and pod-binding, the Admin-API
access is hard coded, and only admin role is allowed. OpenStack
usually use policy.json based authorization to control the
API-request. Policy feature is missing in the Trio2o.

2. What is the solution to the problem
Remove hard coded Admin-API request authorization, use policy instead.
For Nova API-GW and Cinder API-GW, the API access control should be
done at bottom OpenStack as far as possible if the API request will
be forwarded to bottom OpenStack directly for further processing;
only these APIs which only interact with database for example flavor
and volume type, because these APIs processing will be terminated at
the Trio2o layer, so policy control should be done in Nova API-GW
or Cinder API-GW. No work needs to do in Trio2o Neutron Plugin for
Neutron API server is there, Neutron API server will be responsible
for policy control.

3. What the features need to be implemented to the Trio2o
to realize the solution
In this patch, default policy option and rule, and policy control
in Admin-API were added. Using the default option and value to
generate the policy.json will be implemented in next patch. No
policy.json is mandatory required after this patch is merged,
if no policy.json is configured or provided, the policy control
will use the default rule automatically.

[1] https://review.openstack.org/#/c/356262/

Change-Id: I61cab299d1286dcc2729dd943f4134c427d79bb1
2017-04-10 13:23:03 +08:00
Dongfeng Huang 54528b0381 Fix the issue in tempest test for volumes
1. What is the problem
Glance V1 API has been deprecated, so the V2 API should be used
instead. And pagination tempest test cases were added, but Trio2o
doesn't support volumes pagination yet.

2. What is the solution to the problem
Use V2 API in Glance client, and add pagination support for cinder
volumes.

3. What the features need to be implemented to the Trio2o
to realize the solution
N/A

Change-Id: Ia580cc5f848be82bfc1b880f3fcdf8d7d2615789
2017-04-10 12:46:05 +08:00
OpenStack Proposal Bot 625f46c38e Updated from global requirements
Change-Id: I3de14c17efb6ef14acdf76c09e8878612ba02126
2017-04-07 06:18:25 +00:00
Jenkins e82d93a038 Merge "Implement create backup for Cinder-API-GW" 2017-02-27 07:47:34 +00:00
hejiawei 57ca1b8473 Implement create backup for Cinder-API-GW
1.What is the problem?
In Trio2o, backup service in Cinder-API-GW is unimplemented,
there are six features in this service as followed:
*List backups with details;
*Show backup details;
*Delete backup;
*Restore backup;
*Create backup;
*List backups;

2.What is the solution to the problem?
This patch adds the unimplement feature "create backup" in
Cinder-API-GW.

3.What the features need to be implemented to the Tricircle
  to realize the solution?
"Create backup" is implemented in this patch.

Change-Id: Ifc1962c9c33c4bc995e8c8dbaaed737e6090092b
2017-02-27 11:16:59 +08:00
joehuang 815b881e9b Enable tempest test
Tempest test is not being able to be passed due to
the devstack plugin.sh script was not updated for
this purpose. This patch is to make Trio2o pass
the tempest gate test.

Change-Id: Id25e503d05b267aa46b61bba546621fba10fda3b
Signed-off-by: joehuang <joehuang@huawei.com>
2017-02-06 00:15:28 -05:00
CR_hui 4e08947850 Fix the requirements.txt
1. What is the problem?
The 0.13.1 release breaks some documentation jobs when it tries to
build docs with remote images. The version matches the supported
docutils versions for sphinx.

2. What is the solution to the problem?
Fix the requirements.txt and add docutils

3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features.

Change-Id: Ib3253f1211bb3c1d82e7ed6bda2f14cf4f218d87
2016-12-21 02:16:59 +00:00
OpenStack Proposal Bot 3d388df279 Updated from global requirements
Change-Id: I6024f6a96e298e1749e021ef67ce4f85514113a7
2016-12-17 21:40:13 +00:00
CR_hui c5951ef907 Synchronize some patches and fix the requirement.txt
1. What is the problem?
   A. After Removing networking related code from the Trio2o, there are
also some patches need to synchroniz.
   B. Kombu 4.0.1 was released and it's breaking everything 4.0.0 was
breaking.

2. What is the solution to the problem?
   A. Synchronize some patches and the IDs of these patches are:
             374559;
             373812;
             373616;
             378159;
             373891;
             375201;
   B. Fix the requirement.txt

3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features.

Change-Id: Ie7e5ee6fc525455afdb0602f5ea7ba2b092f507b
2016-12-09 15:16:17 +08:00
Jenkins 3bf386087d Merge "Fix the inconsistency about some parameters regarding to pod" 2016-12-05 03:37:18 +00:00
hejiawei 62dbda330b Fix the inconsistency about some parameters regarding to pod
1.What is the problem?
Naming of some parameter regarding pod is a little bit different.
This inconsistency has to be fixed out as much as possible

2.What is the solution to the problem?
Rename the inconsistent parameter.

3.What the features need to be implemented to the Tricircle
  to realize the solution?
No new features.

Change-Id: Ib9515aea84b9dfa1492a64ddf9bb60103df75500
Closes-Bug: #1583436
2016-12-01 15:55:27 +08:00
hejiawei 70783b0157 Fix the bug 1578882
1.What is the problem?
Any functions should not be copied and pasted but imported
from other components.The follow functions are copied from
Nova:
 42 def url_join(*parts):
 [snip]

395 def url_join(*parts):
 [snip]

 43 def remove_trailing_version_from_href(href):
 [snip]

278 def remove_trailing_version_from_href(href):
 [snip]

2.What is the solution to the problem?
We can't import it from nova,so we move it to common module.

3.What the features need to be implemented to the Tricircle
  to realize the solution?
No new features.

Change-Id: I747f1a43fa20bf66ae56b6e2927410224d0e8acd
Closes-Bug: #1578882
2016-12-01 11:20:15 +08:00
Jenkins a4e30a9f64 Merge "Enable release notes translation" 2016-11-17 07:44:19 +00:00
Andreas Jaeger b5245f1583 Fix .gitreview
Fix repo name so that git review works.

Change-Id: I0f015c8b00aa507b763d09f280e92e3723fb2de3
2016-11-15 07:12:45 +00:00
joehuang 180f68eac8 Remove networking related code from the Trio2o
1. What is the problem?
Networking related code is still in the repository of
the Trio2o project.

2. What is the solution to the problem?
According to the blueprint for the Trio2o cleaning:
https://blueprints.launchpad.net/trio2o/+spec/trio2o-code-cleaning
Networking related code which is forked from the Tricircle
repository should be removed from the Trio2o repository.
After the cleanning, the Trio2o should be able to run independently.
There are lots of things to clean and update, and have to do it in
one huge patch, otherwise the code in Trio2o will not be able to run
and tested properply:
1). Remove netwoking operaion from server controller
2). Update devstack script
3). Update installation guide
4). Update README
5). Remove network folder and network related unit tests
6). Rename Tricircle to Trio2o in all source code

THE MEANING OF FILE OPERATION:
D: delete a file
R: rename a file to another name
A: add a new file
C: copy a file

3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features.

Change-Id: I0b48ee38280e25ba6294ca3d5b7a0673cb368ed4
Signed-off-by: joehuang <joehuang@huawei.com>
2016-11-14 02:12:48 -05:00
Andreas Jaeger 9040e22e5d Enable release notes translation
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.

Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.

Change-Id: Ia3c084d4488033b8c3e38abaa8390ed4a3cdcdda
2016-10-07 10:55:46 +02:00
CR_hui e7278406c3 Fix the link error in the installation.rst
1. What is the problem?
In the original link, there are some problems:
 * Sometimes, this link can't open.
 * Some operation details is not clearly and easy to misleading.

2. What is the solution to the problem?
We have wrote a new document in the Wiki[1].

3. What the features need to be implemented to the Tricircle to
realize the solution?
None.

[1] https://wiki.openstack.org/wiki/Play_tricircle_with_virtualbox

Change-Id: I7253fe0cae82fe816a0fd4d175de27d12535399f
2016-09-12 17:22:52 +08:00
Dongfeng Huang c9b941a9d5 Fix the link error in the document README.rst
1. What is the problem?
The Tricircle Admin API documentation has been implemented, so the
relevant link to it in the document README.rst should be updated as
well.

2. What is the solution to the problem?
Remove the original null link at the bottom of the document README.rst and
change the part "Documentation" to "Tricircle Admin API documentation", then
provide the relative link behind it.

3. What the features need to be implemented to the Tricircle to realize the solution?
None.

Change-Id: I8dae02ddef4a3019abe91ec1ca283280b64c7c61
2016-09-11 16:37:17 +08:00
Jenkins 14712aa730 Merge "Updated from global requirements" 2016-09-06 08:31:53 +00:00
Dongfeng Huang 38d35143db Documentation on pod and pod binding
1. What is the problem
Pod and pod binding functions have been implemented, but the documentation
is not there.

2. What is the solution for the problem
Pod and pod binding have four main public functions respectively. For pod,
there are four public functions: 1) get pod list. 2) show a single pod in
detail. 3) create a pod. 4) delete a pod. Likewise, pod binding has four
similar public functions to pod. The file /tricircle/doc/source/api_v1.rst
includes the request and response explanation about each function.

3. What the features need to be implemented to the Tricircle to
realize the solution
None.

Change-Id: Ic530326bb00556b5b9e8d4e4699eaa35ebf01e61
2016-09-06 10:42:50 +08:00
yinxiulin 707c914e30 Nova_APIGW REST API Microversion Support
1. What is the problem
The current Nova_APIGW does not support microversion function, the service
controller uses a fixed API version number to initialize novaclient

2. What is the solution to the problem
When the service controller receives an API request, it will get the
microversion number from request headers , and use this to initialize
novaclient.

For how to get the microversion number, please refer to:
https://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/api-microversions.html

The microversion supported range is 2.1 to latest version

3. What the features need to be implemented to the Tricircle
   to realize the solution
   Nova_APIGW microversion support added

Change-Id: Idf44c91100e5cb8ad0355164c9be991aa54a652b
2016-09-05 18:33:40 +08:00
zhiyuan_cai 361f7f7a27 Support l3 networking in shared vlan network
1. What is the problem
Shared vlan type driver has been merged, so we can run two VMs in
the same network but across two pods. However if we attach a network
to the router, the tricircle plugin still check if the network is
bound to one AZ, so one network cannot cross different pods if we
are going to attach it to a router.

2. What is the solution to the problem
The reason we require network to be bound to AZ is that when the
network is attaching the one router, we know where to create the
bottom network resources. To support l3 networking in shared vlan
network, we need to remove this restriction.

In the previous patches[1, 2], we have already move bottom router
setup to an asynchronouse job, so we just remove the AZ restriction
and make the tricircle plugin and the nova_apigw to use the job.

Floating ip association and disassociation are also moved to bottom
router setup job.

3. What the features need to be implemented to the Tricircle
   to realize the solution
Now network can be attached to a router without specifying AZ, so
l3 networking can work with across-pod network.

[1] https://review.openstack.org/#/c/343568/
[2] https://review.openstack.org/#/c/345863/

Change-Id: I9aaf908a5de55575d63533f1574a0a6edb3c66b8
2016-09-05 15:36:34 +08:00
OpenStack Proposal Bot 9f5eb3cb8d Updated from global requirements
Change-Id: I6ea36a62d2258c2785f5fb7417b9010742bcc645
2016-08-26 22:14:19 +00:00
zhiyuan_cai 04e317336d [Urgent] mock _allocate_ips_for_port in unit tests
1. What is the problem
To simulate Neutron database operations in unit tests, FakeQuery and
FakeSession are defined to replace the original Query and Session
objects. After service subnets feature is merged into Neutron[1], during
ip allocation, Neutron calls Query.add_entity to query subnet by service
type. However, FakeQuery object doesn't have add_entity method, thus
unit tests fail to pass.

2. What is the solution to the problem
Mock _allocate_ips_for_port to bypass the service subnet query, which
is not necessary in the unit tests.

3. What the features need to be implemented to the Tricircle
   to realize the solution
No new feature introduced.

[1] https://review.openstack.org/#/c/350613/

Change-Id: Ieec7f5ab7b63cba0b1c9569e87dd894dd34b07c2
2016-08-25 15:46:23 +08:00
zhiyuan_cai 2340d5754f [Urgent] fix unit test failure casused by IPAM driver
1. What is the problem
After recent updates now Neutron uses pluggable IPAM driver backend by default,
while in the unit tests for network functionality in the Tricircle, unpluggable
IPAM driver backend is assumed to be used. So this default backend change causes
most of the unit tests fail.

2. What is the solution to the problem
In the setup of unit tests, set "ipam_driver" option as empty string to use
unpluggable IPAM driver backend.

3. What the features need to be implemented to the Tricircle
   to realize the solution
No new feature introduced.

Change-Id: Ifa85d4e209ac0fa04c21db316eee6ebc41981dab
2016-08-24 10:58:22 +08:00
Jenkins 5f7606f461 Merge "Enable DeprecationWarning in test environments" 2016-08-18 03:00:44 +00:00
Henry Gessau 30f6475665 Enable DeprecationWarning in test environments
Neutron is refactoring a lot of its code. For example, common entities
are being moved to neutron-lib. When code is refactored it is marked
with debtcollector, which issues a deprecation warning. In the next
release the old entity will be removed. Consuming projects (like
tricircle) must update to comply with the new entity before the old
one is removed.

Tricircle maintainers must monitor deprecation warnings and act on them
before the next release.

Many deprecations are triggered early (on imports, for example)
before the warnings are enabled by the WarningsFixture in the
base test class.

To make sure all DeprecationWarning messages are emitted we enable
them via the PYTHONWARNINGS environment variable.

Change-Id: Iade909b35a55cebb7dfe13a688f451ad91989b94
2016-08-14 05:35:42 +00:00
OpenStack Proposal Bot 5541991df4 Updated from global requirements
Change-Id: I6e0512fcff3d954a3f4ed244705cce73ac0814fb
2016-08-13 01:38:47 +00:00
joehuang 419e02e786 Fix az parameter handling in Nova API-GW and External Network
1.What is the problem:
If availability zone (az in short) does not exit in the server creation
request or extenal network, 400 bad request was given in current handling,
this handling is inconsistent with Nova and Neutron.In Nova and Neutron,
az is one optional parameter, i.e, even the az is not speficied in the
request, a scheduled az should be used for the creation, but not
return 400 bad request.

2.What's need to be fixed:
To fix the issue, server creation should allow no az parameter in
the request, and select one default bottom pod to continue the server
creation.

3.What is the purpose of this patch set:
To make the az handling behavior is consistent with that in Nova and
Neutron.

Change-Id: I9281914bad482573c6540bf2a14e51e7ca4d744c
Signed-off-by: joehuang <joehuang@huawei.com>
2016-08-12 05:09:26 -04:00
joehuang 1e495007ea Fix exception if no "networks" in server creation
1.What is the problem:
If 'networks' is not carried in the request to Nova API-GW,
then in current implementation, server_body['networks'] will
not be initialized before it is used in the "nics = [ {'port-id':
_port['port']} for _port in server_body['networks']]" clause,
then exception will happen, and return error to the API caller.
In fact, it should works, no exception should happen.

2.What's need to be fixed:
Move the server_body['networks'] initialization outside
the "if  'networks' in kw['server']" clause will ensure
server_body['networks'] being initialized before it is used
later, and eliminate the exception happened in "nics = ...
for _port in server_body['networks']]" clause.

3.What is the purpose of this patch set:
Eliminate the unusual exception happened in server creation

Change-Id: I50a6ac8e6bba78233e063bcfc24c0a1d4663e9f6
Signed-off-by: joehuang <joehuang@huawei.com>
2016-08-12 02:59:46 -04:00
joehuang 0d0ca11e95 [Urgent]Fix the integration test failure casused by http header processing
1.What is the problem:
Python requests lib is used to forward the http request from the Cinder
API-GW to bottom Cinder. Now the latest version of the requests lib
add stricter header validity check: only bytes or string is allowed for
header item's value, other value will lead to exception, even for "None".
But Cinder client will pass some header items with "None" value in the
api request to Cinder API-GW, thus lead to the exception in Cinder API-GW
when forwarding the request to the bottom Cinder via requests lib, which
lead to the integration failed, and block any patch to be merged.

2.What's need to be fixed:
Remove(clean) the invalid header items in the request to the bottom
Cinder, in which the python requests lib is used. So that integration
test can pass, and make patch being able to be merged.

3.What is the purpose of this patch set:
Fix the integration test failure issue casued by strict validity check
in http header processing.

Change-Id: Iff6d2dd77571180ef9a0cad2171c479be63bd880
Signed-off-by: joehuang <joehuang@huawei.com>
2016-08-11 02:33:12 -04:00