Age | Commit message (Collapse) | Author | Files | Lines |
|
When testing with nested virtualzation I attached
the Fuel ISO to VM (/dev/sr0) running deploy.sh
This failed because we expect the ISO to be a file, when
it could be a device, e.g. /dev/sr0. Instead of checking isfile()
check for read access.
This tested with bsdtar. It can extract an ISO from a file or device.
Change-Id: Ic09373cd618b33382303d9134cce4e005040de95
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I378baa85bd9e1b9b535a2d4e9c8dcb34a267a6e5
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
Use shlex to parse the command line, thus handling quotes and other
special characters.
Change-Id: Icc3a2cd934aac8f67e07d967f76c7679bcb34996
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
Don't make it executable; don't make it world-writable.
Change-Id: I5d117b39e70fff2c1cb5e62d017efe0387b9b5f4
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
exec_cmd() now takes 2 additional optional arguments: mask_args and
mask_str. The former expects an array of positions to mask, the latter
expects a string to be used as mask.
Change-Id: I445141a68929a0d2837e7692ce8b4d071154cfa7
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
The purpose of this patch is to collect all available Fuel snapshots- and
stack/node ldeployment logs for later off-line troubleshooting.
The intention is that Jenkins, or other deployment robots will be able to
collect all logs from the deployment and store it at some repository where
developers can fetch it and perform off-line post deployment trouble-shooting.
Following script arguments have been added:
CI Arg changes:
Added an argument to ci/deploy.sh:
-L [Deploy log path and file name], E.g.
-L ~/jenkins/deploy/deploy-888.log.tar.gz
This will create an tar gzip archive at the path and filename pointed out.
If -L is not specified, the log archive will be placed under the CI directory
with the following name convention: deploy-YYMMDD-HHMMSS.log.tar.gz
Fuel Internal deploy changes:
Added an argument to ci/deploy.py
-log [Deploy log path and file name], E.g.
-log ~/jenkins/deploy/deploy-888.log.tar.gz
This will create an tar gzip archive at the path and filename pointed out.
If -log is not specified, the log archive will be placed under the CI
directory with the following name convention:
deploy-YYMMDD-HHMMSS.log.tar.gz
READY TO MERGE!
VERIFIED!
Change-Id: Icb75d9d2e66bdd47f75dcca29071943444d5c823
Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
|
|
Some commands executed by exec_cmd may fail because of a temporary
cause, and it may be desirable to retry the same command several times
until it succeeds. One example of this are the ipmitool commands, which
may fail temorarily on some targets if they get too many requests
simultaneously.
In this patch three new optional parameters are introduced to the
function signature, which do not break backward compatibility:
attempts: which indicates how many times the command should be run if
it returns a non-zero value*, and defaults to 1 (as today).
delay: which indicates the delay in seconds between attempts, and
defaults to 5 seconds.
verbose: It will print the remaining attempts left for the current
command if set to True.
* It may be desirable to add yet another parameter to indicate what
return value should be considered an error, but non-zero for now
seems a reasonable default.
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
When running commands with exec_cmd(), the stderr of the command is
sent to /dev/null and ignored, and only stdout is retrieved. Thus, when
a command fails and check is enabled, only the output of stdout is
presented to the user, which normally holds no information about the
error.
In this patch we retrieve stderr, and when an error occurs, an exception
is raised with that message.
Fixes https://jira.opnfv.org/browse/FUEL-142
Change-Id: I3940e1a43963a6abec362481b1d4ce7bd7cb816d
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
Change-Id: I6789b81186b7ede124a838a5b6668ba8326e0c0b
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
Change-Id: Ifd01bc89c2c73801544310f567dd0458233b3290
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
Change-Id: Icd2feed7326772837c74f35688160d1eb0c25652
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
and deployment/test scenarios
READY TO MERGE!
Replaces: https://gerrit.opnfv.org/gerrit/#/c/3995/
Abstract
--------
This deployment framework relies on a configuration structure,
providing base installer configuration, per POD specific configuration,
plugin configuration, and deployment scenario configuration.
- The base installer configuration resembles the least common denominator
of all HW/POD environment and deployment scenarios (These configurations
are normally carried by the the installer projects in this case (fuel@OPNFV).
- Per POD specific configuration specifies POD unique parameters, the POD
parameter possible to alter is governed by the Fuel@OPNFV project.
- Plugin configuration - providing configuration of a specific plugin.
these configurations maintain there own namespace and are normally maintained
by collaborative projects building Fuel@OPNFV plugins
- Deployment scenario configuration - provides a high level, POD/HW environment
independent scenario configuration for a specific deployment. It defines what
features/plugins that shall be deployed - as well needed overrides of the
plugin config as well as the base installer-, POD/HW environment-
configurations. Objects allowed to override
is governed by the Fuel@OPNFV project.
Executing a deployment
----------------------
deploy.sh must be executed locally at the target lab/pod/jumpserver
A lab configuration structure must be provided - see the section below.
It is straight forward to execute a deployment task - as an example:
sudo deploy.sh -b file:///home/jenkins/config -l ericsson-1 -p pod-2
-s os_odl-l2_no-ha -i file:///home/jenkins/MyIso.iso
-b and -i arguments should be expressed in URI style. The resources can thus be
local or remote.
Feedback
--------
Please give feed-back before I'm going to far on a wrong tangent
Implemented scenarios so far:
-----------------------------
- os_ha
- os_no-ha
- os_odl-l3_ha
- os_odl-l3_no-ha
- os_odl-l2_ha
- os_odl-l2_no-ha
- os_onos_ha
- os_onos_no-ha
- os_kvm_ha
- os_kvm_no-ha
- os_ovs_ha
- os_ovs_no-ha
- os_kvm_ovs_ha
- os_kvm_ovs_no-ha
VERIFIED
READY TO MERGE
JIRA: FUEL-35
Change-Id: I94a9b477d8ed4ee8057c16d8f20fe543f7ecc20d
Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
|
|
In order to download the deployment information, the node id
must be explicitly specified.
The fuel setting commmand returns "ha_compact" as the mode for
a cluster, but Fuel does itself not understand this when changing
the settings - it needs to be named "ha".
Added shebang for reap.py and deploy.py.
Upped the default image sizes for the DHA template to match
Fuel 7.
Change-Id: I3ecacb83dc44454b90dedc98104658a16926dc1f
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
Restructure of the directory layout due to move of Fuel into it's own repo
JIRA: FUEL-85
Change-Id: I3647e1992a508f29dce06a5d6c790725c527f6f5
Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
|