Commit Graph

191 Commits

Author SHA1 Message Date
OpenDev Sysadmins 57b953c8c4 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:52:26 +00:00
Scott Little 3a1d340849 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I27a6fbacb043e32802bd5ad45e9aa06bfda51920
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-27 10:04:02 -05:00
Zuul 116b10b7c6 Merge "Standardize makefile for guest-client" 2019-02-27 13:29:12 +00:00
Scott Little 7c79c5fec3 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Ic02a5e187c082fe87b3627daa10b57c17b8a051f
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-26 12:43:20 -05:00
Bart Wensley 98c30ac431 Improve VIM rabbitmq initialization robustness
While attempting to reproduce a rabbitmq related failure on
an AIO-DX system, I somehow caused a situation where the
rabbitmq pods were running, but were missing some of the nova
queues - specifically, the notifications.info queue was missing.
When the VIM initialized, it attempted to attach a consumer to
this non existent queue, resulting in an exception, which
prevents the VIM from coming up, which causes SM to decide the
host was unhealthy, which resulted in a swact to the other
controller. The same problem happened there, which caused an
endless series of swacts.

The VIM already has code to check whether the nova exchange has
been created in the rabbitmq pod, but it did not catch the case
where the exchange was there, but some of the queues were
missing. This fix updates the VIM to detect this situation and
avoid attempting to create its consumer until the queue has
been created.

Change-Id: Ib5446bd15823cb0e7204ad8d0ff4f37270044c4b
Closes-Bug: 1816766
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-02-25 07:42:24 -06:00
Scott Little 6ab0fe25e3 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Id0902da41074e8e7f19e348ea3b63a5950aa6547
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-22 13:37:32 -05:00
Scott Little a8b98a6ff4 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I38cdadf15f1c1bc85290f229b51de9ba64a709b5
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-21 13:06:32 -05:00
Yi Wang 176a3fb771 updates to stx-nfv devstack plugin
1. bring up guestAgent service
2. bring up guestServer service
3. move service enable check from plugin.sh to lib/stx-nfv

Story: 2003163
Task: 29191

Change-Id: I51badd4a737b0f4e2ed66f926640ad202bf6fb5f
Signed-off-by: Yi Wang <yi.c.wang@intel.com>
2019-02-20 19:01:57 -06:00
Dean Troyer f7a3cfb7ce Add stx-update to devstack plugin dependency list
Add the minimum dependency bits for devstack master, plus the
required stx-update plugin in the devstack job definition.

The remaining master/bionic stuff will be in a follow-up review.

Change-Id: Id6b4e3dad1fe54d66b2b5a3dbbe3983621943bb2
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-02-20 14:58:57 -06:00
Saul Wold 44b1978b3f Merge branch 'master' into f/stein
Change-Id: Ie2b362b710a004b05990431929a3f396a4300b13
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2019-02-19 10:51:54 -08:00
Zuul 9f74687dc0 Merge "Fix host_agent service file permissions" 2019-02-19 13:50:22 +00:00
Erich Cordoba 2cea13a650 Standardize makefile for guest-client
Changes done:
 - The install instructions were moved into the makefile.
 - Unused install instructions were removed.
 - Cleanup in the spec file.

Change-Id: I9167f039c87360917de2d620fad718ab4e4cbaff
Story: 2004043
Task: 27555
Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-02-15 15:56:49 -06:00
Eric MacDonald e19907c7ea Fix host_agent service file permissions
Systemd expects service files to be world readable or
it prints a warning log.

This update adds the world readable attribute to the
host agent's service file to avoid the log noise.

Change-Id: I577440bb99d4b69bb868f27b830fd6073c5a79b2
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
2019-02-15 15:21:25 -05:00
Zuul a0bdc6173b Merge "Standardize makefile for guest-scale-agent" 2019-02-15 18:57:32 +00:00
Scott Little 8a6fd563ed Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I0b83aa56063c84774e6ea2353ebc819ecb126a4a
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-15 12:16:49 -05:00
Zuul 61e2ac909e Merge "Fix compute host delete with no kubernetes node" 2019-02-15 16:08:35 +00:00
Bart Wensley 2612aa7e65 Fix compute host delete with no kubernetes node
When a compute host is deleted, the VIM attempts to delete the
node from kubernetes. However, if a compute host was powered
on and the personality was set, but the host was never installed,
no kubernetes node will exist for the host. When the VIM attempts
to delete the node from kubernetes, the API returns a failure
and the VIM doesn't handle that properly, so it continues to
attempt to delete the node over and over.

