aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-06-15Updated armbandJonas Bjurel1-0/+0
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>
2016-06-15Updated armbandJonas Bjurel1-0/+0
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>
2016-06-15Updated armbandJonas Bjurel1-0/+0
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>
2016-06-15Updated armbandAlexandru Avadanii1-0/+0
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>
2016-06-15Merge "Fix: f-l: usb_table borked rebase."Alexandru Avadanii1-2/+2
2016-06-15Merge "Upstream: IPMI port + Mitaka mirror."Alexandru Avadanii2-248/+0
2016-06-15Updated armbandJonas Bjurel1-0/+0
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>
2016-06-15Updated armbandAlexandru Avadanii1-0/+0
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>
2016-06-15Fix: f-l: usb_table borked rebase.Alexandru Avadanii1-2/+2
I messed up the identation and missed a semicolon during rebase. Change-Id: I7142721cc57115a72c93bcfd270c03d6cb04c399 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-15Upstream: IPMI port + Mitaka mirror.Alexandru Avadanii2-248/+0
Change-Id: I3c7bd7f9be85078783a2e95dfe480cffc08534d1 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-15Updated armbandMichal Skalski1-0/+0
Project: fuel 301ce6a92c82f65df08d75995d35316005e38ff9 Build local mirrors for stable/mitaka Change-Id: I3128652aeb87cb2cfaa91ded1b8d9ebeeb70d33b Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-06-15Updated armbandAlexandru Avadanii1-0/+0
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>
2016-06-15Updated armbandwuwb19891-0/+0
Project: fuel 8b192597ef66f45a820886bfe2489548a9fa807f build and deploy onos plugin for fuel9 Change-Id: I04dd8b4bdddc5678b158d7287c6ffc52d1bce135 Signed-off-by: wuwb1989 <wuwenbin2@huawei.com>
2016-06-14Updated armbandJonas Bjurel1-0/+0
Project: fuel 53ddd94cc6a61c4121300b529209662755f36b5a Enable vsperf plugin in fuel 9.0 Change-Id: I96b59e22fcc0269aa3ae0b04587c8ca7d0fab867 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
2016-06-14Updated armbandJonas Bjurel1-0/+0
Project: fuel eb299372fbb32f93cac6c92060e37bd21c7d8ba0 Update configuration for fuel 9 virtual deployment in Huawei-China. Change-Id: I9d2fc979886510c165af8dbac93ddcdc954727cf Signed-off-by: wuwenbin2 <wuwenbin2@huawei.com>
2016-06-14Updated armbandStefan K. Berg1-0/+0
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>
2016-06-14Merge "Rebase for "Improve reliability of upload_cirros""Alexandru Avadanii3-44/+29
2016-06-14Merge "Makefile: git submodules should track remotes."Alexandru Avadanii1-1/+1
2016-06-13Updated armbandStefan K. Berg1-0/+0
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>
2016-06-13Rebase for "Improve reliability of upload_cirros"Alexandru Avadanii3-44/+29
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>
2016-06-13Makefile: git submodules should track remotes.Alexandru Avadanii1-1/+1
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>
2016-06-13Updated armbandStefan K. Berg1-0/+0
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>
2016-06-13Updated armbandStefan Berg1-0/+0
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>
2016-06-13Updated armbandDaniel Smith1-0/+0
Project: fuel b598e13d935c29e5bbc3d2be3a2731b2b63d3ec5 Temporary fix for PXE booting from the wrong NIC Change-Id: I1f6d38da24d5a4e66061b9bdfe576fbbda7fb624 Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
2016-06-13Merge "Rework: Move m1.micro RAM bump to post-install."Alexandru Avadanii2-35/+38
2016-06-13Merge "Rework: Move nailgun timeout patch to postinstall"Alexandru Avadanii2-27/+36
2016-06-13Merge "Cleanup: Drop obsoleted hardcode, now in fixture."Alexandru Avadanii1-31/+0
2016-06-13Merge "Fix: f-w: Nailgun `current_release` obsoleted."Alexandru Avadanii1-3/+2
2016-06-12Rework: Move m1.micro RAM bump to post-install.Alexandru Avadanii2-35/+38
Change-Id: I158c58cb01112d2113a75dd425275cf9531d49fc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-12Rework: Move nailgun timeout patch to postinstallAlexandru Avadanii2-27/+36
Change-Id: I927bb36b0ac4628630f90649027441a895c6f774 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-12Rework: Move xz/gzip switch to post-install.Alexandru Avadanii2-35/+52
This is highly unlikely to be upstreamed in any other form than this. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-06-12Fix: f-w: Nailgun `current_release` obsoleted.Alexandru Avadanii1-3/+2
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>
2016-06-12Rework: Move fuel-astute patch to post-install.Alexandru Avadanii5-37/+49
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>
2016-06-10Cleanup: Drop obsoleted hardcode, now in fixture.Alexandru Avadanii1-31/+0
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>
2016-06-10post-scripts: Enable systemd-binfmt for first boot.Alexandru Avadanii1-0/+96
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>
2016-06-09FIXME: Temporary: Backport: build local mirrors.Alexandru Avadanii4-17/+189
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>
2016-06-08Rebase: p/f/deploy-reap-extra-eth: context update.Alexandru Avadanii1-3/+1
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>
2016-06-08Rebase: rm p/f/Allow-customizing-fuel-plugin-odl.Alexandru Avadanii2-30/+3
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>
2016-06-08Fix: f-l: s/nailgun::/fuel::/cobbler::preseed.Alexandru Avadanii1-3/+3
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>
2016-06-08FIXME: Temporary: Remove repo-mirror-cz.patch.Alexandru Avadanii1-0/+62
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
2016-06-08Merge "Fuel deploy: timestamp for newly created images"Alexandru Avadanii1-0/+39
2016-06-08Merge "Rebase: deploy related patch series."Alexandru Avadanii28-155/+226
2016-06-08Updated armbandStefan Berg1-0/+0
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>
2016-06-08Updated armbandMichal Skalski1-0/+0
Project: fuel 6f9e8e2c829412d350644fa6a820a8a2890f69b7 Do not create files when check connectivity Change-Id: If0ab25ee843f9892510da3d3c8d1f10a54440545 Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-06-08Updated armbandStefan K. Berg1-0/+0
Project: fuel a87426e28f604517de39f778b7a216ecf75e172a Script to clean expired build cache items Change-Id: I5e466c89c05eb4d637778218cfe03b88d569f331 Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
2016-06-08Updated armbandPeter Barabas1-0/+0
Project: fuel 7b6a386fe58d96ff476cd8c34a18c6e7bce8895f Fix for not reaping 'ssh_network' Change-Id: Ib225701a808211e50554c8f1762325aa75ecc33f Signed-off-by: Peter Barabas <peter.barabas@ericsson.com>
2016-06-06Updated armbandMichal Skalski1-0/+0
Project: fuel c4afb1da513ef3230432fff400ea231660b230c9 Build odl plugin for mitaka Change-Id: I59b96a424a753f880b4ac16abd806851ad3f9533 Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2016-06-04Fix: nailgun_syncdb upgrade to Fuel 9.0.1.Alexandru Avadanii1-2/+2
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>
2016-06-04Makefile: Mitaka update.Alexandru Avadanii1-3/+1
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>
2016-06-04Rebase: ODL Fuel plugin arm64 support patch.Alexandru Avadanii1-26/+21
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>