cloudpoint-ubuntu1604_x86_64-2.0.0_HF3

 Basic information
Release type: Hot Fix
Release date: 2018-03-30
OS update support: None
Technote: None
Documentation: None
Popularity: 201 viewed    downloaded
Download size: 1.41 GB
Checksum: 1458954131

 Applies to one or more of the following products:

 Obsolete patches, incompatibilities, superseded patches, or other requirements:
None.

 Fixes the following incidents:
3943939

 Patch ID:
None.

Readme file
                          * * * READ ME * * *
                 * * * Veritas CloudPoint 2.0.0.4760 * * *
                         * * * Hot Fix 3 * * *
                         Patch Date: 2018-03-30


This document provides the following information:

   * PATCH NAME
   * OPERATING SYSTEMS SUPPORTED BY THE PATCH
   * BASE PRODUCT VERSION FOR THE PATCH
   * SUMMARY OF INCIDENTS FIXED BY THE PATCH
   * DETAILS OF INCIDENTS FIXED BY THE PATCH
   * INSTALLING THE PATCH
   * KNOWN ISSUES
   * NOTE


PATCH NAME
----------
Veritas CloudPoint 2.0.0.4760 Hot Fix 3

OPERATING SYSTEMS SUPPORTED BY THE PATCH
----------------------------------------
Ubuntu 16.04 x86-64


BASE PRODUCT VERSION FOR THE PATCH
-----------------------------------
   * Veritas CloudPoint 2.0.0


SUMMARY OF INCIDENTS FIXED BY THE PATCH
---------------------------------------
Patch 2.0.0.4760:
* C3PM-4206 (C3PM-4427) Fail to restore of GCP host from one zone to another.

Patch 2.0.0.4757:
* C3PM-3527 (C3PM-3724) Failing in loading nutanix assets (TypeError: 'NoneType' object has no attribute '__getitem__').
* C3PM-3526 (C3PM-3615) Failure in loading PureStorage assets (AttributeError: 'PureStorageSnapshotAsset' object has no attribute 'plugin').

Patch 2.0.0.4741:
* C3PM-3261 (C3PM-3555) Unable to see GCP Cloud Assets.
* C3PM-3441 (C3PM-3501) After configure Azure credentials, scanning Azure assets fails with "IndexError: list index out of range".
* C3PM-3485 (C3PM-3544) flexsnap-agent is failing due to "KeyError: 'serviceAccounts'" (instances missing serviceAccounts).
* C3PM-3497 (C3PM-3532) CloudPoint stops scanning assets in a region if they receive an http 404 error.


DETAILS OF INCIDENTS FIXED BY THE PATCH
--------------------------------------------
This patch fixes the following JIRA incidents:

Patch 2.0.0.4760:
* C3PM-4206 (Tracking ID: C3PM-4427)

SYMPTOM: In Google-Cloud Snapshots, while restoring the instance-snapshot, an error thrown as “"nstance ADD Failed! .. **"

DESCRIPTION: While restoring from an instance snapshot, the restore procedure tries to create new instance from the snapshot & 
while restoring the GCP mandates the network configuration to be provided. If the public network configurations are not provided, 
then subnet configurations should be provided, which wasn't in place while restore was happening in this case. Hence failure 
occured when new instance is being created, where subnet details were not given.

RESOLUTION: Fix has been added to provide subnet configuration while creating new instances, as part of Instance-Snapshot Restore 
operation.


Patch 2.0.0.4757:
* C3PM-3527 (Tracking ID: C3PM-3724)

SYMPTOM: Nutanix asset loading fails with below stack:
Feb 25 22:04:07 86f2d6bfda8f flexsnap-agent[1] flexsnap.plugins.nutanix: ERROR -
Fail to get cluster info No JSON object could be decoded
Feb 25 22:04:07 86f2d6bfda8f flexsnap-agent[1] flexsnap.agent: ERROR -
Base Exception in loading plugin name nutanix, config id nutanix.8d3545d2-daac-43fd-808a-947086269fe8,
error 'NoneType' object has no attribute '_getitem_',
Traceback (most recent call last):
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 224, in load_plugins
plugins = mod.load_plugin(tconf, tools_dir)
File "src/nutanix/nutanix.py", line 406, in load_plugin
File "src/nutanix/nutanix.py", line 126, in _init_
TypeError: 'NoneType' object has no attribute '_getitem_'
Feb 25 22:04:07 86f2d6bfda8f flexsnap-agent[1] agent: INFO - sending config status: 
{u'nutanix.8d3545d2-daac-43fd-808a-947086269fe8': {'status': 'failed', 'errmsg': "'NoneType' object has no attribute '_getitem_'"}}