The fix is to handle the NOT_FOUND response from the delete API
and treat that as a success.

Change-Id: If9ca8baae4252a46ed7a514b2e91586436262688
Story: 2002843
Task: 29496
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-02-14 13:07:52 -06:00
Scott Little b39b350f3e Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Ib3567f6f0b97109ffda4a437e9138881eb3d394c
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-13 12:34:35 -05:00
Zuul 8a0e5f421a Merge "Standardize makefile for guest-common" 2019-02-13 15:23:33 +00:00
Erich Cordoba e5987ac38a Standardize makefile for mtce-guest
Changes done:
  - Create install target in Makefile,
  - Move install commands to Makefile,
  - Cleanup on spec file.

Story: 2004043
Task: 27557

Change-Id: I087eeb19eb999c27a77608e3eef7663067ae9c60
Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-02-10 12:28:09 -06:00
Erich Cordoba 8ba8d69234 Standardize makefile for guest-common
Changes done:

 - Create install target in makefile.
 - Move install instructions to makefile.
 - Cleanup in specfile

Story: 2004043
Task: 27558

Change-Id: I045eb3468a6b39dd508abe13b3ee33705539e96a
Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-02-08 18:42:40 -06:00
Scott Little 2a8980bbb0 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Iff393c62ee5d4198d41421d22ca536d4901823ac
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-07 12:10:08 -05:00
Erich Cordoba 8b0487aec5 Standardize makefile for guest-scale-agent
Changes done:
  - install target created in makefile.
  - install commands moved from specfile into makefile
  - cleanup in specfile

Story: 2004043
Task: 27556

Change-Id: Ie2008b62e156e7c4aebace5a061f36b343d10955
Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
2019-02-06 18:32:06 -06:00
Bart Wensley 2f1b243350 Configure VIM nova listener queue as HA
In the pre-kubernetes configuration, we had a single instance of
rabbitmq running, so the VIM configured a single non-HA queue
to listen for nova notifications. In the kubernetes configuration
there are two instances of rabbitmq running. The nova notification
queue is configured to be HA through a policy that matches names
starting with "notifications.". However, the VIM listener queue
is named nfvi_nova_listener_queue, so it does not match the
policy and is not configured to be HA. That means that when the
home rabbitmq node goes away (e.g. due to a controller reboot),
the VIM listener queue is no longer available, which causes
failures in the VIM.

The solution is to rename the VIM queue to:
notifications.nfvi_nova_listener_queue
This will ensure that it matches the nova policy and is configured
with the same HA parameters as the nova notification queue.

Change-Id: I958aadfa2da8f4aba9d18631ee0808fe97c42032
story: 2002843
task: 29380
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-02-06 13:49:07 -06:00
Scott Little 829855a2e6 Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I0b2c69e122d783cf98f37c29d2f4a56e8e337b00
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-06 11:34:45 -05:00
Zuul 97524fee3a Merge "Apply NoExecute taint to locked nodes" 2019-02-05 22:12:16 +00:00
Bart Wensley 3e9d13ec85 Apply NoExecute taint to locked nodes
This change applies the NoExecute taint to AIO-DX and worker nodes
when they are locked. This causes pods to be evicted from the node
and prevents new pods from being scheduled on that node. When the
node is unlocked and has rebooted, the taint is removed.

Change-Id: I2a7c8843a68661e15224260c53fd171920473161
story: 2002843
task: 29359
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-02-05 14:09:24 -06:00
Zuul 4910e0bae0 Merge "VIM: allow cold migrate and evac with remote_storage label" 2019-02-05 16:34:25 +00:00
Kevin Smith 78a022103a VIM: allow cold migrate and evac with remote_storage label
Store the remote_storage label against the host object and always
allow cold migration and evacuation for VMs on hosts
with the label enabled.

Change-Id: Iaf64474893f1426f1c24db9f535ac4c99faa0559
Story: 2004447
Task: 29190
Signed-off-by: Kevin Smith <kevin.smith@windriver.com>
2019-02-05 09:48:51 -05:00
Scott Little 59bb633ecb Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Ida00038ef919b2c09b3950f998320f5b28f27489
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-02-01 14:10:08 -05:00
Scott Little 75d2199c4a Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: Ie189e195fb4972803bc10dcb18fcac437ec8a6ea
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-01-31 12:07:55 -05:00
Kristal Dale a6732cbe47 Update config
Update conf.py for release notes to include the project
variable, set to the project name. This is so the string
above the left nav renders the project name.

