97 Commits

Author SHA1 Message Date
okozachenko
74b119db35 Add nova-compute-ssh
Change-Id: Ia555bb69182441d5f17040504efc7d1d524e59ec
2020-09-25 17:39:05 +03:00
Gupta, Sangeet (sg774j)
94642833dd [nova] fix cell0 database connection
This patchset sets/updates the Database Connection for cell0 to
correct value in the database.

Change-Id: I4d445023691b748a7de0d256433bd17c7958cc04
2020-08-13 20:55:40 +00:00
Tin Lam
918a307427 feat(tls): add tls support to openstack services
This patch set enables TLS for the following OpenStack services: keystone,
horizon, glance, cinder, heat, nova, placement and neutron for s- (stein)
and t- (train) release. This serves as a consolidation and clean up patch
for the following patches:

[0] https://review.opendev.org/#/c/733291
[1] https://review.opendev.org/#/c/735202
[2] https://review.opendev.org/#/c/733962
[3] https://review.opendev.org/#/c/733404
[4] https://review.opendev.org/#/c/734896

This also addresses comments mentioned in previous patches.

Co-authored-by: Gage Hugo <gagehugo@gmail.com>
Co-authored-by: sgupta <sg774j@att.com>

Depends-on: https://review.opendev.org/#/c/737194/

Change-Id: Id34ace54298660b4b151522916e929a29f5731be
Signed-off-by: Tin Lam <tin@irrational.io>
2020-07-10 09:36:31 -05:00
Zuul
1fb8310770 Merge "Fix wrong parameter reference" 2020-06-09 19:36:21 +00:00
Zuul
8c073c5767 Merge "[nova] Unhardcode readiness/liveness probe timings" 2020-06-03 07:36:07 +00:00
zhen
ceac208357 Fix wrong parameter reference
There is a reference error in the parameter "client_interface" in the "_
nova-console-compute-init.sh.tpl" file, now fix it.

Change-Id: I0b1bdd348e1f424afda9aa2183c0e876afd12968
2020-05-30 16:58:00 +08:00
Gage Hugo
db79e79788 Remove OSH Authors copyright
The current copyright refers to a non-existent group
"openstack helm authors" with often out-of-date references that
are confusing when adding a new file to the repo.

This change removes all references to this copyright by the
non-existent group and any blank lines underneath.

Change-Id: Ia035037e000f1bf95202fc07b8cd1ad0fc019094
2020-04-03 20:53:32 +00:00
Oleksii Grudev
af4e2aaadd [nova] Unhardcode readiness/liveness probe timings
This patch adds ability to unhardcode readiness/
liveness probes timings. Moreover it introduces
RPC_PROBE_TIMEOUT and RPC_PROBE_RETRIES variables
which are passed to health probe script and
allow to unhardcode RPCtest  timeout and number of
retries

Change-Id: I2498a14e97557feafbd45c8df3c683f8500026e6
2020-04-01 14:54:57 +03:00
Sangeet Gupta
214feefd13 Nova: Update compute start script for console
[0] added route command to identify multiple default routes.
In some deployments, route command is not available which set the
client_interface value incorrectly. In this case VNC clinet tries
to connect to default host 127.0.0.1 and fails.

[0] https://review.opendev.org/#/c/696187

Change-Id: I4a936af053114988e0b70048e276a71833c5638e
2020-03-26 11:44:14 -05:00
Huang, Sophie (sh879n)
8a7b7ba086 Enable Cinder backends to use iSCSI for data traffic
In this patchset, the iSCSI protocol support is added
to enable Cinder to use iSCSI based storage backends.

Bootable volumes are not supported, only VM attached
volumes are supported for this initial patchset.

Change-Id: I1b35290b62d2cebae4bd8be62126a53f230ac6c0
2020-03-16 14:23:23 +00:00
Tin Lam
2aa32665b4 Add train release support
This patch set adds in job to test the OpenStack train releases.

Depends-On: https://review.opendev.org/#/c/706456/
Change-Id: I89fef1264f68dab7e921a9e5503c29d6a051f342
Signed-off-by: Tin Lam <tin@irrational.io>
2020-02-28 20:19:58 +00:00
Sangeet Gupta
414b10fab0 Fix health-probe concurrency and timings
Changed Nova and Neutron health-probe script to exit if previous
probe process is still running.
The health-probe has RPC call timeout of 60 seconds and has 2
retries. In worst case scenario the probe process can run a little
over 180 seconds. Changing the periodSeconds so that probe starts
after previous one is complete. Also changing timeoutSeconds value
a little to give little more extra time for the probe to finish.
Increasing the liveness probe periods as they are not do critical
which will reduce the resource usage for the probes.

