Updating & enhancing Service Fabric cmdlets to facilitate Ubuntu 18 & Linux OS migration scenarios.#14437
Updating & enhancing Service Fabric cmdlets to facilitate Ubuntu 18 & Linux OS migration scenarios.#14437wyunchi-ms merged 13 commits intoAzure:masterfrom
Conversation
…fix RemoveCluster no-op return value, create Update-AzServiceFabricNodeType for updating isPrimary state, fix Linux AddNodeType LB rule creation for SSH forwarding
…type, fix update reliability when there are multiple primary node types.
| /// <summary> | ||
| /// VmImage sets the Service Fabric runtime package delivery hint for the cluster, which results in dropping the appropriately-mapped package for the VM image OS. | ||
| /// Accepted values: Windows, Linux, Ubuntu, Ubuntu18_04 | ||
| /// Note: Linux & Ubuntu both map to Ubuntu 16.04 |
There was a problem hiding this comment.
why have both Linux and ubuntu if they are both 16.04?
There was a problem hiding this comment.
Good question. This is how it is in SFRP, and some existing ARM templates may have either in the ARM template, but both are accepted.
src/ServiceFabric/ServiceFabric/Commands/UpdateAzServiceFabricNodeType.cs
Outdated
Show resolved
Hide resolved
src/ServiceFabric/ServiceFabric/Commands/UpdateAzServiceFabricNodeType.cs
Outdated
Show resolved
Hide resolved
| throw new PSInvalidOperationException(ServiceFabricProperties.Resources.NodeTypesNotDefinedInCluster); | ||
| } | ||
|
|
||
| if (PatchRequired(existingNodeType)) |
There was a problem hiding this comment.
you might want to check that at least one primary node type is left if changing to false
There was a problem hiding this comment.
SFRP would reject this logic right? This is obviously something that should be validated out, but is business logic supposed to be handled in this step? I would say yes if modifying node type involved updating multiple ARM resources i.e. VMSS, SF, Networking components since Az PS is the actor that modifies multiple components so would assume managing staggered requests via validation & state. In this case the singular request is sent to SFRP.
src/ServiceFabric/ServiceFabric/Commands/UpdateAzServiceFabricVmImage.cs
Show resolved
Hide resolved
|
|
Working on this. |
…ctor changes in REST traffic.
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Description
Add-AzServiceFabricNodeTypeto facilitate easy alternate OS image creation for new node type.Parameters:
VMImagePublisher,VMImageOffer,VMImageSku,VMImageVersionIsPrimaryNodeTypetoAdd-AzServiceFabricNodeTypeto be able to create an additional primary node type,for the purpose of transitioning the primary node type to another one in the case of OS migration.
Add-AzServiceFabricNodeTypenow correctly copies the LinuxDiagnostic extension. This was previously not working for Linux.Add-AzServiceFabricNodeTypenow correctly copies the RDP/SSH load balancer inbound NAT port mapping to the new node type.UbuntuServer1804for creating Ubuntu 18.04 clusters usingNew-AzServiceFabricCluster.Remove-AzServiceFabricNodeTypewas incorrectly blocking Bronze durability node types for removal, and this has been updatedto only block when the Bronze durability level differs between the SF node type and VMSS setting.
Update-AzServiceFabricVmImageto update the delivered SF runtime package type. This must be changed when migrating from Ubuntu 16 to 18.Update-AzServiceFabricNodeTypeto update the properties of a cluster node type. For now this is solely used to update whether the node type is primary via bool parameter-IsPrimaryNodeType $false.Update-AzServiceFabricReliabilityis now able to update reliability level when the cluster has more than one primary node type.To do this, the name of the node type is supplied via the new -NodeType parameter.
Checklist
CONTRIBUTING.mdChangeLog.mdfile(s) has been updated:ChangeLog.mdfile can be found atsrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md## Upcoming Releaseheader -- no new version header should be added