Commit Graph

467 Commits

Author SHA1 Message Date
OpenDev Sysadmins d29fb70147 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:51:21 +00:00
Zuul 1f512ce8fa Merge "Remove log translations" 2017-11-16 09:40:31 +00:00
Vu Cong Tuan 62fb2b10a8 Do not use “-y” for package install
According to "code conventions" [1], do not use "-y" option.
Instead, use apt-get install package, yum install package,
or zypper install package.

[1] https://docs.openstack.org/doc-contrib-guide/writing-style/
code-conventions.html

Change-Id: I19e99efe37ccb15049c920f7e41589c0e22b618a
2017-11-07 11:16:51 +07:00
Jenkins 59dd6c7518 Merge "Improve validation error message" 2017-08-31 17:18:05 +00:00
Jenkins 7650f7efbd Merge "Update contributing documentation" 2017-08-31 17:15:57 +00:00
Jenkins 79bdb2b5f7 Merge "Add deployment information" 2017-08-31 16:50:00 +00:00
Benjamin Michael Cooper 45eccc4e25 Improve validation error message
If a sub section of a deploy schema is one of multiple options
python-jsonschema, which used to verify the schema, is unable to
determine which option is intended so cannot produce a useful
error message. As "type" is required by all partitions and volumes
this is be used to determine the correct sub schema, which can then
be validated recursively using python-jsonschema. The validation
error message then gives specific details on each incorrect
parameter.

Change-Id: Icb22b88b40f0fa45a3fe3932d69ba32e4a360edd
2017-08-31 16:17:41 +00:00
Benjamin Michael Cooper ee7e16269a Update contributing documentation
Update the documentation for contributions to inlcude a technical
overview and the updated procedure for running functional tests.

Change-Id: I40760733a3db7f0f667e4c2297e3692bbbfb10c3
2017-08-31 16:16:14 +00:00
Benjamin Michael Cooper c2c255cc56 Add deployment information
Provide information on deploying nodes using bareon.

Change-Id: I1b14f6a7ab80253d2f63e55f03c0581e6251d16b
2017-08-31 16:40:30 +01:00
Jenkins d68568df73 Merge "Add DevStack instructions" 2017-08-31 14:27:41 +00:00
Benjamin Michael Cooper cbed591b27 Add DevStack instructions
Provide instructions for setting up DevStack for use with Bareon.

Change-Id: I3068a0ff00f3f6e37e4407c1e8461df1076257bd
2017-08-31 13:43:40 +00:00
Benjamin Michael Cooper 7f71449315 Add bootstrap for ramdisk func tests on centos
Use an ansible playbook to configure a centos host so that the
Bareon functional tests can be run.

Change-Id: I846be89759d73ac72bdaa41246315716d44d858f
2017-08-24 16:58:21 +00:00
Jenkins f7a9da7065 Merge "Configurable virtualisation" 2017-08-17 09:00:10 +00:00
Benjamin Michael Cooper 0c72e265f1 Configurable virtualisation
Allows qemu to be specified instead of kvm when hardware
virtualisation is not available.

Change-Id: Ib220c344f4cecc665930d51aa56c7fbfe749b7ac
2017-08-17 08:48:08 +00:00
Benjamin Michael Cooper aae59d92ea Fix directory in centos diskimage builder script
Change-Id: Ibc5404878c204e6927a4eefe3afbece33622fe86
2017-08-17 08:47:04 +00:00
Benjamin Michael Cooper a8fb6aa0f4 Fix OpenStack dependencies
Respect upper-constraints.txt
To prevent pip installing the latest and greatest packages
(which may break Bareon), pin the version to those specified
in the upper-constraints.txt file from the openstack
requirements repo.

Fix hacking module version
Change hacking version in pep8 tox tests to prevent conflict
with other openstack requirements.

Change-Id: I44b66529c9efa611abb55a9130d9d23bb6b7f046
2017-08-15 15:07:27 +01:00
gaozx a951ea7533 Remove log translations
Log messages are no longer being translated. This removes all use of
the _LE, _LI, and _LW translation markers to simplify logging and to
avoid confusion with new contributions.

See:
http://lists.openstack.org/pipermail/openstack-i18n/2016-November/002574.html
http://lists.openstack.org/pipermail/openstack-dev/2017-March/113365.html

Change-Id: I763eb2a223395374dd113f0bc2b13130f654f650
2017-03-21 03:35:37 -04:00
Dmitry Bogun 9cacc64c59 Solve test object naming in functional tests
During upstreaming functional test, some test object names was
updated(or not updated). As result several functional tests eds with
error.

