Age | Commit message (Collapse) | Author | Files | Lines |
|
Project: fuel 3cddf277c5966c5cc584a493d5923cc5dcdc7820
virtual_fuel: initial support for remote libvirt
With this patch it should be possible to create a fuel VM on a remote
libvirt server by properly defining the LIBVIRT_DEFAULT_URI [1]
environment variable. If the variable is not defined, then there should
be no percievable change in behaviour for the script.
This patch introduces the ability to create volumes (images) on a
remote libvirt host where the Fuel VM is to be deployed. For now
the volumes are created by default in a pool named jenkins, but
the idea is to allow this to be configured, probably in the POD's
DHA file.
Since all virsh commands honor LIBVIRT_DEFAULT_URI, we use this
environment variable to detect wheter we should create a volume or not.
The rationale being that the variable will only be set if the user wants
to to do the VM deployment on a remote libvirt host.
We need to create a volume because we can not rely on being able to
access the remote server's file system directly.
The images are then transferred to the libvirt host using virsh
commands. All this could also be done using scp and a user directory
on the host machine, but using pools allows us to take advantage of
libvirt's policies and file permissions.
CHANGE: when LIBVIRT_DEFAULT_URI is defined, the script will not check
for the presence of the required PXE bridge. This will still be checked
when the Fuel VM is started and the bridge not found, but this happens
at a later point than it does today.
CHANGE: before this patch, the file system image was named like the VM:
vm_name.raw. This patch introduces a change and adds a timestamp suffix
to the image: vm_name-timestamp.raw. This is so to avoid collisions with
an image with the same name on the remote pool (two PODs may be using
the same pool). It may also be useful to keep around old file system
images.
FIXME: This patch requires a pool named "jenkins" in the remote libvirt
server, and it will fail if it is not present. This should be
configurable.
Notice though that we can still define LIBVIRT_DEFAULT_URI as
"qemu:///system" to create the Fuel VM on the local host.
[1] https://libvirt.org/remote.html#Remote_URI_reference
Change-Id: I40925ed31337d3ad9cf505f284f5c3d14e9129a0
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
Project: fuel f09f2e3c661b8fcb1c82151e1ad17eea7275b417
VirtualFuel: Add temp_dir and vm_name attributes
These two variables are defined in one of the methods right now. They
will be useful to other methods too, so we add them as attributes to the
object here.
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
virtual_fuel: make vm_template an attribute
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
virtual_fuel: factor out image creation into a method
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
Project: fuel aa58ccd04bfa98ae2bfbf2e37a180020e331deaf
common.py: allow specifying number of attempts in exec_cmd
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>
ipmi_adapter: simplify, retry if command fails
The method get_node_state has been added to the the IpmiAdapter class.
In addition, now the power on/off methods will try several times to
perform their IPMI command before giving up, instead of bailing out at
the first error.
After the power on/off command is completed, the method will wait until
the node is in the desired state.
NOTE: a command could potentially take several minutes if the defaults
are used; each IPMI command can take up to 1 minute, and there can be 3
commands issued per operation, one of them may be retried 20 times with
the current defaults. Ideally we would use eventlet or something similar
to allow each command a limited time to execute, instead:
with eventlet.timeout.Timeout(seconds) as t:
power_on/off_command
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
|
|
Project: fuel c47a7f7a0198e2ce6ba54cbe485ae87983f785d2
ODL build: Allow customizing JAVA URL
For Armband, JAVA8_URL hardcode needs to be patched outside of the
build system, so make related var overrideable.
Change-Id: I308074a4ae0c5f8b22e5e5128965ce90fea3734e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Stanislaw Kardach <Stanislaw.Kardach@cavium.com>
|
|
|
|
|
|
Project: fuel f9e8c1a361d3673df9fcde83e46d265ed49fa499
repobuild: Allow customizing fuel-mirror repo URL
For Armband, fuel-mirror code needs to be patched outside of the build
system, so we factor out the repo URL into an overrideable variable
(FUEL_MIRROR_URL).
Change-Id: Icf26f1b84f5a653f541819a42980377f51c7f299
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Stanislaw Kardach <Stanislaw.Kardach@cavium.com>
|
|
Project: fuel ba99c6e97a4dc9db8165edc7d95a254892f59830
Build: Allow customizing FUEL_MAIN_TAG (commit)
FUEL_MAIN_TAG is currently hard set to 9.0 (not overridable).
While this is a sane assumption for the usual scenarios,
Armband applies a series of patches on top of Fuel@OPNFV, hence
requiring us to override this variable.
WARNING: FUEL_MAIN_TAG is reused for fuel-mirror tag, so if you
override this variable, make sure the same tag exists in fuel-mirror.
Change-Id: Ided75cf0c3b5ad18cf7ef1ec88b5d2dc3aada511
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Stanislaw Kardach <Stanislaw.Kardach@cavium.com>
|
|
I messed up the identation and missed a semicolon during rebase.
Change-Id: I7142721cc57115a72c93bcfd270c03d6cb04c399
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I3c7bd7f9be85078783a2e95dfe480cffc08534d1
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Project: fuel 301ce6a92c82f65df08d75995d35316005e38ff9
Build local mirrors for stable/mitaka
Change-Id: I3128652aeb87cb2cfaa91ded1b8d9ebeeb70d33b
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
|
|
Project: fuel a2ee8e7efc66be53645c8b1d7c43b7740bc999cd
deploy: ipmi adapter: Add <port> config support.
Sometimes the IPMI lanplus protocol listens on a non-standard
remote port, e.g. when target nodes are interfaced through a
fake IPMI BMC application that listens on multiple ports on the
same IP address.
Therefore, allow setting IPMI port in the DHA using a new
property named `ipmiPort`, and pass it along to `ipmitool` when set.
CHANGE: get_access_info now also supports specifying the IPMI
port to use with `ipmitool` by configuring the `ipmiPort`
property in the DHA.
hp_adapter.py: updated `get_access_info` return signature with
the new (unused there) `ipmiport`.
Change-Id: I620176bd7f466aa460518cf12d15ccbe86a22560
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Project: fuel 8b192597ef66f45a820886bfe2489548a9fa807f
build and deploy onos plugin for fuel9
Change-Id: I04dd8b4bdddc5678b158d7287c6ffc52d1bce135
Signed-off-by: wuwb1989 <wuwenbin2@huawei.com>
|
|
Project: fuel 53ddd94cc6a61c4121300b529209662755f36b5a
Enable vsperf plugin in fuel 9.0
Change-Id: I96b59e22fcc0269aa3ae0b04587c8ca7d0fab867
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
|
|
Project: fuel eb299372fbb32f93cac6c92060e37bd21c7d8ba0
Update configuration for fuel 9 virtual deployment in Huawei-China.
Change-Id: I9d2fc979886510c165af8dbac93ddcdc954727cf
Signed-off-by: wuwenbin2 <wuwenbin2@huawei.com>
|
|
Project: fuel dac2b89d574c21951a82e9408e58e5b92ac33763
Fixing erroneous hypervisor type
A "qemu" snuck in instead of "kvm".
Change-Id: Ibe704103cd1bab6e127a31d08d53f53518033539
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
|
|
|
|
Project: fuel 406636f26873d551c1adcf10275d0064c22d2b40
Updated devel-pipeline DEA overrides for Fuel 9.0
Minor fix in the ELX version.
Update to Fuel 9.0 in the default version.
Change-Id: Ic084b86e7f6d2dfc3d15b10f0ef72e04ef2b7bf6
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
Upstream change "Improve reliability of upload_cirros.rb" [1]
allows us to drop the "Increase upload_cirros timeout" patch,
and also requires rebasing our direct kernel boot patch.
Also squashed in a small context edit for an unrelated patch.
[1] https://review.openstack.org/#/c/327792/
Change-Id: I8adc30a74714414fae55bc7b81bc0f69f41735ce
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Instead of binding git submodules to a specific commit, track
their remote origins at `make submodules-init`.
This introduces the risk of upstream changes breaking our patches
more frequently (used to be whenever we bumped submodules by hand),
and requiring rebasing, but that already happens for Fuel@OPNFV.
This represents a major improvement in tracking upstream and moving
away from forking, at the expense of more frequent rebasing, until
we upstream or move to post-installation step all our patches.
For example, since we rebased our modules 1-2 weeks ago, quite
a few patches landed upstream (e.g. [1]) that we missed in our builds.
[1] https://bugs.launchpad.net/fuel/+bug/1587773
Change-Id: I2d9e0877513558c86f68875f03976002f757e5ee
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Project: fuel eb94725aae686ac519070f00ee9628ae0725d00f
Modification of deployment config for Fuel 9 and ELX lab
Change-Id: I380087889cda079a56c8cea3acc13145dcd49046
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
Project: fuel c6da8551bcdc1762a3135fcaabee7e5f98e6fcb9
Revert "Temporary fix for PXE booting from the wrong NIC"
This reverts commit 5926bcddca0eca28a33ae43aadf90b9263ae6b84.
Change-Id: Ibea4ca5d38ce2e10ab6d5bb1d7ccdf666ee149d5
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
Project: fuel b598e13d935c29e5bbc3d2be3a2731b2b63d3ec5
Temporary fix for PXE booting from the wrong NIC
Change-Id: I1f6d38da24d5a4e66061b9bdfe576fbbda7fb624
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
|
|
|
|
|
|
|
|
Change-Id: I158c58cb01112d2113a75dd425275cf9531d49fc
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I927bb36b0ac4628630f90649027441a895c6f774
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
This is highly unlikely to be upstreamed in any other form than this.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream fuel-web change "Remove legacy patching code" [1]
obsoletes `current_release` definition in `deployment_serializers.py`.
Update our nailgun patch that adds arch field to no longer rely on
this functionality.
[1] https://review.openstack.org/#/c/280708/
Change-Id: I93b3691be860427da320c5c0a2c799dcc4158afd
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
IMPORTANT:
Drop `fuel-astute` submodule, and patch it instead during the Fuel
Master node bootstrapping process, using an OPNFV post.d script.
Luckily, this fits well with the recently added script that prepares
FM for cross-building.
One step closer to un-forking.
Change-Id: Ia612e0ad4077b16baf54f1b9ebf9d207daca0be4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
We used to change the harcoded grub-pc with grub-efi-arm64, but
since Mitaka now adds package list overrides in fixtures [1], we
may remove this obsolete patch.
[1] https://github.com/openstack/fuel-web/commit/
4ee42effe27694bd231663e3d0f10c0c42877177
Change-Id: I6707b4dbf3823f356c7ff2367215a41e287b80ac
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
ARMBAND NOTE(S):
- This is a bug fix + a new feature (arch list in a file on FM)
- This is overengineered because:
* we want to move patching to post-ISO creation, OPNFV style;
* easier integration with Fuel@OPNFV, using post-install scripts;
* prepare for true multiarch support on Fuel Master;
IMPORTANT:
This commit introduces the following file on Fuel Master,
containing the list of arch supported for target nodes:
</etc/fuel_openstack_arch>.
This file is created AFTER pre.d OPNFV scripts are ran, also by
bootstrap_admin_node.sh, BEFORE the post.d scripts are executed.
NOTE: Arch format is the same used by dpkg (e.g.: "amd64 arm64")
Based on the number of foreign architectures we should support
(the list of archs in /etc/fuel_openstack_arch minus native arch),
we determine whether cross-builds are expected, in which case
binfmt support should be functional during first Fuel Master boot.
Since systemd-binfmt service has a series of preconditions for
starting, which are tested early during first boot, some of them
are NOT YET true (e.g. no binfmt handlers are present before
qemu-user-static package is installed), so the service is not
automatically started. Of course, this only affects the first boot.
Finally, this commit adds an OPNFV post-install script in
/opt/opnfv/bootstrap/post.d, which starts systemd-binfmt service.
Change-Id: I6dbe4b3ac5a2fd076881d6778ff66b82bb6c7379
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Backport upstream pending patch
"Build local mirrors for stable/mitaka" from [1].
Minor rebase for two other patches after applying this series.
[1] https://gerrit.opnfv.org/gerrit/#/c/15259
Change-Id: I362e08be3460d711de064a487fdcc8c76fc69af9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Update patch `deploy/reap.py: Dump extra interfaces information.`
after upstream change was merged [1].
[1] https://gerrit.opnfv.org/gerrit/#/c/15275/
Change-Id: I9fd74775030732cc0759610228fa80a0cec72352
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream change [1] made this patch obsolete.
While at it, update related patch context after same change.
[1] https://gerrit.opnfv.org/gerrit/#/c/14385/
Change-Id: I21753e4dafdd0ab83c5eac37f394aa704bbe236b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
The nailgun puppet module has been replaced with fuel puppet module.
This change needs to be reflected in our cobbler preseed function,
which I missed during the initial rebase.
[1] https://github.com/openstack/fuel-library/commit/
74a68f493ff215ce8dfc67c3af6d06dd5a2db194
Change-Id: Ie13861ff75fc289ab03190f48fcfb5579499db1e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream removed all mirrors but usa and cz, and changed
its default to mirror.fuel-infra.org in [1].
This allows us to drop patching of fuel-main/config.mk
with the Czech mirror.
If needed, USE_MIRROR=cz can be specified as an env var.
FIXME: Remove when Fuel@OPNFV pulls change and deals with it.
[1] https://github.com/openstack/fuel-main/commit/
751d502cfe15d9c9df0ee89530ac3b0b73aa1638
|
|
|
|
|
|
Project: fuel 14f07bc7ecb9f166d5244abcc5789d8fd584c0dd
ISO: Use --joliet-long names.
Armband adds similar files, which tend to have long names and only
differ in suffixes (e.g. DEBs for amd64 vs arm64).
This works around ISO build error(s) like:
"genisoimage: Error:
./ubuntu/pool/main/g/golang-gogoprotobuf/golang-gogoprotobuf\
-dev_0.0~git20150828.0.6cab0cc-1~u14.04+mos1_amd64.deb and
./ubuntu/pool/main/g/golang-gogoprotobuf/golang-gogoprotobuf\
-dev_0.0~git20150828.0.6cab0cc-1~u14.04+mos1_arm64.deb
have the same Joliet name"
Change-Id: I89d9816d86176d80bcc76f5f90c8391b0664ab82
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Project: fuel 6f9e8e2c829412d350644fa6a820a8a2890f69b7
Do not create files when check connectivity
Change-Id: If0ab25ee843f9892510da3d3c8d1f10a54440545
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
|
|
Project: fuel a87426e28f604517de39f778b7a216ecf75e172a
Script to clean expired build cache items
Change-Id: I5e466c89c05eb4d637778218cfe03b88d569f331
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
|
|
Project: fuel 7b6a386fe58d96ff476cd8c34a18c6e7bce8895f
Fix for not reaping 'ssh_network'
Change-Id: Ib225701a808211e50554c8f1762325aa75ecc33f
Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
|
|
Project: fuel c4afb1da513ef3230432fff400ea231660b230c9
Build odl plugin for mitaka
Change-Id: I59b96a424a753f880b4ac16abd806851ad3f9533
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
|
|
Armband database migrations were applied on top of Fuel 8.0,
creating two heads:
43b2cb64dae6 (branchpoint)
-> 11a9adc6d36a
-> f9b7fd91ac19 (head)
Update our change to be applied on top of Fuel 9.0.1.
Change-Id: If5b2ff1aa082227cebd268a2515b78a350166598
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Remove unnecesary overrides from Makefile.
Switch Armband repo from 8.0 to 9.0, trimming "-fuel" repo URL suffix.
ODL plugin build remains enabled.
All other plugins are currently not built.
Some cleanup is due in the future:
FIXME: Switch to our own JDK later.
FIXME: Remove FUEL_CENTOS_8.0 stuff.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
ODL plugin package is now arch-independent, drop arm64 hardcode.
FIXME: Some arm64 hardcodes remain in place, like installing
quagga package.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|