b3a98fca4af94eceb1999534f7f561b519b1a32c
539 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
OpenStack Proposal Bot
|
b3a98fca4a |
Updated from global requirements
Change-Id: I4c28ee1bcbafba1cb2bab00463fe4354cd6ec25f |
||
|
Jay Faulkner
|
fee7ca28b4 |
Bump IPA container to use Trusty
Bump IPA container to use trusty. This gives us a newer version of pip which is required to install newer requirements that are packaged as wheels. Only other change to dockerfile is to ensure python 3 is removed, in order to avoid raising the size of the container. After this patch, the agent image goes up in size 3M, which is managable. Change-Id: I11f39fadb87d42dd15885e6afc63df2c927ce771 |
||
|
Jenkins
|
e4f5984043 | Merge "Bump CoreOS to latest stable" | ||
|
Jim Rollenhagen
|
b0d989c245 |
Bump CoreOS to latest stable
Two reasons: 1) Use a build that is marked stable 2) Fixes an issue where boot hangs for minutes on updating CA things, which enables much faster deploy times. Change-Id: Ic7fca96f0dfe87065e2df5feaf2c29efc662a0e1 |
||
|
Jenkins
|
557a50f41f | Merge "Add support for psutil v1 as well as v2" | ||
|
Jay Faulkner
|
39819644e5 |
Add support for psutil v1 as well as v2
Openstack global requirements updated to specify version 1 only, and we only supported version 2. Change-Id: Iee97e4b14cae00238028ef936d2f96fbc8e2604c |
||
|
Jay Faulkner
|
965acb55ae |
Add two undeclared dependencies to the Dockerfile
While auditing our dependencies in antipiation of DIB elements being created, I found these dependencies not being explicitly installed by docker. We should explicitly install them even if we expect them to exist in the base image. Change-Id: I38ec7167ae24b9abbda08cbbbdd55205612b7288 |
||
|
Josh Gachnang
|
83782018f7 |
Improve Disk Detection
The previous implementation of list_block_devices used blockdev, which would list partitions, software RAID and other devices as block devices. By switching to lsblk, the agent can filter down to only physical block devices, which is all the agent cares about for any of its operations. This change adds two new fields to the BlockDevice class: model, a string of the block devices reported model, and rotational, a boolean representing a spinning disk (True) or a solid state disk (False). This data can be useful for vendor hardware managers. Change-Id: I385c3bb378c2c49385bca14a1d7efa074933becf Closes-Bug: 1344351 |
||
|
Ellen Hui
|
5e1aa0a8f8 |
Fix no IP on interface error
Finding an IPv4 address to advertise fails and crashes if the interface exists but has no valid IPs. This can be fixed by adding KeyError to the exceptions caught. Change-Id: I60204427ec5201696d02c5c26f4b43a00d794413 Closes-Bug: #1342448 |
||
|
Jay Faulkner
|
edcf7b11b6 |
Migrate CoreOS to use coreos-cloudinit
http://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/ describes how to use coreos-cloudinit to configure a node. Migrate to using this instead of a single BASH script (which is deprecated). This also means we need the latest version of CoreOS, so I've updated coreos-oem-inject.py to pull from the most recent copies, and this includes moving to the amd64-usr builds. Change-Id: I620b8fec1bfc5d58b560434d17b4f617734fadb8 |
||
|
Jay Faulkner
|
929824237c |
Install requirements for coreos-oem-inject.py
This script needs plumbum and requests, which are not installed by default on bare-trusty. Change-Id: I6bf1ebe66afcbbf47c5d9fe96d1a2b1b889882de |
||
|
Jim Rollenhagen
|
2cc4517d7c |
Run make with sudo when building
When building, `make` ends up calling `docker`, which needs to be done via sudo. This runs make with sudo. Change-Id: I49558dff3a00e1795d3fe0489a2ff183f00e6183 |
||
|
Jim Rollenhagen
|
cf99515f97 |
Add current directory logging to build script
Helps debug post job. Change-Id: Ia30a8b5511dc087ddd1ecdbfe8eb3ca1e63a0ad5 |
||
|
Jim Rollenhagen
|
07c4dfc707 |
Fix author/email in setup.cfg
This changes the email in setup.cfg from an internal Rackspace email to the openstack-dev list, and the author to OpenStack. Change-Id: Iebd652c157ba639c72898b7554a23fe9bed77c22 |
||
|
Kyle Stevenson
|
3c09b3975f |
Add support for passing no configdrive
Some people use metadata services, we should allow instances to be created without configdrive. Change-Id: I5eb64b33291d6b975cf19357c04bf85066e4e3e8 |
||
|
Jay Faulkner
|
b4961f846e |
Add infra build script to IPA
We now do builds of the IPA CoreOS ramdisk in the post script. (Ref: openstack-infra/config/tree/modules/openstack_project/files/ jenkins_job_builder/config/ironic-python-agent-jobs.yaml) We should store the build script for this in the local repo so we can modify it as needed without needing commits to openstack-infra/config. Change-Id: I92655c0552179613c23b129d1e2dce2ef1643391 |
||
|
Mike Heald
|
d26bb42059 |
Converted documentation in md format to rst
Change-Id: I88c642a24fb032b6e0920c8ba378127f8e12116c Closes-Bug: 1332741 |
||
|
Jay Faulkner
|
b5cd83b13c |
No longer recommend use of ipa-advertise-url
Because IPA now detects what IP to advertise, specifying this in the PXE config should no longer be a recommended default. Change-Id: I3a854fd07cd7987425288b61fd6eeac925db0bff |
||
|
Jenkins
|
a4079e1075 | Merge "Better errors for execute() failures" | ||
|
Jim Rollenhagen
|
c5df7070af |
Better errors for execute() failures
Exceptions raised due to processutils.execute() failing now include stdout and stderr. Change-Id: Id5d1b5bc51d377f9f3c338cd7303ea800f76e5cd |
||
|
Jenkins
|
8f32811710 | Merge "Improve readme for CoreOS imagebuild" | ||
|
Jay Faulkner
|
689430d69f |
Improve readme for CoreOS imagebuild
This: - includes a link to new gate-built images - updates the kernel command line options (none needed in newer images) Change-Id: I79e9a0ab7de1dc61dd035bebf81c87136e4c3202 |
||
|
Jay Faulkner
|
b43c8c4c4e |
Fix comments to reflect reality
These comments were left in write_image.sh from the 'teeth-agent' days when these were split into two scripts. I moved the comment into the correct script and clarified what it means. Change-Id: Iccdcd925be5c94d993d8125534264f496de4594f |
||
|
Jay Faulkner
|
8e131e75e3 |
Fix invalid command in Dockerfile
This cleanup command was invalid. Not removing the apt lists adds a few unneeded megabytes to the agent image. Change-Id: I55ad4434d20a8984ea4cf5866360fd2622d811f4 |
||
|
Jenkins
|
d8f5eb963e | Merge "Improve cache_image testing" | ||
|
Jenkins
|
6c6f94bdda | Merge "Remove duplicated test for caching image" | ||
|
Jenkins
|
e60c6db199 | Merge "Reduce requests connection pool size" | ||
|
Jenkins
|
3cd9d47ba6 | Merge "Fix: partitions recently imaged not being detected" | ||
|
Russell Haering
|
1893e02c10 |
Reduce requests connection pool size
Requests defaults to keeping 10 connections to the API alive. This seems excessive, reduce it to 2. Change-Id: Iac67fd4d855388d2671da3b7258b31d1eead77a9 |
||
|
Jenkins
|
102c86e45a | Merge "Fix HardwareManager loading order bug" | ||
|
Russell Haering
|
5d5d443d16 |
Fix HardwareManager loading order bug
The agent attempts to sort the HardwareManager implementations found by stevedore in order of suitability. This patch fixes a bug in the sorting order that caused the GenericHardwareManager to always be loaded. Fixes bug 1327923 Change-Id: I1cc20e5351a704325f0cf41dab205c9164799f6a |
||
|
Jenkins
|
58fe612d71 | Merge "Use processutils properly" | ||
|
Ghe Rivero
|
3206ce7c6c |
Improve cache_image testing
Add tests around cache_image functionality to cover other cases: - A image is already cached - A image is already cached but we use the parameter force to refresh it. Change-Id: I9739c2e0d29091d29fa170cf04d953184b8cb54d Partial-Bug: #1326849 |
||
|
Ghe Rivero
|
0ee229eb80 |
Remove duplicated test for caching image
The test test_cache_image_success is (bad) duplicate of the test test_cache_image The test is trying to retrieve a real url and saving it into a block device. Mock several calls to avoid this behavior and and assert that the cached image is properly saved. Change-Id: Ie2ff5931cc77e5cdd1621c652d73a62fed0b69a6 Partial-Bug: #1326849 |
||
|
Jenkins
|
0ca6ae10d5 | Merge "Perform manual error checks instead of set -e" | ||
|
Jay Faulkner
|
6d9e9e8ba7 |
Fix incorrect log statement
Logging statement says it's 'imaging' to RAW, when in reality it's a conversion. Change-Id: I80d112062f51a6ccc932aeb71ec05042edb09884 |
||
|
Jim Rollenhagen
|
7b5575f660 |
Use processutils properly
Previously this code was calling processutils.execute incorrectly, expecting it to return the exit code. This change: * fixes calls to processutils.execute * fixes related tests Change-Id: I3343f104a5a8200d53bd87a8799ff918e375b17f |
||
|
Jay Faulkner
|
d159aec4f0 |
Fix: partitions recently imaged not being detected
When we have just written out a whole disk image, if we do not run partprobe none of the new partitions show up in blkid, therefore even images with a built-in configdrive partition will have one created Change-Id: I6ec98dc237b42bfe94ce79cf84d155332335c9f6 |
||
|
Jenkins
|
6e11807820 | Merge "Tries to advertise valid default IP" | ||
|
Jim Rollenhagen
|
227299cdbf |
Fix test_run_image
This tests an async function, where exceptions will not bubble up to the caller. So, we need to check the async result's command_status attribute in order to make sure the call succeeded. Change-Id: If8c529943acc794252778280a5fadf2c7860eb0d |
||
|
Ellen Hui
|
b4f1a0b2d3 |
Tries to advertise valid default IP
During the first heartbeat, the heartbeater asks the agent to check its advertised address; if the advertised IP is still the default (None), the agent tries to replace it with the IP of the first network interface it finds. If it fails to find either a network interface or an IP address, the agent raises an exception. Change-Id: I6d435d39e99ed0ff5c8b4883b6aa0b356f6cb4ae Closes-Bug: #1309110 |
||
|
Jay Faulkner
|
d82b8c6bc0 |
Perform manual error checks instead of set -e
When using set -e, if you have a command fail, even when setting a variable, it causes the node to fail. I have removed set -e and checked error state where unexpected everywhere. I also added additional logging. Closes-Bug: #1326326 Change-Id: I7d2568c3693b9c486672e4322c7f01622aeba875 |
||
|
Russell Haering
|
263f97c0e0 |
Expose decom.erase_hardware command via API
Expose an async decom.erase_hardware command in the API. Executing this command simply calls erase_devices on the loaded HardwareManager implementation. Change-Id: I238264a4d5903200ad6a30d82b61804c1e3f5916 |
||
|
Russell Haering
|
dff46583d3 |
Add a HardwareManager method to erase devices
Add erase_devices method to the HardwareManager class. By default this method iterates block devices, and calls a new abstract erase_block_device method for each device. This patch includes a simple implementation of erase_block_device on the GenericHardwareManager which attempts to issue an ATA secure erase on supported devices. Change-Id: I81da065395b8785f636f1b0a0d60c9f1c045441e |
||
|
Russell Haering
|
8fd76c877b |
Add missing methods to base HardwareManager class
The HardwareManager class was missing a few abstract method declarations which it is expected to have. Add those. Change-Id: I1d07b7f08a4fc23929bc09f65b897fdfa0da1770 |
||
|
Jenkins
|
e6d9aafddb | Merge "Readme should point to Openstack, not travis-ci" | ||
|
Jenkins
|
c6ac66e8fd | Merge "Allow configdrive partition to be precreated" | ||
|
Jay Faulkner
|
a7d6865883 |
Allow configdrive partition to be precreated
This adds support for copying configdrives to disks that already have partitions enabled and labeled for configdrives. This is neccessary for supporting configdrives on partitioning schemes we don't support yet (like GPT) or for some future agent iteration where we create partitions separately. Change-Id: Iee5b87d82be08febc495aaef3272ced4f2f32235 |
||
|
Jay Faulkner
|
aad4923ed8 |
Readme should point to Openstack, not travis-ci
The readme, leftover from when this was teeth-agent, was still pointing at the travis-ci build. I removed that build status and added a link to Openstack How to Contribute wiki page, so people visiting the mirror on Github know not to create pull requests. Change-Id: I8a82eb0e04cc35425f7856b16568f191c4c54770 |
||
|
Vladimir Kozhukalov
|
b306626e86 |
Flow extension uses extension manager from agent
Removed creating separate extension manager for flow extension. Instead, have made flow extension using the same extension manager instance which is initialized in agent. It fixes circular extension loading in stevedore. Closes-Bug: #1316145 Change-Id: Id339f1876168a41ca43ba7473f3ff6949a233ef3 |