Change-Id: I45699a1b4ea809b620cc96bb3ef274e619840612
2017-03-03 13:10:01 +02:00
Jenkins a15361393e Merge "Register all config options in one place" 2017-03-02 10:25:29 +00:00
Jenkins 245cbf02a6 Merge "Improve ironic-callback" 2017-03-02 10:22:08 +00:00
Jenkins ef5b8fe977 Merge "Make ssh-key optional" 2017-03-01 15:46:14 +00:00
Jenkins 9d2c7dbb0c Merge "Rename GDisk objects family" 2017-03-01 15:45:36 +00:00
Dmitry Bogun 1f33e227f8 Improve ironic-callback
Add support to new bareon-ironic communication "protocol" - extension
for vendor passthru API. This protocol allow to receive generic
tasks(steps) from bareon-ironic driver, process them on bareon "side"
and send back results.

Right now only one step is implemented - step to inject SSH key.

Change-Id: I9ea828b24085fa72df470eef41ad32d9096f6b40
2017-03-01 16:03:28 +02:00
Dmitry Bogun 4b734a3673 Make ssh-key optional
Bareon is capable to fetch ssh-key from ironic conductor, after start.
So we can avoid preinstalled ssh-key in bareon image. But ssh-key is
extremelly helpfull for debugging. This change switch ssk-key from
mandatory to optional.