DESCRIPTION: A library method wasn’t able to find an attribute (cluster-info) & we just bypassed that by printing error.
And latter, we tried to use the attribute which caused error, while loading assets.

RESOLUTION: Error handling is done while fetching an attribute from cluster-info.

*C3PM-3526 (Tracking ID: C3PM-3615)

SYMPTOM: PureStorage assets discovery fails with below stack:
Feb 25 22:27:26 86f2d6bfda8f flexsnap-agent[1] flexsnap.agent: ERROR -
'PureStorageSnapshotAsset' object has no attribute 'plugin'
Traceback (most recent call last):
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 378, in list_assets
p_assets = p.assets()
File "src/purestg/purestg.py", line 275, in assets
File "src/purestg/purestg.py", line 100, in _init_
File "/opt/VRTScloudpoint/lib/flexsnap/plugin.py", line 171, in _getattr_
(self._class.name_, name))
AttributeError: 'PureStorageSnapshotAsset' object has no attribute 'plugin

DESCRIPTION: During asset discovery of PureStorage, plugin object is called on volume and volume 
snapshot discovery, incase of snapshot plugin object was called before its creation.

RESOLUTION: while discovering snapshot the plugin object is reffered after its creation. 


Patch 2.0.0.4741:

* C3PM-3261 (Tracking ID: C3PM-3555)

SYMPTOM: Asset discovery on GCP fails with the stack below:
Feb 23 00:09:04 45a818a78434 flexsnap-agent[1] agent: ERROR - accessConfigs
Traceback (most recent call last):
File "/opt/VRTScloudpoint/bin/flexsnap-agent.py", line 152, in detect_asset_changes
data = agent.list_assets(diff=True)
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 122, in wrapper
return func(self, *args, **kwargs)
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 435, in list_assets
if self.update_objhash(obj):
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 322, in update_objhash
objhashes = obj.calc_hashes()
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 91, in calc_hashes
hashes[srcid] = flexsnap.calc_hash(obj.info())
File "src/gcp/gcp.py", line 527, in info
KeyError: 'accessConfigs'

DESCRIPTION: The plugin expects "accessConfigs" as a mandatory attribute of an instance, where as it is not. 
So the discovery would fail with the keyerror.

RESOLUTION: Fix the gcp plugin in the Cloudpoint to use the "accessConfigs" values only if it is set on the instance.


* C3PM-3441 (Tracking ID: C3PM-3501)

SYMPTOM: Azure snapshot discovery fails with the stack below:
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 378, in list_assets
p_assets = p.assets()
File "src/azure/azure.py", line 1318, in assets
File "src/azure/azure.py", line 425, in init
File "src/azure/azure.py", line 235, in getresfromid
IndexError: list index out of range

DESCRIPTION: During snapshot discovery in azure, parsing the source of the snapshot would fail if the snapshot has blob 
as its source because the id would be different from that of a managed disk.

RESOLUTION: During the snapshot discovery, we first find the source of the snapshot. If the snapshot is backed by a managed 
disk, include the snapshot in the list of assets, otherwise, ignore it as we only manage the managed disk snapshots in CloudPoint.


* C3PM-3485 (Tracking ID: C3PM-3544)

SYMPTOM: GCP asset discovery may fail with the stack below when an instance does not have serviceAccount configured on it.

