Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

14 changes: 7 additions & 7 deletions docs/assemblies/proc_updating-the-data-plane-ovn.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ The following example output shows the condition has been met:
openstackversion.core.openstack.org/openstack-galera-network-isolation condition met
----

. Create an `OpenStackDataPlaneDeployment` CR and save it to a file named `openstack-edpm-update.yaml` on your workstation.
. Create an `OpenStackDataPlaneDeployment` CR and save it to a file named `openstack-edpm-update-ovn.yaml` on your workstation.
+
----
apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneDeployment
metadata:
name: edpm-deployment-ipam-update
name: edpm-deployment-ipam-update-ovn
spec:
nodeSets:
- openstack-edpm-ipam
Expand All @@ -44,21 +44,21 @@ spec:
[NOTE]
The `servicesOverride` field is set to include only `ovn` as the `ovn` service must be updated first in isolation. If using a custom service to manage `ovn`, then use that custom service name instead of `ovn` in `servicesOverride`. Additionally if other custom services must be updated at the same time as `ovn`, then they can be included in `servicesOverride` as well.

. Save the `openstack-edpm-update.yaml` deployment file.
. Save the `openstack-edpm-update-ovn.yaml` deployment file.

. Update the data plane:
+
----
$ oc create -f openstack-edpm-update.yaml
$ oc create -f openstack-edpm-update-ovn.yaml
----

. Verify that the data plane update deployment succeeded:
+
----
$ oc get openstackdataplanedeployment
NAME STATUS MESSAGE
edpm-deployment-ipam True Setup Complete
edpm-deployment-ipam-update True Setup Complete
NAME STATUS MESSAGE
edpm-deployment-ipam True Setup Complete
edpm-deployment-ipam-update-ovn True Setup Complete
----

Once OVN has been updated on the data plane, the rest of the control plane minor update will automatically proceed. Once the control plane minor update is finished, the rest of the data plane can be updated.
Expand Down
12 changes: 6 additions & 6 deletions docs/assemblies/proc_updating-the-data-plane.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ spec:
- ...
- <nodeSet_name>
servicesOverride:
- update
- update-services
----
+
* Replace `<nodeSet_name>` with the names of the `OpenStackDataPlaneNodeSet` CRs that you want to include in your data plane minor update.
+
[NOTE]
The `servicesOverride` field is set to include only `update`. The `update` service applies only the tasks needed to update the packages and containers on the EDPM nodes. When using custom services, include those here as well, or their equivalent custom services that apply the needed update tasks.
The `servicesOverride` field is set to include only `update-services`. The `update-services` service applies only the tasks needed to update the containers and a limited set of packages on the EDPM nodes. When using custom services, include those here as well, or their equivalent custom services that apply the needed update tasks.

. Save the `openstack-edpm-update-services.yaml` deployment file.

Expand All @@ -55,10 +55,10 @@ $ oc create -f openstack-edpm-update-services.yaml
+
----
$ oc get openstackdataplanedeployment
NAME STATUS MESSAGE
edpm-deployment-ipam True Setup Complete
edpm-deployment-ipam-update True Setup Complete
edpm-deployment-ipam-update-services True Setup Complete
NAME STATUS MESSAGE
edpm-deployment-ipam True Setup Complete
edpm-deployment-ipam-update-ovn True Setup Complete
edpm-deployment-ipam-update-services True Setup Complete
----

.Troubleshooting
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,7 @@ func checkDeployment(ctx context.Context, helper *helper.Helper,
services = instance.Spec.Services
}