Story: 2004900
Task: 29231

Change-Id: Ibb4bea0f5559285a47693833e9ebb2e9290470f5
Signed-off-by: Kristal Dale <kristal.dale@intel.com>
2019-01-30 16:52:50 -08:00
Kevin Smith a6498c3e01 Kubernetes: Remove VIM hypervisor query if plugin disabled
After the openstack application is removed, stale hypervisor information
in the VIM's database could cause repeated controller host swacts when a
worker host lock/unlock is attempted.  Qualifying the hypervisor query
with an enabled compute plugin will resolve this.  Note that subsequent
openstack application apply will re-initialize the VIM's hypervisor
information in the database.

Story: 2004520
Task: 29186

Change-Id: I7365fb88c71f3152864239aa629798e66b5c988a
Signed-off-by: Kevin Smith <kevin.smith@windriver.com>
2019-01-29 16:08:45 -05:00
Scott Little a0ce2fe68a Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I7e03ccba41f13de9468edb0c62d091413c6b45ec
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-01-29 12:59:01 -05:00
Abraham Arce 2ab1a23a59 [Doc] API Content Gaps
As a result of time spent within stx-nfv, there are API reference content
gaps:

- nfv/nfv-docs directory removed

More Information:

 - [Starlingx-discuss] API requests: stx-nfv [0]
 - Etherpad StarlingX APIs Review [1]

[0] http://lists.starlingx.io/pipermail/starlingx-discuss/2018-December/002139.html
[1] https://etherpad.openstack.org/p/stx-apis

Story: 2004877
Task: 29154

Change-Id: I00c166be0c6a6a53952da5796dcf5d437835c12d
Signed-off-by: Abraham Arce <abraham.arce.moreno@intel.com>
2019-01-28 09:34:39 -06:00
Kevin Smith b46c961b6f Kubernetes Neutron VIM Host Management Refactoring
Small change to recently submitted update for tasks 26663/26669.
As neutron config 'enable_new_agents' is now set to False,
agents other than the managed L3 and DHCP agents do not ever
get their admin_state_up set to True (though it is unclear if
the agents actually respect the admin_state_up setting).  This
change sets all admin_state_up values to True on host enable
for all agents.  On Host disable the admin_state_up is not changed
for agents other than L3 and DHCP.

Story: 2003857
Task:  29069

Change-Id: I2d6d426b9111361e109c00dbc3a23ece6cb2916f
Signed-off-by: Kevin Smith <kevin.smith@windriver.com>
2019-01-25 15:50:42 -05:00
Scott Little dbbbd76d1f Merge remote-tracking branch 'starlingx/master' into HEAD
Change-Id: I8e7afcefece91c68d58efa7916fb6e81cc2adfd3
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-01-23 16:00:23 -05:00
Kevin Smith 01da49ab8f Kubernetes Neutron VIM Host Management Refactoring
Rework neutron system host management to operate on agent states
rather than an extended host entity, as it was agreed with the
neutron team that a new host level entity was not desired in the
neutron core.

DHCP and L3 agents on hosts with openstack_compute labels are
now managed by the VIM.

Story: 2003857
Task: 26663

Change-Id: I441fcf3c186f68d17abafe337af71d0caf9c40da
Signed-off-by: Kevin Smith <kevin.smith@windriver.com>
2019-01-23 11:15:13 -05:00
Zuul 878c04e74f Merge "Fix import(s) related issues for Python 2/3 compatible code." 2019-01-18 15:26:31 +00:00
SidneyAn 90100b72ee Fix import(s) related issues for Python 2/3 compatible code.
fix http/socketserver module import issues
   e.g. before:
     import SocketServer
     import httplib
     import BaseHTTPServer
        after:
     from six.moves import socketserver
     from six.moves import http_client as httplib
     from six.moves import BaseHTTPServer

Story: 2003427
Task: 24609

Change-Id: I82132ab91f56a9038afdd931624559d8c370e231
Signed-off-by: SidneyAn <ran1.an@intel.com>
2019-01-19 01:17:47 +08:00
Bart Wensley 24ec8517ff Remove use of storage extra spec from VIM
The setting of the storage extra spec on each flavor was
removed from nova recently. However, the VIM still relies
on this extra spec being set and this results in the VIM
not making proper decisions on whether to live migrate,
cold migrate or evacuate instances during various system
events (e.g. a host lock).

