Skip to content

Commit 3378b10

Browse files
authored
Merge pull request #416 from fabric-testbed/pci-rescan
Support for POA to trigger PCI Rescan
2 parents ca0786b + 2b9cf82 commit 3378b10

File tree

15 files changed

+65
-214
lines changed

15 files changed

+65
-214
lines changed

Dockerfile-auth

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM python:3.11.0
22
MAINTAINER Komal Thareja<komal.thareja@gmail.com>
33

4-
ARG HANDLERS_VER=1.8.4
4+
ARG HANDLERS_VER=1.9.0rc3
55

66
RUN mkdir -p /usr/src/app
77
WORKDIR /usr/src/app
@@ -19,7 +19,7 @@ COPY pyproject.toml /usr/src/app/
1919
COPY README.md /usr/src/app/
2020
COPY LICENSE /usr/src/app/
2121
COPY tools/audit.py /usr/src/app/
22-
COPY export/ /usr/src/app/export/
22+
COPY tools/export.py /usr/src/app/
2323
COPY tools/install.sh /usr/src/app/
2424

2525
RUN pip3 install .

Dockerfile-cf

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ COPY README.md /usr/src/app/
1616
COPY LICENSE /usr/src/app/
1717
COPY tools/audit.py /usr/src/app/
1818
COPY tools/export.py /usr/src/app/
19-
COPY export/ /usr/src/app/export/
19+
COPY tools/export.py /usr/src/app/
2020
COPY tools/install.sh /usr/src/app/
2121

2222
RUN pip3 install .

fabric_cf/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
__version__ = "1.8.7"
1+
__version__ = "1.9.0rc1"
22
__VERSION__ = __version__

fabric_cf/actor/core/kernel/poa.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,14 @@ class Poa:
8585
"""
8686
def __init__(self, *, poa_id: str = uuid4().__str__(), operation: str, reservation: ABCReservationMixin = None,
8787
sliver_id: ID = None, vcpu_cpu_map: List[Dict[str, str]] = None, node_set: List[str] = None,
88-
keys: List[str] = None):
88+
keys: List[str] = None, bdf: List[str] = None):
8989
self.poa_id = poa_id
9090
self.operation = operation
9191
self.state = PoaStates.Nascent
9292
self.reservation = reservation
9393
self.sliver_id = sliver_id
9494
self.vcpu_cpu_map = vcpu_cpu_map
95+
self.bdf = bdf
9596
self.node_set = node_set
9697
self.keys = keys
9798
# Sequence number for outgoing poa messages. Increases with every new message.
@@ -339,6 +340,9 @@ def clone(self):
339340
if self.keys is not None:
340341
result.keys = self.keys.copy()
341342

343+
if self.bdf is not None:
344+
result.bdf = self.bdf.copy()
345+
342346
result.error_code = self.error_code
343347

344348
if self.reservation is not None:
@@ -364,6 +368,8 @@ def to_dict(self) -> dict:
364368
result['node_set'] = self.node_set
365369
if self.keys is not None:
366370
result['keys'] = self.keys
371+
if self.bdf is not None:
372+
result['bdf'] = self.bdf
367373
return result
368374

369375
def __str__(self):
@@ -373,7 +379,8 @@ def __str__(self):
373379
class PoaFactory:
374380
@staticmethod
375381
def create(*, poa_id: str, operation: str, sliver_id: ID, vcpu_cpu_map: List[Dict[str, str]] = None,
376-
node_set: List[str] = None, keys: List[Dict[str, str]] = None) -> Poa:
382+
node_set: List[str] = None, keys: List[Dict[str, str]] = None,
383+
bdf: List[str] = None) -> Poa:
377384
"""
378385
Create POA
379386
:param poa_id:
@@ -382,8 +389,9 @@ def create(*, poa_id: str, operation: str, sliver_id: ID, vcpu_cpu_map: List[Dic
382389
:param vcpu_cpu_map:
383390
:param node_set:
384391
:param keys:
392+
:param bdf:
385393
:return:
386394
"""
387395
result = Poa(poa_id=poa_id, operation=operation, vcpu_cpu_map=vcpu_cpu_map, node_set=node_set,
388-
sliver_id=sliver_id, keys=keys)
396+
sliver_id=sliver_id, keys=keys, bdf=bdf)
389397
return result

fabric_cf/actor/core/manage/client_actor_management_object_helper.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ def poa(self, *, poa: PoaAvro, caller: AuthToken) -> ResultAvro:
607607
return result
608608

609609
self.logger.debug(f"reservation: {poa.rid} | operation = {poa.operation} | "
610-
f"vcpu_cpu_map = {poa.vcpu_cpu_map} | node_set = {poa.node_set}")
610+
f"vcpu_cpu_map = {poa.vcpu_cpu_map} | node_set = {poa.node_set} | bdf = {poa.bdf}")
611611
try:
612612

613613
class Runner(ABCActorRunnable):

fabric_cf/actor/core/proxies/kafka/translate.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@ def translate_poa_avro_to_poa(*, poa_avro: PoaAvro) -> Union[Poa, None]:
394394

395395
poa_obj = PoaFactory.create(poa_id=poa_avro.poa_id, operation=poa_avro.get_operation(),
396396
sliver_id=ID(uid=poa_avro.rid), vcpu_cpu_map=poa_avro.get_vcpu_cpu_map(),
397-
node_set=poa_avro.get_node_set(), keys=poa_avro.get_keys())
397+
node_set=poa_avro.get_node_set(), keys=poa_avro.get_keys(),
398+
bdf=poa_avro.get_bdf())
398399
poa_obj.sequence_poa_in = poa_avro.sequence
399400
poa_obj.slice_id = poa_avro.slice_id
400401
# NOTE: Sliver, Slice and Project Info to be set by the caller
@@ -409,7 +410,7 @@ def translate_poa_to_poa_avro(*, poa: Poa) -> Union[PoaAvro, None]:
409410
poa_avro = PoaAvro(operation=poa.operation, rid=str(poa.sliver_id), poa_id=poa.poa_id,
410411
vcpu_cpu_map=poa.vcpu_cpu_map, node_set=poa.node_set, auth=auth_avro,
411412
project_id=poa.get_slice().get_project_id(), slice_id=str(poa.get_slice_id()),
412-
keys=poa.keys)
413+
keys=poa.keys, bdf=poa.bdf)
413414
poa_avro.sequence = poa.sequence_poa_out
414415
return poa_avro
415416

fabric_cf/orchestrator/core/orchestrator_handler.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ def check_maintenance_mode(self, *, token: FabricToken, reservations: List[Reser
917917
def poa(self, *, token: str, sliver_id: str, poa: PoaAvro) -> tuple[str, str]:
918918
try:
919919
controller = self.controller_state.get_management_actor()
920-
self.logger.debug(f"poa invoked for Controller: {controller}")
920+
self.logger.debug(f"poa invoked for Controller: {controller} pos: {poa}")
921921

922922
rid = ID(uid=sliver_id) if sliver_id is not None else None
923923

0 commit comments

Comments
 (0)