Since VirtualBox 5.1 released on 2016-07-12 the audio setting enabled
by default which can be an issue on some hardware because audio not
supported in the Fuel.
Change-Id: I19dfd0cb44d034e41e3b061f2107476907b78363
Closes-Bug: #1624303
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
This change adds support of the all versions of the nmcli command.
Change-Id: Icc5f93d052c451116b23c2922fe18e23e3f72746
Closes-Bug: #1617453
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
This change removes using the Sed's GNU extensions to support BSD-Sed
in MacOSX, also moves one of them (lowercase) to the tr command.
Change-Id: I5afef3fc562443e7089b72e645b725b86781c54c
Closes-Bug: #1600793
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
Please read README.md files for more information.
Change-Id: I4f65d7ea6c9d9bf8f02d97e63ec09a2f1aae0006
Closes-Bug: #1592592
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
This tool is a helper for sending Alt+SysRq+<key> combination
to the guest OS in VirtualBox VM, which is used in Linux for
printing different sorts of debug messages to the kernel log,
like list of processes, stack traces of CPUs and so on, or for
performing actions: reboot, sync e.t.c. It's very useful when
all other ways to communicate to the VM become unavailable.
Closes-Bug: #1588383
Change-Id: I63864d8e575a73f5efec6e55cc02483a59935307
In some cases, VBoxManage utility can't assign network interface parameters
on the first try. This commit adds additional checks of network interface
settings and re-assigns the network settings if the first attempt was
unsuccessful.
Change-Id: If8a24ec44257b47e221477c46e93e3f62e63a07d
Closes-Bug: #1535742
This commit adds an ability to use ssh public key authentication for
the Fuel master node by uploading your ssh public key to it. The path
to the public key file can be provided in the 'config.sh' file.
Closes-Bug: #1579123
Change-Id: I93560126940457518fc4385c0518ab00c0cac01a
To differ envs one from another I need name of isofile in fuel-master
VM description.
Closes-Bug: #1579104
Change-Id: I93560126940457518fc4385c0518ab00d4b3dead
This commit adds the new parameter to the wait_for_exec_in_bootstrap
function for always return success when this parameter non-empty.
This functionality will be used in the last step of the installation
when we need to wait when Fuel master node installation ends.
Change-Id: I399000821a4a9aeed4d359da8d0e723ea1642c88
Closes-Bug: #1569537
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
Using the user-defined ssh_config configurations bring more problems
instead of enchancements.
Change-Id: Icfd720e8d691b72a52e78e531eaf5aea9cdfb12a
Closes-Bug: #1569032
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
Since we assign public gateway address on master node, all public
traffic goes through it. Unfortunately, it doesn't reach destination due
to rejecting rule in FORWARD chain:
ACCEPT all -- 10.20.0.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere
ext-filter-forward all -- anywhere anywhere
The commit fixes that problem by inserting (-I), not appending (-A)
ext-filter-forward entry. In that case that rule will have higher
priority and won't break routing.
ACCEPT all -- 10.20.0.0/24 anywhere
ACCEPT all -- anywhere anywhere
ext-filter-forward all -- anywhere anywhere
REJECT all -- anywhere anywhere
Change-Id: I7887f08a175fa0ce06654dc1fc18ab412cb296f5
Closes-Bug: #1566968
Firewall rules should be managed by Puppet, which will purge current
firewall ruleset and replace it by the one provided by a corresponding
manifest.
We need to move rules introduced by product.sh to separate user-defined
chains which are not purged by Puppet so they will be retained after the
manifest gets applied.
Change-Id: I57e9f58c6bad32b23b179499f0514edf5357bd31
Partial-Bug: #1524750
Because 'showmenu' now enabled by default in ISO we should use
'skipfuelmenu=yes' during automated installation using the scripts.
Change-Id: Ic7528bb6a473bceaa8b99945f45f1e862c5e3f70
Partial-Bug: #1557245
Fuel don't support IPv6 yet, so we shouldn't use IPv6 DNS servers
from the local /etc/resolv.conf.
Change-Id: Ia6ec6bf0bf3c100c591f82cd9b8785a00e93f016
Closes-Bug: #1553568
Added a requirement for the Internet access on the OS
in the README.md
Also added header describes the scripts.
Change-Id: Ib4b59ecca9b49163d64e8c6b1595ab44519be762
Partial-bug: #1551443
This commit adds check for the file 'dumpkeys.cache' because it
should be exist in the main directory and in some cases it can't
be recreated. Also, this commit contains some enchancements for
all other checks and for the functions/*.sh modules.
Change-Id: Iaa55921709e0575e924af042f4322b759847d097
Closes-Bug: #1547019
This commit removes boot with disabled SELinux because since 9.0 Fuel
is perfect works in permissive mode. Also, it contains some cleanups
after separate project from the Fuel-main repo.
Change-Id: Ieb9cffa2ea2ba5507b86e298b471e43419ca0e4f
Closes-Bug: #1521154
This commit include changes:
* using the VirtualBox scripts the Fuel master node now always
booted with kernel option 'wait_for_external_config=yes' to
provide the same deployment functionality as in the 'fuel-qa'.
* settings for the kernel command line moved to the top config
file, because the settings wich could be edited should be placed
there.
* because of configuration task moved to the correct place there
is no need to parse 'bootstrap_admin_node.log' and always follow
the changes in the 'fuel-library', so all parsing logic removed
from the scripts. This also simplifies networking changes and
there is no need to patch the files on the fly and restart
docker containers if they used.
* variable 'vm_master_nat_gateway' removed from the 'config.sh'
and from the 'enable_outbound_network_for_product_vm' because
gateway should be set from the DHCP lease.
* the sysconfig configuration files on the fuel master node now
configured the right way. the backup files for configuration
files are created. also added some comments for changes in the
scripts.
* now the default routing on the fuel master node correctly
configured without creating the second default route. also
ZeroConf route creation and NetworkManager now switched off
to correct work of the network service.
* the 'resolv.conf', 'dnsmasq.upstream' and 'astute.yaml' now
correctly modified and could contain up to three DNS nameservers.
* added support for the new dockerless 9.0 Fuel.
Implements blueprint: get-rid-docker-containers
Change-Id: I8f32fb8105d0781938757fa13d5dcbbacbf9c845
Closes-Bug: #1544241
Partial-Bug: #1323365
This commit increase timeouts for 'expect' to wait for the
command prompt after the Cobbler container restart which
in some cases takes too long time.
Change-Id: Ic9861cc08f6411f8b126a02432422ad07f49d22a
Closes-Bug: #1542320
This commit fixes parsing of $goodline and $badline strings
in the 'bootstrap_admin_node.log' which causes incorrect
behaviour of VirtualBox scripts under Windows 10.
Change-Id: Ib90582adf4d5b3aa03ade081d788e5177add4b93
Closes-Bug: #1538143
This commit adds forgotten kernel name back to boot Fuel
using VirtualBox scripts with skipfuelmenu="yes" set.
Change-Id: I58e21558024c3974dab8af6cefa141bf270fb065
Closes-Bug: #1537897
Closes-Bug: #1487047
Related-Bug: #1525967
VirtualBox scripts tested well only with GNU version of the
'sed', but MacOSX systems without custom brew-installed
packages contain BSD's version of the sed. This commit
fixes regexp to use both versions.
Change-Id: I058cac4eb9c2beefffc20ad05a47bc1d8ed2169d
Closes-Bug: #1537822
VRDE should disabled by default. It can be enabled by the
'headless' option in the config.sh
Change-Id: I2bc9f5a03e1d410fe9a092532fe75c41d80af84f
Closes-Bug: #1502114
The support to deploy on a remote machine is broke the
default behaviour on the Windows OS, so now it always
needs to set the $PATH manually before using the scripts.
Also, the new functionality didn't work on the remote
Windows machine because the scripts change the $PATH on
the local system only.
This commit adds some more checks and fixes the local
$PATH setup. It didn't check remote system requirements
so deploy on a remote machine still have some problems.
Added several messages in the scripts.
Also this commit contain increased timeouts to fix
failures during network interfaces add/change operations
on some Windows systems.
Change-Id: If5dadc1ece3931f42eac423aae4d7016d45c2040
Closes-Bug: #1534129
Partial-Bug: #1491925
This commit adds enchantments and proper support for Windows 7/8/10:
* more verbose messages.
* by default all network interfaces will be removed.
* some code cleanup and regexp fixes.
* added sleeps for some network operations.
* proper support for windows full filenames.
Change-Id: Ic56f8d114bdaf83dd12b76dd6cc46eaa8d74da52
Closes-Bug: #1524558
Closes-Bug: #1496042
VirtualBox scripts rely on various utilities to function. To validate
the environment, virtualbox/prepare-environment.sh checks if all these
utilities are available to the shell. However, some of the checks
(namely xxd and ssh) were missing. This change should fix this by
aborting the prepare step in case if these utilities are not found.
Change-Id: Ic49c11054345964c9785e9c4c791ea33dba4791c
Partial-Bug: 1525967
Master node needs an outbound internet connection to download repository
metadata during admin node bootstrap process. We need to wait until it
starts building docker containers, then enable the connection and wait
until the bootstrap process completes.
This change depends on another patch, which makes 'dockerctl build all'
much more verbose (https://review.openstack.org/#/c/261062/36).
Change-Id: Ibcc50bb47bd95dc1675aaf1abddbac375a434e2a
Depends-On: I77a1d3a32633390c1fe37bbeb81da5d0996972df
Closes-Bug: 1525967
ROM firmware is optional now and should be used only by user choice.
It should be named as 'FirmwareName.isarom' placed under 'drivers/' directory.
In the same directory placed an example firmware and some information.
Change-Id: I5841deacacacf39c9c654828c44a869ef996044b
Depends-On: Id1f0d9e32487bcd902940311ed8d8bef4129fdaf
Doc-Impact: ops-guide
Closes-Bug: 1528186
Closes-Bug: 1527474
This is the new open source boot firmware for VirtualBox default
Ethernet controller (Intel Corporation 82540EM Gigabit Ethernet
Controller [8086:100e]) set by virtualbox scripts.
This is the leading open source network boot firmware, which
provides a full PXE implementation enhanced with additional features
such as boot from a web server via HTTP which now used by the
Fuel 8.0.
Change-Id: I0b9a3f6f80ba88eb5e7f7db75834f65916af6f66
Depends-On: I26b62414e1cc0193c75f954ed7ed76570a4bf2f6
Doc-Impact: ops-guide
Closes-Bug: 1527474
Master node needs an outbound internet connection to download repository
metadata during admin node bootstrap process. We need to wait until it
starts building docker containers, then enable the connection and wait
until the bootstrap process completes.
Partial-Bug: 1525967
Change-Id: I0ca296cb5f727d2b6a5708355956c30e4ccf283b
We have a "skipfuelmenu" variable in virtualbox scripts, which allows to
skip "fuelmenu" step during the installation procedure. This option is
enabled by default.
Currently, we have a hardcoded variable $boot_line, which contains scan
codes, passed by VirtualBox into isolinux on an emulated keyboard.
We should generate these scancodes from a user specified line instead of
hardcoding them.
Partial-Bug: 1525967
Change-Id: Ia2419b5e2eaa4b30cd2876112d7c080abbebcba5
CentOS7 comes with pre-defined REJECT rule in FORWARD chain
that doesn't allow to access external networks from public
network.
When deploying ISO with virtualbox scripts slave nodes are trying
to connect to external networks via public net, with default
gateway on master node. However, they can't establish a connection
because there is no explicit rule in FORWARD chain to allow it,
so they are rejected.
This commit adds rules to allow connection to ext networks in
that usecase.
Compatible with CentOS6 & CentOS7 master node.
Blueprint: master-on-centos7
Change-Id: I5b61ae6e7562ea5b446809027c487acc11119889
In centos 7 grep aliased to
grep --color=auto
which causes line matching error in product.sh
Blueprint: master-on-centos7
Breaks: nothing
Closes-Bug: #1517140
Change-Id: If7b351834535a5dbe900ec5387d48fcb81885458
Set VirtualBox directory to PATH in clean.sh.
Call interfaces deletion from clean.sh.
Closes-Bug: #1493275
Change-Id: I9d3a62997e22210129418cdab603f4f43ace510e