298 Commits

Author SHA1 Message Date
Jenkins
1c2d417a80 Merge "[urgent] Fix multi-node installation guide about node_2" 2016-10-26 16:21:26 +00:00
Alex Yang
bd087aa36f [urgent] Fix multi-node installation guide about node_2
1. What is the problem?
Tricircle plugin is not installed in node_2 according to this guide.
Devstack on node_2 will fail because of this.

2. What is the solution to the problem?
Install tricircle in node_2 before running devstack.

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

Change-Id: I51902bb7b2abdfba282409fbc6d9f2c435b4dc9c
Signed-off-by: Alex Yang <yangyang1@zte.com.cn>
2016-10-26 20:59:37 +08:00
Jenkins
e27982cb10 Merge "Add release notes for the master branch" 2016-10-26 06:12:10 +00:00
CR_hui
c219708d87 Add release notes for the master branch
1. What is the problem?
There is no release notes in master branch, then the user of
Tricircle don't know what features supported, what features not
supported.
2. What is the solution to the problem?
Add release notes to outline what features supported for the Tricircle
project.
3. What the features need to be implemented to the Tricircle to realize the solution?
No new features.

Change-Id: I4270730bd5def464b9814f7b457a0316a6dd1a0e
2016-10-26 09:17:23 +08:00
OpenStack Proposal Bot
ed832f7c0d Updated from global requirements
Change-Id: I93ce468cca400bd73a25bc2302686ab0b63fe650
2016-10-21 00:52:06 +00:00
Jenkins
4b0b897805 Merge "Remove API-GW related code from the Tricricle" 2.1.0 2016-10-19 12:21:13 +00:00
Jenkins
21a6f9c215 Merge "Central and local plugin (part3, security group)" 2016-10-19 12:21:04 +00:00
Jenkins
f23b41405e Merge "Update multi-node installation guide with DevStack" 2016-10-18 06:45:26 +00:00
zhiyuan_cai
f42431d0f5 Update multi-node installation guide with DevStack
1. What is the problem?
The current installation guide is based on the Tricircle with
API-GW and networking automation functionality. After the Tricircle
splitting, only networking automation will be remained in the
Tricircle repository, so the current installation guide will not
work anymore.

2. What is the solution to the problem?
Update the installation guide to reflect the Tricricle splitting.
This patch will focus on multi-node installation with DevStack.
Single node installation with DevStack has been updated in this
patch[1].

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

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

Change-Id: I8ee326024fd152133829caced69a68348172f065
2016-10-18 10:41:55 +08:00
zhiyuan_cai
aaf2501285 Central and local plugin (part3, security group)
1. What is the problem
Necessary changes for local plugin and central plugin to boot
a instance have been submitted in this patch[1], but security
group has not been supported yet.

2. What is the solution to the problem
(1) Modify local plugin that when security group query request
    is sent to local Neutron server, local plugin retrieves
    information from central Neutron server and creates necessary
    local security group.
(2) Add a new job to xjob to sync security group rules across
    OpenStack instances.

3. What the features need to be implemented to the Tricircle
   to realize the solution
With this patch, users can boot a instance directly via
the local Nova server with security group supported.

[1] https://review.openstack.org/375281

Change-Id: Ibc9898ac577bee19a017746356a8f826e0a8b16f
2016-10-17 10:30:43 +08:00
Jenkins
2d43c3f7aa Merge "Central and local plugin (part 2, l3 functionality)" 2016-10-15 10:58:14 +00:00
Jenkins
1eaec0012a Merge "Update installation guide after the Tricircle splitting" 2016-10-13 10:40:45 +00:00
joehuang
d4766b66b4 Update installation guide after the Tricircle splitting
1. What is the problem?
The current installation guide is based on the Tricircle with
API-GW and networking automation functionalities. After the
Tricircle splitting, only networking automation will be remained
the Tricircle repository, so the current installation guide
will not work anymore.

2. What is the solution to the problem?
Update the installation guide to reflect the Tricricle splitting.
This patch will focus on single node installation with DevStack.
Multi-node installation with DevStack will be update in another
patch: https://review.openstack.org/#/c/385306/.

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

Change-Id: I0d5a3a9673a34ca8eb96a07f2eafbb1b931ef55f
Signed-off-by: joehuang <joehuang@huawei.com>
2016-10-12 21:43:46 -04:00
OpenStack Proposal Bot
ac34612f59 Updated from global requirements
Change-Id: Ib1a42d03497503b555d04422925c5c639ae3a146
2016-10-12 22:55:27 +00:00
joehuang
467f8fcb47 Remove API-GW related code from the Tricricle
1. What is the problem?
Nova API-GW and Cinder API-GW code are still in the repository of
the Tricircle project.