Co-authored-by: Randeep Jalli <rj2083@att.com>

Change-Id: Ife1c381d663c1e271a5099bdc6d0dfefb00d8d73
2020-02-18 17:24:23 +00:00
Oleksii Grudev
d467d685a3 Fix health probe for several conductor workers
It was observed that when increasing amount of
conductor workers from default "1" to higher value
the readiness probe fails to check rabbitmq connections
for conductor processes - it happens since the script is trying
to obtain rabbitmq connections for parent conductor process
which in case of workers>1 doesn`t open rabbit connections
but spawns child processes which handle rabbitmq
connections instead.
This patch removes the "check-all-pids" option, keeps the logic
but simplifies and fastens he code - instead of checking all
processes when "check-all-pids" option was set (however
regardless of "sock_count value" if only one process opens connection
the check returns positive result) processes will be checked one-by-one
until the first one with open rabbitmq connection(s) is
found.

Change-Id: I72be0bbdefcba77a55b6ceed6e192c9621c069eb
2020-01-31 10:43:06 +00:00
Tin Lam
bf434ffd67 Add capability for using FQDN in nova compute
This patch set adds in a capability for the user to defaultly use a
FQDN for the nova compute hostname and the hypervisor hostname when
the host is not explicitly specified in the .Values.conf override.

Change-Id: I3243068dfe91ebb97b3885002296a0f454822ec5
Co-authored-by: Drew Walters <andrew.walters@att.com>
Signed-off-by: Tin Lam <tin@irrational.io>
2020-01-01 20:01:25 +00:00
sungil
620286117b Improve accuracy for version detection on nova
Because it's almost time for expiring on some python version, OpenStack client
running on that version generates some messages for warning. Two scripts on
nova Fixed by this PS get version information using the OpenStack client
without any protection for this kinds of messages. This PS gives a little
more sophisticated way of it.

Change-Id: I2896c76e012b9acbf1e725276ba9c0b74789fa54
2020-01-01 01:11:05 +00:00
Cliff Parsons
58291db1a6 Add capability to wait on compute nodes
This patchset adds the capability to the Nova chart to be able to wait
for a percentage of the compute nodes/hypervisors to become ready/available
before continuing on with the deployment. It will be disabled by default,
because this is a feature that may or may not be needed in production
deployments.

Change-Id: I971151a663afc87e7d62efa4ab3723c5472a3736
2019-12-17 02:48:49 +00:00
Pete Birley
b4248a51b6 Nova: Update compute start script to accomodate multiple default routes
This PS udpates the nova compute start script to account for cases where
there may be multiple default routes to the outside world.

Change-Id: Ibd051c2577a0ab67aa2a5284fc9ccab799c28953
Signed-off-by: Pete Birley <pete@port.direct>
2019-11-26 15:09:16 -06:00
Hemachandra Reddy
3ba23f7ab0 Fix psutil inconsistencies
Python psutil library has not been consistent in behavior
a. gives trucated process names at times
b. the truncated names sometimes contain path to Python instead
of the program name Python runs

Change-Id: I99b77a4c28761a2187e59be4e562d5893ef3caa9
2019-10-07 21:43:15 +00:00
Tin Lam
4817d1de28 Remove explicit call to py2
Python 2 is sunsetting in Jan 2020. We should not be finding python 2
explicitly. This patch removes those calls.

Change-Id: Ie6c9ad77097e662393c5fdd26490ebef25bdc3de
Signed-off-by: Tin Lam <tin@irrational.io>
2019-09-20 13:46:23 +00:00
Pete Birley
09616b4f3f Nova: Update Cell management to allow db updates and improve rabbit
This PS allows the db connection string for the singular cell that OSH
currently supports to be updated, and also uses the full connection
string for the transport url.

Change-Id: I700133263273e04dad5b3e69d5e1f8255323e560
Signed-off-by: Pete Birley <pete@port.direct>
2019-07-25 12:30:06 +00:00
Pete Birley
467b81a3e4 Nova: Update DB sync job to update transport url
If the transport url changes, cell needs to be updated to use new
transport.

Change-Id: I1a931b5ce272a731be710c43f3fea08abc79af71
Signed-off-by: Pete Birley <pete@port.direct>
2019-07-24 20:49:12 +00:00
Hemachandra Reddy
287602fe20 Support for RabbitMQ HA
There can be more than one RabbitMQ node in
transport_url in conf file when RabbitMQ is
configured in HA mode.

Change-Id: I9721e2e33212918d402bce295c02b1869dce67f7
2019-07-02 16:10:44 +00:00
Pete Birley
9bcf0df94c Messaging: use htk function to directly hit RabbitMQ servers
This PS updates the charts to use the htk function recently introduced
to allow oslo.messaging clients ans servers to directly hit their
backends rather than using either DNS or K8S svc based routing.

Depends-On: I5150a64bd29fa062e30496c1f2127de138322863

Change-Id: I458b4313c57fc50c8181cedeca9919670487926a
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-18 21:47:45 +00:00
Oleh Hryhorov
89f5bfe3ac Creating directory from ${APACHE_RUN_DIR} variable
If an image is built with python3 therefore libapache2-mod-wsgi-py3
module have to be installed accordingly but the module doesn't create
/var/run/apache2 directory which is APACHE_RUN_DIR in apache configuration
file so apache can't start without it due to the fact that the directory
is used to make there pid, run, etc files.

Change-Id: Ic92b095e9d7636c3ed833241bd3badbb4bb6e552
2019-06-18 06:02:47 +00:00
Zuul
02af9df330 Merge "Use nova's ping method to find out if the service is alive" 2019-05-08 00:37:34 +00:00
Jiří Suchomel
baf5356a4f Use nova's ping method to find out if the service is alive
Currently there is fake rpc call "pod_health_probe_method_ignore_errors"
that is passed to the service, just to find out if it is responding. Because
such method does not exist, it is needed to catch and handle the exception
that is inevitably thrown by the service.

While this is technically working correctly, the exceptions pollute the
log files and make it harder for user to see possible real errors.

This is how the error looks like:

ERROR oslo_messaging.rpc.server [-] Exception during message handling: oslo_messaging.rpc.dispatcher.UnsupportedVersion: Endpoint does not support RPC version 1.0. Attempted method: pod_health_probe_method_ignore_errors
ERROR oslo_messaging.rpc.server Traceback (most recent call last):
ERROR oslo_messaging.rpc.server   File "/var/lib/openstack/lib/python3.6/site-packages/oslo_messaging/rpc/server.py", line 163, in _process_incoming
ERROR oslo_messaging.rpc.server     res = self.dispatcher.dispatch(message)
ERROR oslo_messaging.rpc.server   File "/var/lib/openstack/lib/python3.6/site-packages/oslo_messaging/rpc/dispatcher.py", line 276, in dispatch
ERROR oslo_messaging.rpc.server     raise UnsupportedVersion(version, method=method)
ERROR oslo_messaging.rpc.server oslo_messaging.rpc.dispatcher.UnsupportedVersion: Endpoint does not support RPC version 1.0. Attempted method: pod_health_probe_method_ignore_errors

This situation is new since https://review.openstack.org/#/c/639711/
which (correctly) increased the default level of logging. Before 639711
error messages from oslo (both real and ones that could be ignored) were not
present in nova logs at all.

Fortunatelly, nova's BaseAPI class provides 'ping' method that is can
be used for this basic purpose by all nova components.

Change-Id: I0062e74bed399206becb8d9e00f9ec805da864a3
2019-05-02 10:26:47 +02:00
Zuul
778f13f568 Merge "Start nova sshd container only if enabled" 2019-05-01 15:09:37 +00:00
hagun.kim
360ee8255e Fix novnc init asset copy options
When novnc pod is re-run because of host reboot and so on,

novnc pod has existing volume /tmp/usr/share, which has 0444 permissions.

So init container occurs an error while it tries to copy asset files.

cp: cannot create regular file '/tmp/usr/share/novnc/index.html': Permission denied

With -f option, the init container can copy without errors.

Change-Id: I56d928b7f4a30a6be29b47560357a3b4f5eec764
Signed-off-by: hagun.kim <hagun.kim@samsung.com>
2019-04-19 16:48:50 +09:00
Zuul
3dfb927c2b Merge "Add an option to the health probe to test all pids" 2019-04-18 06:17:03 +00:00
Itxaka
6d7a909447 Allow more generic overrides for nova placement-api
With this patch we allow for a more easy way of overriding some of
the values that may be used in other distros while maintainting the
default values if those values are not overriden

The following values are introduced to be overriden:

conf:
  security:
  software:
    apache2:
      conf_dir:
      site_dir:
      mods_dir
      binary:
      extra_flags:
      a2enmod:
      a2dismod:

On which:
 * conf_dir: directory where to drop the config files for apache vhosts
 * site_dir: directory where to drop the enabled virtualhosts
 * mods_dir: directory where to drop any mod configuration
 * binary: the binary to use for launching apache
 * extra_flags: any flags that will be passed to the apache binary call
 * a2enmod: mods to enable
 * a2dismod: mods to disable
 * security: security configuration for apache

Notice that if there is no overrides given, it should not affect anything
and the templates will not be changed as the default values are set
to what they used to be

Change-Id: I4fcfde78c5c8fa65956aeae55108ffa1f10e6972
2019-04-12 14:03:36 +02:00
Gerry Kopec
52f8415deb Start nova sshd container only if enabled
Only start the sshd container of nova-compute pod if the capability is
enabled.  Defaults to off to allow cases where nova docker image does
not have ssh packages to run cleanly.

Story: 2003463
Task: 30441
Change-Id: I3acf5b654ecda23a93f6c28e865e1bbee14370aa
Signed-off-by: Gerry Kopec <Gerry.Kopec@windriver.com>
2019-04-10 00:36:07 -04:00
Gerry Kopec
5a7c6581ad Fix ssh config in nova to support cold migrations
- Fix .ssh/config file mapping
- Move private key from nova-compute-ssh container to nova-compute
  container.
- Map private and public keys to configmap-ssh which will default to
  the appropriate file permissions.
- Add additional config to /etc/ssh/sshd_config to allow passwordless
  root logins over appropriate subnet passed in from overrides.
- Remove chmods from sshd bash script as they are failing.

Depends on helm-toolkit supporting multiple containers per daemonset
pod.

Story: 2003463
Task: 24723
Change-Id: Idd2e802c293f1e14991ee787ade9a4936fb373ff
Signed-off-by: Gerry Kopec <Gerry.Kopec@windriver.com>
2019-04-09 22:24:46 +00:00
Itxaka
931e4eba54 Add an option to the health probe to test all pids
On some services it looks like the parent pid does not connect to
rabbitmq and its the children the ones that do instead, for example
in nova-scheduler from rocky version onwards.

The current health check only checks for the main parent pid to see
if it has an active connection to the rabbitmq port.

This patch adds a flag to allow the health probe to check all processes
for the mysql/rabbit connection instead of skipping any children process.

It also enables it by default for nova-scheduler as it wont affect older versions
than only run 1 process, but will work on later versions where
the main process forks.

Change-Id: I9677fd2aff11b563ab18059927ca12d5ace107ce
2019-03-20 18:14:34 +01:00
Itxaka
d4e882b04a Fix nova probes under python3
Under python3 an Exception no longer has the message attribute,
instead you can just str the exception to get the error message

Change-Id: Ibf88ae6b73f3bafcc2b99bb01e31bf8c25021e47
2019-03-20 13:18:33 +01:00
Jiří Suchomel
f33c07b8fb [nova] Do not throw out stdout of nova-manage --version
"nova-manage --version" used to print to stderr, but
at least since Rocky it prints to stdout

Change-Id: I48e46612e17556babc35263355c6749c70fd8711
2019-03-14 12:05:24 +01:00
Hemachandra Reddy
49b58b7e7d Health probe for Nova components
Health probe for Nova pods is used for both liveness
and readiness probe.

nova-compute, nova-conductor, nova-consoleauth and nova-scheduler:
Check if the rpc socket status on the nova pods to rabbitmq and
database are in established state.
sends an RPC call with a non-existence method to component's queue.
Probe is success if agent returns with NoSuchMethod error.
If agent is not reachable or fails to respond in time,
returns failure to probe.

novnc/spice proxy: uses Kubernetes tcp probe on corresponding ports
they expose.
Added code to catch nova config file not present exception.

Change-Id: Ib8e4b93486588320fd2d562c3bc90b65844e52e5
2019-03-06 19:34:49 +00:00
Pete Birley
65df9acaf8 Nova: Move ceph config to remain on host
Change-Id: I786f9fec553eb8b65faa5b8b022d6c971f7dfba1
Signed-off-by: Pete Birley <pete@port.direct>
2019-02-08 16:02:13 -06:00
John Haan
af3369cfea [Nova] Add host interface for host_ip in hypervisor description
This patch set host_interface for update host_ip information in compute
node.

Currently helm chart defines the value of my_ip set "0.0.0.0",
therefore host_ip of compute node is null.

$ nova hypervisor-show {uuid}
+---------------------------+------------------------------------------+
| Property                  | Value                                    |
+---------------------------+------------------------------------------+
| cpu_info_arch             | x86_64                                   |
.
.
| host_ip                   | None                                     |

Through this patch, OpenStack can provide appropriate values for
the required field.

Change-Id: I05f929cb2c777582c177e8c7a64b9fd431d554ec
2019-01-09 15:37:34 +09:00
Jean-Charles Lopez
e40d114d80 Cephx caps update for new and post deployments
The update makes sure the Openstack service's cephx
user capabilities match best practices in terms of
security permissions after a site or software update.

Change-Id: I70e7f620accb186da2013ba95472777c25739cc1
2018-12-04 19:03:54 +00:00
Jean-Charles Lopez
1cb646e7d1 Restrict Cinder, Glance and libvirt Ceph access scope.
Depends-On: I78bffe6764e9cbb16b2a615be766c910ba5d4e48
Change-Id: I112f2d9137f00ab2d0c246b6c0b52e4a546d648a
2018-10-29 15:53:36 +00:00
Zuul
942a5657e6 Merge "Revert "Update OSH Author copyrights to OSF"" 2018-08-28 20:35:20 +00:00
Jean-Philippe Evrard
05d0e2b4b8 Revert "Update OSH Author copyrights to OSF"
This reverts commit b1755c3993.

Change-Id: I215a172f2ff4220340292b95f5323847944baeb7
2018-08-28 17:25:13 +00:00
Zuul
ab6f29985b Merge "Update OSH Author copyrights to OSF" 2018-08-28 15:43:01 +00:00
Matt McEuen
b1755c3993 Update OSH Author copyrights to OSF
This PS updates the "Openstack-Helm Authors" copyright attribution
to be the "OpenStack Foundation", as decided in the 2018-03-20
team meeting:
http://eavesdrop.openstack.org/meetings/openstack_helm/2018/openstack_helm.2018-03-20-15.00.log.html

No other copyright attributions were changed.

Change-Id: I167ceedab8fadee28c19514fad6f125d0a521caf
2018-08-26 17:17:41 -05:00
Jawon Choo
90c2a2273e Nova: (fix bug) get ip address from interface
Some environment which is enabled zeroconf network, it returns
multilines. This PS make to get the one ip address correctly.

Change-Id: I577f02908b76b280d8fa87acec25d96c3f556e47
2018-08-09 20:33:06 +09:00
Zuul
45b7dabe23 Merge "Nova: add live_migration_interface option" 2018-07-18 12:32:50 +00:00
Jawon Choo
31be86079d Nova: add live_migration_interface option
This option is useful in environments where the live-migration traffic
can impact the network plane significantly.
A separate network for live-migration traffic can then use this config
option and avoids the impact on the management network.

Change-Id: Id16c95e77730e5b244cf5bc69beb0e549c979701
2018-07-17 12:09:40 +00:00
Pete Birley
69fca6be30 Nova: Reap dead services
This PS adds a cron job that reaps dead services from Nova.

Change-Id: I59e74c7520b0341d7cb7ebddd4c21e459e9c2049
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-16 18:38:50 +00:00
Yi Tseng
22965babe4 Fix incorrect nova config init script
nova-console-compute-init.sh and nove_consolt-proxy-init.sh generates
incorrect configuration if there exists multiple IP address on default
interface.

To solve this problem, we pickup first IP address if there exists
multiple IP on that interface.

Change-Id: Iaadd2e71d624122e68fdd628771df21cd61c0784
2018-07-10 12:36:53 +08:00
Zuul
0117c1434c Merge "Nova: Don't set console server_proxyclient_address as null" 2018-05-09 02:11:49 +00:00