Merge "Selective resource creation in dynamic workloads"

This commit is contained in:
Zuul 2022-01-04 12:03:53 +00:00 committed by Gerrit Code Review
commit 47eacfe85e
2 changed files with 24 additions and 17 deletions

View File

@ -61,10 +61,13 @@ class DynamicWorkload(vm.VMDynamicScenario, trunk.TrunkDynamicScenario,
router_create_args=None, network_create_args=None, router_create_args=None, network_create_args=None,
subnet_create_args=None, **kwargs): subnet_create_args=None, **kwargs):
context_ext_net_id = self.context["external_networks"][((self.context["iteration"]-1) if num_external_networks > 0:
% num_external_networks)]["id"] context_ext_net_id = self.context["external_networks"][((self.context["iteration"]-1)
self.log_info("Using external network {} from context for iteration {}".format( % num_external_networks)]["id"]
context_ext_net_id, self.context["iteration"])) self.log_info("Using external network {} from context for iteration {}".format(
context_ext_net_id, self.context["iteration"]))
self.ext_net_name = self.clients("neutron").show_network(context_ext_net_id)["network"][
"name"]
workloads_list = workloads.split(",") workloads_list = workloads.split(",")
self.trunk_vm_user = "centos" self.trunk_vm_user = "centos"
@ -76,21 +79,25 @@ class DynamicWorkload(vm.VMDynamicScenario, trunk.TrunkDynamicScenario,
self.security_group = self.create_sec_group_with_icmp_ssh() self.security_group = self.create_sec_group_with_icmp_ssh()
self.log_info("security group {} created for this iteration".format(self.security_group)) self.log_info("security group {} created for this iteration".format(self.security_group))
# Let this router be used by resources created by VM dynamic workloads in this iteration, if(workloads == "all" or "migrate_servers" in workloads_list or
# if the iteration is not divisible by 5. "swap_floating_ips_between_servers" in workloads_list or
router_create_args["name"] = self.generate_random_name() "stop_start_servers" in workloads_list or
router_create_args["tenant_id"] = self.context["tenant"]["id"] "pod_fip_simulation" in workloads_list or
router_create_args.setdefault( "add_subports_to_random_trunks" in workloads_list or
"external_gateway_info", {"network_id": context_ext_net_id, "enable_snat": True} "delete_subports_from_random_trunks" in workloads_list or
) "swap_floating_ips_between_random_subports" in workloads_list):
self.router = self._create_router(router_create_args) # Let this router be used by resources created by VM and trunk dynamic workloads
self.log_info("router {} created for this iteration".format(self.router)) # in this iteration.
router_create_args["name"] = self.generate_random_name()
router_create_args["tenant_id"] = self.context["tenant"]["id"]
router_create_args.setdefault(
"external_gateway_info", {"network_id": context_ext_net_id, "enable_snat": True}
)
self.router = self._create_router(router_create_args)
self.log_info("router {} created for this iteration".format(self.router))
self.keypair = self.context["user"]["keypair"] self.keypair = self.context["user"]["keypair"]
self.ext_net_name = self.clients("neutron").show_network(context_ext_net_id)["network"][
"name"]
try: try:
self.browbeat_dir = DynamicWorkload.browbeat_dir self.browbeat_dir = DynamicWorkload.browbeat_dir
except AttributeError: except AttributeError:

View File

@ -33,7 +33,7 @@ class CreateExternalNetworksContext(context.Context):
"properties": { "properties": {
"num_external_networks": { "num_external_networks": {
"type": "integer", "type": "integer",
"minimum": 1 "minimum": 0
}, },
"interface_name": { "interface_name": {
"type": "string" "type": "string"