The solution is to remove the storage extra spec from the
VIM. Live migration is now supported for instances,
regardless of the storage type. The cold migrate and
evacuate decisions will assume local storage is being
used until support for remote storage has been added to
the containers configuration.

Change-Id: I42d2d755c5cc61acb8e23bc278cd920a3b782562
Story: 2004386
Task: 28911
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-01-16 12:55:50 -06:00
Scott Little 559e264779 Update .gitreview for f/stein
Change-Id: I46311316415e5a53a7085829e0032a535285cd01
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-01-15 14:22:57 -05:00
Zuul 936724ec6a Merge "Fix urllib/unicode related issues for Python 2/3" 2019-01-15 14:49:21 +00:00
SidneyAn 730ef6eeaf Fix urllib/unicode related issues for Python 2/3
replace unicode by six.text_type
replace urlparse by six.moves.urllib.parse
remove the ignore for F821 from the flake8 config

PS: as there is a bug of pylint 1.9, six.moves.urllib.parse
should be import as follows:
e.g.
 from doc of module six:
   from six.moves.urllib.parse import urlparse
   urlparse(endpoint).path

 here:
   from six.moves import urllib
   urllib.parse.urlparse(endpoint).path

pylint bug: https://github.com/PyCQA/pylint/issues/2180

Story: 2003427
Task: 24605
Task: 24608

Change-Id: I098ba8093dbf08dd91acaf403291ebb469195558
Signed-off-by: SidneyAn <ran1.an@intel.com>
2019-01-15 19:57:15 +08:00
Bart Wensley ce5786af07 Refactor nova service creation in the VIM
Updates the VIM to avoid creating the nova-compute service, which
required an extension to the nova API. Instead:
- Nova is configured to automatically create new services and
  set them to disabled.
- When a host configured with the nova-compute service is
  unlocked, the VIM will wait for the nova-compute service to
  be created and then enable it.

These changes only apply to the kubernetes configuration.

This commit also adds some robustness to the VIM's keystone token
handling code to fail earlier when a token cannot be retrieved.

Change-Id: If8ce4eea87a51451495517077ca2ea6fbc6b689d
Story: 2004583
Task: 28387
Depends-On: Idb27a927de2ac91ebbb1df343a349bb14ec2f0d5
Signed-off-by: Bart Wensley <barton.wensley@windriver.com>
2019-01-11 09:23:54 -06:00
Zuul cab52fb0fa Merge "Enable python3 unit testing in zuul for nfv" 2019-01-09 22:00:45 +00:00
Zuul 4a1f5fb034 Merge "Improve security by avoiding buffer overflows" 2019-01-09 21:55:59 +00:00
Al Bailey 5b77ef8b91 Enable python3 unit testing in zuul for nfv
This does not ensure nfv is python3 compatable, but
it does ensure that the current unit tests and code covered
by those tests work in python3.

The shell.py changes are due to a change in default values in argparse.

The instance director change is because python3 uses a reference
rather than a copy, for its dict keys.

Story: 2003427
Task: 28818
Change-Id: Iaccc0ab5fc4e30b41df108f817612abad8ec612c
Signed-off-by: Al Bailey <Al.Bailey@windriver.com>
2019-01-09 09:38:21 -06:00
Luis Botello be468f45a7 Improve security by avoiding buffer overflows
This patch adds compiler flags to improve the security of STX code.
Flags added:
Format string vulnerabilities:           CFLAGS="-Wformat -Wformat-security"
Compiler will treat string format warnings as errors,
so at compiling level, buffer overflow is avoided.

Story: 2004380
Task: 28808

Signed-off-by: Luis Botello  <luis.botello.ortega@intel.com>
Reviewed-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
             Victor Rodriguez <vm.rod25@gmail.com>
Suggested-by: Victor Rodriguez <vm.rod25@gmail.com>
              Erich Cordoba <erich.cordoba.malibran@intel.com>

Change-Id: I7e844718e14b35893f9eeb725e32d9d7477f0d57
2019-01-09 05:46:04 -06:00
SidneyAn 7927d40584 Fix dict related issues for Python 2/3
when dict keys/values/items as a list
 replace keylist = heights.keys()
 to      keylist = list(heights)
 replace valuelist = heights.values()
         valuelist = list(heights.values())

when Iterating through dict keys/values/items
 keep for key in heights.keys()

Story: 2003427
Task: 24607

Change-Id: I22c8e1c5494a6763821b394a77a4d93ec837edc0
Signed-off-by: SidneyAn <ran1.an@intel.com>
2019-01-09 18:21:31 +08:00