Move to 2020.1

Make changes to update_schemas.py needed for the move and run
update_schemas.py.

Need 1.3.6 or later version of Redfish-Service-Validator.
CI uses the master branch of Redfish-Service-Validator, which has
this fix.

Redfish-Service-Validators before 1.3.6 will incorrectly throw errors in
message registries like (Task Event Message Registry)
/redfish/v1/Registries/TaskEvent/TaskEvent and (Base Message Registry)
/redfish/v1/Registries/Base/Base.

For more information:
https://redfishforum.com/thread/323/validator-errors-when-moving-release

This does introduce some "warnDeprecated" due to "Severity" becoming
Deprecated in MessageRegistry v1_4_0. Since all bmcweb Registries are
<v1_4_0, not a real problem. Redfish has no Base Message Registry and
Task Event Message Registry available to move to something that
uses MessageRegistry v1_4_0. Will take up with Redfish.

2020.1 includes new features like AutoRebot (Boot -> AutomaticRetry),
factory reset (ResetToDefaults action), and Modified Event Log property
which are in OpenBMC's D-Bus interfaces today.

Tested: Built bmcweb, loaded on a Witherspoon, and ran
        the validator. Validator passed.

See new schemas:
curl -k https://${bmc}/redfish/v1/JsonSchemas/SecureBootDatabase
{
    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
    "@odata.id": "/redfish/v1/JsonSchemas/SecureBootDatabase",
    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
    "Name": "SecureBootDatabase Schema File",

Change-Id: If30fcc50276aea44d8a77ed547ee0cbd72e4cf1a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/static/redfish/v1/schema/Volume_v1.xml b/static/redfish/v1/schema/Volume_v1.xml
index 731586d..6f6238c 100644
--- a/static/redfish/v1/schema/Volume_v1.xml
+++ b/static/redfish/v1/schema/Volume_v1.xml
@@ -57,7 +57,7 @@
   </edmx:Reference>
   <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/StorageReplicaInfo_v1.xml">
     <edmx:Include Namespace="StorageReplicaInfo"/>
-    <edmx:Include Namespace="StorageReplicaInfo.v1_2_0"/>
+    <edmx:Include Namespace="StorageReplicaInfo.v1_3_0"/>
   </edmx:Reference>
   <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/IOStatistics_v1.xml">
     <edmx:Include Namespace="IOStatistics"/>
@@ -109,7 +109,7 @@
             <String>/redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}</String>
             <String>/redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}</String>
             <String>/redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}</String>
-            <String>/redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}</String>
+            <String>/redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}</String>
           </Collection>
         </Annotation>
       </EntityType>
@@ -446,7 +446,7 @@
           <Annotation Term="OData.Description" String="The model number for this storage volume."/>
           <Annotation Term="OData.LongDescription" String="The value is assigned by the manufacturer and shall represents a specific storage volume implementation."/>
         </Property>
-        <Property Name="ReplicaInfo" Type="StorageReplicaInfo.v1_2_0.ReplicaInfo" Nullable="false">
+        <Property Name="ReplicaInfo" Type="StorageReplicaInfo.v1_3_0.ReplicaInfo" Nullable="false">
           <Annotation Term="OData.Description" String="Describes this storage volume in its role as a target replica."/>
           <Annotation Term="OData.LongDescription" String="This property shall describe the replica relationship between this storage volume and a corresponding source volume."/>
         </Property>
@@ -502,6 +502,7 @@
 
     <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Volume.v1_2_0">
       <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
+      <Annotation Term="Redfish.Release" String="WIP v1.0.5"/>
       <Annotation Term="OData.Description" String="This version was created to add IO Statistics, and adds the RemainingCapacityPercent property."/>
       <EntityType Name="Volume" BaseType="Volume.v1_1_1.Volume">
         <Annotation Term="OData.Description" String="Add volume statistics."/>
@@ -551,6 +552,7 @@
 
     <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Volume.v1_3_0">
       <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