2. What is the solution to the problem?
According to the blueprint for the Tricircle splitting:
https://blueprints.launchpad.net/tricircle/+spec/make-tricircle-dedicated-for-networking-automation-across-neutron
Nova API-GW and Cinder API-GW related code should be removed from
the repository of the Tricircle project.

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

Change-Id: I152bab9c0a7a114f0361a69a3ab2d7037731434f
2016-10-10 23:12:09 -04:00
zhiyuan_cai
ff7f86fa01 Central and local plugin (part 2, l3 functionality)
1. What is the problem
Necessary changes for local plugin and central plugin to boot
a virtual machine have been submitted in this patch[1]. As the
next step, we need to add l3 functionality to the local and
central plugin.

2. What is the solution to the problem
Several changes in local plugin.
(1) Before creating local subnet, local plugin sends request to
central plugin to create a "reserved gateway port", and use the
ip address of this port as the gateway ip of the local subnet.
(2) When local plugin receives network or subnet creation request,
if the request contains "name" parameter and the name is a UUID,
local plugin uses the name as the id of the local network or
subnet.

3. What the features need to be implemented to the Tricircle
   to realize the solution
With this patch, users can connect virtual machines booted
directly via the local Nova server in different networks with
a router.

[1] https://review.openstack.org/375281

Change-Id: I12094f30804c0bad2f74e0ff510ac26bd217cfd4
2016-10-10 22:58:00 -04:00
zhiyuan_cai
b0789882eb Central and local plugin (part 1, base)
1. What is the problem
As discussed in the feature specification[1], we are going to
move the process of networking automation from the Nova-APIGW
to Neutron server.

2. What is the solution to the problem
Implement a new Neutron core plugin which runs in local Neutron
server to finish the networking automation process. Also, the
original Neutron core plugin is renamed as central plugin and
needs some changes to work with local plugin.

3. What the features need to be implemented to the Tricircle
   to realize the solution
With this patch, users can boot a virtual machine directly via
the local Nova server. But security group support is not covered.

DevStack script and local.conf sample are also updated.

[1] https://github.com/openstack/tricircle/blob/master/specs/ocata/local-neutron-plugin.rst

Change-Id: I6a3dc5e9af395e3035a7d218264a08b6313a248d
2016-10-10 22:58:00 -04:00
zhiyuan_cai
a20a6b0ebe Fix bugs on network and port query
1. What is the problem
After running tempest test test_networks and test_ports, we find
some bugs on network and port query:
(1) Querying port with fields specified is not supported
(2) Querying port with ip address filter is not supported
(3) Querying network without id in the returned fields causes error

2. What is the solution to the problem
(1) Remove unnecessary fields before returning result
(2) If ip address filter is specified, join IPAllocation table to
    filter ports
(3) If id is not in the specified field list, do not extend result
    with segmentation information because network id is required to
    retrieve segmentation information

3. What the features need to be implemented to the Tricircle
   to realize the solution
Tempest test test_networks can be passed, to pass test_ports, we stil
need to support security group update and binding profile update.

Change-Id: Iec498fc72cd0dba74c908823f2d429537d52e0e2
2016-10-10 22:58:00 -04:00
Jenkins
b556ae5615 Merge "Enable release notes translation" 2016-10-10 08:42:09 +00:00
Jenkins
49edd26765 Merge "Changed the home-page url link" 2016-10-10 08:32:59 +00:00
Jenkins
45a9bbb031 Merge "Update README and setup description after splitting" 2016-10-09 01:45:27 +00:00
Deepak
caf5944cbc Changed the home-page url link
Set the correct url link for home-page
Changed the summary content

Change-Id: I87c5e3610a1727f62955f1e04fe163ec65d0ff95
Closes-Bug: #1631085
2016-10-07 22:58:32 +05:30
Andreas Jaeger
6372a0f8f7 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: Iafe553ce5b54854a3d5d19baf498a289fc4753e0
2016-10-06 20:55:28 +02:00
OpenStack Proposal Bot
5d9b6a3927 Updated from global requirements
Change-Id: I7a42ab78e5f3580040d8df8bb51c927c095ca69d
2016-10-06 17:03:46 +00:00
Jenkins
136d73c0df Merge "Specification for local Neutron plugin" 2016-10-02 12:37:09 +00:00
joehuang
92bc914fc5 Update README and setup description after splitting
1. What is the problem?
After splitting, the Tricircle will be dedicated for
networking automation across Neutron, so the README.rst
and setup.cfg need to be updated

