This patch adds logic to work with network providers to fuel_* ironic drivers.
Depends-On: I742a52c991058d1f8bd9170f9b583c28dff22839
Change-Id: Ic3f831a9a9e5ec9031bf1a588df62c9338c47d20
Related-Bug: #1588380
The contents of /etc/nailgun_uid can be changed by nailgun agent. We need to
synchronize the change to mcollective config.
Closes-Bug: #1675668
Change-Id: Idabc7be6181bc89c09e4d0caa4a7cf0c22767bfe
All packages required for fuel-nailgun added to the bootstrap image.
Dask worker startup added.
Change-Id: I7155601a0f95c891a40f3c9d02d1758936ffbb45
Implements: blueprint distributed-serialization
Yaml.load() return Python object may be dangerous if you receive
a YAML document from an untrusted source such as the Internet.
The function yaml.safe_load() limits this ability to simple Python
objects like integers or lists.
Reference:
https://security.openstack.org/guidelines/dg_avoid-dangerous-input-parsing-libraries.html
Change-Id: I5fb95063402e5adffeee0c2ead7adfd44eb76179
There are packges python-dispy and python-psutil that requares for
the distributed serialization.
Change-Id: Ife24b7de4eb1146cbe2a5a0c936f61a586d97e95
Implements: blueprint distributed-serialization
It is not used anymore during bootstrap boot phase to syncronize mcollective
service startup.
Change-Id: I4997e3cb8aa57f9ffac22f8d7c01de8447b640be
Partial-Bug: #1585671
Depends-On: Ic8e31d6381d8ffb8f7fdfd1aa8ebc655bb4535ec
Add a special rule for fcoe devices to reuse ID and net_name
to avoid renaming issues in bootstrap.
Change-Id: I40c699b37199f93bfdf0157d0eb795b735254990
Closes-bug: #1656892
(cherry picked from commit 9ea6419878)
While new nailgun agent is not committed yet we need to explicitly remove
/etc/nailgun-agent/nodiscover to unblock it from starting
Change-Id: I3199591e7da95bac221be3554f97b00757db160a
Partial-Bug: #1585671
As a part of handing over control over mcollective from nailgun agent to
startup scripts lets get rid of of nodiscover file flag and perform
mcollective configuration and start
Change-Id: Ia2f984570b38642b1090f6483ed3fa78958550c5
Partial-Bug: #1585671
The issue is that in python-fuelclient API has been
changed and fuelclient.client.APIClient is not available
anymore. It used to be a singleton of fuel client but
now it is deprecated. So, let's use APIClient.default_client
classmethod to instantiate APIClient.
https://github.com/openstack/python-fuelclient/blob/stable/newton/fuelclient/client.py#L51
Change-Id: I5287184c6f1c6abf8ac61894db0bd51fbf730401
Closes-Bug: #1620584
(cherry picked from commit 02b7979845)
Nobody promised PATH to be set during rc.local execution by systemd. And
it happens that this is the case on some systems, i.e. the PATH is not
set by the time of rc.local execution.
Change-Id: I4806df3217dd09430ad45b13cda49fab0925cb88
Partial-Bug: #1656150
Network checker should be able to run on bootstrap nodes
without the access to repositories.
Closes-bug: #1653294
Change-Id: I4fae538968ab4a75269858a73e5065818a9f4f04
It seems that there are at least two level of ruby-stomp brokenness and
the fact that the mutex in original commit is locked actually means
there is no heartbeat received in time and we need to do something about
this.
This reverts commit b50241a7b2.
Closes-Bug: #1644618
Change-Id: I8351abaf0078b094bff2aa20994575c15aec213b
Those deleted kernel parameters are extremely heavy debug.
The boot process is rather slow on machines which has a
complicate motherboard and lots of pci devices(Lenovo RD640).
The debug process costs so much resouce, evetually it will impact
normal functions, such as cpus are so busy dealing with debug
info in kernelspace, they do not have time to reponse udev
event in userspace and failed to bring up pci devices.
Change-Id: I964c5fbc7f5b7d0ba6d1dd0166db3e4234179afa
Closes-bug: #1632592
Stomp heartbeat handling is quite poorly designed. It happens in a
separate thread which sleeps, then tries to read a heartbeat if reading
mutex is acquired by message receiving thread it fails and increases
lock failure count. Upon reaching the limit (in our packets it is 2 by
default) it forcibly closes the connetion causing reconnect. Setting the
value to 0 turns the feature off.
Change-Id: I2187ce69508c530073582c542c963014acc5123a
Closes-Bug: #1613246
Closes-Bug: #1298262
also make the callback script more resilent by retrying attempts
to contact Ironic API (hardcoded 50 times).
Change-Id: I269c1b95ee5702ed435df30834e239bd6f6f0582
by default, Ironic's API routing now exposes only 'lookup' and 'heartbeat'
vendor passthru methods of drivers as public routes [0].
Rename the vendor passtru method 'pass_deploy_info' of fuel-agent driver
to 'heartbeat' to make it accessable w/o authentication by callback
script.
In the Ocata cycle, this also will be removed and fuel-agent driver
must switch to the root 'heartbeat' API (/v1/heartbeat/node-uuid>).
[0]
https://github.com/openstack/ironic/blob/master/ironic/api/config.py#L37
Change-Id: Ie1dbd8a8aac62034beba88ecd206a8e7712514e2
Provision process moving to fuel-library tasks from nailgun and astute
and as all tasks we have are wrapped to puppet manifests, we need
puppet to have an ability running provision tasks in bootstrapped node.
Implements: blueprint graph-concept-extension
Change-Id: I0f0078071f8e32bace345d636c602e68c91aa55b
Add files required to build Xenial based
bootstrap image. This is for switching to Xenial
in the nearest feature.
blueprint: mos-xenial
Change-Id: I06ee5a036d49c989e977af77dcebd4be01ee7dcd
* add test for activate
* add test for build
* add test for delete
* add test for import
Change-Id: Ieee32ae87c25c6d7b8300ffed3fcd6903f3fb160
Partial-Bug: #1522353
This commit adds the ability to use IPMI SOL console when the nodes
provisioned with an option 'console=ttySx' or 'console=ttySx,speed',
where x is 0 for the COM1 and 1 for COM2. If speed parameter doesn't
provided so 9600 used as default. This feature can be used for the
bootstrap nodes too.
DocImpact
Closes-Bug: #1544820
Change-Id: I210001c5692281add2439843f4ad69d65c8f6e17
Signed-off-by: Maksim Malchuk <mmalchuk@mirantis.com>
This patch is copying the unlink_without_raise() method from the
ironic-lib to the fuel-agent repository. The ironic-lib is not a library
that should be considered stable to be used by projects outside the
Ironic umbrella.
Change-Id: I746fbb0dd18b59739e753282bf6ded6690df5230
* Configuration file shouldn't exist for running test.
* Class Configuration was refactored. If config file couldn't
be found, object created with empty data. Exception isn't raised.
Change-Id: I614faa4cf17ae0c717d8ee9cad91ac8024924151
Partial-Bug: #1522353
* Change tox.ini to run both fuel-agent tests
and fuel-bootstrap tests
* Add basic requirements test
Change-Id: I877696503d56a511bd84ffe36099e6c57587e748
Partial-Bug: #1522353