Mar 05 14:10:36 45a818a78434 flexsnap-agent[1] flexsnap.connectors.base: ERROR - Request failed unexpectedly
Traceback (most recent call last):
File "/opt/VRTScloudpoint/lib/flexsnap/connectors/base.py", line 109, in run
func(self, user_id, **converted_values)
File "/opt/VRTScloudpoint/bin/flexsnap-agent.py", line 195, in handle_update_conf
res = agent.update_plugin_config_discover(update, configid_status)
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 122, in wrapper
return func(self, *args, **kwargs)
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 309, in update_plugin_config_discover
self.list_assets(plugins=set(update.keys()))
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 122, in wrapper
return func(self, *args, **kwargs)
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 435, in list_assets
if self.update_objhash(obj):
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 322, in update_objhash
objhashes = obj.calc_hashes()
File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 91, in calc_hashes
hashes[srcid] = flexsnap.calc_hash(obj.info())
File "/opt/VRTScloudpoint/lib/flexsnap/plugins/gcp.zip/gcp.py", line 518, in info
"serviceAccounts": instance["serviceAccounts"],
KeyError: 'serviceAccounts'

DESCRIPTION: The asset discovery on GCP may fail in CloudPoint when the instance is not configured with the service account.

RESOLUTION: Make the service account an optional parameter and use it only if the instance is configured with one.


* C3PM-3497 (Tracking ID: C3PM-3532)

SYMPTOM: Discovery of instance can fail with the below stack

File "/opt/VRTScloudpoint/lib/flexsnap/agent.py", line 378, in list_assets
p_assets = p.assets()
File "/opt/VRTScloudpoint/lib/flexsnap/plugins/gcp.zip/gcp.py", line 1113, in assets
objs.append(GCPInstanceObj(self, instance))
File "/opt/VRTScloudpoint/lib/flexsnap/plugins/gcp.zip/gcp.py", line 495, in _init_
disk=self.name).execute(http=http)
File "/tmp/cloudpoint/libs/gcp/lib/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/tmp/cloudpoint/libs/gcp/lib/googleapiclient/http.py", line 842, in execute
raise HttpError(resp, content, uri=self.uri)
HttpError: <HttpError 404 when requesting https://www.googleapis.com/compute/v1/projects/emerging-product \
/zones/us-east1-b/disks/http400-1?alt=json returned "The resource 'projects/emerging-product/zones/us-east1-b \
/disks/http400-1' was not found">

DESCRIPTION: During the instance discovery in Google Cloud, the plugin looks up the bootdisk with 
the assumption that the boot disk has same name as instance name, and when the names are different, 
it fails with 404-Not Found error in the agent log.

RESOLUTION: Look up the boot diskname rather than assuming it to be same as the instance name.


INSTALLING THE PATCH
--------------------
I. Before patching:
  1. Download and untar the Hot Fix file to a CloudPoint host.
  2. Run the following commands to load the patch.
    # docker load -i Veritas_CloudPoint_2.0.0.4760.IE.img.gz
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:2.0.0.4760 load
  3. Ensure that there are no protection policy snapshots or other operations in progress.
     Estimate the patching time will be 15 minutes to an hour.
  4. Log out from the CloudPoint UI.
  5. Run the following command as root to stop CloudPoint.
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:<the-current-version> stop

II. Patching:
  Run the following command as root.
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:2.0.0.4760 install

III. After patching:
  1. Refresh your web broswer and log in to the CloudPoint UI.
  2. Verify the CloudPoint version. Click on Settings and select About. The following information should show up.
    Current Version: 2.0.0.4760
    Current Commit: e0c0770472db8138975634760a34018a3f084513
  3. Verify the CloudPoint data.


KNOWN ISSUES
-----------
* C3PM-2983
SYMPTOM: After patching, licensing information does not appear.

WORKAROUND: After you apply the Hot Fix, re-install your license.


NOTE
----
1. Roll back to the previous version if needed.
  a. Log out from the CloudPoint UI.
  b. Run the following commands as root.
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:2.0.0.4760 stop
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:2.0.0.4760 uninstall
    # docker run --rm -it -v /cloudpoint:/cloudpoint -v /var/run/docker.sock:/var/run/docker.sock veritas/flexsnap-cloudpoint:<the-previous-version> install
2. The previous version(s) of Docker container images are not removed. You can remove them to save your CloudPoint instance disk space.