+      <Annotation Term="Redfish.Release" String="TP v1.0.6a"/>
       <Annotation
         Term="OData.Description"
         String="This version was created to add RecoverableCapacitySourceCount and SpareResourceSets. This also replaces collection StorageReplicaInfos with scalar StorageReplicaInfo, and adds a ReplicaTargets collection. It also adds the RAIDType enum, which replaces the use of VolumeType for direct Volume characterization."/>
@@ -603,6 +605,7 @@
 
     <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Volume.v1_4_0">
       <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
+      <Annotation Term="Redfish.Release" String="WIP v1.1.0"/>
       <Annotation
         Term="OData.Description"
         String="This version was created to add collection of references to Endpoints, StorageGroups and ConsistencyGroups associated with this Volume, and adds a LongDescription to RAID6TP. It also adds AutoExpand to CapacitySources and changes the MaxBlockSizeBytes to 64 bytes. Additionally the following properties have been added: ProvisioningPolicy, OwningStorageService, StripSizeBytes, ReadAheadPolicy, VolumeUsage, WritePolicy, CacheState, LogicalUnitNumber, MediaSpanCount, Deduplicated, Compressed, WriteHoleProtectionPolicy, and DisplayName. This version also adds the following Actions: AssignReplicaTarget, CreateReplicaTarget, RemoveReplicaRelationship, ResumeReplication, ReverseReplicationRelationship, SplitReplication, and SuspendReplication. This version also adds both Redfish Uris and Capability Annotations and fixes CSDL errors."/>
@@ -774,6 +777,18 @@
           <Annotation Term="OData.Description" String="A caching technique in which the completion of a write request is signaled as soon as the data is in cache; actual writing to non-volatile media is not guaranteed to occur at a later time."/>
           <Annotation Term="OData.LongDescription" String="A caching technique in which the completion of a write request is signaled as soon as the data is in cache; actual writing to non-volatile media is not guaranteed to occur at a later time."/>
         </Member>
+        <Member Name="Off">
+          <Annotation Term="OData.Description" String="The write cache is disabled."/>
+          <Annotation Term="OData.LongDescription" String="Indicates that the write cache shall be disabled."/>
+                  <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_1"/>
+            </Record>
+          </Collection>
+        </Annotation>
+        </Member>
       </EnumType>
 
       <EnumType Name="WriteCacheStateType">
@@ -807,6 +822,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="CreateReplicaTarget" IsBound="true">
@@ -829,6 +852,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to create a new volume resource to provide expanded data protection through a replica relationship with the specified source volume."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to create a new volume resource to provide expanded data protection through a replica relationship with the specified source volume."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="RemoveReplicaRelationship" IsBound="true">
@@ -843,6 +874,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="ResumeReplication" IsBound="true">
@@ -853,6 +892,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="ReverseReplicationRelationship" IsBound="true">
@@ -863,6 +910,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to reverse the replication relationship between a source and target volume."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to reverse the replication relationship between a source and target volume."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="SplitReplication" IsBound="true">
@@ -873,6 +928,14 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to split the replication relationship and suspend data synchronization between a source and target volume."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to split the replication relationship and suspend data synchronization between a source and target volume."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
       <Action Name="SuspendReplication" IsBound="true">
@@ -883,8 +946,23 @@
         </Parameter>
         <Annotation Term="OData.Description" String="This action is used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship."/>
         <Annotation Term="OData.LongDescription" String="This action shall be used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship."/>
+        <Annotation Term="Redfish.Revisions">
+          <Collection>
+            <Record>
+              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
+              <PropertyValue Property="Version" String="v1_4_0"/>
+            </Record>
+          </Collection>
+        </Annotation>
       </Action>
 
     </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Volume.v1_4_1">
+      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
+      <Annotation Term="OData.Description" String="This version was created to update the reference to StorageReplicaInfo to version 1.3.0. It also adds Redfish.Release and RevisionKind/Added annotations, adds 'Off' to the WriteCachePolicy, and fixes Redfish Uris issues."/>
+      <EntityType Name="Volume" BaseType="Volume.v1_4_0.Volume"/>
+    </Schema>
+
   </edmx:DataServices>
 </edmx:Edmx>