It also add "hook" for injecting root passwords inside bareon-image. It
can/should be used for debugging too. (In case if you will have access
to node's console).

Change-Id: Icb27d40c9872703d9b01a8c7705ad7b185277e6b
2017-03-01 12:43:01 +02:00
Dmitry Bogun 937eb632e5 Register all config options in one place
Make a single point responsible for config option registration to
increase control over config initialization and avoid conflicts.

Usually such conflicts become visible when sharing code with externa
callers. In our case it was the deployment config validator (part of
data drivers), exported as part of the ironic data driver via the
setuptools entry point.

Change-Id: Ibba18db61c222d910d8dca8866ea74b14ce011c8
2017-02-28 13:12:47 +00:00
Jenkins 62b05760ef Merge "Add docstting for bareon.utils.block_device.Disk" 2017-02-24 16:05:09 +00:00
Dmitry Bogun 4ee9bbe3e5 Rename GDisk objects family
Rename GDisk int SGDisk, to have a "direct" match with wrapped tool. All
"satalite" objects acquire "s" preffix too.

Change-Id: I59847bb84a288073358560c58885f925d8589f04
2017-02-24 15:58:25 +02:00
Dmitry Bogun 1872b734bd Certain subset of hardware may lead to failue
The old way to detect SCSI address of block devices rely on incorrect
assumption. It rely that folder
/sys/class/scsi_device/{scsi_address}/device/block exist for any SCSI
device. And because this assumption is incorrect, if fails with
unhandled exception, on such hardware.

Rewrite core responsible for detection SCSI address of block devices.

Change-Id: I3c9938e145fc8c6d3036fdb769fd20f8b8f63678
2017-02-22 16:54:49 +02:00
Dmitry Bogun 2463be48b0 Add docstting for bareon.utils.block_device.Disk
Describe destination and used "methods" into Disk class.

Change-Id: I1e7e7ce1ee71556216dbef71a08686e7280cbd84
2017-02-14 17:14:46 +02:00
Dmitry Bogun 726e510897 Improve spelling
Change-Id: I61a9544f9b6ca41c029eda84f81191b7dca22468
2017-02-08 16:14:26 +02:00
Dmitry Bogun 0f1d1e7f22 Actualize comment messages in fucntional tests
Some comments are outdated - don't represent code actions. Some comments
should be replaced with docstrings. Some should be reworded.

This change is going to fix all this "comment" issues.

Change-Id: Ie518a2f25dbc9c27b0a7db35a7533bde8dec278f
2017-02-08 13:56:29 +02:00
Dmitry Bogun 1127e89243 Add additional functional tests
These are a set of functional tests developed to test known issues and
patches for those issues. It's better to keep these tests public, in
case someone else faces functional degradation of bareon code.

Change-Id: I17899f115df7f81786681ddb97db18cf2a01689a
2017-02-08 13:37:43 +02:00
Jenkins af8929b990 Merge "Avoid modification into global objects" 2017-02-07 14:51:39 +00:00
Dmitry Bogun ec374ed13b Avoid modification into global objects
Now it is not an issue. But it can become issue in any time. "hidden"
modification of global objects is a time bomb.

Change-Id: I4e9d9984cb5d0af3b03b6436ddb7c7849703acbb
2017-02-07 16:02:03 +02:00
Jenkins baf3a85477 Merge "Avoid persistent storage modification by request" 2017-02-07 13:47:31 +00:00
Dmitry Bogun 8504a657ac Avoid persistent storage modification by request
Ironic driver support "check and live as is" partitioning operation. It
is used to in "redeploy" node after hardware failure. Ususally some
files are changes since time when node was deployed. And usually we need
to keep this files "as is" too.

The problem appers in "do_install_os" deployment step. It revert all
files to state stored into deploing image.

This update disable "do_install_os" when "check and live as is"
partitioning operation is requested.

Change-Id: I978059ec28444389e5a1b18ae0a20af0e1a71a45
2017-02-06 16:39:56 +02:00
Dmitry Bogun 6d2dc82a70 Use cloudinit to put ssh-key onto deployed image
Change-Id: I23ae8a19cfc89a6eba1c52cd13d97d24273ae1b5
2017-01-26 15:14:59 +02:00
Dmitry Bogun 8ebb6bdfea Remove old naming evidence
Change-Id: Ie546d9d976c061c567302493bc2d6487a48a2557
2017-01-26 15:06:32 +02:00
Jenkins 09fba8dca8 Merge "Rename kernel parameters expected by callback" 2017-01-23 15:15:27 +00:00
Jenkins bd478a8db9 Merge "Remmoved unnecessary utf-8 encoding" 2017-01-23 15:07:59 +00:00
Andrei V. Ostapenko 901f96866f Rename kernel parameters expected by callback
Change-Id: I1e754de2aec89e6d6140792565791c1b523ec344
2017-01-20 20:52:31 +00:00
Dmitry Bogun 5104e6ae5f Correct handling of "remaining" size
Deprecated storage scheme didn't take into account "remaining" size
claims. As and percentage sizes too. This change make it capable to
handle suze size "units".

But it calculate size based on disk size received from caller. Same as
it was done in old storage scheme.

Change-Id: I4d6a59065a1546163615ac4b65411898b942afe2
2017-01-20 14:13:37 +02:00
Rajiv Kumar acdfab941b Remmoved unnecessary utf-8 encoding
Change-Id: Idd1aeb81d1012a63c530f9571e72bbf2dba0c522
2017-01-10 17:33:47 +05:30
Dmitry Bogun 525051d0bc Fix "provisioning" functional tests
"Provisions" family of bunctional tests depend of "hardcoded"
SSH-key. This fix removes this dependency.

Change-Id: I2c7a1ef8ebd57a3b402bb1534a6f01221a8cd32b
2017-01-10 09:19:15 +02:00
Dmitry Bogun 477933a85d Adopt ramdisk-func-test changes
Change https://review.openstack.org/415709 changes environment object
API. This patch adopts our tests to this changes.

Change-Id: I2fb3e0d03ea8b10013fd648f51bc7b4526071603
2017-01-10 09:18:45 +02:00
Dmitry Bogun 355667dc2e Restore missing argument in logging call
Change-Id: Idb44fac8961a4bded4ced48d2a1052bacc8d8447
2017-01-10 09:18:45 +02:00
Dmitry Bogun 0139a010e3 Fix code incompotable with python2.7
Change-Id: I10c3ccd7572b10e4f87232832743ff52ee5e6e3d
2017-01-10 09:18:45 +02:00
Dmitry Bogun c2d78e6b73 Fix "config object already initialized" error
Change-Id: I865e082215dbdb231e0ef968e76b4925b776da2a
2017-01-10 09:18:45 +02:00
Dmitry Bogun 328dd6cd0c Convert block device size into nailgun data driver
Now all partition related tools expect "size" in bytest(not in MiB) or
instances of SizeUnit object. Nailgun was last data driver that
represented "size" of block devices in MiBs.

Change-Id: I03170969407d33a8921fc0b4b32739d1865c10e0
2017-01-10 09:18:45 +02:00
Dmitry Bogun 3dc8f1c411 Avoid huge metadata reservations in LVMpv
By some reason, pvcreate method allocates two 64MiB metadata chunks by
default.  We can/should make test how many vg/lv can be allocated using
default two 2MiB metadata chunks(this LVM defaults not our). But I
believe that it will be enough for any reasonable amount ov vg/lv.

We still can pass required metadata size, if we need to.

Update functional tests expected constants to match metadata size
update.

Change-Id: I0106fa35b7b21f16ce6a9a8794e6c88ba61ceeca
2017-01-10 09:18:45 +02:00