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
We do not have python 3.4 in setup.cfg which declares the explicit
supported versions. So it is no need to keep the supoort for py34.
Change-Id: I71150ea413e6a59ca3c5712382fc980b1c279d70
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
In our usecases the separate partition is not needed. It is enough just
to put cloudinit configuration into the root filesystem.
This also allows to avoid a race condition which sometimes happens: some
process deletes the folder in tmp where the configuration partition is
mounted resulting in cloudinit failure to read its configuration.
Change-Id: Ib3efb4f517a5cf86dbf91ee53ac00108d4624dcd
Closes-Bug: #1652002
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
As we known, Exceptions are raised by the sys.exit() function.
When they are not handled, no stack traceback is printed in the Python interpreter.
In this patch we have known main() got return values(eg:0, 1), but it can't
specifies exit status when terminate the main thread by unusing sys.exit().
So when using sys.exit(main()) instead of main() may be more readable and
reasonable.
Change-Id: I6b472e0eb2fceb49bb506785f5188e023e1d3968
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
Such services as Swift-storage require partition with file
system without mountpoints, currently fuel-agent prevents
to do that.
Change-Id: Id9e90f81098de3736e0d9b1ca82e434122efd4e8
Closes-bug: #1650622
Refer to:http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H203] Use assertIs(Not)None to check for None (off by default) Unit
test assertions tend to give better messages for more specific assertions.
As a result, assertIsNone(...) is preferred over assertEqual(None, ...)
and assertIs(None, ...)
Change-Id: I9246fac952c59d3ddc1458c16c53fc988ac095d3
The previos implementation doesn't fix the problem. Cloud-init
creates /etc/network/interfaces.d/50-cloud-init.cfg which prevents
to set static IP.
Change-Id: I49d09dd37403a843adfe34be156e5e265b0f3e08
Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
The directory /etc/cloud/cloud.cfg.d/ doesn't exist. Thus fuel-bootstrap fails as it cannot create file that should be inside of that directory.
Closes-Bug: 1643139
This reverts commit b2be687081.
Change-Id: Ie2bef3a83fb02bf7fe9634ede66998c5cf217f20
This fix doesn't fix the problem. I still see 50-cloud-init.cfg in /etc/network/interfaces.d/
This reverts commit faa9de1780.
Change-Id: I93a7fa29ae932b0020a4dad17e580808ee3fb117
Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
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
In fuel-agent.log, mountpoint -q /tmp/target/sys/fs/fuse/connections
execute failed.
Fuse is a kernel mechanism, it has a fixed pseudo filesystem
location (/sys/fs/fuse/connection) for user. We do not
need to umount it manually, let kernel take care of that.
In our case, nobody cares about fuse in kernel by
/sys/fs/fuse/connection. So we don't need to mount and umount
in chroot.
https://www.kernel.org/doc/Documentation/filesystems/fuse.txt
Change-Id: I0a9af904b2b65af1af96340c0579dedf979464fc
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