b3a98fca4af94eceb1999534f7f561b519b1a32c
Commit Graph

539 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
OpenStack Proposal Bot
b3a98fca4a Updated from global requirements
Change-Id: I4c28ee1bcbafba1cb2bab00463fe4354cd6ec25f
2014年07月30日 15:55:02 -07:00
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
2014年07月30日 15:48:19 -07:00
Jenkins
e4f5984043 Merge "Bump CoreOS to latest stable" 2014年07月30日 00:01:53 +00:00
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
2014年07月29日 23:04:16 +00:00
Jenkins
557a50f41f Merge "Add support for psutil v1 as well as v2" 2014年07月29日 21:57:25 +00:00
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
2014年07月29日 13:43:54 -07:00
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
2014年07月29日 10:54:54 -07:00
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
2014年07月18日 17:42:23 -07:00
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 
2014年07月16日 00:35:28 +00:00
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
2014年07月09日 16:46:26 -07:00
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
2014年07月03日 13:16:43 -07:00
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
2014年07月02日 15:10:17 -07:00
Jim Rollenhagen
cf99515f97 Add current directory logging to build script
Helps debug post job.
Change-Id: Ia30a8b5511dc087ddd1ecdbfe8eb3ca1e63a0ad5
2014年07月02日 11:04:00 -07:00
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
2014年07月01日 16:16:08 -07:00
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
2014年06月27日 18:07:19 +00:00
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
2014年06月25日 17:22:13 -07:00
Mike Heald
d26bb42059 Converted documentation in md format to rst
Change-Id: I88c642a24fb032b6e0920c8ba378127f8e12116c
Closes-Bug: 1332741
2014年06月25日 09:04:49 +01:00
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
2014年06月24日 15:39:55 -07:00
Jenkins
a4079e1075 Merge "Better errors for execute() failures" 2014年06月24日 20:47:22 +00:00
Jim Rollenhagen
c5df7070af Better errors for execute() failures
Exceptions raised due to processutils.execute() failing now include
stdout and stderr.
Change-Id: Id5d1b5bc51d377f9f3c338cd7303ea800f76e5cd
2014年06月24日 06:50:54 -07:00
Jenkins
8f32811710 Merge "Improve readme for CoreOS imagebuild" 2014年06月20日 23:22:33 +00:00
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
2014年06月20日 15:53:51 -07:00
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
2014年06月20日 15:39:12 -07:00
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
2014年06月18日 15:47:29 -07:00
Jenkins
d8f5eb963e Merge "Improve cache_image testing" 2014年06月17日 00:17:29 +00:00
Jenkins
6c6f94bdda Merge "Remove duplicated test for caching image" 2014年06月17日 00:16:17 +00:00
Jenkins
e60c6db199 Merge "Reduce requests connection pool size" 2014年06月16日 23:45:07 +00:00
Jenkins
3cd9d47ba6 Merge "Fix: partitions recently imaged not being detected" 2014年06月16日 23:36:34 +00:00
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
2014年06月16日 15:46:01 -07:00
Jenkins
102c86e45a Merge "Fix HardwareManager loading order bug" 2014年06月16日 20:44:10 +00:00
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
2014年06月16日 11:14:32 -07:00
Jenkins
58fe612d71 Merge "Use processutils properly" 2014年06月16日 14:27:58 +00:00
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 
2014年06月16日 10:07:06 +00:00
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 
2014年06月16日 09:45:11 +00:00
Jenkins
0ca6ae10d5 Merge "Perform manual error checks instead of set -e" 2014年06月16日 09:27:45 +00:00
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
2014年06月12日 09:21:05 -07:00
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
2014年06月12日 06:51:40 -07:00
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
2014年06月11日 16:10:41 -07:00
Jenkins
6e11807820 Merge "Tries to advertise valid default IP" 2014年06月11日 22:14:49 +00:00
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
2014年06月11日 11:07:13 -07:00
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 
2014年06月10日 20:54:34 +00:00
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
2014年06月10日 08:22:31 -07:00
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
2014年06月08日 18:01:10 -07:00
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
2014年06月06日 10:27:53 -07:00
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
2014年06月04日 10:51:03 -07:00
Jenkins
e6d9aafddb Merge "Readme should point to Openstack, not travis-ci" 2014年06月04日 07:57:31 +00:00
Jenkins
c6ac66e8fd Merge "Allow configdrive partition to be precreated" 2014年06月04日 06:31:05 +00:00
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
2014年06月03日 16:52:33 -07:00
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
2014年06月03日 12:59:38 -07:00
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
2014年06月02日 15:21:38 +04:00