Skip to content
Open
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
2 changes: 1 addition & 1 deletion fulfillment-service/docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ As with full references, callers may supply `id`, `name`, or both, and the serve
the other.

Local references are used when the target is always co-located — for example, a `Subnet`
referencing its parent `VirtualNetwork`, or a `NetworkAttachment` referencing a `Subnet` and
referencing its parent `VirtualNetwork`, or a `ComputeNetworkAttachment` referencing a `Subnet` and
`SecurityGroup`.

### Naming convention
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ func (c *runnerContext) applyNetworkingFlags(spec *publicv1.ComputeInstanceSpec_
return nil
}

attachments := make([]*publicv1.NetworkAttachment, 0, len(c.args.networkAttachments))
attachments := make([]*publicv1.ComputeNetworkAttachment, 0, len(c.args.networkAttachments))
for _, raw := range c.args.networkAttachments {
na, err := parseNetworkAttachmentFlag(raw)
if err != nil {
Expand Down Expand Up @@ -824,7 +824,7 @@ func parseMainSubnetOnly(main string) (string, error) {

// parseNetworkAttachmentFlag parses one --network-attachment value: a bare subnet id, or subnet=<id> with optional
// security-groups=/security_groups= suffix (commas allowed in the group list).
func parseNetworkAttachmentFlag(s string) (*publicv1.NetworkAttachment, error) {
func parseNetworkAttachmentFlag(s string) (*publicv1.ComputeNetworkAttachment, error) {
s = strings.TrimSpace(s)
if s == "" {
return nil, fmt.Errorf("empty --network-attachment value")
Expand All @@ -835,13 +835,13 @@ func parseNetworkAttachmentFlag(s string) (*publicv1.NetworkAttachment, error) {
return nil, err
}
if !hadGroups && !strings.Contains(s, "=") {
return publicv1.NetworkAttachment_builder{Subnet: &publicv1.SubnetLocalReference{Id: s}}.Build(), nil
return publicv1.ComputeNetworkAttachment_builder{Subnet: &publicv1.SubnetLocalReference{Id: s}}.Build(), nil
}
sgRefs := make([]*publicv1.SecurityGroupLocalReference, len(securityGroups))
for i, sg := range securityGroups {
sgRefs[i] = &publicv1.SecurityGroupLocalReference{Id: sg}
}
return publicv1.NetworkAttachment_builder{
return publicv1.ComputeNetworkAttachment_builder{
Subnet: &publicv1.SubnetLocalReference{Id: subnet},
SecurityGroups: sgRefs,
}.Build(), nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ var _ = Describe("buildSpec", func() {

want := publicv1.ComputeInstanceSpec_builder{
Template: publicv1.ComputeInstanceTemplateReference_builder{Id: "tmpl"}.Build(),
NetworkAttachments: []*publicv1.NetworkAttachment{
publicv1.NetworkAttachment_builder{Subnet: publicv1.SubnetLocalReference_builder{Id: "n1"}.Build()}.Build(),
publicv1.NetworkAttachment_builder{
NetworkAttachments: []*publicv1.ComputeNetworkAttachment{
publicv1.ComputeNetworkAttachment_builder{Subnet: publicv1.SubnetLocalReference_builder{Id: "n1"}.Build()}.Build(),
publicv1.ComputeNetworkAttachment_builder{
Subnet: publicv1.SubnetLocalReference_builder{Id: "n2"}.Build(),
SecurityGroups: []*publicv1.SecurityGroupLocalReference{publicv1.SecurityGroupLocalReference_builder{Id: "g1"}.Build()},
}.Build(),
Expand Down Expand Up @@ -113,9 +113,9 @@ var _ = Describe("buildSpecFromCatalogItem", func() {

want := publicv1.ComputeInstanceSpec_builder{
CatalogItem: publicv1.ComputeInstanceCatalogItemReference_builder{Id: "cat-001"}.Build(),
NetworkAttachments: []*publicv1.NetworkAttachment{
publicv1.NetworkAttachment_builder{Subnet: publicv1.SubnetLocalReference_builder{Id: "n1"}.Build()}.Build(),
publicv1.NetworkAttachment_builder{
NetworkAttachments: []*publicv1.ComputeNetworkAttachment{
publicv1.ComputeNetworkAttachment_builder{Subnet: publicv1.SubnetLocalReference_builder{Id: "n1"}.Build()}.Build(),
publicv1.ComputeNetworkAttachment_builder{
Subnet: publicv1.SubnetLocalReference_builder{Id: "n2"}.Build(),
SecurityGroups: []*publicv1.SecurityGroupLocalReference{publicv1.SecurityGroupLocalReference_builder{Id: "g1"}.Build()},
}.Build(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import (
// - No null attachments in the array
// Note: Empty network_attachments is allowed for backward compatibility (pod network).
// Creation-time validation is enforced separately in the server layer.
func ValidateNetworkAttachments(networkAttachments []*privatev1.NetworkAttachment) error {
func ValidateNetworkAttachments(networkAttachments []*privatev1.ComputeNetworkAttachment) error {
// Allow empty for backward compatibility (pod network)
if len(networkAttachments) == 0 {
return nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (

var _ = Describe("ValidateNetworkAttachments", func() {
DescribeTable("validates network attachments",
func(attachments []*privatev1.NetworkAttachment, shouldError bool) {
func(attachments []*privatev1.ComputeNetworkAttachment, shouldError bool) {
err := ValidateNetworkAttachments(attachments)
if shouldError {
Expect(err).To(HaveOccurred())
Expand All @@ -34,19 +34,19 @@ var _ = Describe("ValidateNetworkAttachments", func() {
false,
),
Entry("empty attachments array (pod network)",
[]*privatev1.NetworkAttachment{},
[]*privatev1.ComputeNetworkAttachment{},
false,
),
Entry("valid attachments with subnets",
[]*privatev1.NetworkAttachment{
privatev1.NetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-a"}.Build()}.Build(),
privatev1.NetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-b"}.Build()}.Build(),
[]*privatev1.ComputeNetworkAttachment{
privatev1.ComputeNetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-a"}.Build()}.Build(),
privatev1.ComputeNetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-b"}.Build()}.Build(),
},
false,
),
Entry("valid attachment with subnet and security groups",
[]*privatev1.NetworkAttachment{
privatev1.NetworkAttachment_builder{
[]*privatev1.ComputeNetworkAttachment{
privatev1.ComputeNetworkAttachment_builder{
Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-a"}.Build(),
SecurityGroups: []*privatev1.SecurityGroupLocalReference{
privatev1.SecurityGroupLocalReference_builder{Id: "sg-1"}.Build(),
Expand All @@ -57,15 +57,15 @@ var _ = Describe("ValidateNetworkAttachments", func() {
false,
),
Entry("invalid attachment with empty subnet",
[]*privatev1.NetworkAttachment{
privatev1.NetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: ""}.Build()}.Build(),
[]*privatev1.ComputeNetworkAttachment{
privatev1.ComputeNetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: ""}.Build()}.Build(),
},
true,
),
Entry("invalid second attachment with empty subnet",
[]*privatev1.NetworkAttachment{
privatev1.NetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-a"}.Build()}.Build(),
privatev1.NetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: ""}.Build()}.Build(),
[]*privatev1.ComputeNetworkAttachment{
privatev1.ComputeNetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: "subnet-a"}.Build()}.Build(),
privatev1.ComputeNetworkAttachment_builder{Subnet: privatev1.SubnetLocalReference_builder{Id: ""}.Build()}.Build(),
},
true,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ func (t *task) buildSpecNetworkAttachments(ctx context.Context, spec *osacv1alph
"invalid network_attachments in database: %w", err)
}

networkAttachments := make([]osacv1alpha1.NetworkAttachment, 0, len(ciSpec.GetNetworkAttachments()))
networkAttachments := make([]osacv1alpha1.ComputeNetworkAttachment, 0, len(ciSpec.GetNetworkAttachments()))
for i, att := range ciSpec.GetNetworkAttachments() {
subnetID := att.GetSubnet()
// subnetID is guaranteed to be non-empty by ValidateNetworkAttachments
Expand Down Expand Up @@ -675,7 +675,7 @@ func (t *task) buildSpecNetworkAttachments(ctx context.Context, spec *osacv1alph
)
}

networkAttachments = append(networkAttachments, osacv1alpha1.NetworkAttachment{
networkAttachments = append(networkAttachments, osacv1alpha1.ComputeNetworkAttachment{
SubnetRef: subnetRef,
SecurityGroupRefs: sgRefs,
})
Expand Down
Loading
Loading