2. What is the solution to the problem?
Update README.rst and setup.cfg file in the github.

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

Change-Id: I92c525feb6ff059ae59e82b3f54fedd5f14789a5
Signed-off-by: joehuang <joehuang@huawei.com>
2016-10-02 17:05:57 +08:00
Jenkins
f5ef262ac9 Merge "Implement volume attachment basic operation" 2016-09-30 02:43:23 +00:00
XiongQiu
450f4e6531 Implement volume attachment basic operation
1.What is the problem?
In nova-apigw, there are some servers with volume attachments
are not implemented:
 * List volume attachments for an instance;
 * Attach a volume to an instance;
 * Show a detail of a volume attachment;
 * Update a volume attachment;
 * Detach a volume from an instance.

2.What is the solution to the problem?
This patch add three feature:
 * We can get the volume identified by the attachment ID.
 * We can get a list of all the attacned volumes.
 * Detach a volume identified by the attachment ID from
    the given server ID.

3.What the features need to be implemented to the Tricircle
  to realize the solution?
The above three features.

Change-Id: I76ad72ca5d54fca7c2c463b5c41f2a4151f11eb8
2016-09-30 09:52:42 +08:00
Jenkins
3d9cf2862a Merge "Fix some fuzzy descriptions in the installation.rst" 2016-09-29 07:45:30 +00:00
Jenkins
2d2a1975d9 Merge "Fix typo in verify_cross_pod_install.sh" 2016-09-29 07:41:00 +00:00
CR_hui
113995ccaa Fix some fuzzy descriptions in the installation.rst
1. What is the problem?
In the original spec, there are some fuzzy descriptions:
 * Before we run the commands to test some functions in the Tricircle,
   we need to import the environment variables. So it is necessary to
   describe this file "admin-openrc.sh" more clearly before test.
 * When creating pod instances for Tricircle and bottom OpenStack,
   this document lack the instructions for the parameter "token".
 * Some volume actions tests lacked in this document.

2. What is the solution to the problem?
We add some descriptions about environment variables and parameter
"token". We also add some volume actions tests in this document.

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

Change-Id: Id8439415548a4366b0d4e0cfbf3886e5f1ee5bb9
2016-09-29 10:20:25 +08:00
zhiyuan_cai
32fef062d7 Specification for local Neutron plugin
1. What is the problem
Part of the networking automation functionality is implemented
in the Nova-APIGW, which bring coupling between Neutron and Nova
servers. Users must deploy Nova-APIGW if they want to use the
networking automation function, which is not flexible.

2. What is the solution to the problem
Move the process of networking automation from the Nova-APIGW
to local Neutron plugin. This specification covers the detailed
introduction and discussion of this plugin.

3. What the features need to be implemented to the Tricircle
   to realize the solution
The local Neutron plugin discussed in this specification needs
to be implemented.

Change-Id: I6450ab0d2103eb8fd6fa8869ae80376a37ae371a
2016-09-29 09:32:01 +08:00
OpenStack Proposal Bot
db748afa1a Updated from global requirements
Change-Id: I7044d72c8d1617f3109c85c2c3d3ac6907cfbb25
2016-09-28 17:02:24 +00:00
zhangyanxian
8d85563080 Fix typo in verify_cross_pod_install.sh
TrivialFix

Change-Id: I36a5d3d9bf6033cc2c221b37666d0480fbd0c2e7
2016-09-28 08:42:49 +00:00
gengchc2
1ba62882f8 Update flake8 ignore list
In hacking > 0.10.0, there is no E123 and E125, so this commit to
delete them.

Change-Id: Ib4aa404f1eb1e52af0f2cde6911e048e26a599ff
2016-09-28 04:08:46 +00:00
OpenStack Proposal Bot
49155ca0e0 Updated from global requirements
Change-Id: I9ad696ba57221fef33fd27c211af73396ee9dfff
2016-09-27 17:05:01 +00:00
Jenkins
c58970a9eb Merge "Implement force detach volume" 2016-09-27 01:49:16 +00:00
Nam Nguyen Hoai
58f9eff845 Using assertIsNone() instead of assertEqual(None)
Following OpenStack Style Guidelines[1]: http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H203] Unit test assertions tend to give better messages for more
specific assertions. As a result, assertIsNone(...) is preferred
over assertEqual(None, ...) and assertIs(..,None)

Change-Id: I367cc785503dc4c9baa7f532610222f95d52eb50
2016-09-27 15:10:40 +07:00
hejiawei
3d90241176 Implement force detach volume
1.what is the problem?
In tricircle, 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 tricircle 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 Tricircle
   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: If51ca17fc395dbb466b66514dec6c3fb66cd7519
