-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add nova 3 cell DT #401
base: main
Are you sure you want to change the base?
Add nova 3 cell DT #401
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jamepark4 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
364ebe9
to
38d7c4b
Compare
19005c6
to
0f33d8c
Compare
config.kubernetes.io/local-config: "true" | ||
|
||
data: | ||
ssh_keys: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not a fan of hacing ssh_keys set in two values files in this PR. The nodeset in the library will create the same secret dataplane-ansible-ssh-private-key-secret
for both nodesets. If a user looks at this they may be led to believe they can use different keys for the (I assume pre-provisioned nodes?) when using this DT - but that will not work since applying the second nodeset will modify the same secret instead of creating a new one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack I can removed these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure you can remove them, if you cannot - then this change should not be blocked by this comment from me.
I was trying to point out an issue with the library not supporting multiple nodesets in a good way. Essentilly you have two nodesets referencing lib/dataplane/nodeset/kustomization.yaml#L6-L8 - so you end up applying two separate files defining the same secret resource.
0f33d8c
to
9cadc05
Compare
5bcd2c7
to
4e22901
Compare
4e22901
to
01ef803
Compare
4df3930
to
28677c1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have couple of question / comments inline.
cellMessageBusInstance: rabbitmq-cell2 | ||
conductorServiceTemplate: | ||
replicas: 3 | ||
hasAPIAccess: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a note for the future. We can spice this setup up by defining cell2 without api DB access (i.e. no upcall support).
- ovn | ||
- neutron-metadata | ||
- libvirt | ||
- nova |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wondering how this connects the nodes to cell2 if this still refers to the default nova service.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, that won't work, please see my WIP for adoption, perhaps you may find somthing to reuse https://github.com/bogdando/data-plane-adoption/blob/f61537f9701f6585183810b20e2142423ae4f8d0/docs_user/modules/proc_adopting-compute-services-to-the-data-plane.adoc#L237 , then how we use it in the services list https://github.com/bogdando/data-plane-adoption/blob/f61537f9701f6585183810b20e2142423ae4f8d0/docs_user/modules/proc_adopting-compute-services-to-the-data-plane.adoc#L381
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's replaced here: https://github.com/openstack-k8s-operators/architecture/pull/401/files#diff-20af9459981c1a0588160942c3490649f5cf4fd222526cea08c3244208fb48ecR19. But I can just define it directly in the nodeset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh indeed. replacing via kustomize works for me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, yeah kustomize is OK to me too.
| Role | Machine Type | Count | | ||
| ----------------- | ------------ | ----- | | ||
| Compact OpenShift | vm | 3 | | ||
| OpenStack Compute | vm | 4 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this DT really deploys 4 EDPM nodes as computes? I only see edpm-compute-0 and edpm-compute-1 referenced in the NodeSets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because this is completely virtualized its unfortunately not very clear based on purely this DT. This DT works in conjunction with templates in CIFMW [1] that splits the total computes between each nodeset. It also needs a scenario file similar to [2] to define the number of VMs needed (the one I'm using for testing this is defined downstream). Virtualized setups now have unique hostnames that are recorded during setup and that information is what [1] uses to allocate how the hosts are split. With baremetal setups where I can define the hostnames in the jobs, I can specifically define how the EDPM Hosts are allocated per nodeset within the context of the DT.
[1] https://github.com/openstack-k8s-operators/ci-framework/pull/2423/files
[2] https://github.com/openstack-k8s-operators/ci-framework/blob/main/scenarios/reproducers/va-nfv-ovs-sriov.yml
(cell1 and cell2) in addition to cell0. Computes will be allocated to both | ||
cells |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to describe the mapping. Which compute will be connected to which cell.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack
containerImageFields: | ||
- NovaComputeImage | ||
- EdpmIscsidImage | ||
dataSources: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here we should add that nova-cell<N>-metadata-neutron-config
, if running metadata service in a cell instead of top scope
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack I'll try for per cell deployment.
- ovn | ||
- neutron-metadata | ||
- libvirt | ||
- nova |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto, use nova-<cell>
in <cell>
specific nodesets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps this is also replaced via kustomize?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was only updating cell2 and keeping the default for cell1 so this isn't replaced, but if it improves overall clarity I can update this and kustomize to have nova-cell-1
and nova-cell-2
respectively instead.
@jamepark4 Would you mind addressing the errors reported in CI when you have a chance? |
28677c1
to
e1cff34
Compare
Standard deployments currently deploy cell0 and cell1. Create a DT that deploys cell0, cell1, and cell2.
e1cff34
to
9d16f03
Compare
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/dfe0fa56e83c475db9c67b866bab6145 ✔️ noop SUCCESS in 0s |
Standard deployments currently deploy cell0 and cell1. Create a DT that deploys cell0, cell1, and cell2.