// For each service, check if EDPMServiceType is "update" or "update-services", and
// For each service, check if EDPMServiceType is "update-services", and
// if so, copy Deployment.Status.DeployedVersion to
// NodeSet.Status.DeployedVersion
for _, serviceName := range services {
Expand All @@ -651,11 +651,11 @@ func checkDeployment(ctx context.Context, helper *helper.Helper,
return isNodeSetDeploymentReady, isNodeSetDeploymentRunning, isNodeSetDeploymentFailed, failedDeploymentName, err
}

if service.Spec.EDPMServiceType != "update" && service.Spec.EDPMServiceType != "update-services" {
if service.Spec.EDPMServiceType != "update-services" {
continue
}

// An "update" or "update-services" service Deployment has been completed, so
// An "update-services" service Deployment has been completed, so
// set the NodeSet's DeployedVersion to the Deployment's
// DeployedVersion.
instance.Status.DeployedVersion = deployment.Status.DeployedVersion
Expand Down
9 changes: 0 additions & 9 deletions test/functional/dataplane/base_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,15 +335,6 @@ func DefaultDataPlaneDeploymentSpec() map[string]interface{} {
}
}

func MinorUpdateDataPlaneDeploymentSpec() map[string]interface{} {
return map[string]interface{}{
"nodeSets": []string{
"edpm-compute-nodeset",
},
"servicesOverride": []string{"update"},
}
}

func MinorUpdateServicesDataPlaneDeploymentSpec() map[string]interface{} {
return map[string]interface{}{
"nodeSets": []string{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ var _ = Describe("Dataplane NodeSet Test", func() {
var dataplaneConfigHash string
var dataplaneGlobalServiceName types.NamespacedName
var dataplaneUpdateServiceName types.NamespacedName
var newDataplaneUpdateServiceName types.NamespacedName

defaultEdpmServiceList := []string{
"edpm_frr_image",
Expand Down Expand Up @@ -121,10 +120,6 @@ var _ = Describe("Dataplane NodeSet Test", func() {
Namespace: namespace,
}
dataplaneUpdateServiceName = types.NamespacedName{
Name: "update",
Namespace: namespace,
}
newDataplaneUpdateServiceName = types.NamespacedName{
Name: "update-services",
Namespace: namespace,
}
Expand Down Expand Up @@ -1279,63 +1274,15 @@ var _ = Describe("Dataplane NodeSet Test", func() {
})
})

When("A DataPlaneNodeSet is created with NoNodes and a MinorUpdate OpenStackDataPlaneDeployment is created", func() {
BeforeEach(func() {

dataplanev1.SetupDefaults()
updateServiceSpec := map[string]interface{}{
"playbook": "osp.edpm.update",
}
CreateDataPlaneServiceFromSpec(dataplaneUpdateServiceName, updateServiceSpec)
DeferCleanup(th.DeleteService, dataplaneUpdateServiceName)
DeferCleanup(th.DeleteInstance, CreateNetConfig(dataplaneNetConfigName, DefaultNetConfigSpec()))
DeferCleanup(th.DeleteInstance, CreateDNSMasq(dnsMasqName, DefaultDNSMasqSpec()))
DeferCleanup(th.DeleteInstance, CreateDataplaneNodeSet(dataplaneNodeSetName, DefaultDataPlaneNoNodeSetSpec(false)))
DeferCleanup(th.DeleteInstance, CreateDataplaneDeployment(dataplaneDeploymentName, MinorUpdateDataPlaneDeploymentSpec()))
openstackVersionName := types.NamespacedName{
Name: "openstackversion",
Namespace: namespace,
}
err := os.Setenv("OPENSTACK_RELEASE_VERSION", "0.0.1")
Expect(err).NotTo(HaveOccurred())
openstackv1.SetupVersionDefaults()
DeferCleanup(th.DeleteInstance, CreateOpenStackVersion(openstackVersionName))

CreateSSHSecret(dataplaneSSHSecretName)
CreateCABundleSecret(caBundleSecretName)
SimulateDNSMasqComplete(dnsMasqName)
SimulateIPSetComplete(dataplaneNodeName)
SimulateDNSDataComplete(dataplaneNodeSetName)

Eventually(func(g Gomega) {
// Make an AnsibleEE name for each service
ansibleeeName := types.NamespacedName{
Name: "update-edpm-deployment-edpm-compute-nodeset",
Namespace: namespace,
}
ansibleEE := GetAnsibleee(ansibleeeName)
ansibleEE.Status.Succeeded = 1
g.Expect(th.K8sClient.Status().Update(th.Ctx, ansibleEE)).To(Succeed())
}, th.Timeout, th.Interval).Should(Succeed())

})
It("NodeSet.Status.DeployedVersion should be set to latest version", Label("update"), func() {
Eventually(func() string {
dataplaneNodeSetInstance := GetDataplaneNodeSet(dataplaneNodeSetName)
return dataplaneNodeSetInstance.Status.DeployedVersion
}).Should(Equal("0.0.1"))
})
})

When("A DataPlaneNodeSet is created with NoNodes and a MinorUpdateServices OpenStackDataPlaneDeployment is created", func() {
BeforeEach(func() {

dataplanev1.SetupDefaults()
updateServiceSpec := map[string]interface{}{
"playbook": "osp.edpm.update_services",
}
CreateDataPlaneServiceFromSpec(newDataplaneUpdateServiceName, updateServiceSpec)
DeferCleanup(th.DeleteService, newDataplaneUpdateServiceName)
CreateDataPlaneServiceFromSpec(dataplaneUpdateServiceName, updateServiceSpec)
DeferCleanup(th.DeleteService, dataplaneUpdateServiceName)
DeferCleanup(th.DeleteInstance, CreateNetConfig(dataplaneNetConfigName, DefaultNetConfigSpec()))
DeferCleanup(th.DeleteInstance, CreateDNSMasq(dnsMasqName, DefaultDNSMasqSpec()))
DeferCleanup(th.DeleteInstance, CreateDataplaneNodeSet(dataplaneNodeSetName, DefaultDataPlaneNoNodeSetSpec(false)))
Expand Down
Loading