2016-09-27 08:53:11 +08:00
Jenkins
a5ae57b697 Merge "The framework of dynamic pod binding" 2016-09-26 01:09:49 +00:00
Jenkins
c801174203 Merge "Bridge network, subnet clean during router deletion" 2016-09-25 09:46:04 +00:00
Jenkins
e054bbfde0 Merge "Nova_APIGW Server Action Support(part2)" 2016-09-25 09:34:17 +00:00
Yipei Niu
afbf8efbce The framework of dynamic pod binding
1. What is the problem?
In the Tricircle, 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 same AZ.

2. What is the solution to the problem?
To deal with the above problem, the Tricircle dynamically bind tenants
to pod which has available resources. We call this feature dynamic pod
binding, which is explained in https://review.openstack.org/#/c/306224/
in detail. In this patch, we only try to binds a tenant to a pod
dynamically, when she tries to create a VM.

3. What the features need to be implemented to the Tricircle to realize
the solution?
When a tenant creates a VM, the Tricircle first selects all available
pods for her. Then by filtering and weighing the pods, the Tricircle
selects the most suitable pod for the tenant. Next, the Tricircle query
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 pod selected by the Tricircle, 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 pod
selected by the Tricircle, the Tricircle does noting.

Change-Id: I3972e6799f78da6ec35be556487f79b1234731b8
2016-09-25 14:38:19 +08:00
zhiyuan_cai
47becd166d Bridge network, subnet clean during router deletion
1. What is the problem
To connect bottom routers in different pods, we need to create
bridge networks and subnets. These networks and subnets are not
deleted after bottom routers are deleted.

2. What is the solution to the problem
Clean these bridge networks and subnets during top router deletion.

3. What the features need to be implemented to the Tricircle
   to realize the solution
Bridge networks and subnets now can be cleaned up.

Change-Id: I1f2feb7cba3dda14350b3e25a3c33563379eb580
2016-09-24 09:45:51 +08:00
Jenkins
5a8a2ffe05 Merge "Pre-created port clean during subnet deletion" 2016-09-23 17:30:13 +00:00
yinxiulin
65f416745f Nova_APIGW Server Action Support(part2)
1. What is the problem
   The current Nova_APIGW does not support following server actions:
   reboot: Reboots a server.
   resize: Resizes a server.
   confirmResize: Confirms a pending resize action for a server.
   revertResize: Cancels and reverts a pending resize action for
                 a server.
   os-resetState: Resets the state of a server.

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

3. What the features need to be implemented to the Tricircle
   to realize the solution
   Add the above server action

Change-Id: Ia3d0de1a42320cb1ee55b25210b227cb34a829a9
2016-09-23 14:22:49 +08:00
zhiyuan_cai
a0482b8eb6 Pre-created port clean during subnet deletion
1. What is the problem
Before creating bottom subnet, we need to create some ports to
allocate ip address for bottom dhcp port and bottom gateway port.
These pre-created ports are not deleted after bottom resources
are deleted.

2. What is the solution to the problem
Clean these pre-created ports during top subnet deletion.

3. What the features need to be implemented to the Tricircle
   to realize the solution
Pre-created ports now can be cleaned up.

Change-Id: I73c0ef87e4104f1db9926a5972c5f36be94d724a
2016-09-23 13:58:57 +08:00
avnish
0f003215df Drop MANIFEST.in - it's not needed by pbr
Tricircle already uses PBR:-
setuptools.setup(
    setup_requires=['pbr>=1.8'],
    pbr=True)

This patch removes `MANIFEST.in` file as pbr generates a
sensible manifest from git files and some standard files
and it removes the need for an explicit `MANIFEST.in` file.

Change-Id: I722651c1c3082ec59c0408a12db7b14c404d7ce7
Closes-Bug: #1608980
2016-09-23 04:46:00 +00:00
zhiyuan_cai
85df9c9c5f Return empty dict in controller(Urgent)
1. What is the problem?
After updated to version 1.2, the WSGI framework we use, pecan has a
behaviour that if the handle function return None, the setting of
resonse status code will not take effect. In the deletion handle
functions of pod and pod-binding controllers, we set the response
status code but return None, thus the status code is not changed and
our tests fail.

2. What is the solution to the problem?
Return an empty dict in the deletion handle functions.

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

Change-Id: I4bc44d2bc774fbe0cd9f820361d35077c83f3973
2016-09-23 10:28:25 +08:00
Jenkins
9d9c69ee48 Merge "Support floating ip deletion" 2016-09-22 05:00:40 +00:00