group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #00986
[Bug 1540965] Re: Support Joyent lx-brand environment in smartos datasource
This bug was fixed in the package cloud-init - 0.7.7~bzr1149-0ubuntu6
---------------
cloud-init (0.7.7~bzr1149-0ubuntu6) wily; urgency=medium
* Joyent Smart DataOS:
- d/patches/lp-1540965-SmartOS-Add-support-for-Joyent-LX-Brand-Zones.patch:
SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965)
-- Robert C Jennings <robert.jennings@xxxxxxxxxxxxx> Tue, 02 Feb 2016
16:41:52 -0600
** Changed in: cloud-init (Ubuntu Wily)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1540965
Title:
Support Joyent lx-brand environment in smartos datasource
Status in cloud-init package in Ubuntu:
Fix Released
Status in cloud-init source package in Trusty:
Fix Released
Status in cloud-init source package in Wily:
Fix Released
Status in cloud-init source package in Xenial:
Fix Released
Bug description:
[Impact]
* Cloud-init does not support the datasource presented to LX-Brand
zones in SmartOS. Without this support cloud-init does not work
on the Joyent cloud platform's container service.
* The metadata is provided in the same format as already supported
for KVM-based instances for the SmartOS datasource (with
communication over a serial port). For LX-Brand zones the
metadata is accessed via a socket file.
[Test Case]
* Install cloud-init on an lx-brand zone image and
run 'cloud-init init'. No metadata will be found without
this patch.
* With the patched cloud-init, run 'cloud-init init' on the
new lx-brand zones images. The metadata should be discovered
and the instance should be recognized as being provisioned.
Perform the same testing on existing KVM-based SmartOS instances
to ensure there is no regression.
[Regression Potential]
* [Trusty only] This SRU backports support for the V2 metadata format
that has been present since the Vivid release. This is well tested
code and has no user-facing impact. This was done because the
V2 datasource allows for serial or socket communication. The existing
Joyent datasource uses the serial port provided in KVM instances,
however LX-brand zones have a socket instead @
/native/.zonecontrol/metadata.sock. Additionally the V2 datasource
provides checksums and response length fields that allow for
validation of results. Additional testing was performed on Trusty
SmartOS and KVM instances to validate these changes.
* To keep code common for KVM (serial) and LX-Brand (socket)
communication the code had to switch to read byte-by-byte from
the metadata source file object to avoid reading past the end of
input on the socket which would block indefinitely. This is a change
from using readline and will be slower but not significantly so.
* This builds on the existing SmartOS datasource to enable LX-Brand.
There is risk that this will break the datasouce on existing KVM
instances. To mitigate this risk testing has been performed on
both environments with Trusty, Vivid (out of support today),
Wily, and Xenial.
[Other Info]
* This is python 2/3 byte/string safe on Vivid, Wily, and Trusty
where cloud-init supports python 3.
==== Original Description ====
The Joyent Metadata Protocol Specification (Version 2)[1] allows for
serial or socket communication. The existing Joyent datasource uses
the serial port provided in KVM instances, however LX-brand zones have
a socket instead @ /native/.zonecontrol/metadata.sock.
Detecting we are in a Joyent LX-brand zone is possible by looking at '/bin/uname -v' which will report "BrandZ virtual linux" or checking for the existence of a /native mount where '/native/usr/bin/uname -s' reports
SunOS.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1540965/+subscriptions